Add Codex scratchpad

This commit is contained in:
2026-05-05 01:41:50 -07:00
parent 108b491f6a
commit dc95fe6561
3 changed files with 15 additions and 3 deletions

View File

@@ -198,6 +198,7 @@ Important behavior:
Required behavior: Required behavior:
- A named scratchpad exists for codex.
- A named scratchpad exists for element. - A named scratchpad exists for element.
- A named scratchpad exists for htop. - A named scratchpad exists for htop.
- A named scratchpad exists for slack. - A named scratchpad exists for slack.
@@ -383,6 +384,7 @@ Required behavior:
Required behavior: Required behavior:
- `Super+Alt+c` toggles the codex scratchpad.
- `Super+Alt+e` toggles the element scratchpad. - `Super+Alt+e` toggles the element scratchpad.
- `Super+Alt+h` toggles the htop scratchpad. - `Super+Alt+h` toggles the htop scratchpad.
- `Super+Alt+k` toggles the slack scratchpad. - `Super+Alt+k` toggles the slack scratchpad.
@@ -393,7 +395,6 @@ Required behavior:
Important behavior: Important behavior:
- `Super+Alt+grave` toggles the dropdown terminal scratchpad. - `Super+Alt+grave` toggles the dropdown terminal scratchpad.
- `Super+Alt+c` raises or starts the browser.
- `Super+Alt+Return` enters the minimized-window picker or restores minimized - `Super+Alt+Return` enters the minimized-window picker or restores minimized
windows, depending on environment support. windows, depending on environment support.
- `Super+Alt` is reserved for app-specific raise/spawn, scratchpad, and - `Super+Alt` is reserved for app-specific raise/spawn, scratchpad, and

View File

@@ -55,6 +55,10 @@ hl.monitor({
}) })
local scratchpads = { local scratchpads = {
codex = {
command = "codex-desktop",
class = "codex-desktop",
},
htop = { htop = {
command = "alacritty --class htop-scratch --title htop -e htop", command = "alacritty --class htop-scratch --title htop -e htop",
class = "htop-scratch", class = "htop-scratch",
@@ -2100,6 +2104,9 @@ bind(mod_alt .. " + W", show_active_window_info)
bind(main_mod .. " + X", exec("rofi_command.sh")) bind(main_mod .. " + X", exec("rofi_command.sh"))
bind(main_mod .. " + SHIFT + X", hl.dsp.workspace.toggle_special("NSP")) bind(main_mod .. " + SHIFT + X", hl.dsp.workspace.toggle_special("NSP"))
bind(mod_alt .. " + C", function()
toggle_scratchpad("codex")
end)
bind(mod_alt .. " + E", function() bind(mod_alt .. " + E", function()
toggle_scratchpad("element") toggle_scratchpad("element")
end) end)

View File

@@ -236,6 +236,7 @@ isChromeClass = isInfixOf "chrome"
chromeSelectorBase = isChromeClass <$> className chromeSelectorBase = isChromeClass <$> className
chromeSelector = chromeSelectorBase chromeSelector = chromeSelectorBase
codexSelector = className =? "codex-desktop"
elementSelector = className =? "Element" elementSelector = className =? "Element"
emacsSelector = className =? "Emacs" emacsSelector = className =? "Emacs"
slackSelector = className =? "Slack" slackSelector = className =? "Slack"
@@ -250,6 +251,7 @@ virtualClasses =
-- Commands -- Commands
codexCommand = "codex-desktop"
elementCommand = "element-desktop" elementCommand = "element-desktop"
emacsCommand = "emacsclient -c" emacsCommand = "emacsclient -c"
htopCommand = "ghostty --title=htop -e htop" htopCommand = "ghostty --title=htop -e htop"
@@ -799,7 +801,8 @@ nearFullFloat = customFloating $ W.RationalRect l t w h
scratchpads = scratchpads =
[ NS "element" elementCommand elementSelector nearFullFloat [ NS "codex" codexCommand codexSelector nearFullFloat
, NS "element" elementCommand elementSelector nearFullFloat
, NS "htop" htopCommand (title =? "htop") nearFullFloat , NS "htop" htopCommand (title =? "htop") nearFullFloat
, NS "slack" slackCommand slackSelector nearFullFloat , NS "slack" slackCommand slackSelector nearFullFloat
, NS "spotify" spotifyCommand spotifySelector nearFullFloat , NS "spotify" spotifyCommand spotifySelector nearFullFloat
@@ -1004,7 +1007,8 @@ addKeys conf@XConfig { modMask = modm } =
(hyper .|. shiftMask) (followingWindow . (`screenSwap` True)) ++ (hyper .|. shiftMask) (followingWindow . (`screenSwap` True)) ++
-- ScratchPads -- ScratchPads
[ ((modalt, xK_e), doScratchpad "element") [ ((modalt, xK_c), doScratchpad "codex")
, ((modalt, xK_e), doScratchpad "element")
, ((modalt, xK_h), doScratchpad "htop") , ((modalt, xK_h), doScratchpad "htop")
, ((modalt, xK_k), doScratchpad "slack") , ((modalt, xK_k), doScratchpad "slack")
, ((modalt, xK_s), doScratchpad "spotify") , ((modalt, xK_s), doScratchpad "spotify")