diff --git a/misc/.config/hypr/hyprland.conf b/misc/.config/hypr/hyprland.conf index ce77c05..d728518 100644 --- a/misc/.config/hypr/hyprland.conf +++ b/misc/.config/hypr/hyprland.conf @@ -1,15 +1,19 @@ # See https://wiki.hyprland.org/Configuring/Monitors/ -# Source monitor config for machine -source = ./monitors.conf - # Wayland related environment variables. env = HYPRCURSOR_THEME,McMojave env = HYPRCURSOR_SIZE,30 -env = WLR_NO_HARDWARE_CURSORS,1 env = TERMINAL,foot env = QT_QPA_PLATFORM,wayland +opengl { + nvidia_anti_flicker = false +} + +cursor { + no_hardware_cursors = true +} + # For all categories, see https://wiki.hyprland.org/Configuring/Variables/ input { kb_layout = us @@ -22,6 +26,7 @@ input { follow_mouse = 1 accel_profile = adaptive # Or else cannot move camera in games sensitivity = 1 + focus_on_close = 1 touchpad { natural_scroll = yes @@ -31,6 +36,8 @@ input { repeat_rate = 50 sensitivity = 0 # -1.0 - 1.0, 0 means no modification. + + kb_options = caps:swapescape } general { @@ -63,10 +70,10 @@ decoration { passes = 2 } - drop_shadow = no - shadow_range = 4 - shadow_render_power = 3 - col.shadow = rgba(1a1a1aee) + # drop_shadow = no + # shadow_range = 4 + # shadow_render_power = 3 + # col.shadow = rgba(1a1a1aee) } animations { @@ -95,9 +102,17 @@ master { # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more new_on_top = true new_status = master - no_gaps_when_only = true + orientation = left } +# Replicate old "smart gaps"/"no gaps when only" option +workspace = w[tv1], gapsout:0, gapsin:0 +workspace = f[1], gapsout:0, gapsin:0 +windowrulev2 = bordersize 0, floating:0, onworkspace:w[tv1] +windowrulev2 = rounding 0, floating:0, onworkspace:w[tv1] +windowrulev2 = bordersize 0, floating:0, onworkspace:f[1] +windowrulev2 = rounding 0, floating:0, onworkspace:f[1] + gestures { # See https://wiki.hyprland.org/Configuring/Variables/ for more workspace_swipe = off @@ -115,15 +130,21 @@ misc { windowrule = tile,title:^(VRChat)$ windowrule = tile,title:^(nsxiv)$ -windowrulev2 = suppressevent maximize, class:.* # Some windows try to maximize themselves instantly +# windowrulev2 = suppressevent maximize, class:.* # Some windows try to maximize themselves instantly +# windowrulev2 = suppressevent fullscreen, class:.* +windowrulev2 = pin,title:^(dragon)$ + +# When hiding waybar, fixes the blur layer still being present +layerrule = ignorezero, waybar $mainMod = SUPER # Program spawning hotkeys bind = CONTROL ALT, BACKSPACE, exec, foot -e zsh -c 'btop' +bind = $mainMod CONTROL, W, exec, [floating] foot -W 78x38 -e nmtui bind = $mainMod, RETURN, exec, foot bind = $mainMod, W, exec, firefox -bind = $mainMod, E, exec, foot -e zsh -c 'tmp="$(mktemp -t "yazi-cwd.XXXXX")"; yazi "$@" --cwd-file="$tmp"; if cwd="$(cat -- "$tmp")" && [ -n "$cwd" ] && [ "$cwd" != "$PWD" ]; then; cd -- "$cwd"; fi; rm -f -- "$tmp"; exec $SHELL' +bind = $mainMod, E, exec, foot -e zsh -c 'tmp="$(mktemp -t "yazi-cwd.XXXXX")"; yazi "$@" --cwd-file="$tmp"; printf "\033]0;foot\007"; if cwd="$(cat -- "$tmp")" && [ -n "$cwd" ] && [ "$cwd" != "$PWD" ]; then; cd -- "$cwd"; fi; rm -f -- "$tmp"; exec $SHELL' bind = $mainMod SHIFT, E, exec, emacsclient -c -a 'emacs' bind = $mainMod, C, exec, foot -e zsh -c 'khal interactive' bind = $mainMod, M, exec, foot -e zsh -c 'neomutt' @@ -140,8 +161,8 @@ binde = ,F7, exec, change-brightness up binde = ,XF86MonBrightnessUp, exec, change-brightness up binde = ,F6, exec, change-brightness down binde = ,XF86MonBrightnessDown,exec, change-brightness down -bind = $mainMod, L, exec, hyprctl dispatch dpms off; swaylock -e -c 000000 -bind = $mainMod SHIFT, R, exec, pkill ags; ags # Reload AGS +bind = $mainMod, L, exec, swaylock -e -c 000000 +bind = $mainMod, L, exec, sleep 5; hyprctl dispatch dpms off bind = $mainMod CONTROL SHIFT, R, exec, startw # Reload all graphical daemons @@ -157,6 +178,8 @@ bind = ,A, exec, menu-accent bind = ,A, submap, reset bind = ,M, exec, menu-man bind = ,M, submap, reset +bind = ,W, exec, networkmanager_dmenu +bind = ,W, submap, reset bind = ,O, exec, menu-wpio sink bind = ,O, submap, reset bind = ,I, exec, menu-wpio source @@ -175,8 +198,8 @@ bind = $mainMod CONTROL SHIFT, Q, exit, bind = $mainMod, Q, killactive, # Change gaps -binde = $mainMod, Z, exec, hyprgaps -i 3 -binde = $mainMod, X, exec, hyprgaps -d 3 +binde = $mainMod, Z, exec, hyprgaps -c 3 +binde = $mainMod, X, exec, hyprgaps -c -3 bind = $mainMod, A, exec, hyprgaps -t bind = $mainMod SHIFT, A, exec, hyprgaps -r @@ -198,7 +221,8 @@ bind = $mainMod SHIFT, T, layoutmsg, orientationtop # Special windows bind = $mainMod, F, togglefloating, -bind = $mainMod SHIFT, F, fullscreenstate, 1 +bind = $mainMod, F, resizeactive, exact 50% 50% +bind = $mainMod SHIFT, F, fullscreenstate, 0, 2 bind = $mainMod, S, togglespecialworkspace, magic bind = $mainMod SHIFT, S, movetoworkspace, special:magic @@ -227,16 +251,23 @@ bind = $mainMod SHIFT, 9, exec, hyprdwm moveto 9 bind = $mainMod SHIFT, 0, exec, hyprdwm moveto 10 # Moving windows between monitors -bind = $mainMod SHIFT, COMMA, movewindow, mon:-1 -bind = $mainMod SHIFT, LEFT, movewindow, mon:-1 -bind = $mainMod SHIFT, PERIOD, movewindow, mon:+1 -bind = $mainMod SHIFT, RIGHT, movewindow, mon:+1 +bind = $mainMod SHIFT, COMMA, movewindow, mon:+1 +bind = $mainMod SHIFT, PERIOD, movewindow, mon:-1 +bind = $mainMod SHIFT, LEFT, movewindow, mon:l +bind = $mainMod SHIFT, RIGHT, movewindow, mon:r +bind = $mainMod SHIFT, UP, movewindow, mon:u +bind = $mainMod SHIFT, DOWN, movewindow, mon:d # Moving focus between monitors -bind = $mainMod, COMMA, exec, hyprctl dispatch focusmonitor -1 -bind = $mainMod, LEFT, exec, hyprctl dispatch focusmonitor -1 -bind = $mainMod, PERIOD, exec, hyprctl dispatch focusmonitor +1 -bind = $mainMod, RIGHT, exec, hyprctl dispatch focusmonitor +1 +bind = $mainMod, COMMA, exec, hyprctl dispatch focusmonitor +1 +bind = $mainMod, PERIOD, exec, hyprctl dispatch focusmonitor -1 +bind = $mainMod, LEFT, exec, hyprctl dispatch focusmonitor l +bind = $mainMod, RIGHT, exec, hyprctl dispatch focusmonitor r +bind = $mainMod, UP, exec, hyprctl dispatch focusmonitor u +bind = $mainMod, DOWN, exec, hyprctl dispatch focusmonitor d + +# Put floating window on all workspaces +bind = $mainMod, Y, pin # Scroll through existing workspaces with mainMod + scroll bind = $mainMod, mouse_down, workspace, e+1 diff --git a/misc/.config/hyprland-autoname-workspaces/config.toml b/misc/.config/hyprland-autoname-workspaces/config.toml index bdac6dc..65b820f 100644 --- a/misc/.config/hyprland-autoname-workspaces/config.toml +++ b/misc/.config/hyprland-autoname-workspaces/config.toml @@ -1,27 +1,29 @@ -version = "1.1.14" +version = "1.1.15" [class] DEFAULT = "{class}" -"(?i)firefox" = " " -"(?i)Anki" = " " +"(?i)Anki" = " " "(?i)blueman-manager-wrapped" = " " -"(?i)chromium" = " " -"(?i)discord" = "󰊴 " -"(?i)Element" = "󰘨 " -"(?i)emacs" = " " -"(?i)foot" = " " -"(?i)Gimp" = " " -"(?i)Kitty" = " " +"(?i)chromium" = " " +"(?i)discord" = "󰊴 " +"(?i)Element" = "󰘨 " +"(?i)emacs" = " " +"(?i)firefox" = " " +"(?i)foot" = " " +"(?i)ghidra" = " " +"(?i)Gimp" = " " +"(?i)Kitty" = " " +"(?i)libreoffice-draw" = "󰽉 " "(?i)libreoffice-writer" = "󰷈 " -"(?i)mpv" = " " -"(?i)Nsxiv" = " " -"(?i)slack" = "󰒱 " -"(?i)spotify" = " " -"(?i)st" = " " -"(?i)steam" = " " +"(?i)mpv" = " " +"(?i)mullvad vpn" = " " +"(?i)Nsxiv" = " " +"(?i)slack" = "󰒱 " +"(?i)spotify" = " " +"(?i)st" = " " +"(?i)steam" = " " "(?i)virtualbox" = " " -"(?i)zathura" = " " -"(?i)mullvad vpn"= " " +"(?i)zathura" = " " [class_active] @@ -30,25 +32,25 @@ DEFAULT = "{class}" [initial_class_active] [workspaces_name] -6 = "six" -2 = "two" -4 = "four" -3 = "three" -7 = "seven" -10 = "ten" -8 = "eight" -5 = "five" -1 = "one" 0 = "zero" +1 = "one" +2 = "two" +3 = "three" +4 = "four" +5 = "five" +6 = "six" +7 = "seven" +8 = "eight" 9 = "nine" +10 = "ten" + +[title_in_class."(?i)foot"] +"(?i)neovim" = "neovim" +"(?i)nvim" = "nvim" [title_in_class."(?i)kitty"] "(?i)neomutt" = "neomutt" -[title_in_class."(?i)foot"] -"(?i)nvim" = "nvim" -"(?i)neovim" = "neovim" - [title_in_class_active."(?i)firefox"] "(?i)twitch" = "{icon}" @@ -65,11 +67,11 @@ DEFAULT = "{class}" [initial_title_in_initial_class_active] [exclude] -"(?i)fcitx" = ".*" -"" = "^$" -"[Ss]team" = "^(Friends List.*)?$" aProgram = "^$" "(?i)TestApp" = "" +"" = "^$" +"[Ss]team" = "^(Friends List.*)?$" +"(?i)fcitx" = ".*" [format] dedup = false