From 1135c48ddf2bdebd4e66093286df97fc5d8b366a Mon Sep 17 00:00:00 2001 From: Kyren223 Date: Fri, 29 Aug 2025 01:36:13 +0300 Subject: [PATCH] A bunch of changes to hyprconf --- .config/hypr/hyprland.conf | 105 ++++++++++++++++++++----------------- 1 file changed, 57 insertions(+), 48 deletions(-) diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf index 91a8cb4..5ba75bb 100644 --- a/.config/hypr/hyprland.conf +++ b/.config/hypr/hyprland.conf @@ -21,6 +21,9 @@ $browser = zen $discord = vesktop $fileManager = dolphin $menu = wofi --show drun +# ctrl-c to copy from the flameshot gui gives warped images sometimes, but +# setting the env fixes it +$screenshot = XDG_CURRENT_DESKTOP=sway flameshot gui -p ~/Pictures/Screenshots/ -c ################# @@ -32,9 +35,7 @@ $menu = wofi --show drun exec-once = hyprctl plugin load "$HYPR_PLUGIN_DIR/lib/libhyprbars.so" -# exec-once = waybar & hyprpaper & firefox -exec-once = [workspace 1 silent] $terminal -exec-once = [workspace 2 silent] $browser +# exec-once = waybar & hyprpaper ############################# @@ -81,7 +82,7 @@ general { col.inactive_border = rgba(595959aa) # Set to true enable resizing windows by clicking and dragging on borders and gaps - resize_on_border = true + resize_on_border = false # Please see https://wiki.hypr.land/Configuring/Tearing/ before you turn this on allow_tearing = false @@ -141,7 +142,7 @@ animations { animation = fadeLayersIn, 1, 1.79, almostLinear animation = fadeLayersOut, 1, 1.39, almostLinear animation = workspaces, 1, 1.94, almostLinear, fade - animation = workspacesIn, 0, 1.21, almostLinear, fade + animation = workspacesIn, 0, 1.21, almostLinear, fade # Disable fade when switching workspaces animation = workspacesOut, 1, 1.94, almostLinear, fade } @@ -177,6 +178,10 @@ misc { middle_click_paste = false } +binds { + hide_special_on_workspace_change = true +} + ############# ### INPUT ### @@ -217,34 +222,50 @@ gestures { ################### # See https://wiki.hypr.land/Configuring/Keywords/ -$mainMod = ALT # Sets "Windows" key as main modifier -# $mainMod = SUPER # Sets "Windows" key as main modifier +$mainMod = ALT -# Example binds, see https://wiki.hypr.land/Configuring/Binds/ for more -bind = $mainMod, T, exec, $terminal -bind = $mainMod, B, exec, $browser -bind = $mainMod, D, exec, $discord +# Window Controls +bind = SUPER, Q, exit, bind = $mainMod, C, killactive, -bind = $mainMod, M, exit, -bind = $mainMod, E, exec, $fileManager bind = $mainMod, V, togglefloating, -bind = $mainMod, R, exec, $menu -# bind = $mainMod, P, pseudo, # dwindle -# bind = $mainMod, J, togglesplit, # dwindle - -# ctrl-c to copy from the flameshot gui gives warped images sometimes, but -# setting the env fixes it -bind = $mainMod, S, exec, XDG_CURRENT_DESKTOP=sway flameshot gui -p ~/Pictures/Screenshots/ -c - -# Move focus with mainMod + arrow keys +bind = $mainMod, O, togglesplit +# Move/resize windows with mainMod + LMB/RMB and dragging +bindm = SUPER, mouse:272, movewindow +bindm = SUPER, mouse:273, resizewindow +# Scroll through existing workspaces with mainMod + scroll +bind = $mainMod, mouse_down, workspace, e+1 +bind = $mainMod, mouse_up, workspace, e-1 +# Move focus with mainMod + hjkl bind = $mainMod, h, movefocus, l bind = $mainMod, l, movefocus, r bind = $mainMod, k, movefocus, u bind = $mainMod, j, movefocus, d -# Switch workspaces with mainMod + [0-9] +# Apps +bind = $mainMod, E, exec, $fileManager +bind = SUPER, E, exec, $fileManager +bind = $mainMod, S, exec, $screenshot +bind = SUPER, c, exec, $screenshot +bind = $mainMod, R, exec, $menu +bind = SUPER, SUPER_L, exec, $menu + +# Terminal bind = $mainMod, 1, workspace, 1 +workspace = 1, default:true, on-created-empty: $terminal -e "k switch $HOME" + +# Browser bind = $mainMod, 2, workspace, 2 +workspace = 2, on-created-empty: $browser + +# Discord +bind = $mainMod, D, workspace, name:discord +workspace = name:discord, on-created-empty: $discord + +# Scratch terminal +bind = $mainMod, T, togglespecialworkspace, scratchpad +workspace = special:scratchpad, on-created-empty: $terminal + +# General purpose workspaces bind = $mainMod, 3, workspace, 3 bind = $mainMod, 4, workspace, 4 bind = $mainMod, 5, workspace, 5 @@ -266,31 +287,21 @@ bind = $mainMod SHIFT, 8, movetoworkspace, 8 bind = $mainMod SHIFT, 9, movetoworkspace, 9 bind = $mainMod SHIFT, 0, movetoworkspace, 10 -# Example special workspace (scratchpad) -# bind = $mainMod, S, togglespecialworkspace, magic -bind = $mainMod SHIFT, S, movetoworkspace, special:magic - -# Scroll through existing workspaces with mainMod + scroll -bind = $mainMod, mouse_down, workspace, e+1 -bind = $mainMod, mouse_up, workspace, e-1 - -# Move/resize windows with mainMod + LMB/RMB and dragging -bindm = $mainMod, mouse:272, movewindow -bindm = $mainMod, mouse:273, resizewindow - +# TODO: do I want this? # Laptop multimedia keys for volume and LCD brightness -bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+ -bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- -bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle -bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle -bindel = ,XF86MonBrightnessUp, exec, brightnessctl -e4 -n2 set 5%+ -bindel = ,XF86MonBrightnessDown, exec, brightnessctl -e4 -n2 set 5%- +# bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+ +# bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- +# bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle +# bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle +# bindel = ,XF86MonBrightnessUp, exec, brightnessctl -e4 -n2 set 5%+ +# bindel = ,XF86MonBrightnessDown, exec, brightnessctl -e4 -n2 set 5%- +# TODO: do I want this? # Requires playerctl -bindl = , XF86AudioNext, exec, playerctl next -bindl = , XF86AudioPause, exec, playerctl play-pause -bindl = , XF86AudioPlay, exec, playerctl play-pause -bindl = , XF86AudioPrev, exec, playerctl previous +# bindl = , XF86AudioNext, exec, playerctl next +# bindl = , XF86AudioPause, exec, playerctl play-pause +# bindl = , XF86AudioPlay, exec, playerctl play-pause +# bindl = , XF86AudioPrev, exec, playerctl previous ############################## ### WINDOWS AND WORKSPACES ### @@ -299,9 +310,6 @@ bindl = , XF86AudioPrev, exec, playerctl previous # See https://wiki.hypr.land/Configuring/Window-Rules/ for more # See https://wiki.hypr.land/Configuring/Workspace-Rules/ for workspace rules -# Example windowrule -# windowrule = float,class:^(kitty)$,title:^(kitty)$ - # Ignore maximize requests from apps. You'll probably like this. windowrule = suppressevent maximize, class:.* @@ -327,6 +335,7 @@ windowrule = move (1920/2) 50, class:^(.*gwenview.*)$ # Only show hyprbars for floating windows windowrulev2 = plugin:hyprbars:nobar, ^floating:0 + ############### ### Plugins ### ###############