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.
33 lines
1.6 KiB
Lua
33 lines
1.6 KiB
Lua
-- Focus, layout and groups — everything that acts on the window under you.
|
|
|
|
local mod = "SUPER"
|
|
|
|
-- ------------------------------------------------------------------- window
|
|
hl.bind(mod .. " + SHIFT + Q", hl.dsp.window.close())
|
|
hl.bind(mod .. " + V", hl.dsp.window.float())
|
|
hl.bind(mod .. " + F", hl.dsp.window.fullscreen())
|
|
-- hl.bind(mod .. " + t", hl.dsp.layout("togglesplit")) -- dwindle
|
|
|
|
-- -------------------------------------------------------------------- focus
|
|
local directions = { h = "l", l = "r", k = "u", j = "d" }
|
|
|
|
for key, direction in pairs(directions) do
|
|
hl.bind(mod .. " + " .. key, hl.dsp.focus({ direction = direction }))
|
|
hl.bind(mod .. " + SHIFT + " .. key:upper(), hl.dsp.window.move({ direction = direction, group_aware = true }))
|
|
end
|
|
|
|
-- ------------------------------------------------------------------- groups
|
|
hl.bind(mod .. " + n", hl.dsp.group.toggle())
|
|
-- 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 })
|
|
hl.bind(mod .. " + mouse:273", hl.dsp.window.resize(), { mouse = true })
|
|
|
|
-- ----------------------------------------------------------------- keyboard
|
|
-- cycle keyboard layout (dvorak-intl <-> us-intl), see lua/input.lua
|
|
hl.bind(mod .. " + ALT + SPACE", hl.dsp.exec_cmd("hyprctl switchxkblayout all next"))
|