diff --git a/gui/hypr/hyprland.conf b/gui/hypr/hyprland.conf index 588ad797..3db38e96 100644 --- a/gui/hypr/hyprland.conf +++ b/gui/hypr/hyprland.conf @@ -40,15 +40,21 @@ $programsNotiDaemon = fnott $programsAuthAgent = /usr/lib/polkit-kde-authentication-agent-1 $programsBar = waybar -# Internal variables, do not change + +############################## +### HYPRLAND CONFIGURATION ### +############################## + +# Internal variables +# Do not modify or things might break $dirHypr = $dirHome/.config/hypr/ $programsJobrunner = $dirHome/.local/bin/jobrunner-runjob $programsClipboard = $dirHypr/scripts.d/clipboard.sh -# Application startup +# Applications # -> Jobrunner exec=exec env JOBRUNNER_DISABLEOUTPUT=y $dirHome/.local/bin/jobrunner -# -> Programs +# -> Essential programs exec=pkill -9 $programsNotiDaemon; $programsNotiDaemon exec=pkill -9 $programsAuthAgent; $programsAuthAgent exec=pkill -9 $programsBar; $programsBar @@ -58,7 +64,7 @@ exec=wl-paste --type text --watch cliphist store exec=wl-paste --type image --watch cliphist store # -> Screen sharing exec=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP -# -> Autostart +# -> Autostart scripts exec-once=sleep 1s;$programsJobrunner "exec $dirHypr/scripts.d/commands-startup.sh" exec=$programsJobrunner "exec $dirHypr/scripts.d/commands-reload.sh" @@ -81,35 +87,34 @@ env = SDL_VIDEODRIVER,wayland,x11 env = CLUTTER_BACKEND,wayland env = ELECTRON_OZONE_PLATFORM_HINT=wayland -# HYPRLAND CONFIGURATION OPTIONS -# -> Bindings -# --> Menus +# Bindings +# -> Menus bind = SUPER, SUPER_L, exec, pkill -9 $programsMenuKill || $programsJobrunner $programsMenu -# ---> Clipboard +# --> Clipboard bind = SUPER, V, exec, exec $programsJobrunner $programsClipboard bind = SUPER_SHIFT, V, exec, cliphist wipe; hyprctl notify 5 5000 0 " Cleared clipboard" -# --> Programs +# -> Programs bind = SUPER, A, exec, exec $programsJobrunner $programsTerminal bind = SUPER, S, exec, exec $programsJobrunner $programsFM bind = SUPER, D, exec, exec $programsJobrunner $programsBrowser -# --> Window size/position manipulation +# -> Window size/position manipulation bindm = SUPER, mouse:272, movewindow bindm = SUPER, mouse:273, resizewindow -# --> Window state +# -> Window state bind = SUPER, TAB, exec, hyprctl kill bind = SUPER, Q, exec, $dirHypr/scripts.d/kill-active.sh bind = SUPER, W, togglefloating bind = SUPER, F, fullscreen -# --> Special workspace +# -> Special workspace bind = SUPER, E, togglespecialworkspace, magic bind = SUPER, Y, movetoworkspace, special:magic bind = SUPER_SHIFT, Y, movetoworkspace, 0 -# --> Session management +# -> Session management bindt = SUPER_SHIFT, M, exec, hyprctl notify 2 5000 0 " Reloading configuration"; $programsJobrunner hyprctl reload bindt = SUPER_SHIFT, L, exec, cd $dirHypr;hyprlock bindt = SUPER_SHIFT, Q, exec, hyprctl notify 2 5000 0 " Exiting Hyprland, please wait"; $programsJobrunner EXIT; sleep 1s; pkill -9 jobrunner; rm -rf /tmp/jobrunner; hyprctl dispatch exit @@ -134,18 +139,18 @@ bind = , XF86AudioStop, exec, playerctl stop bind = , XF86AudioNext, exec, playerctl next bind = , XF86AudioPrev, exec, playerctl previous -# -> Window rules -# --> Supress 'maximize' +# Window rules +# -> Supress 'maximize' windowrulev2 = suppressevent maximize, class:.* -# --> Fix for XWaylandVideoBridge +# -> Fix for XWaylandVideoBridge windowrulev2 = opacity 0.0 override,class:^(xwaylandvideobridge)$ windowrulev2 = noanim,class:^(xwaylandvideobridge)$ windowrulev2 = noinitialfocus,class:^(xwaylandvideobridge)$ windowrulev2 = maxsize 1 1,class:^(xwaylandvideobridge)$ windowrulev2 = noblur,class:^(xwaylandvideobridge)$ -# -> etc +# Hyprland configuration general { border_size = 2 no_border_on_floating = false @@ -258,8 +263,8 @@ misc { no_direct_scanout = $settingsEnableNoDirectScanout } -# -> Issue (re)load success message +# Issue (re)load success message exec=hyprctl notify 5 5000 0 " Configuration loaded successfully" -# -> Include external configuration files +# Include external configuration files source=hyprland.conf.d/*.conf