Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 4f391cf1ca | |||
| 9663c18c7e | |||
| 307163b567 |
+3
-9
@@ -1,5 +1,6 @@
|
|||||||
general {
|
general {
|
||||||
lock_cmd = pidof hyprlock || hyprlock # avoid starting multiple hyprlock instances.
|
lock_cmd = pidof hyprlock || hyprlock # avoid starting multiple hyprlock instances.
|
||||||
|
unlock_cmd = ~/.local/bin/unlock-ring.sh # run when session is unlocked (hyprlock exits)
|
||||||
before_sleep_cmd = loginctl lock-session # lock before suspend.
|
before_sleep_cmd = loginctl lock-session # lock before suspend.
|
||||||
after_sleep_cmd = hyprctl dispatch dpms on # to avoid having to press a key twice to turn on the display.
|
after_sleep_cmd = hyprctl dispatch dpms on # to avoid having to press a key twice to turn on the display.
|
||||||
}
|
}
|
||||||
@@ -17,17 +18,10 @@ listener {
|
|||||||
on-resume = brightnessctl -rd rgb:kbd_backlight # turn on keyboard backlight.
|
on-resume = brightnessctl -rd rgb:kbd_backlight # turn on keyboard backlight.
|
||||||
}
|
}
|
||||||
|
|
||||||
#listener {
|
|
||||||
# timeout = 300 # 5min
|
|
||||||
# on-timeout = loginctl lock-session # lock screen when timeout has passed
|
|
||||||
#}
|
|
||||||
|
|
||||||
listener {
|
listener {
|
||||||
timeout = 300
|
timeout = 300
|
||||||
# 1. Lock the vault via DBus, 2. Start the lock screen
|
# 1. Lock the vault via DBus, 2. Start the lock screen (using ';' so it locks even if the vault fails/is already locked)
|
||||||
on-timeout = busctl --user call org.freedesktop.secrets /org/freedesktop/secrets org.freedesktop.Secret.Service Lock "as" 1 "/org/freedesktop/secrets/aliases/default" && hyprlock
|
on-timeout = busctl --user call org.freedesktop.secrets /org/freedesktop/secrets org.freedesktop.Secret.Service Lock "as" 1 "/org/freedesktop/secrets/aliases/default" ; loginctl lock-session
|
||||||
# When hyprlock exits (via fingerprint or password), instantly run the unlock script
|
|
||||||
on-resume = ~/.local/bin/unlock-ring.sh
|
|
||||||
}
|
}
|
||||||
|
|
||||||
listener {
|
listener {
|
||||||
|
|||||||
+37
-14
@@ -199,30 +199,56 @@ end)
|
|||||||
|
|
||||||
-- App launchers using our custom Lua focusOrLaunch function
|
-- App launchers using our custom Lua focusOrLaunch function
|
||||||
bind("SUPER + return", function() fn.focusOrLaunch("alacritty", "Alacritty") end)
|
bind("SUPER + return", function() fn.focusOrLaunch("alacritty", "Alacritty") end)
|
||||||
bind("SUPER + A", function() fn.focusOrLaunch("slack", "Slack", "Slack") end)
|
bind("SUPER + SHIFT + A", function() fn.focusOrLaunch("slack", "Slack", "Slack") end)
|
||||||
bind("SUPER + D", function() fn.focusOrLaunch("gnome-dictionary", "org.gnome.Dictionary", "org.gnome.Dictionary") end)
|
bind("SUPER + SHIFT + D", function() fn.focusOrLaunch("gnome-dictionary", "org.gnome.Dictionary", "org.gnome.Dictionary") end)
|
||||||
bind("SUPER + G", function() fn.focusOrLaunch("vivaldi-stable", "vivaldi-stable", "vivaldi-stable") end)
|
bind("SUPER + G", function() fn.focusOrLaunch("vivaldi-stable", "vivaldi-stable", "vivaldi-stable") end)
|
||||||
bind("SUPER + ALT + H", function() fn.focusOrLaunch("qutebrowser", "org.qutebrowser.qutebrowser") end)
|
bind("SUPER + ALT + H", function() fn.focusOrLaunch("qutebrowser", "org.qutebrowser.qutebrowser") end)
|
||||||
bind("SUPER + P", dsp.exec_cmd(launcher))
|
|
||||||
bind("SUPER + S", function() fn.focusOrLaunch("pavucontrol", "org.pulseaudio.pavucontrol", "org.pulseaudio.pavucontrol") end)
|
-- Windows 11 equivalent shortcuts
|
||||||
bind("SUPER + V", function() fn.focusOrLaunch("alacritty", "Alacritty") end)
|
bind("SUPER + S", dsp.exec_cmd(launcher)) -- Win+S for Search/Launcher
|
||||||
|
bind("SUPER + R", dsp.exec_cmd(launcher)) -- Win+R for Run
|
||||||
|
bind("SUPER + E", dsp.exec_cmd("nautilus")) -- Win+E for Explorer
|
||||||
|
bind("SUPER + V", dsp.exec_cmd("cliphist list | rofi -dmenu -p 'paste' | cliphist decode | " .. copy .. " && " .. paste)) -- Win+V for Clipboard
|
||||||
|
bind("SUPER + SHIFT + S", function() fn.focusOrLaunch("pavucontrol", "org.pulseaudio.pavucontrol", "org.pulseaudio.pavucontrol") end)
|
||||||
|
|
||||||
-- Window control
|
-- Window control
|
||||||
bind("SUPER + C", dsp.window.close())
|
bind("SUPER + C", dsp.window.close())
|
||||||
|
bind("ALT + F4", dsp.window.close())
|
||||||
bind("SUPER + T", dsp.window.float({ action = "toggle" }))
|
bind("SUPER + T", dsp.window.float({ action = "toggle" }))
|
||||||
bind("SUPER + space", dsp.window.fullscreen({ mode = 1 }))
|
bind("SUPER + space", dsp.window.fullscreen({ mode = 1 }))
|
||||||
|
|
||||||
-- BUG FIX: H/J/K were redundantly bound to move_focus AND fullscreen.
|
-- Cycle Layouts
|
||||||
bind("SUPER + H", dsp.focus({ direction = "l" }))
|
local layouts = { "dwindle", "master", "scrolling" }
|
||||||
bind("SUPER + K", dsp.focus({ direction = "u" }))
|
local layout_icons = { dwindle = "", master = "", scrolling = "" }
|
||||||
bind("SUPER + J", dsp.focus({ direction = "d" }))
|
local layout_idx = 1
|
||||||
|
|
||||||
|
local function cycle_layout()
|
||||||
|
layout_idx = (layout_idx % #layouts) + 1
|
||||||
|
local new_layout = layouts[layout_idx]
|
||||||
|
|
||||||
|
hl.config({ general = { layout = new_layout } })
|
||||||
|
|
||||||
|
os.execute("echo '" .. layout_icons[new_layout] .. "' > /tmp/hypr_layout.txt")
|
||||||
|
os.execute("pkill -RTMIN+8 waybar")
|
||||||
|
end
|
||||||
|
|
||||||
|
bind("SUPER + right", function() cycle_layout() end)
|
||||||
|
bind("SUPER + left", function() cycle_layout() end)
|
||||||
|
bind("SUPER + up", dsp.window.fullscreen({ mode = 1 }))
|
||||||
|
bind("SUPER + down", hl.dsp.window.cycle_next())
|
||||||
|
|
||||||
|
-- XMonad-style cycle & Alt+Tab (using native dsp dispatchers)
|
||||||
|
bind("SUPER + J", hl.dsp.window.cycle_next())
|
||||||
|
bind("SUPER + K", hl.dsp.window.cycle_next({ prev = true }))
|
||||||
|
bind("ALT + Tab", hl.dsp.window.cycle_next())
|
||||||
|
bind("ALT + SHIFT + Tab", hl.dsp.window.cycle_next({ prev = true }))
|
||||||
|
|
||||||
bind("SUPER + X", dsp.exec_cmd("dunstctl close"))
|
bind("SUPER + X", dsp.exec_cmd("dunstctl close"))
|
||||||
bind("SUPER + Y", dsp.exec_cmd("dunstctl close-all"))
|
bind("SUPER + Y", dsp.exec_cmd("dunstctl close-all"))
|
||||||
|
|
||||||
-- Workspace control
|
-- Workspace control
|
||||||
bind("SUPER + right", function() hl.dispatch(hl.dsp.focus({ workspace = "m+1" })) end)
|
bind("SUPER + CTRL + right", function() hl.dispatch(hl.dsp.focus({ workspace = "m+1" })) end)
|
||||||
bind("SUPER + left", function() hl.dispatch(hl.dsp.focus({ workspace = "m-1" })) end)
|
bind("SUPER + CTRL + left", function() hl.dispatch(hl.dsp.focus({ workspace = "m-1" })) end)
|
||||||
bind("SUPER + SHIFT + H", function() hl.dispatch(hl.dsp.focus({ workspace = "m-1" })) end)
|
bind("SUPER + SHIFT + H", function() hl.dispatch(hl.dsp.focus({ workspace = "m-1" })) end)
|
||||||
bind("SUPER + SHIFT + L", function() hl.dispatch(hl.dsp.focus({ workspace = "m+1" })) end)
|
bind("SUPER + SHIFT + L", function() hl.dispatch(hl.dsp.focus({ workspace = "m+1" })) end)
|
||||||
bind("SUPER + SHIFT + M", function() fn.mv2workspace() end)
|
bind("SUPER + SHIFT + M", function() fn.mv2workspace() end)
|
||||||
@@ -233,9 +259,6 @@ bind("SUPER + SHIFT + left", function() fn.moveWorkspace(-1) end)
|
|||||||
bind("SUPER + SHIFT + right", function() fn.moveWorkspace(1) end)
|
bind("SUPER + SHIFT + right", function() fn.moveWorkspace(1) end)
|
||||||
bind("SUPER + ALT + DOWN", function() fn.moveWorkspace(nil, "DP-8") end)
|
bind("SUPER + ALT + DOWN", function() fn.moveWorkspace(nil, "DP-8") end)
|
||||||
|
|
||||||
-- Cliphist
|
|
||||||
bind("ALT + V", dsp.exec_cmd("cliphist list | rofi -dmenu -p 'paste' | cliphist decode | " .. copy .. " && " .. paste))
|
|
||||||
|
|
||||||
-- Laptop keys
|
-- Laptop keys
|
||||||
bind("XF86MonBrightnessUp", dsp.exec_cmd("brightnessctl -- set +10%"))
|
bind("XF86MonBrightnessUp", dsp.exec_cmd("brightnessctl -- set +10%"))
|
||||||
bind("XF86MonBrightnessDown", dsp.exec_cmd("brightnessctl -- set -10%"))
|
bind("XF86MonBrightnessDown", dsp.exec_cmd("brightnessctl -- set -10%"))
|
||||||
|
|||||||
Reference in New Issue
Block a user