Note: This patch is againt the previous one, I posted:
[PATCH] applescript: restore last active window after password has been
copied to clipboard
The previous focused window gets now restored immeadiatly after the
dialog has been closed (instead of waiting for pass to return)
The notification includes now the name of the password
The closing of remaining notifications has been put into a try/catch
block. Otherwise the script would throw an error if it does not own the
neccessary permissions (see point 6 in the description)
---
contrib/pass.applescript | 33 +++++++++++----------------------
1 file changed, 11 insertions(+), 22 deletions(-)
diff --git a/contrib/pass.applescript b/contrib/pass.applescript
index c71fd93..e5da495 100644
--- a/contrib/pass.applescript
+++ b/contrib/pass.applescript
@@ -47,30 +47,27 @@ else -- if (lang = "en")
end if
-- Save active window
-tell application "System Events"
- set activeProc to first application process whose frontmost is true
-end tell
+tell application "System Events" to set activeProc to first application
process whose frontmost is true
+
+-- Get entity from dialog
+set entity to the text returned of (display dialog nPrompt default answer
defPass buttons {"OK"} with title nTitle default button 1)
+
+-- Restore previously active window
+tell application "System Events" to set the frontmost of activeProc to true
try
- set entity to the text returned of (display dialog nPrompt default
answer defPass buttons {"OK"} with title nTitle default button 1)
set pw to do shell script "export PATH=" & shellPath & "; pass " &
entity
-
set the clipboard to pw
on error errMsg
display dialog errMsg with title nTitle with icon stop
end try
--- Restore last active App
-tell application "System Events"
- set the frontmost of activeProc to true
-end tell
-
-- Wait until clipboard changed then close notification
repeat with secsLeft from 0 to clearAfter
if pw is equal to (the clipboard) then
tell application "Notifications Scripting"
set event handlers script path to (path to me)
- display notification nTitle id "pass" message "Password
copied to clipboard (" & (clearAfter - secsLeft) & " secs left)" action button
nClear with has action button
+ display notification nTitle id "pass" message "'" &
entity & "' copied to clipboard " & return & " (" & (clearAfter - secsLeft) & "
secs left)" action button nClear with has action button
end tell
delay 1
else
@@ -81,17 +78,9 @@ end repeat
-- Clear clipboard
set the clipboard to ""
--- Close all pending Notifications
-tell application "System Events"
- tell process "NotificationCenter"
- set theWindows to every window
- repeat with i from 1 to number of items in theWindows
- set this_item to item i of theWindows
- try
- click button 1 of this_item
- end try
- end repeat
- end tell
+-- Close pending Notification
+tell application "Notifications Scripting"
+ display notification nTitle id "pass" message "Password has been
cleared" has action button false
end tell
-- Handle notification action: forget password
--
2.3.0
_______________________________________________
Password-Store mailing list
[email protected]
http://lists.zx2c4.com/mailman/listinfo/password-store