Skip to content

Commit 890b6d6

Browse files
committed
Add accessibility settings link button
1 parent 6c2c1e5 commit 890b6d6

File tree

1 file changed

+23
-8
lines changed

1 file changed

+23
-8
lines changed

aw_watcher_window/macos.py

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,35 @@
11
from ApplicationServices import AXIsProcessTrusted
2-
from AppKit import NSAlert
2+
from AppKit import NSAlert, NSAlertFirstButtonReturn, NSButton, NSWorkspace, NSURL
33
import subprocess
44
from subprocess import PIPE
55
import os
6+
import time
67

78

89
def getInfo() -> str:
9-
accessibility_permissions = AXIsProcessTrusted()
10-
#accessibility_permissions = False
10+
#accessibility_permissions = AXIsProcessTrusted()
11+
accessibility_permissions = False
1112
if not accessibility_permissions:
1213
title = "Missing accessibility permissions"
13-
message = "To let ActivityWatch capture window titles grant it accessibility permissions"
14-
ok = False
15-
cancel = False
16-
alert = NSAlert.alertWithMessageText_defaultButton_alternateButton_otherButton_informativeTextWithFormat_(title, ok, 'Cancel' if cancel else None, None, message)
17-
alert.runModal()
14+
info = "To let ActivityWatch capture window titles grant it accessibility permissions"
15+
16+
alert = NSAlert.new()
17+
alert.setMessageText_(title)
18+
alert.setInformativeText_(info)
19+
20+
ok_button = alert.addButtonWithTitle_("Ok")
21+
22+
accessibility_button = alert.addButtonWithTitle_("Turn on accessibility")
23+
accessibility_button.setTitle_("Open accessibility settings")
24+
accessibility_button.setAction_("")
25+
26+
alert.addButtonWithTitle_("Cancel")
27+
choice = alert.runModal()
28+
print(choice)
29+
if choice == NSAlertFirstButtonReturn:
30+
NSWorkspace.sharedWorkspace().openURL_(NSURL.URLWithString_("x-apple.systempreferences:com.apple.preference.security?Privacy_Accessibility"))
31+
#while True:
32+
# time.sleep(1)
1833
cmd = ["osascript", os.path.join(os.path.dirname(os.path.realpath(__file__)), "printAppTitle.scpt")]
1934
p = subprocess.run(cmd, stdout=PIPE)
2035
return str(p.stdout, "utf8").strip()

0 commit comments

Comments
 (0)