summaryrefslogtreecommitdiff
path: root/.config/hypr/hyprland.conf
diff options
context:
space:
mode:
authorKyren223 <contact@kyren.codes>2025-08-29 01:36:13 +0300
committerKyren223 <contact@kyren.codes>2025-08-29 01:36:13 +0300
commit1135c48ddf2bdebd4e66093286df97fc5d8b366a (patch)
tree3c0d9b71fd7eda521e18bbe3e49ab9bcfc0e3ed4 /.config/hypr/hyprland.conf
parent25319af20a21366545cd82de3489970051a6ea4d (diff)
A bunch of changes to hyprconf
Diffstat (limited to '.config/hypr/hyprland.conf')
-rw-r--r--.config/hypr/hyprland.conf105
1 files 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 ###
###############