├── Default.bttpreset
├── External Display
├── Clamshell Mode: OFF.kmmacros
├── Display Utilities.kmmacros
├── No Clamshell Mode.kmmacros
└── README.md
├── Low Power Mode
├── Low Power Mode.app
│ └── Contents
│ │ ├── Info.plist
│ │ ├── LowPowerMode.py
│ │ ├── MacOS
│ │ └── Application Stub
│ │ ├── Resources
│ │ ├── AutomatorApplet.icns
│ │ ├── ar.lproj
│ │ │ └── InfoPlist.strings
│ │ ├── ca.lproj
│ │ │ └── InfoPlist.strings
│ │ ├── cs.lproj
│ │ │ └── InfoPlist.strings
│ │ ├── da.lproj
│ │ │ └── InfoPlist.strings
│ │ ├── de.lproj
│ │ │ └── InfoPlist.strings
│ │ ├── el.lproj
│ │ │ └── InfoPlist.strings
│ │ ├── en.lproj
│ │ │ └── InfoPlist.strings
│ │ ├── en_AU.lproj
│ │ │ └── InfoPlist.strings
│ │ ├── en_GB.lproj
│ │ │ └── InfoPlist.strings
│ │ ├── es.lproj
│ │ │ └── InfoPlist.strings
│ │ ├── es_419.lproj
│ │ │ └── InfoPlist.strings
│ │ ├── fi.lproj
│ │ │ └── InfoPlist.strings
│ │ ├── fr.lproj
│ │ │ └── InfoPlist.strings
│ │ ├── fr_CA.lproj
│ │ │ └── InfoPlist.strings
│ │ ├── he.lproj
│ │ │ └── InfoPlist.strings
│ │ ├── hi.lproj
│ │ │ └── InfoPlist.strings
│ │ ├── hr.lproj
│ │ │ └── InfoPlist.strings
│ │ ├── hu.lproj
│ │ │ └── InfoPlist.strings
│ │ ├── id.lproj
│ │ │ └── InfoPlist.strings
│ │ ├── it.lproj
│ │ │ └── InfoPlist.strings
│ │ ├── ja.lproj
│ │ │ └── InfoPlist.strings
│ │ ├── ko.lproj
│ │ │ └── InfoPlist.strings
│ │ ├── ms.lproj
│ │ │ └── InfoPlist.strings
│ │ ├── nl.lproj
│ │ │ └── InfoPlist.strings
│ │ ├── no.lproj
│ │ │ └── InfoPlist.strings
│ │ ├── pl.lproj
│ │ │ └── InfoPlist.strings
│ │ ├── pt.lproj
│ │ │ └── InfoPlist.strings
│ │ ├── pt_PT.lproj
│ │ │ └── InfoPlist.strings
│ │ ├── ro.lproj
│ │ │ └── InfoPlist.strings
│ │ ├── ru.lproj
│ │ │ └── InfoPlist.strings
│ │ ├── sk.lproj
│ │ │ └── InfoPlist.strings
│ │ ├── sv.lproj
│ │ │ └── InfoPlist.strings
│ │ ├── th.lproj
│ │ │ └── InfoPlist.strings
│ │ ├── tr.lproj
│ │ │ └── InfoPlist.strings
│ │ ├── uk.lproj
│ │ │ └── InfoPlist.strings
│ │ ├── vi.lproj
│ │ │ └── InfoPlist.strings
│ │ ├── zh_CN.lproj
│ │ │ └── InfoPlist.strings
│ │ ├── zh_HK.lproj
│ │ │ └── InfoPlist.strings
│ │ └── zh_TW.lproj
│ │ │ └── InfoPlist.strings
│ │ └── document.wflow
├── LowPowerMode.bttpreset
└── README.md
├── README.md
├── To Capitalized.kmmacros
├── Video Editing
├── 10gbps-External-Drive-Icons
│ ├── icns
│ │ ├── USB10gbpsIcon-v1.icns
│ │ └── USB10gbpsIcon-v2.icns
│ └── png
│ │ ├── USB10gbpsIcon-v1.png
│ │ └── USB10gbpsIcon-v2.png
├── Editing Drive Alert.kmmacros
├── FCPX.bttpreset
├── New-Project-Folder-FiScript.sh
├── Quit Video Editing.zip
├── README.md
├── Start-Video-Editing-FiScript.sh
├── Template.zip
├── Video Editing.zip
└── folder-icons
│ ├── icns
│ ├── AUDIO-volume.icns
│ ├── CAMERA-camera.icns
│ ├── DOWNLOADS-downloads.icns
│ ├── EFFECTS-headphones.icns
│ ├── IMAGES-pictures.icns
│ ├── MIC-mic.icns
│ ├── MUSIC-note.icns
│ ├── PHOTOS-camera.icns
│ ├── SCREENCAP-desktop.icns
│ ├── SCREENSHOT-desktop.icns
│ └── VIDEO-film.icns
│ └── png
│ ├── AUDIO-volume.png
│ ├── CAMERA-camera.png
│ ├── DOWNLOADS-downloads.png
│ ├── EFFECTS-headphones.png
│ ├── IMAGES-pictures.png
│ ├── MIC-mic.png
│ ├── MUSIC-note.png
│ ├── PHOTOS-camera.png
│ ├── SCREENCAP-desktop.png
│ ├── SCREENSHOT-desktop.png
│ └── VIDEO-film.png
└── Yeelight
├── README.md
├── Yeelight.bttpreset
├── run_Yeelight_bulb.scpt
└── yeelight_bulb.py
/Default.bttpreset:
--------------------------------------------------------------------------------
1 | {
2 | "BTTPresetName" : "Default",
3 | "BTTPresetUUID" : "717BE5D0-5B48-41A9-973E-B4BCF2151C01",
4 | "BTTPresetContent" : [
5 | {
6 | "BTTAppBundleIdentifier" : "com.apple.FinalCut",
7 | "BTTAppName" : "Final Cut Pro",
8 | "BTTAppProcessMatchMode" : 2,
9 | "BTTAppProcessName" : "Final Cut Pro",
10 | "BTTTriggers" : [
11 |
12 | ]
13 | },
14 | {
15 | "BTTAppBundleIdentifier" : "BT.G",
16 | "BTTAppName" : "Global",
17 | "BTTTriggers" : [
18 | {
19 | "BTTTriggerType" : 635,
20 | "BTTTriggerTypeDescription" : "App Switcher Widget",
21 | "BTTTriggerClass" : "BTTTriggerTypeTouchBar",
22 | "BTTPredefinedActionType" : -1,
23 | "BTTPredefinedActionName" : "No Action",
24 | "BTTEnabled2" : 1,
25 | "BTTUUID" : "D815A401-9FFF-4DF5-ACF8-1748CE273DE4",
26 | "BTTEnabled" : 1,
27 | "BTTModifierMode" : 0,
28 | "BTTOrder" : 0,
29 | "BTTDisplayOrder" : 0,
30 | "BTTMergeIntoTouchBarGroups" : 0,
31 | "BTTKeySequence" : {
32 |
33 | },
34 | "BTTTriggerConfig" : {
35 | "BTTTBAppSwitcherHideActiveApp" : true,
36 | "BTTTouchBarAlternateBackgroundColor" : "0.000000, 0.000000, 0.000000, 0.000000",
37 | "BTTTouchBarButtonCornerRadius" : 6,
38 | "BTTTouchBarItemPlacement" : 1,
39 | "BTTTouchBarFreeSpaceAfterButton" : 5,
40 | "BTTTouchBarButtonColor" : "221.000000, 0.000000, 0.000000, 255.000000",
41 | "BTTTouchBarItemIconWidth" : 22,
42 | "BTTTBWidgetWidth" : 300,
43 | "BTTTouchBarItemPadding" : 0,
44 | "BTTTouchBarItemIconHeight" : 22
45 | }
46 | },
47 | {
48 | "BTTTriggerType" : 113,
49 | "BTTTriggerTypeDescription" : "TipTap Left (1 Finger Fix)",
50 | "BTTTriggerClass" : "BTTTriggerTypeTouchpadAll",
51 | "BTTPredefinedActionType" : -1,
52 | "BTTPredefinedActionName" : "No Action",
53 | "BTTShortcutToSend" : "56,55,123",
54 | "BTTEnabled2" : 1,
55 | "BTTUUID" : "80C935FC-F86C-420A-B73E-A4837CC79AA8",
56 | "BTTEnabled" : 1,
57 | "BTTModifierMode" : 0,
58 | "BTTAlternateModifierKeys" : 0,
59 | "BTTOrder" : 0,
60 | "BTTDisplayOrder" : 0,
61 | "BTTMergeIntoTouchBarGroups" : 0,
62 | "BTTKeySequence" : {
63 |
64 | },
65 | "BTTTriggerConfig" : {
66 | "BTTNoTouchTimeout" : 0
67 | }
68 | },
69 | {
70 | "BTTTriggerType" : 114,
71 | "BTTTriggerTypeDescription" : "TipTap Right (1 Finger Fix)",
72 | "BTTTriggerClass" : "BTTTriggerTypeTouchpadAll",
73 | "BTTPredefinedActionType" : -1,
74 | "BTTPredefinedActionName" : "No Action",
75 | "BTTShortcutToSend" : "56,55,124",
76 | "BTTEnabled2" : 1,
77 | "BTTUUID" : "7182CB97-E470-40ED-B32A-7225964F127E",
78 | "BTTEnabled" : 1,
79 | "BTTModifierMode" : 0,
80 | "BTTAlternateModifierKeys" : 0,
81 | "BTTOrder" : 1,
82 | "BTTDisplayOrder" : 0,
83 | "BTTMergeIntoTouchBarGroups" : 0,
84 | "BTTKeySequence" : {
85 |
86 | },
87 | "BTTTriggerConfig" : {
88 | "BTTNoTouchTimeout" : 0
89 | }
90 | }
91 | ]
92 | }
93 | ],
94 | "BTTPresetSnapAreas" : [
95 |
96 | ]
97 | }
--------------------------------------------------------------------------------
/External Display/Clamshell Mode: OFF.kmmacros:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Activate
7 | Normal
8 | CreationDate
9 | 597401350.00403798
10 | Macros
11 |
12 |
13 | Actions
14 |
15 |
16 | Action
17 | Toggle
18 | ActionName
19 | Toggle Macro “No Clamshell Mode”
20 | IsDisclosed
21 |
22 | MacroActionType
23 | SetMacroEnable
24 | MacroUID
25 | A708C41C-B7F1-4322-80AE-E3832649DAC4
26 |
27 |
28 | ActionName
29 | Change Macro Name
30 | Conditions
31 |
32 | ConditionList
33 |
34 |
35 | ConditionType
36 | Macro
37 | MacroConditionType
38 | IsDisabled
39 | MacroUID
40 | A708C41C-B7F1-4322-80AE-E3832649DAC4
41 |
42 |
43 | ConditionListMatch
44 | All
45 |
46 | ElseActions
47 |
48 |
49 | DisplayKind
50 | Window
51 | HonourFailureSettings
52 |
53 | IncludeStdErr
54 |
55 | MacroActionType
56 | ExecuteAppleScript
57 | Path
58 |
59 | Text
60 | tell application "Keyboard Maestro"
61 | set macroUUIDs to selectedMacros
62 | if (count of macroUUIDs) is 0 then
63 | return ""
64 | end if
65 | set macroUUID to item 1 of macroUUIDs
66 | tell macro id macroUUID
67 | set its name to "Clamshell Mode: OFF"
68 | end tell
69 | end tell
70 | TimeOutAbortsMacro
71 |
72 | TrimResults
73 |
74 | TrimResultsNew
75 |
76 | UseText
77 |
78 |
79 |
80 | MacroActionType
81 | IfThenElse
82 | ThenActions
83 |
84 |
85 | DisplayKind
86 | Window
87 | HonourFailureSettings
88 |
89 | IncludeStdErr
90 |
91 | MacroActionType
92 | ExecuteAppleScript
93 | Path
94 |
95 | Text
96 | tell application "Keyboard Maestro"
97 | set macroUUIDs to selectedMacros
98 | if (count of macroUUIDs) is 0 then
99 | return ""
100 | end if
101 | set macroUUID to item 1 of macroUUIDs
102 | tell macro id macroUUID
103 | set its name to "Clamshell Mode: ON"
104 | end tell
105 | end tell
106 | TimeOutAbortsMacro
107 |
108 | TrimResults
109 |
110 | TrimResultsNew
111 |
112 | UseText
113 |
114 |
115 |
116 | TimeOutAbortsMacro
117 |
118 |
119 |
120 | CreationDate
121 | 633866641.15587997
122 | CustomIconData
123 | KMEP-Computer
124 | ModificationDate
125 | 633888616.98913801
126 | Name
127 | Clamshell Mode: OFF
128 | Triggers
129 |
130 |
131 | MacroTriggerType
132 | StatusMenu
133 |
134 |
135 | UID
136 | 23EBBC05-FDF7-4794-9A1F-9B5394EE5E0E
137 |
138 |
139 | Name
140 | Global Macro Group
141 | ToggleMacroUID
142 | 68968D2A-94B0-41A7-8F5A-7207B833E2C0
143 | UID
144 | EA81928B-1466-4727-82D2-6AFEDC66444B
145 |
146 |
147 |
148 |
--------------------------------------------------------------------------------
/External Display/Display Utilities.kmmacros:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Activate
7 | Normal
8 | CreationDate
9 | 597401350.00403798
10 | Macros
11 |
12 |
13 | Actions
14 |
15 |
16 | ActionColor
17 | Yellow
18 | MacroActionType
19 | Comment
20 | StyledText
21 |
22 | cnRmZAAAAAADAAAAAgAAAAcAAABU
23 | WFQucnRmAQAAAC4ZAgAAKwAAAAEA
24 | AAARAgAAe1xydGYxXGFuc2lcYW5z
25 | aWNwZzEyNTJcY29jb2FydGYxNjcx
26 | XGNvY29hc3VicnRmNjAwCntcZm9u
27 | dHRibFxmMFxmc3dpc3NcZmNoYXJz
28 | ZXQwIEhlbHZldGljYTtcZjFcZnN3
29 | aXNzXGZjaGFyc2V0MCBIZWx2ZXRp
30 | Y2EtQm9sZDt9CntcY29sb3J0Ymw7
31 | XHJlZDI1NVxncmVlbjI1NVxibHVl
32 | MjU1O1xyZWQwXGdyZWVuMFxibHVl
33 | MDt9CntcKlxleHBhbmRlZGNvbG9y
34 | dGJsOztcY3NzcmdiXGMwXGMwXGMw
35 | XGM4NDcwNlxjbmFtZSBjb250cm9s
36 | VGV4dENvbG9yO30KXHBhcmRcdHg1
37 | NjBcdHgxMTIwXHR4MTY4MFx0eDIy
38 | NDBcdHgyODAwXHR4MzM2MFx0eDM5
39 | MjBcdHg0NDgwXHR4NTA0MFx0eDU2
40 | MDBcdHg2MTYwXHR4NjcyMFxwYXJk
41 | aXJuYXR1cmFsXHBhcnRpZ2h0ZW5m
42 | YWN0b3IwCgpcZjBcZnMyNiBcY2Yy
43 | IFRoaXMgbWFjcm8gbmVlZHMgdG8g
44 | Y2hlY2sgaWYgeW91IGFyZSBsb2dn
45 | ZWQgaW4uIEluc2VydCB5b3VyIG1h
46 | YyB1c2VyIG5hbWUgaW4gdGhlIGFj
47 | dGlvbiBiZWxvdywgYWZ0ZXIgdGhl
48 | IApcZjFcYiBjb250YWlucwpcZjBc
49 | YjAgIGZpZWxkfQEAAAAjAAAAAQAA
50 | AAcAAABUWFQucnRmEAAAALoWGGC2
51 | AQAAAAAAAAAAAAA=
52 |
53 | Title
54 | Check if user logged in (USER ACTION REQUIRED)
55 |
56 |
57 | Conditions
58 |
59 | ConditionList
60 |
61 |
62 | ConditionType
63 | Script
64 | Path
65 |
66 | ScriptConditionSourceType
67 | ShellScriptText
68 | ScriptConditionType
69 | Contains
70 | ScriptResult
71 | INSERT_YOUR_USERNAME_HERE
72 | ScriptTerminationStatus
73 | 1
74 | ScriptText
75 | who | grep "console"
76 |
77 |
78 | ConditionListMatch
79 | All
80 |
81 | MacroActionType
82 | PauseUntil
83 | TimeOutAbortsMacro
84 |
85 |
86 |
87 | ActionName
88 | If External Display connected
89 | Conditions
90 |
91 | ConditionList
92 |
93 |
94 | ConditionType
95 | Script
96 | Path
97 |
98 | ScriptConditionSourceType
99 | ShellScriptText
100 | ScriptConditionType
101 | Contains
102 | ScriptResult
103 | AppleDisplay 3 3 USEABLE
104 | ScriptTerminationStatus
105 | 1
106 | ScriptText
107 | pmset -g powerstate | grep AppleDisplay | grep USEABLE
108 |
109 |
110 | ConditionListMatch
111 | Any
112 |
113 | ElseActions
114 |
115 |
116 | Action
117 | Quit
118 | Application
119 |
120 | BundleIdentifier
121 | com.benq.DisplayPilot
122 | Name
123 | DisplayPilot
124 | NewFile
125 | /Applications/DisplayPilot.app
126 |
127 | IsDisclosed
128 |
129 | MacroActionType
130 | QuitSpecificApp
131 | Target
132 | Specific
133 |
134 |
135 | Action
136 | Quit
137 | Application
138 |
139 | BundleIdentifier
140 | me.guillaumeb.MonitorControl
141 | Name
142 | MonitorControl
143 | NewFile
144 | /Applications/MonitorControl.app
145 |
146 | IsDisclosed
147 |
148 | MacroActionType
149 | QuitSpecificApp
150 | Target
151 | Specific
152 |
153 |
154 | MacroActionType
155 | IfThenElse
156 | ThenActions
157 |
158 |
159 | AllWindows
160 |
161 | AlreadyActivatedActionType
162 | Normal
163 | Application
164 |
165 | BundleIdentifier
166 | me.guillaumeb.MonitorControl
167 | Name
168 | MonitorControl
169 | NewFile
170 | /Applications/MonitorControl.app
171 |
172 | IsDisclosed
173 |
174 | MacroActionType
175 | ActivateApplication
176 | ReopenWindows
177 |
178 | TimeOutAbortsMacro
179 |
180 |
181 |
182 | ActionName
183 | If DisplayPilot is not running
184 | Conditions
185 |
186 | ConditionList
187 |
188 |
189 | Application
190 |
191 | BundleIdentifier
192 | com.benq.DisplayPilot
193 | Name
194 | DisplayPilot
195 | NewFile
196 | /Applications/DisplayPilot.app
197 |
198 | ApplicationConditionType
199 | NotRunning
200 | ConditionType
201 | Application
202 |
203 |
204 | ConditionListMatch
205 | All
206 |
207 | ElseActions
208 |
209 | MacroActionType
210 | IfThenElse
211 | ThenActions
212 |
213 |
214 | AllWindows
215 |
216 | AlreadyActivatedActionType
217 | Hide
218 | Application
219 |
220 | BundleIdentifier
221 | com.benq.DisplayPilot
222 | Name
223 | DisplayPilot
224 | NewFile
225 | /Applications/DisplayPilot.app
226 |
227 | IsDisclosed
228 |
229 | MacroActionType
230 | ActivateApplication
231 | ReopenWindows
232 |
233 | TimeOutAbortsMacro
234 |
235 |
236 |
237 | ActionName
238 | Execute AppleScript to close DisplayPilot window
239 | DisplayKind
240 | None
241 | HonourFailureSettings
242 |
243 | IncludeStdErr
244 |
245 | MacroActionType
246 | ExecuteAppleScript
247 | Path
248 |
249 | Text
250 | delay 0.9
set timeoutSeconds to 0.5
set uiScript to "click UI Element 1 of window 1 of application process \"DisplayPilot\""
my doWithTimeout(uiScript, timeoutSeconds)
on doWithTimeout(uiScript, timeoutSeconds)
set endDate to (current date) + timeoutSeconds
repeat
try
run script "tell application \"System Events\"
" & uiScript & "
end tell"
exit repeat
on error errorMessage
if ((current date) > endDate) then
error "Can not " & uiScript
end if
end try
end repeat
end doWithTimeout
251 | TimeOutAbortsMacro
252 |
253 | TrimResults
254 |
255 | TrimResultsNew
256 |
257 | UseText
258 |
259 |
260 |
261 | IsActive
262 |
263 | IsDisclosed
264 |
265 | MacroActionType
266 | ExecuteWorkflow
267 | Path
268 | ~/Library/Mobile Documents/com~apple~Automator/Documents/close_DisplayPilot.workflow
269 | TimeOutAbortsMacro
270 |
271 |
272 |
273 | TimeOutAbortsMacro
274 |
275 |
276 |
277 | TimeOutAbortsMacro
278 |
279 |
280 |
281 | CreationDate
282 | 633782935.025998
283 | CustomIconData
284 | KMEP-Display
285 | ModificationDate
286 | 634643484.32087004
287 | Name
288 | Display Utilities
289 | Triggers
290 |
291 |
292 | MacroTriggerType
293 | Display
294 |
295 |
296 | UID
297 | 4367B571-0AB3-43D2-B9D2-B3A5C3A32FC6
298 |
299 |
300 | Name
301 | Global Macro Group
302 | ToggleMacroUID
303 | 68968D2A-94B0-41A7-8F5A-7207B833E2C0
304 | UID
305 | EA81928B-1466-4727-82D2-6AFEDC66444B
306 |
307 |
308 |
309 |
--------------------------------------------------------------------------------
/External Display/No Clamshell Mode.kmmacros:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Activate
7 | Normal
8 | CreationDate
9 | 597401350.00403798
10 | Macros
11 |
12 |
13 | Actions
14 |
15 |
16 | DisplayKind
17 | None
18 | HonourFailureSettings
19 |
20 | IncludeStdErr
21 |
22 | MacroActionType
23 | ExecuteShellScript
24 | Path
25 |
26 | Source
27 | Nothing
28 | Text
29 | #!/usr/bin/env bash
30 |
31 | LID_CLOSED=$(ioreg -r -k AppleClamshellState | grep AppleClamshellState | grep Yes)
32 | if [ "$LID_CLOSED" ]; then
33 | EXTERNAL_DISPLAY_CONNECTED=$(pmset -g powerstate | grep AppleDisplay | grep USEABLE)
34 | if [ "$EXTERNAL_DISPLAY_CONNECTED" ]; then
35 | AWAKE=$(pmset -g powerstate | grep IODisplayWrangler | grep USEABLE)
36 | if [ "$AWAKE" ]; then
37 | pmset sleepnow
38 | fi
39 | fi
40 | fi
41 | TimeOutAbortsMacro
42 |
43 | TrimResults
44 |
45 | TrimResultsNew
46 |
47 | UseText
48 |
49 |
50 |
51 | IsDisclosed
52 |
53 | MacroActionType
54 | Comment
55 | StyledText
56 |
57 | cnRmZAAAAAADAAAAAgAAAAcAAABU
58 | WFQucnRmAQAAAC68AQAAKwAAAAEA
59 | AAC0AQAAe1xydGYxXGFuc2lcYW5z
60 | aWNwZzEyNTJcY29jb2FydGYxNjcx
61 | XGNvY29hc3VicnRmNjAwCntcZm9u
62 | dHRibFxmMFxmc3dpc3NcZmNoYXJz
63 | ZXQwIEhlbHZldGljYTt9CntcY29s
64 | b3J0Ymw7XHJlZDI1NVxncmVlbjI1
65 | NVxibHVlMjU1O1xyZWQwXGdyZWVu
66 | MFxibHVlMDt9CntcKlxleHBhbmRl
67 | ZGNvbG9ydGJsOztcY3NzcmdiXGMw
68 | XGMwXGMwXGM4NDcwNlxjbmFtZSBj
69 | b250cm9sVGV4dENvbG9yO30KXHBh
70 | cmRcdHg1NjBcdHgxMTIwXHR4MTY4
71 | MFx0eDIyNDBcdHgyODAwXHR4MzM2
72 | MFx0eDM5MjBcdHg0NDgwXHR4NTA0
73 | MFx0eDU2MDBcdHg2MTYwXHR4Njcy
74 | MFxwYXJkaXJuYXR1cmFsXHBhcnRp
75 | Z2h0ZW5mYWN0b3IwCgpcZjBcZnMy
76 | NiBcY2YyIHNoZWxsIHNjcmlwdCBm
77 | cm9tIGh0dHBzOi8vZ2l0aHViLmNv
78 | bS9waXJqL25vY2xhbXNoZWxsL2Js
79 | b2IvbWFzdGVyL25vY2xhbXNoZWxs
80 | fQEAAAAjAAAAAQAAAAcAAABUWFQu
81 | cnRmEAAAAPoVGGC2AQAAAAAAAAAA
82 | AAA=
83 |
84 | Title
85 | Credits
86 |
87 |
88 | CreationDate
89 | 633864559.11891699
90 | CustomIconData
91 | KMEP-Computer
92 | ModificationDate
93 | 633891503.75421596
94 | Name
95 | No Clamshell Mode
96 | Triggers
97 |
98 |
99 | MacroTriggerType
100 | Display
101 |
102 |
103 | UID
104 | A708C41C-B7F1-4322-80AE-E3832649DAC4
105 |
106 |
107 | Name
108 | Global Macro Group
109 | ToggleMacroUID
110 | 68968D2A-94B0-41A7-8F5A-7207B833E2C0
111 | UID
112 | EA81928B-1466-4727-82D2-6AFEDC66444B
113 |
114 |
115 |
116 |
--------------------------------------------------------------------------------
/External Display/README.md:
--------------------------------------------------------------------------------
1 | ## Display Utilities
2 | ### What does it do
3 | When connecting to external display opens the following menubar apps:
4 | * [Monitor Control](https://github.com/MonitorControl/MonitorControl) to control external monitor brightness and volume from MacOS with keys or TouchBar (in Extended Control Strip)
5 | * [Display Pilot](https://www.benq.com/en-us/monitor/software/display-pilot.html) to control external monitor sources, modes, etc. from MacOS (supported BenQ monitors only)
6 | 1. Execute the app
7 | 2. Close app window that annoyingly opens by default each time Display Pilot is executed
8 |
9 | When disconnecting form external display quit the following menubar apps:
10 | * [Monitor Control](https://github.com/MonitorControl/MonitorControl)
11 | * [Display Pilot](https://www.benq.com/en-us/monitor/software/display-pilot.html)
12 |
13 | ### Requirements
14 | * [Keyboard Maestro](https://www.keyboardmaestro.com/main/)
15 | * [Monitor Control](https://github.com/MonitorControl/MonitorControl)
16 | * [Display Pilot](https://www.benq.com/en-us/monitor/software/display-pilot.html)
17 |
18 | ### Installation
19 | * Remove Monitor Control and Display Pilot from login items
20 | * Import the `Display Utilities.kmmacros` file into Keyboard Maestro
21 | * Edit the macro inserting [your mac user name](https://support.apple.com/guide/mac-help/if-you-forgot-your-user-or-account-name-mh35548/mac) in the field that requires it
22 |
23 | ---
24 |
25 | ## No Clamshell Mode
26 | ### What does it do
27 | When the lid of your MacBook is closed, external monitor goes to sleep. To control this behaviour use the Clamshell Mode toggle in the status menu of Keyboard Maestro (menubar). Default Clamshell Mode: OFF.
28 |
29 | ### Requirements
30 | * [Keyboard Maestro](https://www.keyboardmaestro.com/main/)
31 |
32 | ### Installation
33 | * Import the `No Clamshell Mode.kmmacros` and `Clamshell Mode: OFF.kmmacros` files into Keyboard Maestro
34 |
35 |
--------------------------------------------------------------------------------
/Low Power Mode/Low Power Mode.app/Contents/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | AMIsApplet
6 |
7 | AMStayOpen
8 |
9 | BuildMachineOSBuild
10 | 17A405001
11 | CFBundleAllowMixedLocalizations
12 |
13 | CFBundleDevelopmentRegion
14 | English
15 | CFBundleDocumentTypes
16 |
17 |
18 | CFBundleTypeExtensions
19 |
20 | *
21 |
22 | CFBundleTypeName
23 | Automator workflow file
24 | CFBundleTypeOSTypes
25 |
26 | ****
27 |
28 | CFBundleTypeRole
29 | Viewer
30 |
31 |
32 | CFBundleExecutable
33 | Application Stub
34 | CFBundleIconFile
35 | AutomatorApplet
36 | CFBundleIdentifier
37 | com.apple.automator.Low Power Mode
38 | CFBundleInfoDictionaryVersion
39 | 6.0
40 | CFBundleName
41 | Low Power Mode
42 | CFBundlePackageType
43 | APPL
44 | CFBundleShortVersionString
45 | 1.3
46 | CFBundleSignature
47 | ????
48 | CFBundleSupportedPlatforms
49 |
50 | MacOSX
51 |
52 | CFBundleURLTypes
53 |
54 | CFBundleVersion
55 | 444.42
56 | DTCompiler
57 | com.apple.compilers.llvm.clang.1_0
58 | DTPlatformBuild
59 | 10P70r
60 | DTPlatformName
61 | macosx
62 | DTPlatformVersion
63 | 10.14
64 | DTSDKBuild
65 | 18F82
66 | DTSDKName
67 | macosx10.14internal
68 | DTXcode
69 | 1020
70 | DTXcodeBuild
71 | 10P70r
72 | LSMinimumSystemVersion
73 | 10.6
74 | LSUIElement
75 |
76 | NSAppleEventsUsageDescription
77 | This workflow needs to control other applications to run.
78 | NSAppleMusicUsageDescription
79 | This workflow needs access to your music to run.
80 | NSAppleScriptEnabled
81 | YES
82 | NSCalendarsUsageDescription
83 | This workflow needs access to your calendars to run.
84 | NSCameraUsageDescription
85 | This workflow needs access to your camera to run.
86 | NSContactsUsageDescription
87 | This workflow needs access to your contacts to run.
88 | NSHomeKitUsageDescription
89 | This workflow needs access to your HomeKit Home to run.
90 | NSMicrophoneUsageDescription
91 | This workflow needs access to your microphone to run.
92 | NSPhotoLibraryUsageDescription
93 | This workflow needs access to your photos to run.
94 | NSPrincipalClass
95 | NSApplication
96 | NSRemindersUsageDescription
97 | This workflow needs access to your reminders to run.
98 | NSServices
99 |
100 | NSSiriUsageDescription
101 | This workflow needs access to Siri to run.
102 | NSSystemAdministrationUsageDescription
103 | This workflow needs access to administer this system in order to run.
104 | UTExportedTypeDeclarations
105 |
106 | UTImportedTypeDeclarations
107 |
108 |
109 |
110 |
--------------------------------------------------------------------------------
/Low Power Mode/Low Power Mode.app/Contents/LowPowerMode.py:
--------------------------------------------------------------------------------
1 | import math
2 | import subprocess
3 |
4 |
5 | def main():
6 | # TO-DO: brightness(√), KB backlight(√), dnd(√), mute(√), bt(√), wifi(x), clock(x), gpu(x)
7 |
8 | # ------CONFIGURATION----------
9 | BuiltInScreenBrightness = True
10 | DoNotDisturb = True
11 | MuteVolume = True
12 | KeyboardBacklight = True
13 | Bluetooth = True
14 | # -----------------------------
15 |
16 | LowPowerModeState = getLowPowerModeState()
17 | btest = getBuiltInDisplayBrightness()
18 | kbbtest = getKeyboardBacklightBrightness()
19 | bttest = getBluetoothState()
20 | if LowPowerModeState:
21 | resetLowPowerModeState()
22 | if BuiltInScreenBrightness:
23 | resetBuiltInDisplayBrightness()
24 | if DoNotDisturb:
25 | resetSystemDoNotDisturbState()
26 | if MuteVolume:
27 | resetMutedVolume()
28 | if KeyboardBacklight:
29 | resetKeyboardBacklightBrightness()
30 | if Bluetooth:
31 | resetBluetoothState()
32 |
33 | else:
34 | setLowPowerModeState()
35 | if BuiltInScreenBrightness:
36 | setBuiltInDisplayBrightness()
37 | if DoNotDisturb:
38 | setSystemDoNotDisturbState()
39 | if MuteVolume:
40 | setMutedVolume()
41 | if KeyboardBacklight:
42 | setKeyboardBacklightBrightness()
43 | if Bluetooth:
44 | setBluetoothState()
45 |
46 |
47 | # -----------------------------
48 |
49 | def getLowPowerModeState():
50 | process = subprocess.Popen(
51 | ['osascript', '-e', 'tell application "BetterTouchTool" to get_number_variable "LowPowerMode"'],
52 | stdout=subprocess.PIPE, stderr=subprocess.PIPE)
53 | out, err = process.communicate()
54 | stri = (out.decode('utf-8').strip())
55 | if stri == 'missing value':
56 | LowPowerModeState = False
57 | else:
58 | LowPowerModeState = bool(float(out.decode('utf-8').strip()))
59 | print("LowPowerModeState", LowPowerModeState)
60 | return LowPowerModeState
61 |
62 |
63 | def setLowPowerModeState():
64 | subprocess.call(['open', "btt://set_number_variable/?variableName=LowPowerMode&to=1"])
65 | print("LPM to true")
66 |
67 |
68 | def resetLowPowerModeState():
69 | subprocess.call(['open', "btt://set_number_variable/?variableName=LowPowerMode&to=0"])
70 | print("LPM to false")
71 |
72 |
73 | # -----------------------------
74 |
75 |
76 | def getBuiltInDisplayBrightness():
77 | process = subprocess.Popen(
78 | ['osascript', '-e', 'tell application "BetterTouchTool" to get_number_variable "BuiltInDisplayBrightness"'],
79 | stdout=subprocess.PIPE, stderr=subprocess.PIPE)
80 | out, err = process.communicate()
81 | BuiltInDisplayBrightness = float(out.decode('utf-8').strip())
82 | print("BuiltInDisplayBrightness", BuiltInDisplayBrightness)
83 | return BuiltInDisplayBrightness
84 |
85 |
86 | def getOldBuiltInDisplayBrightness():
87 | process = subprocess.Popen(
88 | ['osascript', '-e', 'tell application "BetterTouchTool" to get_string_variable "OldBuiltInDisplayBrightness"'],
89 | stdout=subprocess.PIPE, stderr=subprocess.PIPE)
90 | out, err = process.communicate()
91 | stri = out.decode('utf-8').strip()
92 | if stri == 'missing value':
93 | print("OldBrightness missing value")
94 | OldBuiltInDisplayBrightness = getBuiltInDisplayBrightness()
95 | else:
96 | OldBuiltInDisplayBrightness = float(out.decode('utf-8').strip())
97 | print("OldBuiltInDisplayBrightness", OldBuiltInDisplayBrightness)
98 | return OldBuiltInDisplayBrightness
99 |
100 |
101 | def setBuiltInDisplayBrightness():
102 | brightness = getBuiltInDisplayBrightness()
103 | btt = 'tell application "BetterTouchTool" to set_string_variable "OldBuiltInDisplayBrightness" to"' + str(
104 | brightness) + '"'
105 | process = subprocess.Popen(
106 | ['osascript', '-e', btt],
107 | stdout=subprocess.PIPE, stderr=subprocess.PIPE)
108 | out, err = process.communicate()
109 | steps = 0
110 | if brightness >= 0.17:
111 | steps = math.floor(brightness / 0.0595703125) - 1
112 | print(steps)
113 | for i in range(0, steps):
114 | subprocess.call(['open', 'btt://trigger_named/?trigger_name=DISPLAY_BRIGHTNESS_DOWN'])
115 | # subprocess.call(['open', "btt://set_string_variable/?variableName=BuiltInDisplayBrightness&to=0.103515625"])
116 |
117 | print("setBuiltInDisplayBrightness")
118 |
119 |
120 | def resetBuiltInDisplayBrightness():
121 | brightness = getBuiltInDisplayBrightness()
122 | if brightness <= 0.18:
123 | oldBrightness = getOldBuiltInDisplayBrightness()
124 | steps = math.floor((oldBrightness) / 0.0595703125) - 1
125 | for i in range(0, steps):
126 | subprocess.call(['open', 'btt://trigger_named/?trigger_name=DISPLAY_BRIGHTNESS_UP'])
127 | print("resetBuiltInDisplayBrightness")
128 |
129 |
130 | # -----------------------------
131 |
132 |
133 | def getMutedVolume():
134 | process = subprocess.Popen(
135 | ['osascript', '-e', 'output muted of (get volume settings)'],
136 | stdout=subprocess.PIPE, stderr=subprocess.PIPE)
137 | out, err = process.communicate()
138 | stri = str((out.decode('utf-8').strip()))
139 | MutedVolume = False
140 | if (stri == 'true'):
141 | MutedVolume = True
142 | print("MutedVolume", MutedVolume)
143 | return MutedVolume
144 |
145 |
146 | def getOldMutedVolume():
147 | process = subprocess.Popen(
148 | ['osascript', '-e', 'tell application "BetterTouchTool" to get_string_variable "OldMutedVolume"'],
149 | stdout=subprocess.PIPE, stderr=subprocess.PIPE)
150 | out, err = process.communicate()
151 | stri = out.decode('utf-8').strip()
152 | OldMutedVolume = False
153 | if stri == 'True':
154 | OldMutedVolume = True
155 | print("OldMutedVolume", OldMutedVolume)
156 | return OldMutedVolume
157 |
158 |
159 | def setMutedVolume():
160 | MV = getMutedVolume()
161 | btt = 'tell application "BetterTouchTool" to set_string_variable "OldMutedVolume" to"' + str(
162 | MV) + '"'
163 | process = subprocess.Popen(
164 | ['osascript', '-e', btt],
165 | stdout=subprocess.PIPE, stderr=subprocess.PIPE)
166 | out, err = process.communicate()
167 | if not MV:
168 | process = subprocess.Popen(
169 | ['osascript', '-e', "set volume with output muted"],
170 | stdout=subprocess.PIPE, stderr=subprocess.PIPE)
171 | out, err = process.communicate()
172 | print("setting MutedVolume", out)
173 | # defaults -currentHost write ~/Library/Preferences/ByHost/com.apple.notificationcenterui doNotDisturb -boolean true
174 |
175 |
176 | def resetMutedVolume():
177 | MV = getMutedVolume()
178 | oldMV = getOldMutedVolume()
179 | if MV:
180 | if not oldMV:
181 | process = subprocess.Popen(
182 | ['osascript', '-e', "set volume without output muted"],
183 | stdout=subprocess.PIPE, stderr=subprocess.PIPE)
184 | out, err = process.communicate()
185 | print("resetMutedVolume")
186 |
187 | # ---------------------------------
188 |
189 |
190 | def getSystemDoNotDisturbState():
191 | process = subprocess.Popen(
192 | ['osascript', '-e', 'tell application "BetterTouchTool" to get_number_variable "SystemDoNotDisturbState"'],
193 | stdout=subprocess.PIPE, stderr=subprocess.PIPE)
194 | out, err = process.communicate()
195 | stri = out.decode('utf-8').strip()
196 | SystemDoNotDisturbState = bool(int(float(stri)))
197 | print("SystemDoNotDisturbState", SystemDoNotDisturbState)
198 | return SystemDoNotDisturbState
199 |
200 |
201 | def getOldSystemDoNotDisturbState():
202 | process = subprocess.Popen(
203 | ['osascript', '-e', 'tell application "BetterTouchTool" to get_string_variable "OldSystemDoNotDisturbState"'],
204 | stdout=subprocess.PIPE, stderr=subprocess.PIPE)
205 | out, err = process.communicate()
206 | stri = out.decode('utf-8').strip()
207 | OldSystemDoNotDisturbState = False
208 | if stri == 'True':
209 | OldSystemDoNotDisturbState = True
210 | print("OldSystemDoNotDisturbState", OldSystemDoNotDisturbState)
211 | return OldSystemDoNotDisturbState
212 |
213 |
214 | def setSystemDoNotDisturbState():
215 | DND = getSystemDoNotDisturbState()
216 | btt = 'tell application "BetterTouchTool" to set_string_variable "OldSystemDoNotDisturbState" to "' + str(
217 | DND) + '"'
218 | process = subprocess.Popen(
219 | ['osascript', '-e', btt],
220 | stdout=subprocess.PIPE, stderr=subprocess.PIPE)
221 | out, err = process.communicate()
222 | print("DND", out)
223 | if not DND:
224 | subprocess.call(['open', "btt://trigger_named/?trigger_name=DND"])
225 | # defaults -currentHost write ~/Library/Preferences/ByHost/com.apple.notificationcenterui doNotDisturb -boolean true
226 |
227 |
228 | def resetSystemDoNotDisturbState():
229 | DND = getSystemDoNotDisturbState()
230 | oldDND = getOldSystemDoNotDisturbState()
231 | #print("DND: ", DND, " oldDND: ", oldDND)
232 | if DND:
233 | if not oldDND:
234 | subprocess.call(['open', 'btt://trigger_named/?trigger_name=DND'])
235 |
236 | print("resetSystemDoNotDisturbState")
237 |
238 |
239 | # -----------------------------
240 |
241 |
242 | def getKeyboardBacklightBrightness():
243 | proc1 = subprocess.Popen(
244 | ['ioreg', '-c', 'AppleHIDKeyboardEventDriverV2'], stdout=subprocess.PIPE)
245 | process = subprocess.Popen(['grep', 'KeyboardBacklightBrightness'], stdin=proc1.stdout,
246 | stdout=subprocess.PIPE, stderr=subprocess.PIPE)
247 | out, err = process.communicate()
248 | stri = out.decode('utf-8').strip()
249 | KeyboardBacklightBrightness = [int(s) for s in stri.split() if s.isdigit()][0]
250 | print("KeyboardBacklightBrightness", KeyboardBacklightBrightness)
251 | return KeyboardBacklightBrightness
252 |
253 |
254 | def getOldKeyboardBacklightBrightness():
255 | process = subprocess.Popen(
256 | ['osascript', '-e',
257 | 'tell application "BetterTouchTool" to get_number_variable "OldKeyboardBacklightBrightness"'],
258 | stdout=subprocess.PIPE, stderr=subprocess.PIPE)
259 | out, err = process.communicate()
260 | stri = out.decode('utf-8').strip()
261 | if stri == 'missing value':
262 | print("OldKbBrightness missing value")
263 | OldKeyboardBacklightBrightness = getKeyboardBacklightBrightness()
264 | else:
265 | OldKeyboardBacklightBrightness = int(float(out.decode('utf-8').strip()))
266 | print("OldKeyboardBacklightBrightness", OldKeyboardBacklightBrightness)
267 | return OldKeyboardBacklightBrightness
268 |
269 |
270 | def setKeyboardBacklightBrightness():
271 | kbbrightness = getKeyboardBacklightBrightness()
272 | btt = 'tell application "BetterTouchTool" to set_number_variable "OldKeyboardBacklightBrightness" to ' + str(
273 | kbbrightness)
274 | process = subprocess.Popen(
275 | ['osascript', '-e', btt],
276 | stdout=subprocess.PIPE, stderr=subprocess.PIPE)
277 | out, err = process.communicate()
278 | steps = 1
279 | for x in range(1, 17):
280 | y = round(
281 | 27.50962 + 4.05198 * x + 0.35654 * math.pow(x, 2) + 0.02912 * math.pow(x, 3) - 0.00101 * math.pow(x,
282 | 4) + 0.00010 * math.pow(
283 | x, 5))
284 | print(x, y, kbbrightness)
285 | if y >= kbbrightness:
286 | steps = x
287 | break
288 | for i in range(0, steps):
289 | subprocess.call(['open', "btt://trigger_named/?trigger_name=KEYBOARD_BACKLIGHT_DOWN"])
290 |
291 |
292 | def resetKeyboardBacklightBrightness():
293 | kbbrightness = getKeyboardBacklightBrightness()
294 | if kbbrightness == 0:
295 | oldkbbrightness = getOldKeyboardBacklightBrightness()
296 | steps = 1
297 | for x in range(1, 17):
298 | y = round(
299 | 27.50962 + 4.05198 * x + 0.35654 * math.pow(x, 2) + 0.02912 * math.pow(x, 3) - 0.00101 * math.pow(x,
300 | 4) + 0.00010 * math.pow(
301 | x, 5))
302 | print(x, y, oldkbbrightness)
303 | if y >= oldkbbrightness:
304 | steps = x
305 | break
306 | for i in range(0, steps):
307 | subprocess.call(['open', "btt://trigger_named/?trigger_name=KEYBOARD_BACKLIGHT_UP"])
308 |
309 |
310 | # -----------------------------
311 |
312 |
313 | def getBluetoothState():
314 | proc1 = subprocess.Popen(
315 | ['ioreg', '-c', 'IOBluetoothHostControllerUARTTransport'], stdout=subprocess.PIPE)
316 | process = subprocess.Popen(['grep', 'DevicePowerState'], stdin=proc1.stdout,
317 | stdout=subprocess.PIPE, stderr=subprocess.PIPE)
318 | out, err = process.communicate()
319 | stri = out.decode('utf-8').strip().replace("=", " = ").replace(",", " , ")
320 | print("stri: ", stri)
321 | BluetoothState = bool([int(s) for s in stri.split() if s.isdigit()][0])
322 |
323 | print("BluetoothState", BluetoothState)
324 | return BluetoothState
325 |
326 |
327 | def getOldBluetoothState():
328 | process = subprocess.Popen(
329 | ['osascript', '-e', 'tell application "BetterTouchTool" to get_string_variable "OldBluetoothState"'],
330 | stdout=subprocess.PIPE, stderr=subprocess.PIPE)
331 | out, err = process.communicate()
332 | stri = out.decode('utf-8').strip()
333 | OldBluetoothState = False
334 | if stri == 'True':
335 | OldBluetoothState = True
336 | print("OldBluetoothState", OldBluetoothState)
337 | return OldBluetoothState
338 |
339 |
340 | def setBluetoothState():
341 | BT = getBluetoothState()
342 | btt = 'tell application "BetterTouchTool" to set_string_variable "OldBluetoothState" to "' + str(
343 | BT) + '"'
344 | process = subprocess.Popen(
345 | ['osascript', '-e', btt],
346 | stdout=subprocess.PIPE, stderr=subprocess.PIPE)
347 | out, err = process.communicate()
348 | if BT:
349 | subprocess.call(['open', "btt://trigger_named/?trigger_name=BLUETOOTH_OFF"])
350 | # defaults -currentHost write ~/Library/Preferences/ByHost/com.apple.notificationcenterui doNotDisturb -boolean true
351 | print("setBluetoothState")
352 |
353 |
354 | def resetBluetoothState():
355 | BT = getBluetoothState()
356 | oldBT = getOldBluetoothState()
357 | if not BT:
358 | if oldBT:
359 | subprocess.call(['open', 'btt://trigger_named/?trigger_name=BLUETOOTH_ON'])
360 |
361 | print("resetBluetoothState")
362 |
363 |
364 | # -----------------------------
365 |
366 |
367 | if __name__ == '__main__':
368 | main()
369 |
--------------------------------------------------------------------------------
/Low Power Mode/Low Power Mode.app/Contents/MacOS/Application Stub:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Low Power Mode/Low Power Mode.app/Contents/MacOS/Application Stub
--------------------------------------------------------------------------------
/Low Power Mode/Low Power Mode.app/Contents/Resources/AutomatorApplet.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Low Power Mode/Low Power Mode.app/Contents/Resources/AutomatorApplet.icns
--------------------------------------------------------------------------------
/Low Power Mode/Low Power Mode.app/Contents/Resources/ar.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Low Power Mode/Low Power Mode.app/Contents/Resources/ar.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/Low Power Mode/Low Power Mode.app/Contents/Resources/ca.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Low Power Mode/Low Power Mode.app/Contents/Resources/ca.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/Low Power Mode/Low Power Mode.app/Contents/Resources/cs.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Low Power Mode/Low Power Mode.app/Contents/Resources/cs.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/Low Power Mode/Low Power Mode.app/Contents/Resources/da.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Low Power Mode/Low Power Mode.app/Contents/Resources/da.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/Low Power Mode/Low Power Mode.app/Contents/Resources/de.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Low Power Mode/Low Power Mode.app/Contents/Resources/de.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/Low Power Mode/Low Power Mode.app/Contents/Resources/el.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Low Power Mode/Low Power Mode.app/Contents/Resources/el.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/Low Power Mode/Low Power Mode.app/Contents/Resources/en.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Low Power Mode/Low Power Mode.app/Contents/Resources/en.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/Low Power Mode/Low Power Mode.app/Contents/Resources/en_AU.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Low Power Mode/Low Power Mode.app/Contents/Resources/en_AU.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/Low Power Mode/Low Power Mode.app/Contents/Resources/en_GB.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Low Power Mode/Low Power Mode.app/Contents/Resources/en_GB.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/Low Power Mode/Low Power Mode.app/Contents/Resources/es.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Low Power Mode/Low Power Mode.app/Contents/Resources/es.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/Low Power Mode/Low Power Mode.app/Contents/Resources/es_419.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Low Power Mode/Low Power Mode.app/Contents/Resources/es_419.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/Low Power Mode/Low Power Mode.app/Contents/Resources/fi.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Low Power Mode/Low Power Mode.app/Contents/Resources/fi.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/Low Power Mode/Low Power Mode.app/Contents/Resources/fr.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Low Power Mode/Low Power Mode.app/Contents/Resources/fr.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/Low Power Mode/Low Power Mode.app/Contents/Resources/fr_CA.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Low Power Mode/Low Power Mode.app/Contents/Resources/fr_CA.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/Low Power Mode/Low Power Mode.app/Contents/Resources/he.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Low Power Mode/Low Power Mode.app/Contents/Resources/he.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/Low Power Mode/Low Power Mode.app/Contents/Resources/hi.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Low Power Mode/Low Power Mode.app/Contents/Resources/hi.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/Low Power Mode/Low Power Mode.app/Contents/Resources/hr.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Low Power Mode/Low Power Mode.app/Contents/Resources/hr.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/Low Power Mode/Low Power Mode.app/Contents/Resources/hu.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Low Power Mode/Low Power Mode.app/Contents/Resources/hu.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/Low Power Mode/Low Power Mode.app/Contents/Resources/id.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Low Power Mode/Low Power Mode.app/Contents/Resources/id.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/Low Power Mode/Low Power Mode.app/Contents/Resources/it.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Low Power Mode/Low Power Mode.app/Contents/Resources/it.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/Low Power Mode/Low Power Mode.app/Contents/Resources/ja.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Low Power Mode/Low Power Mode.app/Contents/Resources/ja.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/Low Power Mode/Low Power Mode.app/Contents/Resources/ko.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Low Power Mode/Low Power Mode.app/Contents/Resources/ko.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/Low Power Mode/Low Power Mode.app/Contents/Resources/ms.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Low Power Mode/Low Power Mode.app/Contents/Resources/ms.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/Low Power Mode/Low Power Mode.app/Contents/Resources/nl.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Low Power Mode/Low Power Mode.app/Contents/Resources/nl.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/Low Power Mode/Low Power Mode.app/Contents/Resources/no.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Low Power Mode/Low Power Mode.app/Contents/Resources/no.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/Low Power Mode/Low Power Mode.app/Contents/Resources/pl.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Low Power Mode/Low Power Mode.app/Contents/Resources/pl.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/Low Power Mode/Low Power Mode.app/Contents/Resources/pt.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Low Power Mode/Low Power Mode.app/Contents/Resources/pt.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/Low Power Mode/Low Power Mode.app/Contents/Resources/pt_PT.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Low Power Mode/Low Power Mode.app/Contents/Resources/pt_PT.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/Low Power Mode/Low Power Mode.app/Contents/Resources/ro.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Low Power Mode/Low Power Mode.app/Contents/Resources/ro.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/Low Power Mode/Low Power Mode.app/Contents/Resources/ru.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Low Power Mode/Low Power Mode.app/Contents/Resources/ru.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/Low Power Mode/Low Power Mode.app/Contents/Resources/sk.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Low Power Mode/Low Power Mode.app/Contents/Resources/sk.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/Low Power Mode/Low Power Mode.app/Contents/Resources/sv.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Low Power Mode/Low Power Mode.app/Contents/Resources/sv.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/Low Power Mode/Low Power Mode.app/Contents/Resources/th.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Low Power Mode/Low Power Mode.app/Contents/Resources/th.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/Low Power Mode/Low Power Mode.app/Contents/Resources/tr.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Low Power Mode/Low Power Mode.app/Contents/Resources/tr.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/Low Power Mode/Low Power Mode.app/Contents/Resources/uk.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Low Power Mode/Low Power Mode.app/Contents/Resources/uk.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/Low Power Mode/Low Power Mode.app/Contents/Resources/vi.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Low Power Mode/Low Power Mode.app/Contents/Resources/vi.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/Low Power Mode/Low Power Mode.app/Contents/Resources/zh_CN.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Low Power Mode/Low Power Mode.app/Contents/Resources/zh_CN.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/Low Power Mode/Low Power Mode.app/Contents/Resources/zh_HK.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Low Power Mode/Low Power Mode.app/Contents/Resources/zh_HK.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/Low Power Mode/Low Power Mode.app/Contents/Resources/zh_TW.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Low Power Mode/Low Power Mode.app/Contents/Resources/zh_TW.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/Low Power Mode/Low Power Mode.app/Contents/document.wflow:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | AMApplicationBuild
6 | 444.42
7 | AMApplicationVersion
8 | 2.9
9 | AMDocumentVersion
10 | 2
11 | actions
12 |
13 |
14 | action
15 |
16 | AMAccepts
17 |
18 | Container
19 | List
20 | Optional
21 |
22 | Types
23 |
24 | com.apple.cocoa.string
25 |
26 |
27 | AMActionVersion
28 | 2.0.3
29 | AMApplication
30 |
31 | Automator
32 |
33 | AMParameterProperties
34 |
35 | COMMAND_STRING
36 |
37 | CheckedForUserDefaultShell
38 |
39 | inputMethod
40 |
41 | shell
42 |
43 | source
44 |
45 |
46 | AMProvides
47 |
48 | Container
49 | List
50 | Types
51 |
52 | com.apple.cocoa.string
53 |
54 |
55 | ActionBundlePath
56 | /System/Library/Automator/Run Shell Script.action
57 | ActionName
58 | Esegui script shell
59 | ActionParameters
60 |
61 | COMMAND_STRING
62 | /usr/local/bin/python3 /Applications/Low\ Power\ Mode.app/Contents/LowPowerMode.py
63 | CheckedForUserDefaultShell
64 |
65 | inputMethod
66 | 0
67 | shell
68 | /bin/bash
69 | source
70 |
71 |
72 | BundleIdentifier
73 | com.apple.RunShellScript
74 | CFBundleVersion
75 | 2.0.3
76 | CanShowSelectedItemsWhenRun
77 |
78 | CanShowWhenRun
79 |
80 | Category
81 |
82 | AMCategoryUtilities
83 |
84 | Class Name
85 | RunShellScriptAction
86 | InputUUID
87 | 2F4465F1-7084-4A51-B22B-BA20E671A2DB
88 | Keywords
89 |
90 | Shell
91 | Script
92 | Comando
93 | Esegui
94 | Unix
95 |
96 | OutputUUID
97 | 166281B3-B6D5-4296-8DBD-FE94C4FA3B5C
98 | UUID
99 | 1222E453-7E4A-47D1-8800-D6DE9FA59E57
100 | UnlocalizedApplications
101 |
102 | Automator
103 |
104 | arguments
105 |
106 | 0
107 |
108 | default value
109 | 0
110 | name
111 | inputMethod
112 | required
113 | 0
114 | type
115 | 0
116 | uuid
117 | 0
118 |
119 | 1
120 |
121 | default value
122 |
123 | name
124 | source
125 | required
126 | 0
127 | type
128 | 0
129 | uuid
130 | 1
131 |
132 | 2
133 |
134 | default value
135 |
136 | name
137 | CheckedForUserDefaultShell
138 | required
139 | 0
140 | type
141 | 0
142 | uuid
143 | 2
144 |
145 | 3
146 |
147 | default value
148 |
149 | name
150 | COMMAND_STRING
151 | required
152 | 0
153 | type
154 | 0
155 | uuid
156 | 3
157 |
158 | 4
159 |
160 | default value
161 | /bin/sh
162 | name
163 | shell
164 | required
165 | 0
166 | type
167 | 0
168 | uuid
169 | 4
170 |
171 |
172 | isViewVisible
173 |
174 | location
175 | 392.250000:252.000000
176 | nibPath
177 | /System/Library/Automator/Run Shell Script.action/Contents/Resources/Base.lproj/main.nib
178 |
179 | isViewVisible
180 |
181 |
182 |
183 | connectors
184 |
185 | workflowMetaData
186 |
187 | workflowTypeIdentifier
188 | com.apple.Automator.application
189 |
190 |
191 |
192 |
--------------------------------------------------------------------------------
/Low Power Mode/LowPowerMode.bttpreset:
--------------------------------------------------------------------------------
1 | {
2 | "BTTPresetName" : "LowPowerMode",
3 | "BTTPresetColor" : "255.000000, 125.784331, 120.869599, 255.000000",
4 | "BTTPresetUUID" : "95776398-C53F-4A62-A5BB-1295DE760170",
5 | "BTTPresetContent" : [
6 | {
7 | "BTTAppBundleIdentifier" : "BT.G",
8 | "BTTAppName" : "Global",
9 | "BTTAppAutoInvertIcon" : 1,
10 | "BTTAppSpecificSettings" : {
11 |
12 | },
13 | "BTTTriggers" : [
14 | {
15 | "BTTTriggerType" : 643,
16 | "BTTTriggerTypeDescription" : "Named Trigger: KEYBOARD_BACKLIGHT_DOWN",
17 | "BTTTriggerClass" : "BTTTriggerTypeOtherTriggers",
18 | "BTTPredefinedActionType" : 32,
19 | "BTTPredefinedActionName" : "Keyboard Illumination Down",
20 | "BTTTriggerName" : "KEYBOARD_BACKLIGHT_DOWN",
21 | "BTTEnabled2" : 1,
22 | "BTTAlternateModifierKeys" : 0,
23 | "BTTRepeatDelay" : 0,
24 | "BTTUUID" : "DE503F22-E7ED-4071-A862-7DE7739D8515",
25 | "BTTNotesInsteadOfDescription" : 0,
26 | "BTTEnabled" : 1,
27 | "BTTModifierMode" : 0,
28 | "BTTOrder" : 3,
29 | "BTTDisplayOrder" : 0
30 | },
31 | {
32 | "BTTTriggerType" : 643,
33 | "BTTTriggerTypeDescription" : "Named Trigger: KEYBOARD_BACKLIGHT_UP",
34 | "BTTTriggerClass" : "BTTTriggerTypeOtherTriggers",
35 | "BTTPredefinedActionType" : 31,
36 | "BTTPredefinedActionName" : "Keyboard Illumination Up",
37 | "BTTTriggerName" : "KEYBOARD_BACKLIGHT_UP",
38 | "BTTEnabled2" : 1,
39 | "BTTAlternateModifierKeys" : 0,
40 | "BTTRepeatDelay" : 0,
41 | "BTTUUID" : "F21BFB05-07F6-4439-BBE8-64A9905DC76A",
42 | "BTTNotesInsteadOfDescription" : 0,
43 | "BTTEnabled" : 1,
44 | "BTTModifierMode" : 0,
45 | "BTTOrder" : 4,
46 | "BTTDisplayOrder" : 0
47 | },
48 | {
49 | "BTTTriggerType" : 643,
50 | "BTTTriggerTypeDescription" : "Named Trigger: DISPLAY_BRIGHTNESS_DOWN",
51 | "BTTTriggerClass" : "BTTTriggerTypeOtherTriggers",
52 | "BTTPredefinedActionType" : 29,
53 | "BTTPredefinedActionName" : "Brightness Down",
54 | "BTTTriggerName" : "DISPLAY_BRIGHTNESS_DOWN",
55 | "BTTEnabled2" : 1,
56 | "BTTAlternateModifierKeys" : 0,
57 | "BTTRepeatDelay" : 0,
58 | "BTTUUID" : "DCAC375F-2030-4D12-A72F-48E9329989A3",
59 | "BTTNotesInsteadOfDescription" : 0,
60 | "BTTEnabled" : 1,
61 | "BTTModifierMode" : 0,
62 | "BTTOrder" : 5,
63 | "BTTDisplayOrder" : 0
64 | },
65 | {
66 | "BTTTriggerType" : 643,
67 | "BTTTriggerTypeDescription" : "Named Trigger: DISPLAY_BRIGHTNESS_UP",
68 | "BTTTriggerClass" : "BTTTriggerTypeOtherTriggers",
69 | "BTTPredefinedActionType" : 28,
70 | "BTTPredefinedActionName" : "Brightness Up",
71 | "BTTTriggerName" : "DISPLAY_BRIGHTNESS_UP",
72 | "BTTEnabled2" : 1,
73 | "BTTAlternateModifierKeys" : 0,
74 | "BTTRepeatDelay" : 0,
75 | "BTTUUID" : "A46078EB-C526-43A2-9701-802339CF5FD9",
76 | "BTTNotesInsteadOfDescription" : 0,
77 | "BTTEnabled" : 1,
78 | "BTTModifierMode" : 0,
79 | "BTTOrder" : 6,
80 | "BTTDisplayOrder" : 0
81 | },
82 | {
83 | "BTTTriggerType" : 643,
84 | "BTTTriggerTypeDescription" : "Named Trigger: DND",
85 | "BTTTriggerClass" : "BTTTriggerTypeOtherTriggers",
86 | "BTTPredefinedActionType" : 200,
87 | "BTTPredefinedActionName" : "Toggle Do Not Disturb On\/Off",
88 | "BTTTriggerName" : "DND",
89 | "BTTEnabled2" : 1,
90 | "BTTAlternateModifierKeys" : 0,
91 | "BTTRepeatDelay" : 0,
92 | "BTTUUID" : "88BF900E-F20B-4357-8DFB-CC3B5EB4C665",
93 | "BTTNotesInsteadOfDescription" : 0,
94 | "BTTEnabled" : 1,
95 | "BTTModifierMode" : 0,
96 | "BTTOrder" : 7,
97 | "BTTDisplayOrder" : 0
98 | },
99 | {
100 | "BTTTriggerType" : 643,
101 | "BTTTriggerTypeDescription" : "Named Trigger: BLUETOOTH_ON",
102 | "BTTTriggerClass" : "BTTTriggerTypeOtherTriggers",
103 | "BTTPredefinedActionType" : 277,
104 | "BTTPredefinedActionName" : "Enable Bluetooth",
105 | "BTTTriggerName" : "BLUETOOTH_ON",
106 | "BTTEnabled2" : 1,
107 | "BTTAlternateModifierKeys" : 0,
108 | "BTTRepeatDelay" : 0,
109 | "BTTUUID" : "354D4AFD-28FD-4589-8683-C126FB28F6E7",
110 | "BTTNotesInsteadOfDescription" : 0,
111 | "BTTEnabled" : 1,
112 | "BTTModifierMode" : 0,
113 | "BTTOrder" : 8,
114 | "BTTDisplayOrder" : 0
115 | },
116 | {
117 | "BTTTriggerType" : 643,
118 | "BTTTriggerTypeDescription" : "Named Trigger: LOW_POWER_MODE",
119 | "BTTTriggerClass" : "BTTTriggerTypeOtherTriggers",
120 | "BTTPredefinedActionType" : -1,
121 | "BTTPredefinedActionName" : "No Action",
122 | "BTTTriggerName" : "LOW_POWER_MODE",
123 | "BTTEnabled2" : 1,
124 | "BTTAlternateModifierKeys" : 0,
125 | "BTTRepeatDelay" : 0,
126 | "BTTUUID" : "764D649C-D170-4381-A6F2-59A0576AF8EF",
127 | "BTTNotesInsteadOfDescription" : 0,
128 | "BTTEnabled" : 1,
129 | "BTTModifierMode" : 0,
130 | "BTTOrder" : 2,
131 | "BTTDisplayOrder" : 0
132 | },
133 | {
134 | "BTTTriggerType" : 643,
135 | "BTTTriggerTypeDescription" : "Named Trigger: BLUETOOTH_OFF",
136 | "BTTTriggerClass" : "BTTTriggerTypeOtherTriggers",
137 | "BTTPredefinedActionType" : 278,
138 | "BTTPredefinedActionName" : "Disable Bluetooth",
139 | "BTTTriggerName" : "BLUETOOTH_OFF",
140 | "BTTEnabled2" : 1,
141 | "BTTAlternateModifierKeys" : 0,
142 | "BTTRepeatDelay" : 0,
143 | "BTTUUID" : "59C79D11-F27F-475B-981F-A2FA8159AE94",
144 | "BTTNotesInsteadOfDescription" : 0,
145 | "BTTEnabled" : 1,
146 | "BTTModifierMode" : 0,
147 | "BTTOrder" : 9,
148 | "BTTDisplayOrder" : 0
149 | }
150 | ]
151 | },
152 | {
153 | "BTTAppBundleIdentifier" : "com.apple.finder",
154 | "BTTAppName" : "Finder",
155 | "BTTAppAutoInvertIcon" : 1,
156 | "BTTTriggers" : [
157 |
158 | ]
159 | }
160 | ],
161 | "BTTPresetSnapAreas" : [
162 |
163 | ]
164 | }
--------------------------------------------------------------------------------
/Low Power Mode/README.md:
--------------------------------------------------------------------------------
1 | ## Low Power Mode for MacOS
2 | ### What does it do
3 | When launched:
4 | * Activate a macro that turns off all power consuming settings of your macbook
5 | 1. Set Integrated Display Brightness to 1
6 | 2. Turn Do Not Disturb On
7 | 3. Mute Volume
8 | 4. Set Integrated Keyboard Backlight Brightness to 0
9 | 5. Turn Bluetooth Off
10 | * If already in Low Power Mode revert back all the settings to the previous state
11 |
12 | ### Requirements
13 | * [BetterTouchTool](https://a.paddle.com/v2/click/30842/40874?link=1061)
14 | * [Python 3](https://www.python.org/downloads/)
15 |
16 | ### Installation
17 | * Move `Low Power Mode.app` into the Application folder. You can edit this app using Automator
18 | * Open BetterTouchTool
19 | * Import the `LowPowerMode.bttpreset` file into BTT
20 |
21 | You can modify the macro file located at `Low Power Mode.app/Contents/LowPowerMode.py` to change which setting it will toggle
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # mac-automation-scripts 🤖
2 | *THIS REPO IS A WIP, THE FILES IN IT WILL FREQUENTLY BE UPDATED AND/OR CHANGED*
3 |
4 |
5 | ## Video Editing 🎬
6 | [This folder](https://github.com/JFtechOfficial/mac-automation-scripts/tree/master/Video%20Editing) contains ALL the smart automation I use to streamline my work and improve my workflow when editing videos
7 |
8 | ---
9 |
10 | ## Low Power Mode 🔋
11 | [This folder](https://github.com/JFtechOfficial/mac-automation-scripts/tree/master/Low%20Power%20Mode) contains the resouces to add a new app that toggles a macro in order to save battery life on your MacBook
12 |
13 | ---
14 |
15 | ## External Display Utilities 🖥
16 | [This folder](https://github.com/JFtechOfficial/mac-automation-scripts/tree/master/External%20Display) contains ALL the smart automation I use when connecting my MacBook to the [external display of my WFH setup](https://amzn.to/3rIp5AC)
17 |
18 | ---
19 | ## Yeelight 💡
20 | [This folder](https://github.com/JFtechOfficial/mac-automation-scripts/tree/master/Yeelight) contains the scripts to add a new slider to your TouchBar to control the brightness of your Yeelight smart bulb
21 |
22 | ---
23 |
24 | ## System-wide Capitalize/lowercase/UPPERCASE Macro for MacOS 🔠
25 | ### What does it do
26 | * trigger with Shift + double tap on CAPS-LOCK (similar to Google Android keyboard and iOS keyboard)
27 | * When triggered on selected text, cycles between Capitalized/lowercase/UPPERCASE
28 | * Can be triggered everywhere!
29 |
30 |
31 | ### Requirements
32 | * [Python 3](https://www.python.org/downloads/)
33 | * [Keyboard Maestro](https://www.keyboardmaestro.com/main/)
34 |
35 | ### Installation
36 | * Import the `To Capitalized.kmmacros` file into Keyboard Maestro
37 |
38 | ---
39 |
40 | ## Other stuff 🌀
41 | * TipTap trackpad gestures added. Switch between tabs in any app
42 | * App switcher widget added to the TouchBar
43 |
44 | ### Requirements
45 | * [BetterTouchTool](https://a.paddle.com/v2/click/30842/40874?link=1061)
46 |
47 | ### Installation
48 | * Open BetterTouchTool
49 | * Import the `Default.bttpreset` file into BTT
50 |
--------------------------------------------------------------------------------
/To Capitalized.kmmacros:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Activate
7 | Normal
8 | CreationDate
9 | 597401350.00403798
10 | Macros
11 |
12 |
13 | Actions
14 |
15 |
16 | MacroActionType
17 | CopyClipboard
18 | TargetNamedClipboardRedundantDisplayName
19 | Unnamed Named Clipboard
20 | TargetNamedClipboardUID
21 | 75822CAE-1E0E-4321-A3F9-6256294386E6
22 | TargetUseNamedClipboard
23 |
24 |
25 |
26 | Action
27 | Copy
28 | MacroActionType
29 | ClipboardSwitcherMacroAction
30 | Name
31 | 39B0A3A1-BB05-48D7-B8A8-A949F0C07A5A
32 | RedundandDisplayName
33 | Clipboard #2
34 | TimeOutAbortsMacro
35 |
36 |
37 |
38 | MacroActionType
39 | SetVariableToText
40 | Text
41 | %NamedClipboard%Clipboard #2%
42 | Variable
43 | Cap
44 |
45 |
46 | DisplayKind
47 | Window
48 | HonourFailureSettings
49 |
50 | IncludeStdErr
51 |
52 | MacroActionType
53 | ExecuteShellScript
54 | Path
55 |
56 | Source
57 | Variable
58 | SourceVariable
59 | Cap
60 | Text
61 | #!/usr/local/bin/python3
62 | import string
63 | import sys
64 | import os
65 |
66 | # setKMVar :: String -> String -> KM IO ()
67 |
68 | def setKMVar(k, v):
69 | p1 = """osascript -e 'tell application "Keyboard Maestro Engine" """
70 | p2 = 'to setvariable "'
71 | p3 = ' "to "'
72 | p4 = '"'
73 | p5 = "'"
74 | command = p1 + p2 + k + p3 + v + p4 + p5
75 | #print(command)
76 | os.system(command)
77 | #os.system("""osascript -e 'tell application "Keyboard Maestro Engine" to setvariable "Cap" to " """v""" "'""")
78 |
79 | def main():
80 | inputString = os.environ['KMVAR_Cap']
81 | if (inputString.islower()):
82 | #print(inputString.upper())
83 | setKMVar('Cap', inputString.upper())
84 |
85 | elif (inputString.isupper()):
86 | #print(string.capwords(inputString))
87 | setKMVar('Cap', string.capwords(inputString))
88 |
89 | else:
90 | #print(inputString.lower())
91 | setKMVar('Cap', inputString.lower())
92 |
93 | main()
94 | TimeOutAbortsMacro
95 |
96 | TrimResults
97 |
98 | TrimResultsNew
99 |
100 | UseText
101 |
102 |
103 |
104 | JustDisplay
105 |
106 | MacroActionType
107 | SetClipboardToText
108 | TargetNamedClipboardRedundantDisplayName
109 | Clipboard #2
110 | TargetNamedClipboardUID
111 | 39B0A3A1-BB05-48D7-B8A8-A949F0C07A5A
112 | TargetUseNamedClipboard
113 |
114 | Text
115 | %Variable%Cap%
116 |
117 |
118 | Action
119 | Paste
120 | MacroActionType
121 | ClipboardSwitcherMacroAction
122 | Name
123 | 39B0A3A1-BB05-48D7-B8A8-A949F0C07A5A
124 | RedundandDisplayName
125 | Clipboard #2
126 | TimeOutAbortsMacro
127 |
128 |
129 |
130 | MacroActionType
131 | CopyClipboard
132 | SourceNamedClipboardRedundantDisplayName
133 | Unnamed Named Clipboard
134 | SourceNamedClipboardUID
135 | 75822CAE-1E0E-4321-A3F9-6256294386E6
136 | SourceUseNamedClipboard
137 |
138 |
139 |
140 | CreationDate
141 | 597414831.312235
142 | ModificationDate
143 | 597432292.04107201
144 | Name
145 | To Capitalized
146 | Triggers
147 |
148 |
149 | ElementCookie
150 | 77
151 | ElementDeviceUsage
152 | 6
153 | ElementDeviceUsagePage
154 | 1
155 | ElementName
156 | Apple Internal Keyboard / Trackpad #57
157 | ElementProductID
158 | 636
159 | ElementShortName
160 | #57
161 | ElementUsage
162 | 57
163 | ElementUsagePage
164 | 7
165 | ElementValue
166 | 1
167 | ElementVendorID
168 | 1452
169 | FireType
170 | Tapped
171 | MacroTriggerType
172 | HID
173 | Modifiers
174 | 512
175 | TapCount
176 | 2
177 | UseModifiers
178 |
179 |
180 |
181 | UID
182 | 1428E313-4D71-4C5F-802D-2BDE868E160E
183 |
184 |
185 | Name
186 | Global Macro Group
187 | ToggleMacroUID
188 | 68968D2A-94B0-41A7-8F5A-7207B833E2C0
189 | UID
190 | EA81928B-1466-4727-82D2-6AFEDC66444B
191 |
192 |
193 |
194 |
--------------------------------------------------------------------------------
/Video Editing/10gbps-External-Drive-Icons/icns/USB10gbpsIcon-v1.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Video Editing/10gbps-External-Drive-Icons/icns/USB10gbpsIcon-v1.icns
--------------------------------------------------------------------------------
/Video Editing/10gbps-External-Drive-Icons/icns/USB10gbpsIcon-v2.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Video Editing/10gbps-External-Drive-Icons/icns/USB10gbpsIcon-v2.icns
--------------------------------------------------------------------------------
/Video Editing/10gbps-External-Drive-Icons/png/USB10gbpsIcon-v1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Video Editing/10gbps-External-Drive-Icons/png/USB10gbpsIcon-v1.png
--------------------------------------------------------------------------------
/Video Editing/10gbps-External-Drive-Icons/png/USB10gbpsIcon-v2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Video Editing/10gbps-External-Drive-Icons/png/USB10gbpsIcon-v2.png
--------------------------------------------------------------------------------
/Video Editing/Editing Drive Alert.kmmacros:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Activate
7 | Normal
8 | CreationDate
9 | 597401350.00403798
10 | Macros
11 |
12 |
13 | Actions
14 |
15 |
16 | MacroActionType
17 | Alert
18 | SoundPath
19 |
20 | Text
21 | Would you like to start Video Editing now?
22 | TimeOutAbortsMacro
23 |
24 | Title
25 | Video Editing Drive detected
26 |
27 |
28 | AllWindows
29 |
30 | AlreadyActivatedActionType
31 | Normal
32 | Application
33 |
34 | BundleIdentifier
35 | com.apple.automator.Video Editing
36 | Name
37 | Video Editing
38 | NewFile
39 | /Applications/Video Editing.app
40 |
41 | MacroActionType
42 | ActivateApplication
43 | ReopenWindows
44 |
45 | TimeOutAbortsMacro
46 |
47 |
48 |
49 | CreationDate
50 | 597438076.782287
51 | CustomIconData
52 | KMEP-GenericApplication-/Applications/Final Cut Pro.app
53 | ModificationDate
54 | 604065676.76972401
55 | Name
56 | Editing Drive Alert
57 | Triggers
58 |
59 |
60 | Attach
61 |
62 | MacroTriggerType
63 | USBDevice
64 | Name
65 | USB to PCIE Bridge
66 | TargetType
67 | Named
68 |
69 |
70 | UID
71 | 71527DAB-2183-4576-83FD-A60E2C9F6357
72 |
73 |
74 | Name
75 | Global Macro Group
76 | ToggleMacroUID
77 | 68968D2A-94B0-41A7-8F5A-7207B833E2C0
78 | UID
79 | EA81928B-1466-4727-82D2-6AFEDC66444B
80 |
81 |
82 |
83 |
--------------------------------------------------------------------------------
/Video Editing/FCPX.bttpreset:
--------------------------------------------------------------------------------
1 | {
2 | "BTTPresetName" : "FCPX",
3 | "BTTPresetUUID" : "695D8E8E-6782-4F1E-AC63-36348D78B31D",
4 | "BTTPresetContent" : [
5 | {
6 | "BTTAppBundleIdentifier" : "com.apple.FinalCut",
7 | "BTTAppName" : "Final Cut Pro",
8 | "BTTAppProcessMatchMode" : 2,
9 | "BTTAppProcessName" : "Final Cut Pro",
10 | "BTTTriggers" : [
11 | {
12 | "BTTTouchBarButtonName" : "Quit Video Editing",
13 | "BTTTriggerType" : 629,
14 | "BTTTriggerTypeDescription" : "Touch Bar button",
15 | "BTTTriggerClass" : "BTTTriggerTypeTouchBar",
16 | "BTTPredefinedActionType" : 138,
17 | "BTTPredefinedActionName" : "Start Automator Workflow",
18 | "BTTLaunchPath" : "file:\/\/\/YOUR_PATH\/Quit%20Video%20Editing.workflow",
19 | "BTTEnabled2" : 1,
20 | "BTTUUID" : "18381E5E-040C-4568-A669-A3338B5EF89D",
21 | "BTTEnabled" : 1,
22 | "BTTModifierMode" : 0,
23 | "BTTAlternateModifierKeys" : 0,
24 | "BTTOrder" : 0,
25 | "BTTDisplayOrder" : 0,
26 | "BTTMergeIntoTouchBarGroups" : 0,
27 | "BTTIconData" : "TU0AKgAAGQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAFAAAACAAAAAgAAAAIAAAACAAAAAUAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAGAAAACvAAAA_wAAAP8AAAD_AAAA_wAAAP8AAAD_AAAA_wAAAP8AAAD_AAAA_wAAAL8AAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAnwAAAO8AAAD_AAAA_wAAAP8AAAD_AAAA_wAAAP8AAAD_AAAA_wAAAP8AAAD_AAAA_wAAAP8AAAD_AAAA_wAAAP8AAACfAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAA7wAAAP8AAAD_AAAA_wAAAP8AAAD_AAAA_wAAAO8AAAC_AAAAvwAAAL8AAAC_AAAA3wAAAP8AAAD_AAAA_wAAAP8AAAD_AAAA_wAAAO8AAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAC_AAAA_wAAAP8AAAD_AAAA_wAAAP8AAACvAAAAYAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAYAAAAK8AAAD_AAAA_wAAAP8AAAD_AAAA_wAAAM8AAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAADvAAAA_wAAAP8AAAD_AAAA_wAAAJ8AAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAJ8AAAD_AAAA_wAAAP8AAAD_AAAA7wAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAADvAAAA_wAAAP8AAAD_AAAAzwAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAM8AAAD_AAAA_wAAAP8AAADvAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAADfAAAA_wAAAP8AAAD_AAAAnwAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnwAAAP8AAAD_AAAA_wAAAO8AAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC_AAAA_wAAAP8AAAD_AAAAnwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACfAAAA_wAAAP8AAAD_AAAAvwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAA_wAAAP8AAAD_AAAAnwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ8AAAD_AAAA_wAAAP8AAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAA7wAAAP8AAAD_AAAAzwAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACPAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzwAAAP8AAAD_AAAA7wAAABAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAP8AAAD_AAAA_wAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACfAAAA_wAAAO8AAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAM8AAAD_AAAAnwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAD_AAAA_wAAAP8AAACPAAAAAAAAAAAAAAAAAAAAAAAAAO8AAAD_AAAA_wAAAJ8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACfAAAA_wAAAP8AAAD_AAAA7wAAADAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAM8AAAD_AAAA_wAAAP8AAACfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnwAAAP8AAAD_AAAA7wAAABAAAAAAAAAAAAAAAGAAAAD_AAAA_wAAAP8AAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACfAAAA_wAAAP8AAAD_AAAA_wAAAP8AAADvAAAAMAAAAAAAAAAAAAAAEAAAAM8AAAD_AAAA_wAAAP8AAAD_AAAA_wAAAJ8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAD_AAAA_wAAAP8AAABgAAAAAAAAAAAAAACfAAAA_wAAAP8AAADPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAA_wAAAP8AAAD_AAAA_wAAAP8AAAD_AAAA_wAAAO8AAAAwAAAAEAAAAM8AAAD_AAAA_wAAAP8AAAD_AAAA_wAAAP8AAAD_AAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArwAAAP8AAAD_AAAArwAAAAAAAAAAAAAA7wAAAP8AAAD_AAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAM8AAAD_AAAA_wAAAP8AAAD_AAAA_wAAAP8AAAD_AAAA7wAAAM8AAAD_AAAA_wAAAP8AAAD_AAAA_wAAAP8AAAD_AAAAzwAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAD_AAAA_wAAAO8AAAAAAAAAIAAAAP8AAAD_AAAA_wAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAzwAAAP8AAAD_AAAA_wAAAP8AAAD_AAAA_wAAAP8AAAD_AAAA_wAAAP8AAAD_AAAA_wAAAP8AAAD_AAAAzwAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAA_wAAAP8AAAD_AAAAIAAAAEAAAAD_AAAA_wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAADPAAAA_wAAAP8AAAD_AAAA_wAAAP8AAAD_AAAA_wAAAP8AAAD_AAAA_wAAAP8AAAD_AAAAzwAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD_AAAA_wAAAEAAAABAAAAA_wAAAP8AAADfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAM8AAAD_AAAA_wAAAP8AAAD_AAAA_wAAAP8AAAD_AAAA_wAAAP8AAAD_AAAAzwAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC_AAAA_wAAAP8AAABgAAAAcAAAAP8AAAD_AAAAvwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAzwAAAP8AAAD_AAAA_wAAAP8AAAD_AAAA_wAAAP8AAAD_AAAAzwAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvwAAAP8AAAD_AAAAgAAAAGAAAAD_AAAA_wAAAL8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAM8AAAD_AAAA_wAAAP8AAAD_AAAA_wAAAP8AAAD_AAAA_wAAAO8AAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL8AAAD_AAAA_wAAAIAAAABAAAAA_wAAAP8AAADvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAM8AAAD_AAAA_wAAAP8AAAD_AAAA_wAAAP8AAAD_AAAA_wAAAP8AAAD_AAAA7wAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADPAAAA_wAAAP8AAABgAAAAQAAAAP8AAAD_AAAA_wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAM8AAAD_AAAA_wAAAP8AAAD_AAAA_wAAAP8AAAD_AAAA_wAAAP8AAAD_AAAA_wAAAP8AAADvAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA_wAAAP8AAAD_AAAAQAAAABAAAAD_AAAA_wAAAP8AAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAM8AAAD_AAAA_wAAAP8AAAD_AAAA_wAAAP8AAAD_AAAA_wAAAP8AAAD_AAAA_wAAAP8AAAD_AAAA_wAAAO8AAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAP8AAAD_AAAA_wAAACAAAAAAAAAA3wAAAP8AAAD_AAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAM8AAAD_AAAA_wAAAP8AAAD_AAAA_wAAAP8AAAD_AAAAzwAAAM8AAAD_AAAA_wAAAP8AAAD_AAAA_wAAAP8AAAD_AAAA7wAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAD_AAAA_wAAAN8AAAAAAAAAAAAAAJ8AAAD_AAAA_wAAAN8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAD_AAAA_wAAAP8AAAD_AAAA_wAAAP8AAAD_AAAAzwAAABAAAAAQAAAAzwAAAP8AAAD_AAAA_wAAAP8AAAD_AAAA_wAAAP8AAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADPAAAA_wAAAP8AAACfAAAAAAAAAAAAAABQAAAA_wAAAP8AAAD_AAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAP8AAAD_AAAA_wAAAP8AAAD_AAAAzwAAABAAAAAAAAAAAAAAABAAAADPAAAA_wAAAP8AAAD_AAAA_wAAAP8AAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAA_wAAAP8AAAD_AAAAUAAAAAAAAAAAAAAAAAAAAN8AAAD_AAAA_wAAAL8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAA_wAAAP8AAAD_AAAAzwAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAM8AAAD_AAAA_wAAAP8AAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvwAAAP8AAAD_AAAA3wAAAAAAAAAAAAAAAAAAAAAAAABgAAAA_wAAAP8AAAD_AAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAD_AAAAzwAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAzwAAAP8AAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAP8AAAD_AAAA_wAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN8AAAD_AAAA_wAAAO8AAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAO8AAAD_AAAA_wAAAN8AAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAA_wAAAP8AAAD_AAAAzwAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM8AAAD_AAAA_wAAAP8AAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI8AAAD_AAAA_wAAAP8AAADPAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAJ8AAAD_AAAA_wAAAP8AAACfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzwAAAP8AAAD_AAAA_wAAAM8AAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAM8AAAD_AAAA_wAAAP8AAADPAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAADPAAAA_wAAAP8AAAD_AAAA7wAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAO8AAAD_AAAA_wAAAP8AAADPAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAM8AAAD_AAAA_wAAAP8AAAD_AAAAvwAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAvwAAAP8AAAD_AAAA_wAAAP8AAADPAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjwAAAP8AAAD_AAAA_wAAAP8AAAD_AAAA3wAAAI8AAABQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAAI8AAADfAAAA_wAAAP8AAAD_AAAA_wAAAP8AAACPAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAA3wAAAP8AAAD_AAAA_wAAAP8AAAD_AAAA_wAAAP8AAAD_AAAA_wAAAP8AAAD_AAAA_wAAAP8AAAD_AAAA_wAAAP8AAAD_AAAA_wAAAN8AAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAA3wAAAP8AAAD_AAAA_wAAAP8AAAD_AAAA_wAAAP8AAAD_AAAA_wAAAP8AAAD_AAAA_wAAAP8AAAD_AAAA3wAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAjwAAAM8AAAD_AAAA_wAAAP8AAAD_AAAA_wAAAP8AAAD_AAAA_wAAAM8AAACPAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAABAAAAAQAAAAEAAAABAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABABAAADAAAAAQAoAAABAQADAAAAAQAoAAABAgADAAAABAAAGc4BAwADAAAAAQABAAABBgADAAAAAQACAAABCgADAAAAAQABAAABEQAEAAAAAQAAAAgBEgADAAAAAQABAAABFQADAAAAAQAEAAABFgADAAAAAQAoAAABFwAEAAAAAQAAGQABHAADAAAAAQABAAABKAADAAAAAQACAAABUgADAAAAAQACAAABUwADAAAABAAAGdaHcwAHAAAMSAAAGd4AAAAAAAgACAAIAAgAAQABAAEAAQAADEhMaW5vAhAAAG1udHJSR0IgWFlaIAfOAAIACQAGADEAAGFjc3BNU0ZUAAAAAElFQyBzUkdCAAAAAAAAAAAAAAAAAAD21gABAAAAANMtSFAgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEWNwcnQAAAFQAAAAM2Rlc2MAAAGEAAAAbHd0cHQAAAHwAAAAFGJrcHQAAAIEAAAAFHJYWVoAAAIYAAAAFGdYWVoAAAIsAAAAFGJYWVoAAAJAAAAAFGRtbmQAAAJUAAAAcGRtZGQAAALEAAAAiHZ1ZWQAAANMAAAAhnZpZXcAAAPUAAAAJGx1bWkAAAP4AAAAFG1lYXMAAAQMAAAAJHRlY2gAAAQwAAAADHJUUkMAAAQ8AAAIDGdUUkMAAAQ8AAAIDGJUUkMAAAQ8AAAIDHRleHQAAAAAQ29weXJpZ2h0IChjKSAxOTk4IEhld2xldHQtUGFja2FyZCBDb21wYW55AABkZXNjAAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAEnNSR0IgSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYWVogAAAAAAAA81EAAQAAAAEWzFhZWiAAAAAAAAAAAAAAAAAAAAAAWFlaIAAAAAAAAG+iAAA49QAAA5BYWVogAAAAAAAAYpkAALeFAAAY2lhZWiAAAAAAAAAkoAAAD4QAALbPZGVzYwAAAAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVjLmNoAAAAAAAAAAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVjLmNoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRlc2MAAAAAAAAALklFQyA2MTk2Ni0yLjEgRGVmYXVsdCBSR0IgY29sb3VyIHNwYWNlIC0gc1JHQgAAAAAAAAAAAAAALklFQyA2MTk2Ni0yLjEgRGVmYXVsdCBSR0IgY29sb3VyIHNwYWNlIC0gc1JHQgAAAAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAAAAAAACxSZWZlcmVuY2UgVmlld2luZyBDb25kaXRpb24gaW4gSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29uZGl0aW9uIGluIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdmlldwAAAAAAE6T+ABRfLgAQzxQAA+3MAAQTCwADXJ4AAAABWFlaIAAAAAAATAlWAFAAAABXH+dtZWFzAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAACjwAAAAJzaWcgAAAAAENSVCBjdXJ2AAAAAAAABAAAAAAFAAoADwAUABkAHgAjACgALQAyADcAOwBAAEUASgBPAFQAWQBeAGMAaABtAHIAdwB8AIEAhgCLAJAAlQCaAJ8ApACpAK4AsgC3ALwAwQDGAMsA0ADVANsA4ADlAOsA8AD2APsBAQEHAQ0BEwEZAR8BJQErATIBOAE+AUUBTAFSAVkBYAFnAW4BdQF8AYMBiwGSAZoBoQGpAbEBuQHBAckB0QHZAeEB6QHyAfoCAwIMAhQCHQImAi8COAJBAksCVAJdAmcCcQJ6AoQCjgKYAqICrAK2AsECywLVAuAC6wL1AwADCwMWAyEDLQM4A0MDTwNaA2YDcgN+A4oDlgOiA64DugPHA9MD4APsA_kEBgQTBCAELQQ7BEgEVQRjBHEEfgSMBJoEqAS2BMQE0wThBPAE_gUNBRwFKwU6BUkFWAVnBXcFhgWWBaYFtQXFBdUF5QX2BgYGFgYnBjcGSAZZBmoGewaMBp0GrwbABtEG4wb1BwcHGQcrBz0HTwdhB3QHhgeZB6wHvwfSB+UH+AgLCB8IMghGCFoIbgiCCJYIqgi+CNII5wj7CRAJJQk6CU8JZAl5CY8JpAm6Cc8J5Qn7ChEKJwo9ClQKagqBCpgKrgrFCtwK8wsLCyILOQtRC2kLgAuYC7ALyAvhC_kMEgwqDEMMXAx1DI4MpwzADNkM8w0NDSYNQA1aDXQNjg2pDcMN3g34DhMOLg5JDmQOfw6bDrYO0g7uDwkPJQ9BD14Peg+WD7MPzw_sEAkQJhBDEGEQfhCbELkQ1xD1ERMRMRFPEW0RjBGqEckR6BIHEiYSRRJkEoQSoxLDEuMTAxMjE0MTYxODE6QTxRPlFAYUJxRJFGoUixStFM4U8BUSFTQVVhV4FZsVvRXgFgMWJhZJFmwWjxayFtYW+hcdF0EXZReJF64X0hf3GBsYQBhlGIoYrxjVGPoZIBlFGWsZkRm3Gd0aBBoqGlEadxqeGsUa7BsUGzsbYxuKG7Ib2hwCHCocUhx7HKMczBz1HR4dRx1wHZkdwx3sHhYeQB5qHpQevh7pHxMfPh9pH5Qfvx_qIBUgQSBsIJggxCDwIRwhSCF1IaEhziH7IiciVSKCIq8i3SMKIzgjZiOUI8Ij8CQfJE0kfCSrJNolCSU4JWgllyXHJfcmJyZXJocmtyboJxgnSSd6J6sn3CgNKD8ocSiiKNQpBik4KWspnSnQKgIqNSpoKpsqzysCKzYraSudK9EsBSw5LG4soizXLQwtQS12Last4S4WLkwugi63Lu4vJC9aL5Evxy_+MDUwbDCkMNsxEjFKMYIxujHyMioyYzKbMtQzDTNGM38zuDPxNCs0ZTSeNNg1EzVNNYc1wjX9Njc2cjauNuk3JDdgN5w31zgUOFA4jDjIOQU5Qjl_Obw5+To2OnQ6sjrvOy07azuqO+g8JzxlPKQ84z0iPWE9oT3gPiA+YD6gPuA_IT9hP6I_4kAjQGRApkDnQSlBakGsQe5CMEJyQrVC90M6Q31DwEQDREdEikTORRJFVUWaRd5GIkZnRqtG8Ec1R3tHwEgFSEtIkUjXSR1JY0mpSfBKN0p9SsRLDEtTS5pL4kwqTHJMuk0CTUpNk03cTiVObk63TwBPSU+TT91QJ1BxULtRBlFQUZtR5lIxUnxSx1MTU19TqlP2VEJUj1TbVShVdVXCVg9WXFapVvdXRFeSV+BYL1h9WMtZGllpWbhaB1pWWqZa9VtFW5Vb5Vw1XIZc1l0nXXhdyV4aXmxevV8PX2Ffs2AFYFdgqmD8YU9homH1YklinGLwY0Njl2PrZEBklGTpZT1lkmXnZj1mkmboZz1nk2fpaD9olmjsaUNpmmnxakhqn2r3a09rp2v_bFdsr20IbWBtuW4SbmtuxG8eb3hv0XArcIZw4HE6cZVx8HJLcqZzAXNdc7h0FHRwdMx1KHWFdeF2Pnabdvh3VnezeBF4bnjMeSp5iXnnekZ6pXsEe2N7wnwhfIF84X1BfaF+AX5ifsJ_I3+Ef+WAR4CogQqBa4HNgjCCkoL0g1eDuoQdhICE44VHhauGDoZyhteHO4efiASIaYjOiTOJmYn+imSKyoswi5aL_IxjjMqNMY2Yjf+OZo7OjzaPnpAGkG6Q1pE_kaiSEZJ6kuOTTZO2lCCUipT0lV+VyZY0lp+XCpd1l+CYTJi4mSSZkJn8mmia1ZtCm6+cHJyJnPedZJ3SnkCerp8dn4uf+qBpoNihR6G2oiailqMGo3aj5qRWpMelOKWpphqmi6b9p26n4KhSqMSpN6mpqhyqj6sCq3Wr6axcrNCtRK24ri2uoa8Wr4uwALB1sOqxYLHWskuywrM4s660JbSctRO1irYBtnm28Ldot+C4WbjRuUq5wro7urW7LrunvCG8m70VvY++Cr6Evv+_er_1wHDA7MFnwePCX8Lbw1jD1MRRxM7FS8XIxkbGw8dBx7_IPci8yTrJuco4yrfLNsu2zDXMtc01zbXONs62zzfPuNA50LrRPNG+0j_SwdNE08bUSdTL1U7V0dZV1tjXXNfg2GTY6Nls2fHadtr724DcBdyK3RDdlt4c3qLfKd+v4DbgveFE4cziU+Lb42Pj6+Rz5PzlhOYN5pbnH+ep6DLovOlG6dDqW+rl63Dr++yG7RHtnO4o7rTvQO_M8Fjw5fFy8f_yjPMZ86f0NPTC9VD13vZt9vv3ivgZ+Kj5OPnH+lf65_t3_Af8mP0p_br+S_7c_23__w==",
28 | "BTTTriggerConfig" : {
29 | "BTTTouchBarFreeSpaceAfterButton" : 5,
30 | "BTTTouchBarItemPadding" : 0,
31 | "BTTTouchBarButtonCornerRadius" : 6,
32 | "BTTTouchBarItemPlacement" : 2,
33 | "BTTTouchBarButtonColor" : "75.323769, 75.323769, 75.323769, 255.000000",
34 | "BTTTouchBarItemIconWidth" : 22,
35 | "BTTTouchBarAlternateBackgroundColor" : "0.000000, 0.000000, 0.000000, 0.000000",
36 | "BTTTouchBarItemIconHeight" : 22
37 | }
38 | }
39 | ]
40 | },
41 | {
42 | "BTTAppBundleIdentifier" : "BT.G",
43 | "BTTAppName" : "Global",
44 | "BTTTriggers" : [
45 | {
46 | "BTTTriggerType" : 643,
47 | "BTTTriggerTypeDescription" : "Named Trigger: VIDEO_EDITING",
48 | "BTTTriggerClass" : "BTTTriggerTypeOtherTriggers",
49 | "BTTPredefinedActionType" : 128,
50 | "BTTPredefinedActionName" : "Send Shortcut to Specific App",
51 | "BTTShortcutApp" : "\/Applications\/Final Cut Pro.app",
52 | "BTTShortcutSwitchToAppFirst" : "1",
53 | "BTTShortcutAppUnderCursor" : "com.apple.FinalCut",
54 | "BTTShortcutToSend" : "59,55,3",
55 | "BTTTriggerName" : "VIDEO_EDITING",
56 | "BTTEnabled2" : 1,
57 | "BTTUUID" : "34633E5E-D0F1-45C9-AE82-439935856AA4",
58 | "BTTEnabled" : 1,
59 | "BTTModifierMode" : 0,
60 | "BTTAlternateModifierKeys" : 0,
61 | "BTTOrder" : 0,
62 | "BTTDisplayOrder" : 0,
63 | "BTTMergeIntoTouchBarGroups" : 0
64 | }
65 | ]
66 | }
67 | ],
68 | "BTTPresetSnapAreas" : [
69 |
70 | ]
71 | }
--------------------------------------------------------------------------------
/Video Editing/New-Project-Folder-FiScript.sh:
--------------------------------------------------------------------------------
1 |
2 | set -euf -o pipefail
3 | #----- INSERT YOUR PATHS HERE -----
4 | LOCAL_MOUNT_POINT="/Volumes/SSD nvme USB-C"
5 | TEMPLATE_PATH="/Users/JFtech/Desktop/YouTube/Template"
6 | #----------------------------------
7 | PROJECT_PATH=$PATH
8 | name="$(basename -- "$PROJECT_PATH")"
9 | if [ -e "$PROJECT_PATH"/"$name".fcpbundle ]; then
10 | echo "exist"
11 | else
12 | echo "NOT exist"
13 | TEMPLATEPATH="$(printf '%q\n' "$TEMPLATE_PATH")"
14 | LOCALMOUNTPOINT="$(printf '%q\n' "$LOCAL_MOUNT_POINT")"
15 | #FOLDERPATH="$(printf '%q\n' "$PROJECT_PATH")"
16 | cp -a "$TEMPLATEPATH"/. "$PROJECT_PATH"
17 | mv "$PROJECT_PATH"/Template.fcpbundle "$PROJECT_PATH"/"$name".fcpbundle
18 | mv "$PROJECT_PATH"/Template.pages "$PROJECT_PATH"/"$name".pages
19 | if mount | grep "on $LOCALMOUNTPOINT" > /dev/null; then
20 | mv "$PROJECT_PATH" "$LOCAL_MOUNT_POINT"
21 | open "$LOCAL_MOUNT_POINT"
22 | fi
23 | fi
24 |
--------------------------------------------------------------------------------
/Video Editing/Quit Video Editing.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Video Editing/Quit Video Editing.zip
--------------------------------------------------------------------------------
/Video Editing/README.md:
--------------------------------------------------------------------------------
1 | ## 'Set as Project Folder' in contextual menu
2 | ### What does it do
3 | When launched:
4 | * Copy the content of a template folder into a selected folder
5 | * Rename some of the content to the name of the selected folder
6 | * Move the folder to external volume if mounted
7 |
8 | ### Requirements
9 | * [FiScript](https://github.com/Mortennn/FiScript)
10 |
11 | ### Installation
12 | * Unzip the `Template.zip` file
13 | * Move the `Template` folder somewhere "safe"
14 | * You may need to substitute the `Template` Final Cut Pro X library file with one generated from your copy of FCPX to match the version (if this is the case, rename it to `Template`)
15 | * Create a new Action in FiScript
16 | * Open the `New-Project-Folder-FiScript.sh` file with TextEdit
17 | * Insert the template folder path and your external storage path
18 | * Select all, copy, & paste into the `Script` textbox
19 | * Enable only the `Use on directories` and `Get notification when execution has finished` toggle
20 | * Add icon, name and description if you want
21 |
22 | You can modify the script to do whatever you want pretty much. Do NOT modify the script using FiScript, please use any other text editor and then copy/paste ([here is why](https://github.com/Mortennn/FiScript/issues/15)). The script was tested in **bash**. Note that it would not run outside FiScirpt, since it uses the `$PATH` variable provided by FiScript (change that to allow terminal execution). If you modify the template, you may also need to modify the script.
23 |
24 |
25 | If you want, you can customise the default icons of the folders found in the `Resources` directory of the `Template` with the [Folder Icons](https://github.com/JFtechOfficial/mac-automation-scripts/tree/master/Video%20Editing/folder-icons) provided (*at a glance recognition*)
26 |
27 | ---
28 |
29 | ## FCPX Video Editing mode
30 | ### What does it do
31 | When launched:
32 | * Activate [Final Cut Pro macro support for external keyboard](https://github.com/JFtechOfficial/FCPX-macro-keyboard)
33 | * Launch Final Cut Pro and set it to fullscreen
34 |
35 | When FCPX is in use:
36 | * ~~Disable TrueTone and Night Shift~~ now using [Shifty](https://shifty.natethompson.io/en/)
37 | * Adds a button to the TouchBar. If pressed it quits Final Cut Pro and the macro support
38 |
39 | ### Requirements
40 | * [BetterTouchTool](https://a.paddle.com/v2/click/30842/40874?link=1061)
41 | * [USB Overdrive](http://www.usboverdrive.com/USBOverdrive/News.html)
42 | * [CommandPost](http://commandpost.io)
43 |
44 | ### Installation
45 | * Remove USB Overdrive and CommandPost from login items
46 | * Unzip the `Video Editing.zip` file and move its content to the Application folder. You can edit this app using Automator
47 | * Unzip the `Quit Video Editing.zip` file and move its content to any folder of your choice. You can edit this workflow using Automator
48 | * Open BetterTouchTool
49 | * Import the `FCPX.bttpreset` file into BTT
50 | * Select Final Cut Pro in the Select Application sidebar
51 | * Select Quit Video Editing in the Touchbar section
52 | * Open its Predefined Action
53 | * Select the `Quit Video Editing` file
54 |
55 | ---
56 |
57 | ## Launch FCPX Video Editing mode when drive is connected
58 |
59 | ### What does it do
60 | * Open a dialog box when your editing drive is connected. Clicking on `Continue` will launch FCPX Video Editing mode
61 |
62 | ### Requirements
63 | * [FCPX Video Editing mode](#FCPX-Video-Editing-mode)
64 | * [Keyboard Maestro](https://www.keyboardmaestro.com/main/)
65 |
66 | ### Installation
67 | * Import the `Editing Drive Alert.kmmacros` file into Keyboard Maestro
68 | * Modify the macro to match your external dirve exact name
69 |
70 | ---
71 |
72 | ## 'Start FCPX Video Editing mode' in contextual menu
73 |
74 | ### What does it do
75 | * launch FCPX Video Editing mode from any Final Cut Pro X library file
76 |
77 | ### Requirements
78 | * [FCPX Video Editing mode](#FCPX-Video-Editing-mode)
79 | * [FiScript](https://github.com/Mortennn/FiScript)
80 |
81 | ### Installation
82 | * Create a new Action in FiScript
83 | * Open the `Start-Video-Editing-FiScript.sh` file with TextEdit
84 | * Copy/Paste its content into the `Script` textbox
85 | * Set `Accepted file types` to `.fcpbundle`
86 | * Enable only the `Use on files` and `Use on directories` toggle
87 | * Add icon, name and description if you want
88 |
89 | You can modify the script to do whatever you want pretty much. Do NOT modify the script using FiScript, please use any other text editor and then copy/paste ([here is why](https://github.com/Mortennn/FiScript/issues/15)). The script was tested in **bash**. Note that [FiScript doesn't work in external drives](https://github.com/Mortennn/FiScript/issues/18), so this functionality is not 100% compatible with [Start FCPX Video Editing mode when editing drive is connected](#start-fcpx-video-editing-mode-when-drive-is-connected)
90 |
--------------------------------------------------------------------------------
/Video Editing/Start-Video-Editing-FiScript.sh:
--------------------------------------------------------------------------------
1 | open /Library/PreferencePanes/USB\ Overdrive.prefPane/Contents/Resources/USBOverdriveHelper.app
2 | open /Applications/TouchOSC\ Bridge.app
3 | open /Applications/CommandPost.app
4 | open $PATH
5 | delay 2
6 | open "btt://trigger_named/?trigger_name=VIDEO_EDITING"
7 |
--------------------------------------------------------------------------------
/Video Editing/Template.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Video Editing/Template.zip
--------------------------------------------------------------------------------
/Video Editing/Video Editing.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Video Editing/Video Editing.zip
--------------------------------------------------------------------------------
/Video Editing/folder-icons/icns/AUDIO-volume.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Video Editing/folder-icons/icns/AUDIO-volume.icns
--------------------------------------------------------------------------------
/Video Editing/folder-icons/icns/CAMERA-camera.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Video Editing/folder-icons/icns/CAMERA-camera.icns
--------------------------------------------------------------------------------
/Video Editing/folder-icons/icns/DOWNLOADS-downloads.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Video Editing/folder-icons/icns/DOWNLOADS-downloads.icns
--------------------------------------------------------------------------------
/Video Editing/folder-icons/icns/EFFECTS-headphones.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Video Editing/folder-icons/icns/EFFECTS-headphones.icns
--------------------------------------------------------------------------------
/Video Editing/folder-icons/icns/IMAGES-pictures.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Video Editing/folder-icons/icns/IMAGES-pictures.icns
--------------------------------------------------------------------------------
/Video Editing/folder-icons/icns/MIC-mic.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Video Editing/folder-icons/icns/MIC-mic.icns
--------------------------------------------------------------------------------
/Video Editing/folder-icons/icns/MUSIC-note.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Video Editing/folder-icons/icns/MUSIC-note.icns
--------------------------------------------------------------------------------
/Video Editing/folder-icons/icns/PHOTOS-camera.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Video Editing/folder-icons/icns/PHOTOS-camera.icns
--------------------------------------------------------------------------------
/Video Editing/folder-icons/icns/SCREENCAP-desktop.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Video Editing/folder-icons/icns/SCREENCAP-desktop.icns
--------------------------------------------------------------------------------
/Video Editing/folder-icons/icns/SCREENSHOT-desktop.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Video Editing/folder-icons/icns/SCREENSHOT-desktop.icns
--------------------------------------------------------------------------------
/Video Editing/folder-icons/icns/VIDEO-film.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Video Editing/folder-icons/icns/VIDEO-film.icns
--------------------------------------------------------------------------------
/Video Editing/folder-icons/png/AUDIO-volume.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Video Editing/folder-icons/png/AUDIO-volume.png
--------------------------------------------------------------------------------
/Video Editing/folder-icons/png/CAMERA-camera.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Video Editing/folder-icons/png/CAMERA-camera.png
--------------------------------------------------------------------------------
/Video Editing/folder-icons/png/DOWNLOADS-downloads.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Video Editing/folder-icons/png/DOWNLOADS-downloads.png
--------------------------------------------------------------------------------
/Video Editing/folder-icons/png/EFFECTS-headphones.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Video Editing/folder-icons/png/EFFECTS-headphones.png
--------------------------------------------------------------------------------
/Video Editing/folder-icons/png/IMAGES-pictures.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Video Editing/folder-icons/png/IMAGES-pictures.png
--------------------------------------------------------------------------------
/Video Editing/folder-icons/png/MIC-mic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Video Editing/folder-icons/png/MIC-mic.png
--------------------------------------------------------------------------------
/Video Editing/folder-icons/png/MUSIC-note.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Video Editing/folder-icons/png/MUSIC-note.png
--------------------------------------------------------------------------------
/Video Editing/folder-icons/png/PHOTOS-camera.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Video Editing/folder-icons/png/PHOTOS-camera.png
--------------------------------------------------------------------------------
/Video Editing/folder-icons/png/SCREENCAP-desktop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Video Editing/folder-icons/png/SCREENCAP-desktop.png
--------------------------------------------------------------------------------
/Video Editing/folder-icons/png/SCREENSHOT-desktop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Video Editing/folder-icons/png/SCREENSHOT-desktop.png
--------------------------------------------------------------------------------
/Video Editing/folder-icons/png/VIDEO-film.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Video Editing/folder-icons/png/VIDEO-film.png
--------------------------------------------------------------------------------
/Yeelight/README.md:
--------------------------------------------------------------------------------
1 | ## Yeelight brightness TouchBar slider
2 | ### What does it do
3 | Add a slider to the TouchBar. It controls the brightness of your Yeelight bulb
4 |
5 | ### Requirements
6 | * [BetterTouchTool](https://a.paddle.com/v2/click/30842/40874?link=1061)
7 | * [Python & pip](https://www.python.org/downloads/)
8 |
9 | ### Installation
10 | * Activate the LAN control for the lightbulb in the Yeelight app
11 | * Open the Terminal app and install the yeelight module
12 | ```shell
13 | pip install yeelight
14 | ```
15 | * Insert the lightbulb IP address in the `yeelight_bulb.py` file
16 | * Open BetterTouchTool
17 | * Import the `Yeelight.bttpreset` file into BTT
18 | * Select Custom Applescript Slider Widget in the Touchbar section
19 | * Open its Predefined Action
20 | * Insert the path of the `yeelight_bulb.py` file into the Applescript
21 |
--------------------------------------------------------------------------------
/Yeelight/Yeelight.bttpreset:
--------------------------------------------------------------------------------
1 | {
2 | "BTTPresetName" : "Yeelight",
3 | "BTTPresetUUID" : "D668ED1C-AB9A-426A-98AB-A77E5F13C6E1",
4 | "BTTPresetContent" : [
5 | {
6 | "BTTAppBundleIdentifier" : "com.apple.FinalCut",
7 | "BTTAppName" : "Final Cut Pro",
8 | "BTTAppProcessMatchMode" : 2,
9 | "BTTAppProcessName" : "Final Cut Pro",
10 | "BTTTriggers" : [
11 |
12 | ]
13 | },
14 | {
15 | "BTTAppBundleIdentifier" : "BT.G",
16 | "BTTAppName" : "Global",
17 | "BTTTriggers" : [
18 | {
19 | "BTTTriggerType" : 638,
20 | "BTTTriggerTypeDescription" : "Custom Apple Script Slider Widget",
21 | "BTTTriggerClass" : "BTTTriggerTypeTouchBar",
22 | "BTTPredefinedActionType" : 195,
23 | "BTTPredefinedActionName" : "Run Apple Script (async in background)",
24 | "BTTInlineAppleScript" : "on bttWidgetSliderMoved(sliderValue)\r\t\r\tdo shell script \"\/usr\/local\/bin\/python3 \/Users\/YOUR_PATH\/yeelight_bulb.py \" & sliderValue\r\t\rend bttWidgetSliderMoved",
25 | "BTTEnabled2" : 1,
26 | "BTTUUID" : "482AD5C1-5BFD-4784-AA8B-18FE5B891C41",
27 | "BTTEnabled" : 1,
28 | "BTTModifierMode" : 0,
29 | "BTTAlternateModifierKeys" : 0,
30 | "BTTOrder" : 1,
31 | "BTTDisplayOrder" : 0,
32 | "BTTMergeIntoTouchBarGroups" : 0,
33 | "BTTTriggerConfig" : {
34 | "BTTTouchBarItemIconWidth" : 22,
35 | "BTTTouchBarButtonColor" : "0.000000, 150.399228, 255.000000, 255.000000",
36 | "BTTTouchBarItemPlacement" : 2,
37 | "BTTTouchBarAlternateBackgroundColor" : "0.000000, 0.000000, 0.000000, 0.000000",
38 | "BTTTouchBarButtonCornerRadius" : 6,
39 | "BTTTouchBarScriptUpdateInterval" : 0,
40 | "BTTTBWidgetWidth" : 200,
41 | "BTTTouchBarAppleScriptString" : "return \"0.5\"",
42 | "BTTTBDrawKnobWithoutPadding" : false,
43 | "BTTTouchBarSliderDrawKnobIconWhite" : false,
44 | "BTTTouchBarSliderTriggerPercentage" : 0.050000000000000003,
45 | "BTTTouchBarFreeSpaceAfterButton" : 5,
46 | "BTTTouchBarSliderDrawKnobBackground" : true,
47 | "BTTTouchBarShowRightIconForSlider" : true,
48 | "BTTTouchBarAppleScriptUsePath" : 0,
49 | "BTTTouchBarShowLeftIconForSlider" : true,
50 | "BTTTouchBarItemPadding" : 0,
51 | "BTTTouchBarItemIconHeight" : 22
52 | }
53 | }
54 | ]
55 | }
56 | ],
57 | "BTTPresetSnapAreas" : [
58 |
59 | ]
60 | }
--------------------------------------------------------------------------------
/Yeelight/run_Yeelight_bulb.scpt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JFtechOfficial/mac-automation-scripts/5cda3d15889a8a27259dbbdb9b3a7b55c6116818/Yeelight/run_Yeelight_bulb.scpt
--------------------------------------------------------------------------------
/Yeelight/yeelight_bulb.py:
--------------------------------------------------------------------------------
1 | from yeelight import Bulb
2 | import sys
3 |
4 | bulb = Bulb("192.168.1.???", auto_on=True)
5 | brightness = int(float(sys.argv[1].replace(',', '.')) * 100)
6 | if brightness < 1:
7 | bulb.turn_off()
8 | else:
9 | bulb.set_brightness(brightness)
10 |
--------------------------------------------------------------------------------