From e9cdc530db1c1dd1bb5b7bcac7b2190dbb17961f Mon Sep 17 00:00:00 2001 From: Timo Schneider Date: Wed, 7 Jan 2026 10:36:33 +0100 Subject: [PATCH] updated hyprland --- hypr/configs/binds.conf | 8 +- hypr/configs/monitors.conf | 4 +- hypr/theme/rules.conf | 237 ++++++++++++++++++++++--------------- 3 files changed, 146 insertions(+), 103 deletions(-) diff --git a/hypr/configs/binds.conf b/hypr/configs/binds.conf index f693d3b..97b7962 100644 --- a/hypr/configs/binds.conf +++ b/hypr/configs/binds.conf @@ -13,9 +13,9 @@ bind = $mainMod, V, exec, $scripts/launch_app $ide bind = $mainMod, O, exec, $scripts/launch_app $office-suite bind = $mainMod, E, exec, $scripts/launch_app $file-manager bind = $mainMod, C, exec, $scripts/launch_app $terminal -bind = $mainMod SHIFT, C, exec, $scripts/launch_app $terminal docker exec -it yocto zsh +bind = $altMod SHIFT, C, exec, $scripts/launch_app $terminal docker exec -it yocto zsh bind = $altMod, C, exec, $scripts/launch_app $terminal ssh Hetzner -bind = $altMod SHIFT, C, exec, $scripts/launch_app $terminal docker exec -it ros2 zsh +bind = $mainMod SHIFT, C, exec, $scripts/launch_app $terminal docker exec -it ros2 zsh bind = $mainMod, T, exec, $scripts/launch_app element-desktop bind = $mainMod, M, exec, $scripts/launch_app thunderbird @@ -36,8 +36,8 @@ bind = $mainMod, ESCAPE, exec, $launcher-scripts/powermenu/powermenu bind = $mainMod, Y, exec, $launcher-scripts/clipboard/clipboard ## Screenshots -bind = CTRL, ESCAPE, exec, $launcher-scripts/screenshot/screenshot -bind = SHIFT, ESCAPE, exec, $launcher-scripts/screenshot/screenshot --freeze +bind = $mainMod SHIFT, S, exec, hyprshot -m window --clipboard-only +bind = $altMod SHIFT, S, exec, hyprshot -m region --clipboard-only # Pyprland ## Scratchpad Module diff --git a/hypr/configs/monitors.conf b/hypr/configs/monitors.conf index 5dfee34..1a3f1ae 100644 --- a/hypr/configs/monitors.conf +++ b/hypr/configs/monitors.conf @@ -1,6 +1,6 @@ $MONITOR1=eDP-1 -$MONITOR2=DP-1 -$MONITOR3=HDMI-A-1 +$MONITOR3=DP-1 +$MONITOR2=HDMI-A-1 # Main Monitor monitor=$MONITOR1, 3072x1920@120.00, 0x0, 2.0, vrr, 1 diff --git a/hypr/theme/rules.conf b/hypr/theme/rules.conf index 7ab8e90..70be619 100644 --- a/hypr/theme/rules.conf +++ b/hypr/theme/rules.conf @@ -1,128 +1,171 @@ # Base Rules $center-float-large = class:^(center-float-large)$|^(.*qimgv.*)$|^(.*mpv.*)$ -windowrulev2 = float, $center-float-large -windowrulev2 = size 70% 70%, $center-float-large -windowrulev2 = center 1, $center-float-large +windowrule { + name = center-float-large + match:class = $center-float-large + float = on + size = (monitor_w*0.7) (monitor_h*0.7) + center = 1 +} $center-float = class:^(center-float)$ $center-float-title = title:^(.*Open Folder.*)$|^(.*Open File.*)$|^(.*Save File.*)$|^(.*Save Folder.*)$|^(.*Save Image.*)$|^(.*Save As.*)$|^(.*Open As.*)$ -windowrulev2 = float, $center-float -windowrulev2 = float, $center-float-title -windowrulev2 = size 50% 50%, $center-float -windowrulev2 = size 50% 50%, $center-float-title -windowrulev2 = center 1, $center-float -windowrulev2 = center 1, $center-float-title +windowrule { + name = center-float + match:class = $center-float + float = on + size = (monitor_w*0.5) (monitor_h*0.5) + center = 1 +} +windowrule { + name = center-float-title + match:title = $center-float-title + float = on + size = (monitor_w*0.5) (monitor_h*0.5) + center = 1 +} $center-float-mini = class:^(center-float-mini)$|^(.*galculator.*)$|^(.*ytdlp-gui.*)$|^(.*udiskie.*)$|^(.*Calculator.*)$ -windowrulev2 = float, $center-float-mini -windowrulev2 = size 30% 40%, $center-float-mini -windowrulev2 = center 1, $center-float-mini - - -# Float Rules -# windowrule = float, xfce-polkit|wleave|title:branchdialog|nwg-look|nm-connection-editor|org.twosheds.iwgtk|overskride - - -# Workspace Rules -## System -#windowrulev2 = workspace 8, class:^(.*virt-manager.*)$|(.*PikaBackup.*)$|(.*VirtualBox Manager.*)$|(.*Vmware*)$ -#windowrulev2 = workspace 17, class:^(.*GParted.*)$|(.*clamtk.*)$|(.*gnome.Logs.*)$ - -## Gaming -#windowrulev2 = workspace 7, class:^(.*steam_app.*)$|(.*gamescope.*)$|(.*atlauncher.*)$|(.*Minecraft.*)$ -#windowrulev2 = workspace 16 silent, class:^([Ss]team)$|(.*heroic.*)$ -#windowrulev2 = workspace 7, class:^(.*Ryujinx.*)$|(.*cemu.*)$|(.*dolphin.*)$|(.*RetroArch.*)$|(.*xemu.*)$|(.*duckstation.*)$|(.*rpcs3.*)$ - -## Media -#windowrulev2 = workspace 6, class:^(.*kdenlive.*)$ -#windowrulev2 = workspace 21 silent, class:^(.*thunderbird.*)$ -#windowrulev2 = workspace 22 silent, class:^(.*btop.*)$ -#windowrulev2 = workspace 22 silent, class:^(.*nvtop.*)$ -#windowrulev2 = workspace 19 silent, class:^(.*[Ss]potify.*)$|(.*tidal-hifi.*)$|(.*You[Tt]ube Music.*)$ -#windowrulev2 = workspace 20 silent, class:^(.*discord.*)$|(.*vesktop.*)$|(.*WebCord.*)$ -#windowrulev2 = workspace 15, class:^(.*obsproject.*)$ -#windowrulev2 = workspace 14, class:^(.*easyeffects.*)$|^(.*qpwgraph.*)$|(.*Helvum.*)$ -#windowrulev2 = workspace 5, class:^(.*vital.*)$|(.*fl64.*)$|(.*nicotine_plus.*)$ -#windowrulev2 = workspace 5, title:^(.*FL Studio.*)$ -#windowrulev2 = workspace 4, class:^(.*pinta.*)$|(.*krita.*)$|(.*blender.*)$|(.*Upscayl.*)$ - -## Productivity/Dev -#windowrulev2 = workspace 9 silent, class:^(.*obsidian.*)$|(.*Zotero.*)$ -#windowrulev2 = workspace 2, class:^(.*Code.*)$|(.*codium.*)$|(.*VSCodium.*)$|(.*neovide.*)$ - +windowrule { + name = center-float-mini + match:class = $center-float-mini + float = on + size = (monitor_w*0.3) (monitor_h*0.4) + center = 1 +} # Animation Rules -windowrulev2 = animation slide, title:^(.*cava.*)$ -windowrulev2 = animation popin, class:^(.*wleave.*)$ - +windowrule { + name = cava + match:title = ^.*cava.*$ + animation = slide +} +windowrule { + name = wleave + match:class = ^.*wleave.*$ + animation = popin +} # Scratchpads -$scratchpad-large = class:^(scratchpad-large)$ -windowrulev2 = float, $scratchpad-large -windowrulev2 = center 1, $scratchpad-large -windowrulev2 = size 70% 70%, $scratchpad-large -windowrulev2 = animation slide, $scratchpad-large -windowrulev2 = workspace special: scratchpad-large silent, $scratchpad-large +windowrule { + name = scratchpad-large + match:class = ^scratchpad-large$ + float = on + size = (monitor_w*0.7) (monitor_h*0.7) + center = 1 + animation = slide + workspace = special: scratchpad-large +} -$scratchpad = class:^(scratchpad)$ -windowrulev2 = float, $scratchpad0 -windowrulev2 = center 1, $scratchpad -windowrulev2 = size 50% 50%, $scratchpad -windowrulev2 = animation slide, $scratchpad -windowrulev2 = workspace special: scratchpad silent, $scratchpad +windowrule { + name = scratchpad + match:class = ^scratchpad$ + float = on + size = (monitor_w*0.5) (monitor_h*0.5) + center = 1 + animation = slide + workspace = special: scratchpad +} -$scratchpad-mini = class:^(scratchpad-mini)$ -windowrulev2 = float, $scratchpad-mini -windowrulev2 = center 1, $scratchpad-mini -windowrulev2 = size 30% 40%, $scratchpad-mini -windowrulev2 = animation slide, $scratchpad-mini -windowrulev2 = workspace special: scratchpad-mini silent, $scratchpad-mini +windowrule { + name = scratchpad-mini + match:class = ^scratchpad-mini$ + float = on + size = (monitor_w*0.3) (monitor_h*0.4) + center = 1 + animation = slide + workspace = special: scratchpad-mini +} $sideScratchpad = class:^(.*pavucontrol.*)$|(.*blueman-manager.*)$ -windowrulev2 = workspace special:scratchpad silent, $sideScratchpad -windowrulev2 = size 30% 90%, $sideScratchpad -windowrulev2 = float, $sideScratchpad -windowrulev2 = center 1, $sideScratchpad - +windowrule { + name = sideScratchpad + match:class = $sideScratchpad + float = on + size = (monitor_w*0.3) (monitor_h*0.9) + center = 1 + workspace = special: scratchpad +} # Specific App Rules $videobridge = class:^(.*xwaylandvideobridge.*)$ -windowrulev2 = opacity 0.0 override 0.0 override, $videobridge -windowrulev2 = noanim, $videobridge -windowrulev2 = noblur, $videobridge -windowrulev2 = noinitialfocus, $videobridge -windowrulev2 = maxsize 1 1, $videobridge +windowrule { + name = videobridge + match:class = $videobridge + opacity = 0.0 +} $zathura = class:^(.*zathura.*)$ -windowrulev2 = float, $zathura -windowrulev2 = size 35% 90%, $zathura -windowrulev2 = center 1, $zathura +windowrule { + name = zathura + match:class = $zathura + float = on + size = (monitor_w*0.35) (monitor_h*0.9) + center = 1 +} $scrcpy = class:^(.*wgpsscli.*)$ -windowrulev2 = center 1, $scrcpy -windowrulev2 = float, $scrcpy +windowrule { + name = scrcpy + match:class = $scrcpy + float = on + center = 1 +} $agpss = class:^(-*agpss.*)$ -windowrulev2 = tile, $agpss - -#$affinity = class:^(designer|publisher|photo).exe$ -#windowrule = tile, xwayland, $affinity +windowrule { + name = agpss + match:class = $agpss + tile = on +} # Layer Rules -layerrule = animation popin, rofi -layerrule = blur, rofi -layerrule = ignorezero, rofi +layerrule { + name = rofi + match:namespace = rofi + animation = popin 80% 150ms + blur = on +} -layerrule = blur, waybar -layerrule = ignorezero, waybar +layerrule { + name = waybar + match:namespace = waybar + blur = on +} -layerrule = ignorezero, swaync-notification-window -layerrule = animation slide, swaync-notification-window -layerrule = animation slide, swaync-control-center +layerrule { + name = swaync-notification + match:namespace = swaync-notification-window + animation = slide +} -layerrule = animation fade, swayosd +layerrule { + name = swaync-control + match:namespace = swaync-control-center + animation = slide +} -layerrule = animation fade, selection -layerrule = animation fade, hyprlock +layerrule { + name = swayosd + match:namespace = swayosd + animation = fade +} + +layerrule { + name = selection + match:namespace = selection + animation = fade +} + +layerrule { + name = hyprlock + match:namespace = hyprlock + animation = fade +} + +layerrule { + name = hyprpicker + match:namespace = hyprpicker + animation = none +} -layerrule = noanim, hyprpicker