autogenerated = 0 # You can split this configuration into multiple files # Create your files separately and then link them to this file like this: # source = ~/.config/hypr/myColors.conf ################ ### MONITORS ### ################ monitor=DP-2, 1920x1080@60, 0x0, 1 monitor=DP-3, 1920x1080@60, 1920x0, 1 ################### ### MY PROGRAMS ### ################### $terminal = alacritty $fileManager = thunar $menu = pkill wofi || wofi --show drun -i -I --term=alacritty ################# ### AUTOSTART ### ################# exec-once = swaync & exec-once = waybar & hyprpaper exec-once = copyq --start-server exec-once = discord --start-minimized exec-once = steam -silent exec-once = thunar --daemon #exec-once = hyprpm reload -n ############################# ### ENVIRONMENT VARIABLES ### ############################# env = XCURSOR_SIZE,24 env = HYPRCURSOR_SIZE,24 env = TERMINAL,alacritty ################### ### PERMISSIONS ### ################### ecosystem { enforce_permissions = 1 } permission = /usr/(bin|local/bin)/grim, screencopy, allow permission = /usr/(lib|libexec|lib64)/xdg-desktop-portal-hyprland, screencopy, allow permission = ${lib.escapeRegex (lib.getExe config.programs.hyprlock.package)}, screencopy, allow permission = /usr/(bin|local/bin)/hyprpm, plugin, allow ##################### ### LOOK AND FEEL ### ##################### general { gaps_in = 4 gaps_out = 4 border_size = 1 col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg col.inactive_border = rgba(595959aa) resize_on_border = false allow_tearing = false layout = dwindle } decoration { rounding = 0 rounding_power = 2 active_opacity = 1.0 inactive_opacity = 1.0 shadow { enabled = true range = 4 render_power = 3 color = rgba(1a1a1aee) } blur { enabled = true size = 3 passes = 1 vibrancy = 0.1696 } } animations { enabled = no } dwindle { pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below preserve_split = true # You probably want this } master { new_status = master } misc { force_default_wallpaper = 0 disable_hyprland_logo = true } ############# ### INPUT ### ############# input { kb_layout = us, cz kb_variant = kb_model = kb_options = grp:win_space_toggle kb_rules = follow_mouse = 1 sensitivity = 0 # -1.0 - 1.0, 0 means no modification. touchpad { natural_scroll = false } } gesture = 3, horizontal, workspace ################### ### KEYBINDINGS ### ################### $mainMod = SUPER # Sets "Windows" key as main modifier #Opens terminal (allacrity) bind = $mainMod, RETURN, exec, $terminal #Kills active window bind = $mainMod, Q, killactive, #Exits hyprland bind = $mainMod SHIFT, E, exec, pkill wofi || ~/.scripts/power.sh #Opens file manager (Thunar) bind = $mainMod, N, exec, $fileManager #Togle floating mode bind = $mainMod, G, togglefloating, #Opens app picker bind = $mainMod, P, exec, $menu #Shows help menu bind = $mainMod, H, exec, pkill wofi || ~/.scripts/hypr-help.sh #Changes wallpaper bind = $mainMod, U, exec, pkill wofi || ~/.scripts/wallpaper-picker.sh #Toggles split bind = $mainMod, J, togglesplit, # dwindle #Toggles pseudo bind = $mainMod, K, pseudo, # dwindle #Toggle fullscreen bind = $mainMod, F, fullscreen #Reloads waybar bind = $mainMod, R, exec, ~/.scripts/reload_waybar.sh #Takes screenshot bind = , Print, exec, ~/.scripts/screenshot.sh #Opens emoji picker bind = $mainMod, I, exec, pkill wofi || rofimoji #Opens copypasta picker bind = $mainMod, O, exec, pkill wofi || ~/.scripts/copy_pasta.sh #Lock screen bind = $mainMod, L, exec, hyprlock # Move focus with mainMod + arrow keys #Moves focus left bind = $mainMod, left, movefocus, l #Moves focus right bind = $mainMod, right, movefocus, r #Moves focus up bind = $mainMod, up, movefocus, u #Moves focus down bind = $mainMod, down, movefocus, d # Switch workspaces with mainMod + [0-9] #Toggles to workspace 1 (Left Monitor) bind = $mainMod, 1, workspace, 1 #Toggles to workspace 2 (Left Monitor) bind = $mainMod, 2, workspace, 2 #Toggles to workspace 3 (Left Monitor) bind = $mainMod, 3, workspace, 3 #Toggles to workspace 4 (Left Monitor) bind = $mainMod, 4, workspace, 4 #Toggles to workspace 5 (Left Monitor) bind = $mainMod, 5, workspace, 5 #Toggles to workspace 6 (Right Monitor) bind = $mainMod, 6, workspace, 6 #Toggles to workspace 7 (Right Monitor) bind = $mainMod, 7, workspace, 7 #Toggles to workspace 8 (Right Monitor) bind = $mainMod, 8, workspace, 8 #Toggles to workspace 9 (Right Monitor) bind = $mainMod, 9, workspace, 9 #Toggles to workspace 10 (Right Monitor) bind = $mainMod, 0, workspace, 10 # Move active window to a workspace with mainMod + SHIFT + [0-9] #Moves focused window to workspace 1 (Left Monitor) bind = $mainMod SHIFT, 1, movetoworkspace, 1 #Moves focused window to workspace 2 (Left Monitor) bind = $mainMod SHIFT, 2, movetoworkspace, 2 #Moves focused window to workspace 3 (Left Monitor) bind = $mainMod SHIFT, 3, movetoworkspace, 3 #Moves focused window to workspace 4 (Left Monitor) bind = $mainMod SHIFT, 4, movetoworkspace, 4 #Moves focused window to workspace 5 (Left Monitor) bind = $mainMod SHIFT, 5, movetoworkspace, 5 #Moves focused window to workspace 6 (Right Monitor) bind = $mainMod SHIFT, 6, movetoworkspace, 6 #Moves focused window to workspace 7 (Right Monitor) bind = $mainMod SHIFT, 7, movetoworkspace, 7 #Moves focused window to workspace 8 (Right Monitor) bind = $mainMod SHIFT, 8, movetoworkspace, 8 #Moves focused window to workspace 9 (Right Monitor) bind = $mainMod SHIFT, 9, movetoworkspace, 9 #Moves focused window to workspace 10 (Right Monitor) bind = $mainMod SHIFT, 0, movetoworkspace, 10 # Example special workspace (scratchpad) #Togles to special front window workspace bind = $mainMod, S, togglespecialworkspace, magic #MOves focused window to special front focused mode bind = $mainMod SHIFT, S, movetoworkspace, special:magic # Scroll through existing workspaces with mainMod + scroll #Scrolls trough workspaces with mouse (down) bind = $mainMod, mouse_down, workspace, e+1 #Scrolls trough workspaces with up (down) bind = $mainMod, mouse_up, workspace, e-1 # Move/resize windows with mainMod + LMB/RMB and dragging #Drags window bindm = $mainMod, mouse:272, movewindow #Resizes window bindm = $mainMod, mouse:273, resizewindow # Requires playerctl bindl = , XF86AudioNext, exec, playerctl next bindl = , XF86AudioPause, exec, playerctl play-pause bindl = , XF86AudioPlay, exec, playerctl play-pause bindl = , XF86AudioPrev, exec, playerctl previous ############################## ### WINDOWS AND WORKSPACES ### ############################## # Ignore maximize requests from apps. You'll probably like this. windowrule { name = windowrule-1 suppress_event = maximize match:class = .* } # Fix some dragging issues with XWayland windowrule { name = windowrule-2 no_focus = on match:class = ^$ match:title = ^$ match:xwayland = 1 match:float = 1 match:fullscreen = 0 match:pin = 0 } #Rules for specific windows windowrule { name = windowrule-3 float = on match:class = com.github.hluk.copyq } windowrule { name = windowrule-4 float = on match:class = org.pulseaudio.pavucontrol } ######## WORKSPACE BIND ######## # Workspaces 1-5 on DP-2 workspace=1,monitor:DP-2 workspace=2,monitor:DP-2 workspace=3,monitor:DP-2 workspace=4,monitor:DP-2 workspace=5,monitor:DP-2 # Workspaces 6-10 on DP-3 workspace=6,monitor:DP-3 workspace=7,monitor:DP-3 workspace=8,monitor:DP-3 workspace=9,monitor:DP-3 workspace=10,monitor:DP-3 # Runs portal exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP