# JeremyStarTM's Hyprland configuration ############################### ### CONFIGURATION VARIABLES ### ############################### # User directory $dirHome = /home/jeremystartm/ $dirHypr = $dirHome/.config/hypr/ # Settings # -> Keyboard $settingsKeyboardNumlock = 0 $settingsKeyboardLayout = de $settingsKeyboardVariant = # -> Mouse $settingsMouseLefthanded = 0 $settingsMouseSensitivity = 0 $settingsMouseFocusFollow = 1 # -> Tablet $settingsTabletMonitor = DP-1 $settingsTabletRegionPosition = 0 0 $settingsTabletRegionSize = 2560 1440 $settingsTabletRelative = 0 $settingsTabletRotated = 0 # -> etc $settingsCursorSize = 24 $settingsEnableResizeOnBorder = 0 $settingsEnableTearing = 1 $settingsEnableNoDirectScanout = 1 $settingsEnableShadows = 1 $settingsEnableBlur = 1 $settingsEnableAnimations = 1 # Programs $programsTerminal = konsole $programsFM = dolphin $programsBrowser = librewolf $programsMenu = j4-dmenu-desktop --dmenu=launch-menu $programsNotiDaemon = fnott $programsAuthAgent = /usr/lib/polkit-kde-authentication-agent-1 $programsBar = waybar # Application startup # -> Hypr stuff exec=pkill -9 hyprpaper; hyprpaper # -> Programs exec=pkill -9 $programsNotiDaemon; $programsNotiDaemon exec=pkill -9 $programsAuthAgent; $programsAuthAgent exec=pkill -9 $programsBar; $programsBar # -> Clipboard exec=pkill -9 wl-paste 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 # -> Jobrunner exec=if [ -f /tmp/jobrunner/jobrunner.pid ]; then echo EXIT > /tmp/jobrunner/jobrunner.cmd; sleep 1s; fi; exec $dirHome/.local/bin/jobrunner # -> Autostart exec-once=$dirHypr/scripts.d/autostart.sh # Env # -> Cursor env = XCURSOR_SIZE,$settingsCursorSize env = HYPRCURSOR_SIZE,$settingsCursorSize # -> XDG env = XDG_CURRENT_DESKTOP,Hyprland env = XDG_SESSION_TYPE,wayland env = XDG_SESSION_DESKTOP,Hyprland # -> Qt env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1 env = QT_QPA_PLATFORMTHEME,qt6ct # -> Enforce wayland backends env = QT_QPA_PLATFORM,wayland;xcb env = GTK_BACKEND,wayland,x11,* env = SDL_VIDEODRIVER,wayland,x11 env = CLUTTER_BACKEND,wayland env = ELECTRON_OZONE_PLATFORM_HINT=wayland # HYPRLAND CONFIGURATION OPTIONS # -> Bindings # --> Programs bind = SUPER, SUPER_L, exec, $programsMenu bind = SUPER, V, exec, cliphist list | launch-menu | cliphist decode | wl-copy bind = SUPER, A, exec, $programsTerminal bind = SUPER, S, exec, $programsFM bind = SUPER, D, exec, $programsBrowser # --> Window size/position manipulation bindm = SUPER, mouse:272, movewindow bindm = SUPER, mouse:273, resizewindow # --> 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 bind = SUPER, E, togglespecialworkspace, magic bind = SUPER, Y, movetoworkspace, special:magic bind = SUPER_SHIFT, Y, movetoworkspace, 0 # --> Session management bindt = SUPER_SHIFT, Q, exit bindt = SUPER_SHIFT, W, exec, poweroff bindt = SUPER_SHIFT, E, exec, reboot # -> Media keys # --> Increase binde = , XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +1% binde = SHIFT, XF86AudioRaiseVolume, exec, pactl set-source-volume @DEFAULT_SOURCE@ +1% # --> Decrease binde = , XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -1% binde = SHIFT, XF86AudioLowerVolume, exec, pactl set-source-volume @DEFAULT_SOURCE@ -1% # --> Mute bind = , XF86AudioMute, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle bind = SHIFT, XF86AudioMute, exec, pactl set-source-mute @DEFAULT_SOURCE@ toggle # -> Window rules # --> Supress 'maximize' windowrulev2 = suppressevent maximize, class:.* # --> 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 general { border_size = 2 no_border_on_floating = false gaps_in = 10 gaps_out = 20 gaps_workspaces = 0 col.inactive_border = 0xffd60532 0xff6931fe 0 col.active_border = 0xffffffff col.nogroup_border = 0xff000000 col.nogroup_border_active = 0xffffffff layout = dwindle no_focus_fallback = true resize_on_border = $settingsEnableResizeOnBorder allow_tearing = $settingsEnableTearing } decoration { rounding = 8 active_opacity = 1 inactive_opacity = 0.95 fullscreen_opacity = 1 drop_shadow = $settingsEnableShadows shadow_range = 4 dim_inactive = 1 dim_strength = 0.05 dim_special = 0.5 blur { enabled = $settingsEnableBlur ignore_opacity = 1 xray = 1 noise = 0.03 # increased noise value for a slightly more "rough" look } } animations { enabled = $settingsEnableAnimations } input { kb_layout = $settingsKeyboardLayout kb_variant = $settingsKeyboardVariant follow_mouse = $settingsMouseFocusFollow numlock_by_default = $settingsKeyboardNumlock left_handed = $settingsMouseLefthanded sensitivity = $settingsMouseSensitivity touchpad { disable_while_typing = false } tablet { output = $settingsTabletMonitor region_position = $settingsTabletRegionPosition region_size = $settingsTabletRegionSize relative_input = $settingsTabletRelative left_handed = $settingsTabletRotated } } gestures { workspace_swipe = 0 } misc { disable_hyprland_logo = 0 disable_splash_rendering = 0 force_default_wallpaper = 2 font_family = Fira Code splash_font_family = Jost vrr = 0 animate_manual_resizes = 1 animate_mouse_windowdragging = 1 disable_autoreload = 0 focus_on_activate = 0 no_direct_scanout = $settingsEnableNoDirectScanout } # -> Issue (re)load success message exec=hyprctl notify 5 5000 0 "Configuration loaded successfully" # -> Include external configuration files source=hyprland.conf.d/*.conf