diff --git a/hyprland.conf b/hyprland.conf index 49daf7c..fbc61db 100644 --- a/hyprland.conf +++ b/hyprland.conf @@ -2,8 +2,8 @@ # Please read documentation! # Monitor configuration -monitor = eDP-1, 1920x1080@144, 1920x0, 1 -monitor = HDMI-A-1, 1920x1080@144, 0x0, 1, transform, 2 +monitor = eDP-1, 1920x1080@100, 1920x0, 1 +monitor = HDMI-A-1, 1920x1080@100, 0x0, 1 # Workspace assignment workspace = 1, monitor:HDMI-A-1 @@ -62,7 +62,7 @@ gesture = 3, horizontal, workspace gesture = 3, vertical, fullscreen # Source pywal colors for borders -source = ~/.cache/wal/hyprland-colors.conf +source = ~/.config/hypr/hyprland-colors.conf # General settings general { @@ -163,41 +163,169 @@ binds { # Window Rules ## Default rules -windowrule = suppressevent maximize, class:.* -windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0 +windowrule { + # Ignore maximize requests from all apps + name = suppress-maximize-events + match:class = .* + + suppress_event = maximize +} + +windowrule { + # Fix some dragging issues with XWayland + name = fix-xwayland-drags + match:class = ^$no_focus = true,floating:1,fullscreen:0,pinned:0 + match:title = ^$ + match:xwayland = true + match:float = true + match:fullscreen = false + match:pin = false + + no_focus = true +} ## Floating app rules -windowrule = float, class:^(org.pulseaudio.pavucontrol)$ -windowrule = float, title:^(blueman-manager)$ -windowrule = float, class:^(nm-connection-editor)$ -windowrule = float, class:^(waypaper)$ -windowrule = float, size 1150 600, class:^(net.nokyan.Resources)$ -windowrule = float, class:^(gnome-calculator)$ -windowrule = float, class:^(Calculator)$ +windowrule { + name = PulseAudio-float + match:class = ^(org.pulseaudio.pavucontrol)$ + match:float = true +} + +windowrule { + name = Blueman-manager + match:title = ^(blueman-manager)$ + match:float = true +} + +windowrule { + name = Network-Manager-Connection-Editor + match:class = ^(nm-connection-editor)$ + match:float = true +} + +windowrule { + name = waypaper + match:class = ^(waypaper)$ + match:float = true +} + +windowrule { + name = nokyan-Resources + match:class = ^(net.nokyan.Resources)$ + match:float = true + size = 1150 600 +} + +windowrule { + name = gnome-calculator + match:class = ^(gnome-calculator)$ + match:float = true +} + +windowrule { + name = Calculator + match:class = ^(Calculator)$ + match:float = true +} ## File picker fixes -windowrule = float,title:^(Open Files|File Picker),class:^(.*)$ -windowrule = float,title:^(Open Folder|File Picker),class:^(.*)$ -windowrule = float,title:^(Select Image|File Picker),class:^(.*)$ -windowrule = float,title:^(Save File|File Picker),class:^(.*)$ -windowrule = float,title:^(Change Download Location|File Picker),class:^(.*)$ -windowrule = float,class:^(xdg-desktop-portal-gtk)$ +windowrule { + name = OpenFiles + match:title = ^(Open Files|File Picker)$ + match:class = ^(.*)$ + match:float = true +} + +windowrule { + name = OpenFolder + match:title = ^(Open Folder|File Picker)$ + match:class = ^(.*)$ + match:float = true +} + +windowrule { + name = SelectImage + match:title = ^(Select Image|File Picker)$ + match:class = ^(.*) + match:float = true +} + +windowrule { + name = SaveFile + match:title = ^(Save File|File Picker)$ + match:class = ^(.*)$ + match:float = true +} + +windowrule { + name = ChangeDownloadLocation + match:title = ^(Change Download Location|File Picker)$ + match:class = ^(.*)$ + match:float = true +} + +windowrule { + name = DesktopPortal + match:class = ^(xdg-desktop-portal-gtk)$ + match:float = true +} ## Picture-in-Picture -windowrule = float, title:^(Picture-in-Picture)$ -windowrule = pin, title:^(Picture-in-Picture)$ -windowrule = move 69.5% 4%, title:^(Picture-in-Picture)$ +windowrule { + name = Picture-in-Picture + match:title = ^(Picture-in-Picture)$ + match:float = true +} + +windowrule { + name = Pin-PIP + match:title = ^(Picture-in-Picture)$ + match:pin = true +} + +windowrule { + name = PIP-Position + match:title = ^(Picture-in-Picture)$ + move = 69.5% 4% +} # Layer Rules # Caelestia shell layer rules -layerrule = animation fade, caelestia-(drawers|background) -layerrule = blur, caelestia-drawers -layerrule = ignorealpha 0.57, caelestia-drawers -layerrule = noanim, caelestia-(border-exclusion|area-picker) +layerrule { + name = Caelestia-drawers + match:title = ^caelestia(drawers|background)$ + animation = fade + } -layerrule = blur, wofi -layerrule = ignorealpha 0.2, wofi +layerrule { + name = drawers + match:namespace = caelestia-drawers + blur = on +} +layerrule { + name = drawers-alpha + match:namespace = caelestia-drawers + ignore_alpha = 0.57 +} + +layerrule { + name = border-exclusion + match:title = ^caelestia-(border-exclusion|area-picker)$ + no_anim = true +} + +layerrule { + name = wofi + match:namespace = wofi + blur = on +} + +layerrule { + name = wofi-ignore-alpha + match:namespace = wofi + ignore_alpha = 0.2 +} # Keybindings $mainMod = SUPER # Sets "Windows" key as main modifier @@ -234,7 +362,7 @@ bind = $mainMod, S, exec, $spotify bind = $mainMod, W, exec, /home/duma/.local/bin/waypaper # Utility binds -bind = CTRL SHIFT, ESCAPE, exec, $terminal htop # Task manager alternative +bind = CTRL SHIFT, ESCAPE, exec, $terminal btop # Task manager alternative bind = $mainMod SHIFT, S, exec, hyprshot -m region -o $HOME/Pictures/Screenshots -f Screenshot_$(date "+%Y-%m-%d_%H:%M:%S").png -z # WORKSPACE MANAGEMENT (SUPER) @@ -329,4 +457,3 @@ bindl = , XF86AudioPause, exec, playerctl play-pause bindl = , XF86AudioPlay, exec, playerctl play-pause bindl = , XF86AudioPrev, exec, playerctl previous -