aboutsummaryrefslogtreecommitdiff
path: root/desktop/.config/hypr/hyprland.conf
diff options
context:
space:
mode:
authorMosder <xmosder12@gmail.com>2025-12-08 19:49:48 +0000
committerMosder <xmosder12@gmail.com>2025-12-08 19:49:48 +0000
commit08787600c2065d49ce560186b619ac25fe1622fb (patch)
tree461ceaeb722245d9001391178926b488d50140a8 /desktop/.config/hypr/hyprland.conf
parent2b2e01cbff377309d7d63f6090c25eb9e483065a (diff)
desktop hyprland
Diffstat (limited to 'desktop/.config/hypr/hyprland.conf')
-rw-r--r--desktop/.config/hypr/hyprland.conf281
1 files changed, 281 insertions, 0 deletions
diff --git a/desktop/.config/hypr/hyprland.conf b/desktop/.config/hypr/hyprland.conf
new file mode 100644
index 0000000..01d99ae
--- /dev/null
+++ b/desktop/.config/hypr/hyprland.conf
@@ -0,0 +1,281 @@
+#################
+### VARIABLES ###
+#################
+
+# Files and locations
+$SCRIPTS_DIR = $HOME/.config/hypr/scripts
+$LOG_FILE = $HOME/.hypr.log
+
+# Used programs
+$BROWSER = brave
+$DISCORD = discord --enable-features=UseOzonePlatform --ozone-platform=wayland
+$TERMINAL = wezterm
+$EDITOR = nvim
+$FILE_MANAGER = thunar
+$MENU = wofi
+$LOCKSCREEN = hyprlock
+$STATUS_BAR = waybar
+$WALLPAPER_MANAGER = hyprpaper
+$IDLE_MANAGER = hypridle
+$AUTOMOUNT = udiskie
+$OSD = swayosd
+$NOTIFICATION_DAEMON = dunst
+$COLOR_PICKER = hyprpicker
+$SCREENSHOT = flameshot
+$STEAM = steam
+
+#####################
+### ENV VARIABLES ###
+#####################
+
+# Gtk - nwglook
+env = GTK_THEME,catppuccin-mocha-mauve-standard+default
+
+# Qt - adwaita dark
+env = QT_QPA_PLATFORM,wayland
+env = QT_QPA_PLATFORMTHEME,qt5ct
+
+# Cursor
+env = XCURSOR_THEME,rose-pine-cursor
+env = XCURSOR_SIZE,24
+env = HYPRCURSOR_THEME,rose-pine-hyprcursor
+env = HYPRCURSOR_SIZE,24
+
+# Misc
+env = EDITOR,$EDITOR
+env = MAX_ZOOM,3
+
+################
+### MONITORS ###
+################
+
+$MAIN_MONITOR = DP-1
+$SECOND_MONITOR = HDMI-A-1
+
+monitor=$MAIN_MONITOR,2560x1440@144,0x0,1
+monitor=$SECOND_MONITOR,1920x1080@60,2560x360,1
+
+#################
+### AUTOSTART ###
+#################
+
+# Utils
+exec-once = systemctl --user start hyprpolkitagent
+exec-once = $STATUS_BAR
+exec-once = $SCREENSHOT
+exec-once = $SCRIPTS_DIR/randomize-wallpapers.sh
+exec-once = $WALLPAPER_MANAGER
+exec-once = $IDLE_MANAGER
+exec-once = $AUTOMOUNT
+exec-once = $OSD-server
+
+# Programs
+exec-once = [workspace 1 silent] $BROWSER
+exec-once = [workspace 2 silent] $DISCORD
+exec-once = [workspace 3 silent] $TERMINAL
+exec-once = [workspace 5 silent] $STEAM
+
+# Use lockscreen as login
+exec-once = $LOCKSCREEN
+
+##################
+### CATEGORIES ###
+##################
+
+general {
+ gaps_in = 1
+ gaps_out = 1
+
+ col.active_border = rgb(df00ff) rgb(ff10f0) 45deg
+ col.inactive_border = rgba(595959aa)
+
+ no_focus_fallback = true
+}
+
+animations {
+ bezier = easeOutQuint, 0.23, 1, 0.32, 1
+ bezier = easeInOutCubic, 0.65, 0.05, 0.36, 1
+ bezier = linear, 0, 0, 1, 1
+ bezier = almostLinear, 0.5, 0.5, 0.75, 1
+ bezier = quick, 0.15, 0, 0.1, 1
+
+ animation = global, 1, 7.5, default
+ animation = border, 1, 4.04, easeOutQuint
+ animation = windows, 1, 3.59, easeOutQuint
+ animation = windowsIn, 1, 3.07, easeOutQuint, popin 87%
+ animation = windowsOut, 1, 1.11, linear, popin 87%
+ animation = fadeIn, 1, 1.29, almostLinear
+ animation = fadeOut, 1, 1.09, almostLinear
+ animation = fade, 1, 2.27, quick
+ animation = layers, 1, 2.85, easeOutQuint
+ animation = layersIn, 1, 3, easeOutQuint, fade
+ animation = layersOut, 1, 1.12, linear, fade
+ animation = fadeLayersIn, 1, 1.34, almostLinear
+ animation = fadeLayersOut, 1, 1.04, almostLinear
+ animation = workspaces, 1, 1.45, almostLinear, fade
+ animation = workspacesIn, 1, 0.9, almostLinear, fade
+ animation = workspacesOut, 1, 1.45, almostLinear, fade
+ animation = zoomFactor, 1, 5.25, quick
+}
+
+input {
+ kb_layout = pl
+
+ numlock_by_default = true
+
+ repeat_rate = 40
+ repeat_delay = 400
+
+ sensitivity = -0.2
+ follow_mouse = 2
+}
+
+misc {
+ disable_hyprland_logo = true
+
+ focus_on_activate = false
+
+ middle_click_paste = false
+}
+
+cursor {
+ zoom_rigid = true
+}
+
+ecosystem:no_donation_nag = true
+
+dwindle {
+ pseudotile = true
+
+ force_split = 2
+ preserve_split = true
+}
+
+#############
+### BINDS ###
+#############
+
+# General
+bind = SUPER, Q, killactive,
+bind = SUPER, V, togglesplit,
+bind = SUPER, N, exec, dunstctl close-all
+bind = SUPER, slash, exec, $LOCKSCREEN
+bind = ALT, SPACE, exec, pkill $MENU || $MENU
+
+# Launch programs
+bind = SUPER, T, exec, $TERMINAL
+bind = SUPER, F, exec, $FILE_MANAGER
+bind = SUPER, C, exec, $TERMINAL start -- $EDITOR
+bind = SUPER, B, exec, $BROWSER
+bind = SUPER, D, exec, $DISCORD
+bind = SUPER, S, exec, $STEAM
+bind = SUPER SHIFT, P, exec, $COLOR_PICKER -a
+bind = SUPER SHIFT, M, exec, $SCRIPTS_DIR/zoom.sh
+
+# Take screenshots
+bind = SUPER SHIFT, S, exec, $SCREENSHOT gui # Select region
+
+# Move focus
+bind = ALT, Tab, cyclenext
+bind = SUPER, left, movefocus, l
+bind = SUPER, down, movefocus, d
+bind = SUPER, up, movefocus, u
+bind = SUPER, right, movefocus, r
+bind = SUPER, H, movefocus, l
+bind = SUPER, J, movefocus, d
+bind = SUPER, K, movefocus, u
+bind = SUPER, L, movefocus, r
+
+# Swap windows
+bind = SUPER SHIFT, left, swapwindow, l
+bind = SUPER SHIFT, down, swapwindow, d
+bind = SUPER SHIFT, up, swapwindow, u
+bind = SUPER SHIFT, right, swapwindow, r
+bind = SUPER SHIFT, H, swapwindow, l
+bind = SUPER SHIFT, J, swapwindow, d
+bind = SUPER SHIFT, K, swapwindow, u
+bind = SUPER SHIFT, L, swapwindow, r
+
+# Equalize windows
+bind = SUPER ALT, H, exec, $SCRIPTS_DIR/equalize-windows.sh l
+bind = SUPER ALT, V, exec, $SCRIPTS_DIR/equalize-windows.sh u
+
+# Resize windows manually
+bind = SUPER, R, submap, resize
+submap = resize
+binde = , left, resizeactive, -10 0
+binde = , down, resizeactive, 0 10
+binde = , up, resizeactive, 0 -10
+binde = , right, resizeactive, 10 0
+binde = , H, resizeactive, -10 0
+binde = , J, resizeactive, 0 10
+binde = , K, resizeactive, 0 -10
+binde = , L, resizeactive, 10 0
+bind = , Escape, submap, reset
+bind = , Return, submap, reset
+bind = CTRL_L, C, submap, reset
+bind = SUPER, R, submap, reset
+submap = reset
+
+# Switch workspaces
+bind = SUPER, 1, workspace, 1
+bind = SUPER, 2, workspace, 2
+bind = SUPER, 3, workspace, 3
+bind = SUPER, 4, workspace, 4
+bind = SUPER, 5, workspace, 5
+bind = SUPER, 6, workspace, 6
+bind = SUPER, 7, workspace, 7
+bind = SUPER, 8, workspace, 8
+bind = SUPER, 9, workspace, 9
+bind = SUPER, 0, workspace, 10
+
+# Move active window to a workspace
+bind = SUPER SHIFT, 1, movetoworkspace, 1
+bind = SUPER SHIFT, 2, movetoworkspace, 2
+bind = SUPER SHIFT, 3, movetoworkspace, 3
+bind = SUPER SHIFT, 4, movetoworkspace, 4
+bind = SUPER SHIFT, 5, movetoworkspace, 5
+bind = SUPER SHIFT, 6, movetoworkspace, 6
+bind = SUPER SHIFT, 7, movetoworkspace, 7
+bind = SUPER SHIFT, 8, movetoworkspace, 8
+bind = SUPER SHIFT, 9, movetoworkspace, 9
+bind = SUPER SHIFT, 0, movetoworkspace, 10
+
+# Move current workspace to the other monitor
+bind = SUPER, M, movecurrentworkspacetomonitor, +1
+
+# Volume controls
+bindel = ,XF86AudioRaiseVolume, exec, $OSD-client --output-volume raise --max-volume 95
+bindel = ,XF86AudioLowerVolume, exec, $OSD-client --output-volume lower
+bindel = ,XF86AudioMute, exec, $OSD-client --output-volume mute-toggle
+bindel = ,XF86AudioMicMute, exec, $OSD-client --input-volume mute-toggle
+
+# Player controls
+bindl = , XF86AudioNext, exec, $OSD-client --playerctl next
+bindl = , XF86AudioPause, exec, $OSD-client --playerctl play-pause
+bindl = , XF86AudioPlay, exec, $OSD-client --playerctl play-pause
+bindl = , XF86AudioPrev, exec, $OSD-client --playerctl previous
+
+##############################
+### WINDOWS AND WORKSPACES ###
+##############################
+
+# Set default monitors for workspaces
+workspace = 1, monitor:$MAIN_MONITOR, default:true
+workspace = 2, monitor:$SECOND_MONITOR, default:true
+workspace = 3, monitor:$SECOND_MONITOR
+workspace = 4, monitor:$MAIN_MONITOR
+workspace = 5, monitor:$MAIN_MONITOR
+
+# Force discord to stay at 2nd workspace
+windowrule = workspace 2 silent, class:^(discord)$
+
+# Force steam to stay at 5th workspace
+windowrule = workspace 5 silent, class:^(steam)$
+
+# Make flameshot not temporarily resize windows
+windowrule = float, class:^($SCREENSHOT)$
+
+# Ignore maximize requests from apps
+windowrule = suppressevent maximize, class:.*
+