feat(quickshell): Alt+Tab overview of every monitor and workspace
Each monitor is a row of workspace cards at its own aspect ratio, with live captures of the windows where they sit, including windows on hidden workspaces. Alt+Tab opens it with the previous window picked, further Tabs walk the focus history, and releasing Alt switches. Super+W opens it without the hold. Hover, click, Enter and the workspace digits work too. Group cycling moves from Alt+Tab to Super+Tab and Super+Shift+Tab.
This commit is contained in:
1 parent
e9735d1129
commit
b69f4bcf0d
7 files changed
+637
-2
No files matched your search
@@ -10,6 +10,14 @@ shell("lock", { key = mod .. " + CTRL + L", description = "lock screen" })
|
||||
shell("power", { key = mod .. " + P", description = "power menu" })
|
||||
shell("ask", { key = mod .. " + A", description = "ask claude" })
|
||||
shell("dashboard", { key = mod .. " + D", description = "dashboard" })
|
||||
shell("overview", { key = mod .. " + W", description = "overview of every workspace" })
|
||||
|
||||
-- Alt+Tab: hold Alt, tap Tab through focus history, let go to switch. The
|
||||
-- overview sees the release itself; the release bind is a backstop for the
|
||||
-- case where Alt comes up before the overview has the keyboard.
|
||||
shell("overviewNext", { key = "ALT + Tab", description = "switch windows" })
|
||||
shell("overviewPrev", { key = "ALT + SHIFT + Tab", description = "switch windows, backwards" })
|
||||
hl.bind("ALT + ALT_L", hl.dsp.exec_cmd("qs ipc call shell overviewCommit"), { release = true })
|
||||
shell("toggleDnd", { key = mod .. " + SHIFT + N", description = "toggle do not disturb" })
|
||||
shell("toggleStayAwake", { key = mod .. " + SHIFT + I", description = "keep the screen awake" })
|
||||
shell("clearNotifications", { key = mod .. " + CTRL + SHIFT + N", description = "clear notifications" })
|
||||
|
||||
@@ -18,8 +18,10 @@ end
|
||||
|
||||
-- ------------------------------------------------------------------- groups
|
||||
hl.bind(mod .. " + n", hl.dsp.group.toggle())
|
||||
hl.bind("ALT + Tab", hl.dsp.group.next())
|
||||
-- hl.bind("ALT + Tab", hl.dsp.group.prev())
|
||||
-- Alt+Tab belongs to the overview (lua/binds/shell.lua), so tabs in a group
|
||||
-- cycle on Super+Tab.
|
||||
hl.bind(mod .. " + Tab", hl.dsp.group.next(), { description = "next window in group" })
|
||||
hl.bind(mod .. " + SHIFT + Tab", hl.dsp.group.prev(), { description = "previous window in group" })
|
||||
|
||||
-- -------------------------------------------------------------------- mouse
|
||||
hl.bind(mod .. " + mouse:272", hl.dsp.window.drag(), { mouse = true })
|
||||
|
||||
Reference in new issue
Block a user