# # 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,preferred,auto,1.25 # monitor=,preferred,auto,1 # See https://wiki.hyprland.org/Configuring/Keywords/ for more # Allow screensharing exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # Execute your favorite apps at launch # exec-once = waybar & hyprpaper & firefox exec-once = battery_status & exec-once = swayidle & exec-once = xiccd & exec-once = dunst & exec-once = /usr/lib/ibus/ibus-ui-gtk3 --enable-wayland-im --exec-daemon --daemon-args "--xim --panel disable" exec-once = sleep 3 && kanshi & exec-once = bash ~/.config/hypr/scripts/launch_waybar.sh & exec-once = easyeffects --gapplication-service & exec-once = lxqt-policykit-agent & exec-once = thunar --daemon & exec-once = hyprpaper & # Software exec-once = copyq --start-server exec-once = kdeconnect-indicator & exec-once = element-desktop & exec-once = keepassxc & monitor = eDP-1,pref,auto,1 # On reload: exec = pkill -1 kanshi # Source a file (multi-file configs) # source = ~/.config/hypr/myColors.conf # Some default env vars. env = XCURSOR_SIZE,24 env = XDG_CURRENT_DESKTOP,Hyprland env = XDG_SESSION_TYPE,wayland env = XDG_SESSION_DESKTOP,Hyprland env = QT_QPA_PLATFORM,wayland;xcb env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1 env = GRIMBLAST_EDITOR,kolourpaint # Unset mpd env vars env = MPD_HOST,localhost # For all categories, see https://wiki.hyprland.org/Configuring/Variables/ input { kb_layout = us kb_variant = kb_model = kb_options = compose:caps,mod_led:compose kb_rules = follow_mouse = 1 touchpad { natural_scroll = true } sensitivity = 0 # -1.0 - 1.0, 0 means no modification. } general { # See https://wiki.hyprland.org/Configuring/Variables/ for more gaps_in = 5 gaps_out = 5 border_size = 2 col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg col.inactive_border = rgba(595959aa) layout = dwindle } dwindle { force_split = 0 # follow mouse preserve_split = true } 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) } xwayland { force_zero_scaling = true } 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 } gestures { # See https://wiki.hyprland.org/Configuring/Variables/ for more workspace_swipe = on } # Example per-device config # See https://wiki.hyprland.org/Configuring/Keywords/#executing for more device:epic-mouse-v1 { sensitivity = -0.5 } misc { focus_on_activate = true } # 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 windowrulev2 = float,class:^(thunderbird)$,title:.*Reminders? windowrulev2 = float,class:^(firefox)$,title:^(.*)Extension(.*)Bitwarden(.*)$ windowrulev2 = workspace 4,title:^(Spotify)$ windowrulev2 = workspace 4,class:^(org.keepassxc.KeepassXC)$ windowrulev2 = workspace 5,title:^(Discord).*$ windowrulev2 = workspace 6,title:^(Element).*$ windowrulev2 = workspace 8,class:^(thunderbird)$ windowrulev2 = workspace 9,class:^(thunderbird)$,title:^.*@atix.de.*$ # 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, kitty bind = $mainMod SHIFT, Q, killactive, bind = $mainMod, RETURN, exec, alacritty bind = $mainMod, E, exec, thunar bind = $mainMod CONTROL, L, exec, loginctl lock-session self bindr = $mainMod, D, exec, dunstctl context bind = $mainMod, F, fullscreen # Volume control binde = , XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +100 binde = , XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -100 binde = SHIFT, XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +1000 binde = SHIFT, XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -1000 bindr = , XF86AudioMute, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle # Microphone control bind = , XF86AudioMicMute, exec, pactl set-source-mute @DEFAULT_SOURCE@ toggle bind = $mainMod, c, exec, pactl set-source-mute @DEFAULT_SOURCE@ toggle # Brightness control binde = , XF86MonBrightnessUp, exec, brightnessctl s +2% binde = , XF86MonBrightnessDown, exec, brightnessctl s 2%- binde = SHIFT , XF86MonBrightnessUp, exec, brightnessctl s +10% binde = SHIFT , XF86MonBrightnessDown, exec, brightnessctl s 10%- # Media Control bind = , XF86AudioPlay, exec, mpc --host=localhost toggle bind = , XF86AudioNext, exec, mpc --host=localhost next bind = , XF86AudioPrev, exec, mpc --host=localhost previous bind = , XF86AudioStop, exec, mpc --host=localhost stop # ROFI bind = ALT, SPACE, exec, rofi -show drun bind = $mainMod, TAB, exec, rofi -show window bind = $mainMod SHIFT, N, exec, networkmanager_dmenu --rofi -i bind = $mainMod SHIFT, B, exec, rofi-bluetooth bind = $mainMod SHIFT, V, exec, rofi-rbw bind = $mainMod SHIFT , E, exec, rofimoji --typer wtype bind = $mainMod CONTROL, SPACE, togglefloating, bind = $mainMod, SPACE, layoutmsg, orientationnext # Move focus with mainMod + arrow keys bind = $mainMod, h, movefocus, l bind = $mainMod, j, movefocus, d bind = $mainMod, k, movefocus, u bind = $mainMod, l, movefocus, r # Move windows with mainMod + arrow keys bind = $mainMod SHIFT, h, movewindow, l bind = $mainMod SHIFT, j, movewindow, d bind = $mainMod SHIFT, k, movewindow, u bind = $mainMod SHIFT, l, movewindow, r bind = $mainMod, V, togglesplit, # dwindle # 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, m+1 bind = $mainMod, mouse_up, workspace, m-1 # Move/resize windows with mainMod + LMB/RMB and dragging bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow bind = $mainMod, M, movecurrentworkspacetomonitor, +1 # will switch to a submap called resize bind = $mainMod,R,submap,resize submap = resize binde = ,H,resizeactive,-10 0 binde = ,J,resizeactive,0 10 binde = ,K,resizeactive,0 -10 binde = ,L,resizeactive,10 0 bind = ,escape,submap,reset bind = ,return,submap,reset submap = reset bindr = , Print, submap, screenshot submap = screenshot bind = $mainMod, TAB, exec, rofi -show window bindr = , Print, exec, grimblast --freeze copy area bind = , 1, exec, grimblast --freeze copy area bind = , 2, exec, grimblast --freeze save screen bind = , 3, exec, grimblast --freeze edit area bind = , 4, exec, grimblast --freeze copy screen bind = , 5, exec, grimblast --freeze save area bind = , 6, exec, ~/.config/hypr/scripts/zbarcpy.sh # and reset bind = , 1, submap, reset bind = , 2, submap, reset bind = , 3, submap, reset bind = , 4, submap, reset bind = , 5, submap, reset bind = , 6, submap, reset bind = , escape, submap, reset bindr = , Print, submap, reset submap = reset windowrulev2 = float, title:(KeePassXC - Access Request) windowrulev2 = float, class:(lxqt-policykit-agent) # vim: ft=hypr