-
-
Notifications
You must be signed in to change notification settings - Fork 88
@ozkatz's Config
Oz Katz edited this page Jan 20, 2025
·
1 revision
- Raycast
- Karabiner-Elements
- Obviously, LeaderKey
I found it most convenient to use left shift + right shift together as a leader key. It's easy to memorize, hard to do accidentally and easy to do purposefully.
To do this with Karabiner Elements, do the following:
-
In the Karabiner Elements settings UI, go to Complex Modifications
-
Click Add Your Own Rule
-
Paste in the following JSON:
{ "description": "Left_Shift + Right_Shift -> F13", "manipulators": [ { "from": { "key_code": "left_shift", "modifiers": { "mandatory": ["right_shift"], "optional": ["caps_lock"] } }, "to": [ { "key_code": "f13", "modifiers": [] } ], "type": "basic" }, { "from": { "key_code": "right_shift", "modifiers": { "mandatory": ["left_shift"], "optional": ["caps_lock"] } }, "to": [ { "key_code": "f13", "modifiers": [] } ], "type": "basic" } ] }This will trigger an
F13Key press when both shift keys are pressed together. -
In LeaderKey settings, bind F13 as your leader key:

{
"type" : "group",
"actions" : [
{
"key" : "t",
"type" : "application",
"value" : "/Applications/Ghostty.app"
},
{
"value" : "/Applications/Insta360 Link Controller.app",
"type" : "application",
"key" : "c"
},
{
"value" : "/Applications/Google Chrome.app",
"key" : "b",
"type" : "application"
},
{
"type" : "group",
"actions" : [
{
"type" : "application",
"value" : "/System/Applications/Calculator.app",
"key" : "c"
},
{
"type" : "application",
"key" : "z",
"value" : "/Applications/zoom.us.app"
},
{
"key" : "w",
"type" : "application",
"value" : "/Applications/WhatsApp.app"
},
{
"type" : "application",
"value" : "/Applications/Slack.app",
"key" : "s"
},
{
"type" : "application",
"key" : "v",
"value" : "/Applications/Visual Studio Code.app"
},
{
"key" : "n",
"value" : "/System/Applications/Notes.app",
"type" : "application"
}
],
"key" : "p"
},
{
"key" : "w",
"type" : "group",
"actions" : [
{
"value" : "raycast://extensions/raycast/window-management/left-half",
"type" : "url",
"key" : "l"
},
{
"key" : "r",
"type" : "url",
"value" : "raycast://extensions/raycast/window-management/right-half"
},
{
"key" : "f",
"type" : "url",
"value" : "raycast://extensions/raycast/window-management/maximize"
}
]
},
{
"key" : "s",
"type" : "group",
"actions" : [
{
"type" : "url",
"value" : "raycast://extensions/raycast/system/toggle-bluetooth",
"key" : "b"
},
{
"value" : "raycast://extensions/raycast/system/toggle-mute",
"key" : "m",
"type" : "url"
},
{
"key" : "s",
"type" : "url",
"value" : "raycast://extensions/raycast/system/sleep"
},
{
"value" : "raycast://extensions/raycast/system/lock-screen",
"key" : "l",
"type" : "url"
},
{
"type" : "command",
"key" : "d",
"value" : "open -b com.apple.systempreferences /System/Library/PreferencePanes/Displays.prefPane"
}
]
}
]
}Nothing crazy, I tend to keep my workflow rather simple. The "tree" is organized such that:
- Very frequently accessed programs (browser, terminal, webcam controller) are top level, one key press away
- Other common programs live under
pfor "programs" - System settings live under
sfor "settings" - Window management lives under
wfor "window"