Compare commits

..

2 commits

View file

@ -276,11 +276,6 @@ in
-- on them reads as "reset this thing", not "close it". -- on them reads as "reset this thing", not "close it".
local scratchpads = { local scratchpads = {
["dev.fred.scratchpad"] = "ghostty --class=dev.fred.scratchpad --title=scratchpad", ["dev.fred.scratchpad"] = "ghostty --class=dev.fred.scratchpad --title=scratchpad",
-- Yazi, parked the same way. A fresh `ghostty -e yazi` per press
-- has to link 131 shared libraries and init GTK before it draws
-- anything, so SUPER+E felt sluggish even with the daemon warm.
-- Toggling a special workspace spawns nothing.
["dev.fred.files"] = "ghostty --class=dev.fred.files --title=files -e yazi",
-- Spotify sets its own class, so no --class trick here; the -- Spotify sets its own class, so no --class trick here; the
-- lookup below lowercases before falling back, which covers both -- lookup below lowercases before falling back, which covers both
-- the Wayland app id and the XWayland "Spotify". -- the Wayland app id and the XWayland "Spotify".
@ -331,7 +326,6 @@ in
-- login so SUPER+Return is always an instant toggle and the shell -- login so SUPER+Return is always an instant toggle and the shell
-- keeps its history/cwd between peeks. -- keeps its history/cwd between peeks.
hl.exec_cmd(scratchpads["dev.fred.scratchpad"]) hl.exec_cmd(scratchpads["dev.fred.scratchpad"])
hl.exec_cmd(scratchpads["dev.fred.files"])
-- swayosd removed; volume/brightness OSD handled by quickshell -- swayosd removed; volume/brightness OSD handled by quickshell
${lib.optionalString isMacbook ''hl.exec_cmd("hypridle")''} ${lib.optionalString isMacbook ''hl.exec_cmd("hypridle")''}
end) end)
@ -407,20 +401,6 @@ in
center = true, center = true,
}) })
-- Yazi scratchpad SUPER+E.
hl.window_rule({
match = { class = "^dev.fred.files$" },
workspace = "special:files silent",
})
hl.window_rule({
name = "files-inset",
match = { class = "^dev.fred.files$" },
float = true,
size = "80% 80%",
center = true,
})
-- Games stall on other workspaces: no frame callbacks = no render = -- Games stall on other workspaces: no frame callbacks = no render =
-- game loop blocks. Keep them ticking in the background at -- game loop blocks. Keep them ticking in the background at
-- misc:render_unfocused_fps (15). -- misc:render_unfocused_fps (15).
@ -467,7 +447,13 @@ in
-- palette instead of needing a GTK restart. Nemo stays one key -- palette instead of needing a GTK restart. Nemo stays one key
-- away on Super+N it is the only one of the two that can drag -- away on Super+N it is the only one of the two that can drag
-- a file into a browser. -- a file into a browser.
hl.bind(mod .. " + E", toggle_scratchpad("files", "dev.fred.files")) --
-- +new-window, not `-e yazi`: -e force-sets gtk-single-instance=false
-- so the CLI args are respected, which means every press builds a
-- whole second Ghostty application GTK init, config parse, font
-- discovery, renderer setup. +new-window instead asks the running
-- instance over D-Bus to open a window, and forwards --command.
hl.bind(mod .. " + E", hl.dsp.exec_cmd("ghostty +new-window --working-directory=~/ --command=yazi"))
hl.bind(mod .. " + N", hl.dsp.exec_cmd("nemo")) hl.bind(mod .. " + N", hl.dsp.exec_cmd("nemo"))
hl.bind(mod .. " + R", hl.dsp.exec_cmd("${pkgs.quickshell}/bin/qs ipc call launcher toggle")) hl.bind(mod .. " + R", hl.dsp.exec_cmd("${pkgs.quickshell}/bin/qs ipc call launcher toggle"))
hl.bind(mod .. " + Q", hl.dsp.window.close()) hl.bind(mod .. " + Q", hl.dsp.window.close())