Final commit before Phase II enhancements

This commit is contained in:
2026-07-21 23:25:07 -04:00
parent 19594ff8b3
commit 60fe219ff7
7 changed files with 60 additions and 39 deletions
+28 -14
View File
@@ -5,7 +5,7 @@
-----------------------------------------------------
local copy = "wl-copy --trim-newline"
local paste = "wl-paste"
local launcher = "rofi -show run -p 'launch'"
local launcher = "ags request \"launcher:app\""
-- local clear = "cliphist list | head -n1 | cliphist delete"
@@ -37,14 +37,16 @@ hl.env("XDG_SESSION_DESKTOP", "Hyprland")
-----------------------------------------------------
-- Appearance & Input (from appearance.conf & input.conf)
-----------------------------------------------------
local colors = require("colors")
hl.config({
general = {
gaps_in = 1,
gaps_out = 2,
border_size = 2,
col = {
active_border = "rgba(fabd2f99)",
inactive_border = "rgba(595959aa)",
active_border = colors.active_border,
inactive_border = colors.inactive_border,
},
resize_on_border = false,
allow_tearing = false,
@@ -58,9 +60,10 @@ hl.config({
inactive_opacity = 1.0,
shadow = {
enabled = true,
range = 4,
range = 25,
render_power = 3,
color = "rgba(1a1a1aee)"
color = colors.shadow,
color_inactive = colors.shadow
},
blur = {
enabled = true,
@@ -111,7 +114,7 @@ hl.config({
resolve_binds_by_sym = 1,
kb_layout = "us, us",
kb_variant = "colemak,",
kb_options = "ctrl:nocaps, compose:ralt, grp:ctrls_toggle",
kb_options = "ctrl:nocaps,compose:ralt,grp:ctrls_toggle",
follow_mouse = 1,
sensitivity = 0,
touchpad = { natural_scroll = false }
@@ -165,6 +168,14 @@ hl.window_rule({ workspace = "name:browser silent", match = { class = browsers }
hl.window_rule({ workspace = "name:jobs silent", match = { class = ".*[Vv]ivaldi-stable.*" } })
hl.window_rule({ workspace = "name:meeting silent", match = { class = meeting } })
-----------------------------------------------------
-- Layer Rules
-----------------------------------------------------
hl.layer_rule({ blur = true, ignore_alpha = 0.1, match = { namespace = "^bar.*" } })
hl.layer_rule({ blur = true, ignore_alpha = 0.1, match = { namespace = "^dashboard" } })
hl.layer_rule({ blur = true, ignore_alpha = 0.1, match = { namespace = "^dimmer.*" } })
-----------------------------------------------------
-- Workspaces (from workspaces.conf)
@@ -179,7 +190,7 @@ local bind = hl.bind
local dsp = hl.dsp
local fn = require("functions")
bind("SUPER + Q", dsp.exec_cmd("hyprctl reload && hyprctl eval 'require(\"functions\").setupMonitors()' && notify-send 'Hyprland' 'Config Reloaded' -u low -t 2000"))
bind("SUPER + Q", dsp.exec_cmd("hyprctl reload && hyprctl eval 'require(\"functions\").setupMonitors()' && notify-send 'Hyprland' 'Config Reloaded' -u low -t 2000; ags quit; ags run &"))
-- BUG FIX: SUPER + SHIFT + Q was bound to both tmux kill and uwsm stop.
-- bind("SUPER + SHIFT + Q", dsp.exec_cmd("tmux kill-server"))
bind("SUPER + SHIFT + Q", dsp.exec_cmd("killall -q signal-desktop; uwsm stop"))
@@ -209,7 +220,9 @@ bind("SUPER + ALT + H", function() fn.focusOrLaunch("qutebrowser", "org.qutebrow
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 + O", dsp.exec_cmd("ags request \"launcher:open\"")) -- Win+O for Open File
bind("SUPER + SHIFT + O", dsp.exec_cmd("ags request \"launcher:openwith\"")) -- Win+Shift+O for Open With
bind("SUPER + V", dsp.exec_cmd("ags request \"launcher:cliphist\"")) -- Win+V for Clipboard
bind("SUPER + SHIFT + S", function() fn.focusOrLaunch("pavucontrol", "org.pulseaudio.pavucontrol", "org.pulseaudio.pavucontrol") end)
-- Window control
@@ -230,7 +243,7 @@ local function cycle_layout()
hl.config({ general = { layout = new_layout } })
os.execute("echo '" .. layout_icons[new_layout] .. "' > /tmp/hypr_layout.txt")
os.execute("pkill -RTMIN+8 waybar")
-- os.execute("pkill -RTMIN+8 waybar")
end
bind("SUPER + right", function() cycle_layout() end)
@@ -244,16 +257,16 @@ 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 + Y", dsp.exec_cmd("dunstctl close-all"))
bind("SUPER + X", dsp.exec_cmd("ags request close-notification"))
bind("SUPER + Y", dsp.exec_cmd("ags request close-all-notifications"))
-- Workspace control
bind("SUPER + CTRL + right", 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 + L", function() hl.dispatch(hl.dsp.focus({ workspace = "m+1" })) end)
bind("SUPER + SHIFT + M", function() fn.mv2workspace() end)
bind("SUPER + SHIFT + N", function() fn.createWorkspace() end)
bind("SUPER + SHIFT + M", dsp.exec_cmd("ags request \"launcher:movetoworkspace\""))
bind("SUPER + SHIFT + N", dsp.exec_cmd("ags request \"launcher:workspace\""))
bind("SUPER + SHIFT + X", function() fn.deleteWorkspace() end)
bind("SUPER + SHIFT + Z", function() fn.createWorkspace(fn.getActiveWorkspaceName()) end)
bind("SUPER + SHIFT + left", function() fn.moveWorkspace(-1) end)
@@ -286,8 +299,9 @@ hl.on("hyprland.start", function()
hl.exec_cmd("uwsm app -- hypridle")
hl.exec_cmd("hyprpaper &")
-- Waybar is now managed entirely by functions.setupMonitors()
hl.exec_cmd("uwsm app -- ags run")
hl.exec_cmd("uwsm app -- espanso start")
hl.exec_cmd("uwsm app -- dunst")
-- hl.exec_cmd("uwsm app -- dunst") -- Replaced with AGS Notifd
hl.exec_cmd("nm-applet")
hl.exec_cmd("signal-desktop")
hl.exec_cmd("hp-systray")