-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path__init__.py
More file actions
104 lines (78 loc) · 3.49 KB
/
__init__.py
File metadata and controls
104 lines (78 loc) · 3.49 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
# -*- coding: utf-8 -*-
# Copyright (c) 2024 Manuel Schneider
from albert import *
md_iid = "5.0"
md_version = "1.0.0"
md_name = "Preference panes"
md_description = "Open System Settings panes directly"
md_license = "MIT"
md_authors = ["@manuelschneid3r"]
md_platforms = ["Darwin"]
class PrefPane(Item):
identifier: str
name: str
def __init__(self, identifier: str, name: str):
Item.__init__(self)
self.identifier = identifier
self.name = name
def id(self):
return self.identifier
def text(self):
return self.name
def subtext(self):
return "System settings preference pane"
def inputActionText(self):
return self.name
def icon(self):
return Icon.fileType("/System/Applications/System Settings.app")
def actions(self):
return [Action("open", "Open", self.open)]
def open(self):
openUrl(f"x-apple.systempreferences:com.apple.{self.identifier}")
@staticmethod
def system_settings_icon_factory() -> Icon:
return Icon.fileType("/System/Applications/System Settings.app")
def pref_panes():
return [
# Credits go to https://github.com/bvanpeski/SystemPreferences
PrefPane("systempreferences.AppleIDSettings", "AppleID"),
PrefPane("wifi-settings-extension", "Wi-Fi"),
PrefPane("BluetoothSettings", "Bluetooth"),
PrefPane("Network-Settings.extension", "Network"),
PrefPane("NetworkExtensionSettingsUI.NESettingsUIExtension", "VPN"),
PrefPane("Notifications-Settings.extension", "Notifications"),
PrefPane("Sound-Settings.extension", "Sound"),
PrefPane("Focus-Settings.extension", "Focus"),
PrefPane("Screen-Time-Settings.extension", "Screen Time"),
PrefPane("systempreferences.GeneralSettings", "General"),
PrefPane("Appearance-Settings.extension", "Appearance"),
PrefPane("Accessibility-Settings.extension", "Accessibility"),
PrefPane("ControlCenter-Settings.extension", "Control Center"),
PrefPane("Siri-Settings.extension", "Siri & Spotlight"),
PrefPane("settings.PrivacySecurity.extension", "Privacy & Security"),
PrefPane("Desktop-Settings.extension", "Desktop & Dock"),
PrefPane("Displays-Settings.extension", "Displays"),
PrefPane("Wallpaper-Settings.extension", "Wallpaper"),
PrefPane("ScreenSaver-Settings.extension", "Screen Saver"),
PrefPane("Battery-Settings.extension", "Battery"),
#PrefPane("GeneralSettings", "Energy Saver"),
PrefPane("Lock-Screen-Settings.extension", "Lock Screen"),
PrefPane("Touch-ID-Settings.extension", "Touch ID & Password"),
PrefPane("Users-Groups-Settings.extension", "Users & Groups"),
PrefPane("Passwords-Settings.extension", "Passwords"),
PrefPane("Internet-Accounts-Settings.extension", "Internet Accounts"),
PrefPane("Game-Center-Settings.extension", "Game Center"),
PrefPane("WalletSettingsExtension", "Wallet & Apple Pay"),
PrefPane("Keyboard-Settings.extension", "Keyboard"),
PrefPane("Trackpad-Settings.extension", "Trackpad"),
PrefPane("Print-Scan-Settings.extension", "Printers & Scanners"),
]
class Plugin(PluginInstance, IndexQueryHandler):
def __init__(self):
PluginInstance.__init__(self)
IndexQueryHandler.__init__(self)
def updateIndexItems(self):
self.setIndexItems([
IndexItem(item=item, string=item.text())
for item in pref_panes()
])