fix keybinds in hyprland

This commit is contained in:
2026-08-09 17:05:09 +02:00
parent e406f987d1
commit 335b96a73a
4 changed files with 202 additions and 158 deletions
+1
View File
@@ -3,5 +3,6 @@
./general.nix
./rules.nix
./keybinds.nix
./execs.nix
];
}
+62
View File
@@ -0,0 +1,62 @@
{
wayland.windowManager.hyprland = {
extraConfig = ''
hl.env("HYPRCURSOR_THEME", "Adwaita")
hl.env("HYPRCURSOR_SIZE", "22")
hl.env("XCURSOR_SIZE", "22")
hl.env("GDK_SCALE", "1")
hl.env("GDK_BACKEND", "wayland,x11,*")
hl.env("XDG_CURRENT_DESKTOP", "Hyprland")
hl.env("XDG_SESSION_TYPE", "wayland")
hl.env("XDG_SESSION_DESKTOP", "Hyprland")
hl.env("QT_QPA_PLATFORM", "wayland")
-- hl.env("QT_QPA_PLATFORMTHEME", "kvantum")
-- hl.env("QT_QPA_PLATFORMTHEME", "hyprqt6engine")
hl.env("QT_QPA_PLATFORMTHEME", "qt6ct")
hl.env("ELECTRON_OZONE_PLATFORM_HINT", "wayland")
hl.env("DOTNET_CLI_TELEMETRY_OPTOUT", "1")
-- hl.env("QT_SCALE_FACTOR", "0.9")
hl.env("LIBVA_DRIVER_NAME", "radeonsi")
-- hl.env("__GLX_VENDOR_LIBRARY_NAME", "nvidia")
-- hl.env("NVD_BACKEND", "direct")
local TERM = "kitty"
-- local BAR = "~/.config/waybar/waybar.sh"
local BAR = "noctalia-shell"
local DMENU = "rofi -show drun"
local CLIPBOARD =
"cliphist list | rofi -dmenu -display-columns 2 -config ~/.config/rofi/clipboard.rasi | cliphist decode | wl-copy"
-- local POWER_MENU = "rofi -show powermenu -modi powermenu:~/.scripts/rofi-powermenu -config ~/.config/rofi/powermenu.rasi"
local WMENU = "rofi -show window"
local CALC = "rofi -show calc -modi calc -no-show-match -no-sort"
local FILE_MAN = "xdg-open ~" -- GUI File Manager
local RANDOM_WALL = "~/.scripts/random-wall" -- set a random wall
local AUTH_AGENT = "/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1"
hl.on("hyprland.start", function()
hl.exec_cmd("kdeconnectd")
hl.exec_cmd("equibop")
-- hl.exec_cmd("sleep 5; discord")
hl.exec_cmd("~/.scripts/walld") -- start wallpaper daemon
hl.exec_cmd(BAR) -- status bar
hl.exec_cmd("udiskie --appindicator &") -- udiskie for automount
hl.exec_cmd("hypridle &") -- start hypridle service
hl.exec_cmd(AUTH_AGENT) -- start authentication agent
hl.exec_cmd("jamesdsp --tray &")
-- hl.exec_cmd("dunst")
-- hl.exec_cmd("opendeck --hide")
hl.exec_cmd("goxlr-daemon")
hl.exec_cmd("qpwgraph -m")
-- hl.exec_cmd("mullvad-vpn --disable-gpu")
hl.exec_cmd("sleep 20; QT_STYLE_OVERRIDE=Fusion musicpresence")
hl.exec_cmd("gsr-ui")
-- Clipboard: history
hl.exec_cmd("wl-paste --type text --watch cliphist store")
hl.exec_cmd("wl-paste --type image --watch cliphist store")
hl.exec_cmd("dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP")
end)
'';
};
}
+138 -157
View File
@@ -1,196 +1,177 @@
let
TERM = "kitty";
BAR = "noctalia-shell";
DMENU = "rofi -show drun";
CLIPBOARD = "cliphist list | rofi -dmenu -display-columns 2 -config ~/.config/rofi/clipboard.rasi | cliphist decode | wl-copy";
WMENU = "rofi -show window";
CALC = "rofi -show calc -modi calc -no-show-match -no-sort";
FILE_MAN = "xdg-open ~";
RANDOM_WALL = "~/.scripts/random-wall";
in
{
wayland.windowManager.hyprland = {
settings = {
# ####################
# ### KEYBINDINGS ###
# ####################
extraConfig = ''
-- ####################
-- ### KEYBINDINGS ###
-- ####################
"$mod" = "SUPER";
local mod = "SUPER"
bind = [
"$mod, L, exec, ${TERM}"
"$mod, SPACE, exec, ${DMENU}"
"$mod CTRL, B, exec, ${RANDOM_WALL}"
"CTRL SHIFT, B, exec, ~/.config/rofi/wallpaper-picker.sh"
# "CTRL SHIFT, B, exec, dms ipc dankdash wallpaper"
"$mod, V, exec, ${CLIPBOARD}"
"$mod, E, exec, ${FILE_MAN}"
"$mod, N, exec, dunstctl history-pop"
"$mod SHIFT, N, exec, dunstctl close-all"
"$mod, Q, killactive"
"$mod SHIFT, Q, exec, hyprctl kill"
"$mod, C, exec, ${CALC}"
"$mod SHIFT, B, exec, ${BAR}"
"$mod SHIFT, F, togglefloating"
"$mod SHIFT, P, exec, hyprpicker -a"
"$mod SHIFT, W, exec, ${WMENU}"
"$mod, B, exec, zen-beta"
hl.bind(mod .. " + L", function() hl.dispatch(hl.dsp.exec_cmd(TERM)) end)
hl.bind(mod .. " + SPACE", function() hl.dispatch(hl.dsp.exec_cmd(DMENU)) end)
hl.bind(mod .. " + CTRL + B", function() hl.dispatch(hl.dsp.exec_cmd(RANDOM_WALL)) end)
hl.bind("CTRL + SHIFT + B", hl.dsp.exec_cmd("~/.config/rofi/wallpaper-picker.sh"))
-- hl.bind("CTRL + SHIFT + B", hl.dsp.exec_cmd("dms ipc dankdash wallpaper"))
hl.bind(mod .. " + V", function() hl.dispatch(hl.dsp.exec_cmd(CLIPBOARD)) end)
hl.bind(mod .. " + E", function() hl.dispatch(hl.dsp.exec_cmd(FILE_MAN)) end)
hl.bind(mod .. " + N", hl.dsp.exec_cmd("dunstctl history-pop"))
hl.bind(mod .. " + SHIFT + N", hl.dsp.exec_cmd("dunstctl close-all"))
hl.bind(mod .. " + Q", hl.dsp.window.close())
hl.bind(mod .. " + SHIFT + Q", hl.dsp.window.kill())
hl.bind(mod .. " + C", function() hl.dispatch(hl.dsp.exec_cmd(CALC)) end)
hl.bind(mod .. " + SHIFT + B", function() hl.dispatch(hl.dsp.exec_cmd(BAR)) end)
hl.bind(mod .. " + SHIFT + F", hl.dsp.window.float())
hl.bind(mod .. " + SHIFT + P", hl.dsp.exec_cmd("hyprpicker -a"))
hl.bind(mod .. " + SHIFT + W", function() hl.dispatch(hl.dsp.exec_cmd(WMENU)) end)
hl.bind(mod .. " + B", hl.dsp.exec_cmd("zen-beta"))
-- hl.bind(
-- mod .. " + SHIFT + E",
-- hl.dsp.exec_cmd(
-- "pkill -9 linux-wallpaper; awww img --transition-step 100 /home/user/Pictures/Wallpapers/syntaxerror_wallpaper.png"
-- )
-- )
hl.bind(
mod .. " + SHIFT + E",
hl.dsp.exec_cmd("noctalia-shell ipc call wallpaper set /home/user/Pictures/Wallpapers/syntaxerror_wallpaper.png")
)
hl.bind("ALT + Q", hl.dsp.exec_cmd("pkill -9 python; pkill -9 aria2c"))
hl.bind(mod .. " + P", hl.dsp.exec_cmd("prismlauncher"))
-- hl.bind(mod .. " + W", hl.dsp.exec_cmd("waypaper"))
# hl.bind(
# mod .. " + SHIFT + E",
# hl.dsp.exec_cmd(
# "pkill -9 linux-wallpaper; awww img --transition-step 100 /home/user/Pictures/Wallpapers/syntaxerror_wallpaper.png"
# )
# )
"$mod SHIFT, E, exec, noctalia-shell ipc call wallpaper set /home/user/Pictures/Wallpapers/syntaxerror_wallpaper.png"
"ALT, Q, exec, pkill -9 python; pkill -9 aria2c"
"$mod, P, exec, prismlauncher"
# "$mod, W, exec, waypaper"
-- ################
-- ## MEDIA KEYS ##
-- ################
# ################
# ## MEDIA KEYS ##
# ################
hl.bind("XF86AudioMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"))
hl.bind("XF86AudioPlay", hl.dsp.exec_cmd("playerctl -p mpd play-pause"))
hl.bind("XF86AudioNext", hl.dsp.exec_cmd("playerctl -p mpd next"))
hl.bind("XF86AudioPrev", hl.dsp.exec_cmd("playerctl -p mpd previous"))
hl.bind("XF86AudioRaiseVolume", hl.dsp.exec_cmd("pactl set-sink-volume @DEFAULT_SINK@ +5%"))
hl.bind("XF86AudioLowerVolume", hl.dsp.exec_cmd("pactl set-sink-volume @DEFAULT_SINK@ -5%"))
", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
", XF86AudioPlay, exec, playerctl -p mpd play-pause"
", XF86AudioNext, exec, playerctl -p mpd next"
", XF86AudioPrev, exec, playerctl -p mpd previous"
", XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +5%"
", XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -5%"
hl.bind(mod .. " + A", hl.dsp.exec_cmd("~/.scripts/play-previous"))
hl.bind(mod .. " + S", hl.dsp.exec_cmd("~/.scripts/play-next"))
hl.bind(mod .. " + D", hl.dsp.exec_cmd("~/.scripts/play-pause"))
hl.bind(mod .. " + SHIFT + D", hl.dsp.exec_cmd("playerctl play-pause"))
hl.bind(mod .. " + PLUS", hl.dsp.exec_cmd("~/.scripts/mpd-volume up"))
hl.bind(mod .. " + MINUS", hl.dsp.exec_cmd("~/.scripts/mpd-volume down"))
-- hl.bind(mod .. " + SHIFT + R", hl.dsp.exec_cmd("~/.scripts/skip30s"))
"$mod, A, exec, ~/.scripts/play-previous"
"$mod, S, exec, ~/.scripts/play-next"
"$mod, D, exec, ~/.scripts/play-pause"
"$mod SHIFT, D, exec, playerctl play-pause"
"$mod, PLUS, exec, ~/.scripts/mpd-volume up"
"$mod, MINUS, exec, ~/.scripts/mpd-volume down"
# "$mod SHIFT, R, exec, ~/.scripts/skip30s"
-- ################
-- ## FULLSCREEN ##
-- ################
# ################
# ## FULLSCREEN ##
# ################
hl.bind(mod .. " + F", hl.dsp.window.fullscreen())
"$mod, F, fullscreen"
-- ################
-- ## SCREENSHOT ##
-- ################
# ################
# ## SCREENSHOT ##
# ################
hl.bind(mod .. " + CTRL + S", hl.dsp.exec_cmd("grimblast --freeze --notify copysave active"))
hl.bind(mod .. " + SHIFT + S", hl.dsp.exec_cmd("grimblast --freeze --notify copysave area"))
hl.bind(mod .. " + ALT + S", hl.dsp.exec_cmd("wl-paste | satty -f -"))
"$mod CTRL, S, exec, grimblast --freeze --notify copysave active"
"$mod SHIFT, S, exec, grimblast --freeze --notify copysave area"
"$mod ALT, S, exec, wl-paste | satty -f -"
-- ##########################
-- ## CENTER FLOAT WINDOW ##
-- ##########################
# ##########################
# ## CENTER FLOAT WINDOW ##
# ##########################
hl.bind(mod .. " + SHIFT + C", hl.dsp.window.center())
"$mod SHIFT, C, centerwindow"
-- ##################
-- ## MOVE FOCUS ##
-- ##################
# ##################
# ## MOVE FOCUS ##
# ##################
hl.bind(mod .. " + LEFT", hl.dsp.focus({ direction = "left" }))
hl.bind(mod .. " + RIGHT", hl.dsp.focus({ direction = "right" }))
hl.bind(mod .. " + UP", hl.dsp.focus({ direction = "up" }))
hl.bind(mod .. " + DOWN", hl.dsp.focus({ direction = "down" }))
"$mod, LEFT, movefocus, l"
"$mod, RIGHT, movefocus, r"
"$mod, UP, movefocus, u"
"$mod, DOWN, movefocus, d"
-- #################
-- ## MOVE WINDOW ##
-- #################
# #################
# ## MOVE WINDOW ##
# #################
hl.bind(mod .. " + SHIFT + LEFT", hl.dsp.window.move({ direction = "left" }))
hl.bind(mod .. " + SHIFT + RIGHT", hl.dsp.window.move({ direction = "right" }))
hl.bind(mod .. " + SHIFT + UP", hl.dsp.window.move({ direction = "up" }))
hl.bind(mod .. " + SHIFT + DOWN", hl.dsp.window.move({ direction = "down" }))
"$mod SHIFT, LEFT, movewindow, l"
"$mod SHIFT, RIGHT, movewindow, r"
"$mod SHIFT, UP, movewindow, u"
"$mod SHIFT, DOWN, movewindow, d"
-- ###################
-- ## RESIZE WINDOW ##
-- ###################
# ###################
# ## RESIZE WINDOW ##
# ###################
-- hl.bind(mod .. " + CTRL + L", hl.dsp.window.resize(20, 0))
-- hl.bind(mod .. " + CTRL + H", hl.dsp.window.resize(-20, 0))
-- hl.bind(mod .. " + CTRL + K", hl.dsp.window.resize(0, -20))
-- hl.bind(mod .. " + CTRL + J", hl.dsp.window.resize(0, 20))
# "$mod CTRL, L, resizeactive, 20 0"
# "$mod CTRL, H, resizeactive, -20 0"
# "$mod CTRL, K, resizeactive, 0 -20"
# "$mod CTRL, J, resizeactive, 0 20"
-- ################
-- ## WORKSPACES ##
-- ################
# ################
# ## WORKSPACES ##
# ################
-- hl.bind(mod .. " + 1", hl.dsp.focus({ workspace = 1}))
-- hl.bind(mod .. " + 2", hl.dsp.focus({ workspace = 2}))
-- hl.bind(mod .. " + 3", hl.dsp.focus({ workspace = 3}))
-- hl.bind(mod .. " + 4", hl.dsp.focus({ workspace = 4}))
-- hl.bind(mod .. " + 5", hl.dsp.focus({ workspace = 5}))
-- hl.bind(mod .. " + 6", hl.dsp.focus({ workspace = 6}))
-- hl.bind(mod .. " + 7", hl.dsp.focus({ workspace = 7}))
-- hl.bind(mod .. " + 8", hl.dsp.focus({ workspace = 8}))
-- hl.bind(mod .. " + 9", hl.dsp.focus({ workspace = 9}))
-- hl.bind(mod .. " + 0", hl.dsp.focus({ workspace = 10}))
# "$mod, 1, workspace, 1"
# "$mod, 2, workspace, 2"
# "$mod, 3, workspace, 3"
# "$mod, 4, workspace, 4"
# "$mod, 5, workspace, 5"
# "$mod, 6, workspace, 6"
# "$mod, 7, workspace, 7"
# "$mod, 8, workspace, 8"
# "$mod, 9, workspace, 9"
# "$mod, 0, workspace, 10"
-- #################################
-- ## MOVE WINDOW TO WORKSPACES ##
-- #################################
# #################################
# ## MOVE WINDOW TO WORKSPACES ##
# #################################
-- hl.bind(mod .. " + SHIFT + 1", hl.dsp.window.move({ workspace = 1 }))
-- hl.bind(mod .. " + SHIFT + 2", hl.dsp.window.move({ workspace = 2 }))
-- hl.bind(mod .. " + SHIFT + 3", hl.dsp.window.move({ workspace = 3 }))
-- hl.bind(mod .. " + SHIFT + 4", hl.dsp.window.move({ workspace = 4 }))
-- hl.bind(mod .. " + SHIFT + 5", hl.dsp.window.move({ workspace = 5 }))
-- hl.bind(mod .. " + SHIFT + 6", hl.dsp.window.move({ workspace = 6 }))
-- hl.bind(mod .. " + SHIFT + 7", hl.dsp.window.move({ workspace = 7 }))
-- hl.bind(mod .. " + SHIFT + 8", hl.dsp.window.move({ workspace = 8 }))
-- hl.bind(mod .. " + SHIFT + 9", hl.dsp.window.move({ workspace = 9 }))
-- hl.bind(mod .. " + SHIFT + 0", hl.dsp.window.move({ workspace = 10 }))
# "$mod SHIFT, 1, movetoworkspace, 1"
# "$mod SHIFT, 2, movetoworkspace, 2"
# "$mod SHIFT, 3, movetoworkspace, 3"
# "$mod SHIFT, 4, movetoworkspace, 4"
# "$mod SHIFT, 5, movetoworkspace, 5"
# "$mod SHIFT, 6, movetoworkspace, 6"
# "$mod SHIFT, 7, movetoworkspace, 7"
# "$mod SHIFT, 8, movetoworkspace, 8"
# "$mod SHIFT, 9, movetoworkspace, 9"
# "$mod SHIFT, 0, movetoworkspace, 10"
-- ##################
-- ## SCRATCHPADS ##
-- ##################
# ##################
# ## SCRATCHPADS ##
# ##################
hl.bind(mod .. " + SHIFT + G", hl.dsp.window.move({ workspace = "special:magic" }))
hl.bind(mod .. " + G", hl.dsp.workspace.toggle_special("magic"))
"$mod SHIFT, G, movetoworkspace, special:magic"
"$mod, G, togglespecialworkspace, magic"
-- ##########################################
-- ## SCROLL THROUGH EXISTING WORKSPACES ##
-- ##########################################
# ##########################################
# ## SCROLL THROUGH EXISTING WORKSPACES ##
# ##########################################
-- hl.bind(mod .. " + MOUSEDOWN", hl.wm.workspace_relative(1))
-- hl.bind(mod .. " + MOUSEUP", hl.wm.workspace_relative(-1))
# "$mod, mouse_down, workspace, e+1"
# "$mod, mouse_up, workspace, e-1"
-- ###################
-- ## MOUSE ACTIONS ##
-- ###################
# ###################
# ## MOUSE ACTIONS ##
# ###################
hl.bind(mod .. " + mouse:272", hl.dsp.window.drag(), { mouse = true })
hl.bind(mod .. " + mouse:273", hl.dsp.window.resize(), { mouse = true })
"$mod, mouse:272, movewindow"
"$mod, mouse:273, resizewindow"
-- ###########
-- ## MISC ##
-- ###########
# ###########
# ## MISC ##
# ###########
-- hl.bind(mod .. " + MOUSEDOWN", hl.wm.layout_msg("move +col"))
-- hl.bind(mod .. " + MOUSEUP", hl.wm.layout_msg("move -col"))
# "$mod, MOUSEDOWN, layoutmsg, move +col"
# "$mod, MOUSEUP, layoutmsg, move -col"
-- hl.bind(mod .. " + T", hl.wm.toggle_group())
# "$mod, T, togglegroup"
-- hl.bind(mod .. " + SHIFT + X", hl.dsp.exec_cmd("$POWER_MENU"))
# "$mod SHIFT, X, exec, $POWER_MENU"
hl.bind("CTRL + ALT + F", hl.dsp.exec_cmd("kando -m kandomain"))
"CTRL ALT, F, exec, kando -m kandomain"
-- hl.bind(mod .. " + W", hl.dsp.exec_cmd("$WIFI_MENU"))
# "$mod, W, exec, $WIFI_MENU"
# "$mod, X, exec, hyprlock"
];
# ###################
# ## MOUSE ACTIONS ##
# ###################
bindm = [
"$mod, mouse:272, movewindow"
"$mod, mouse:273, resizewindow"
];
};
-- hl.bind(mod .. " + X", hl.dsp.exec_cmd("hyprlock"))
'';
};
}
+1 -1
View File
@@ -103,7 +103,7 @@
"pin,class:^(kando)$"
];
layerrule = [
layer_rule = [
"blur,rofi"
"noanim,hyprpicker"
"noanim,selection"