# # Please note not all available settings / options are set here. # For a full list, see the wiki # # See https://wiki.hyprland.org/Configuring/Monitors/ monitor=eDP-1,1920x1080@120, 0x0, 1 monitor=HDMI-A-1,2560x1440@60, 1920x0, 1 monitor=DP-1,2560x1440@60,1920x0, 1 # See https://wiki.hyprland.org/Configuring/Keywords/ for more # Execute your favorite apps at launch # Source a file (multi-file configs) # source = ~/.config/hypr/myColors.conf # Some default env vars. env = XCURSOR_SIZE,48 env = XDG_CURRENT_DESKTOP=Hyprland env = XDG_SESSION_TYPE=wayland env = XDG_SESSION_DESKTOP=Hyprland env = XDG_SESSION_HOME=~ #auto start exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP exec-once=hyprland-autoname-workspaces exec-once=hyprctl setcursor Bibata-Modern-Classic 48 exec-once=waybar exec-once=wpaperd exec-once=/usr/lib/polkit-kde-authentication-agent-1 exec-once=[workspace 1] firefox #apps exec-once=~/bin/startup.sh exec-once=~/bin/suspend.sh workspace = 1,name:web, default:true workspace = 2,name:files workspace = 3,name:edit workspace = 5,name:audio misc { mouse_move_enables_dpms = true key_press_enables_dpms = true } xwayland { force_zero_scaling = true } # For all categories, see https://wiki.hyprland.org/Configuring/Variables/ input { kb_layout = us,ch kb_variant = euro,fr kb_model = kb_options = grp:alt_space_toggle kb_rules = follow_mouse = 1 touchpad { natural_scroll = no } sensitivity = 0 # -1.0 - 1.0, 0 means no modification. } general { # See https://wiki.hyprland.org/Configuring/Variables/ for more gaps_in = 2 gaps_out = 2 border_size = 2 col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg col.inactive_border = rgba(595959aa) layout = dwindle } cursor { inactive_timeout = 3 } decoration { # See https://wiki.hyprland.org/Configuring/Variables/ for more rounding = 10 blur { enabled = true size = 3 passes = 1 } #drop_shadow = yes #shadow_range = 4 #shadow_render_power = 3 #col.shadow = rgba(1a1a1aee) } animations { enabled = yes # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more bezier = myBezier, 0.05, 0.9, 0.1, 1.05 animation = windows, 1, 7, myBezier animation = windowsOut, 1, 7, default, popin 80% animation = border, 1, 10, default animation = borderangle, 1, 8, default animation = fade, 1, 7, default animation = workspaces, 1, 6, default } dwindle { # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below preserve_split = yes # you probably want this #no_gaps_when_only = 1 } master { # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more #new_is_master = true #no_gaps_when_only=true } gestures { # See https://wiki.hyprland.org/Configuring/Variables/ for more workspace_swipe = off } # Example per-device config # See https://wiki.hyprland.org/Configuring/Keywords/#executing for more #device:epic-mouse-v1 { # sensitivity = -0.5 #} # Example windowrule v1 # windowrule = float, ^(kitty)$ # Example windowrule v2 # windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more # See https://wiki.hyprland.org/Configuring/Keywords/ for more $mainMod = SUPER # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more bind = $mainMod, Q, exec, wezterm start #gnome-terminal #alacritty -e screen bind = $mainMod SHIFT, Q, exec, alacritty bind = $mainMod, C, killactive, bind = $mainMod, W, killactive, bind = $mainMod, M, exit, bind = $mainMod, E, exec, nemo bind = $mainMod, Y, exec, copyq toggle bind = $mainMod SHIFT, n, exec, swaync-client -t -sw bind = $mainMod, V, togglefloating, bind = $mainMod, space, exec, fuzzel #bind = $mainMod, space, exec, wofi --show drun bind = $mainMod, P, pseudo, # dwindle bind = $mainMod, J, togglesplit, # dwindle bind = $mainMod, L, exec, swaylock --screenshots --effect-blur 7x5 --clock bind = $mainMod, F, fullscreen, #laptop screen brightness bind = $mainMod ALT, 1, exec, sudo brightnessctl s 10% bind = $mainMod ALT, 2, exec, sudo brightnessctl s 20% bind = $mainMod ALT, 3, exec, sudo brightnessctl s 30% bind = $mainMod ALT, 4, exec, sudo brightnessctl s 40% bind = $mainMod ALT, 5, exec, sudo brightnessctl s 50% bind = $mainMod ALT, 6, exec, sudo brightnessctl s 60% bind = $mainMod ALT, 7, exec, sudo brightnessctl s 70% bind = $mainMod ALT, 8, exec, sudo brightnessctl s 80% bind = $mainMod ALT, 9, exec, sudo brightnessctl s 90% bind = $mainMod ALT, 0, exec, sudo brightnessctl s 100% bind = , XF86MonBrightnessUp, exec, sudo brightnessctl s "+10%" bind = , XF86MonBrightnessDown, exec, sudo brightnessctl s "10%-" #lid binds #bindl = , switch:on:Lid Switch, exec, swaylock --screenshots --effect-blur 7x5 --clock # trigger when the switch is turning off bindl = , switch:off:Lid Switch,exec,hyprctl keyword monitor "eDP-1, preferred, 0x0, 1" # # trigger when the switch is turning on bindl = , switch:on:Lid Switch,exec,hyprctl keyword monitor "eDP-1, disable" # Move focus with mainMod + arrow keys bind = $mainMod, left, movefocus, l bind = $mainMod, right, movefocus, r bind = $mainMod, up, movefocus, u bind = $mainMod, down, movefocus, d # Switch workspaces with mainMod + [0-9] bind = $mainMod, 1, workspace, 1 bind = $mainMod, 2, workspace, 2 bind = $mainMod, 3, workspace, 3 bind = $mainMod, 4, workspace, 4 bind = $mainMod, 5, workspace, 5 bind = $mainMod, 6, workspace, 6 bind = $mainMod, 7, workspace, 7 bind = $mainMod, 8, workspace, 8 bind = $mainMod, 9, workspace, 9 bind = $mainMod, 0, workspace, 10 # Move active window to a workspace with mainMod + SHIFT + [0-9] bind = $mainMod SHIFT, 1, movetoworkspace, 1 bind = $mainMod SHIFT, 2, movetoworkspace, 2 bind = $mainMod SHIFT, 3, movetoworkspace, 3 bind = $mainMod SHIFT, 4, movetoworkspace, 4 bind = $mainMod SHIFT, 5, movetoworkspace, 5 bind = $mainMod SHIFT, 6, movetoworkspace, 6 bind = $mainMod SHIFT, 7, movetoworkspace, 7 bind = $mainMod SHIFT, 8, movetoworkspace, 8 bind = $mainMod SHIFT, 9, movetoworkspace, 9 bind = $mainMod SHIFT, 0, movetoworkspace, 10 # Scroll through existing workspaces with mainMod + scroll bind = $mainMod, mouse_down, workspace, e+1 bind = $mainMod, mouse_up, workspace, e-1 # Scroll workspaces with ctrl + mod + left || right keys bind = $mainMod CTRL, left, workspace, e-1 bind = $mainMod CTRL, right, workspace, e+1 #multimedia keys #bind = ,XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +5% bind = ,XF86AudioRaiseVolume, exec, swayosd-client --output-volume raise bind = ,code:115, exec, swayosd-client --output-volume raise #bind = ,XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -5% bind = ,XF86AudioLowerVolume, exec, swayosd-client --output-volume lower bind = ,code:114, exec, swayosd-client --output-volume lower #bind = ,XF86AudioMute, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle bind = ,XF86AudioMute, exec, swayosd-client --output-volume mute-toggle bind = ,code:113, exec, swayosd-client --output-volume mute-toggle bind = ,XF86AudioPlay, exec, playerctl play-pause bind = ,XF86PowerDown, exec, shutdown -h now # Move/resize windows with mainMod + LMB/RMB and dragging bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow #media control $player = audacious bind = ALT, space, exec, playerctl -p $player play-pause bind = ALT, q, exec, playerctl -p $player next bind = ALT, a, exec, playerctl -p $player previous #screenshot #bind = $mainMod, Shift_R , exec, hyprshot --clipboard-only -m region bind = , Print, exec, hyprshot --clipboard-only -m region #windows rules #windowrule = workspace 5, audacious #windowrule = workspace 1, firefox windowrule = float, class:com.github.hluk.copyq windowrule = float,title:^(.*)Aria2(.*)Download(.*)Firefox(.*)$ windowrule=float,class:clight-gui windowrule=float,class:localsend windowrule=float,class:blueman-manager windowrule=tile,title:A Ren'Py Game windowrule = stayfocused,class:(steam),title:(^$) windowrule = stayfocused,class:(zoom),title:(^$) # To get more information about a window’s class, title, XWayland status or its size, you can use `hyprctl clients`. (From Hyprland Wiki) windowrulev2 = float,class:^(one.alynx.showmethekey)$ windowrulev2 = float,class:^(showmethekey-gtk)$ # make window floating windowrulev2 = pin,class:^(showmethekey-gtk)$ # pin window