Created
August 24, 2024 19:18
-
-
Save anlumo/3b5b5850d9b482d3a4b77abe96fdc49f to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# | |
# 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,0x0,1,bitdepth,10,vrr,1,transform,0 | |
monitor=,preferred,auto,1 | |
# See https://wiki.hyprland.org/Configuring/Keywords/ for more | |
# Execute your favorite apps at launch | |
# exec-once = waybar & hyprpaper & firefox | |
# Source a file (multi-file configs) | |
# source = ~/.config/hypr/myColors.conf | |
# Some default env vars. | |
env = XCURSOR_SIZE,48 | |
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/ | |
input { | |
kb_layout = us,at | |
kb_variant = | |
kb_model = | |
kb_options = grp:win_space_toggle,caps:escape_shifted_capslock,compose:menu | |
kb_rules = | |
follow_mouse = 1 | |
touchpad { | |
natural_scroll = yes | |
} | |
touchdevice { | |
output = "eDP-1" | |
} | |
sensitivity = 0.2 # -1.0 - 1.0, 0 means no modification. | |
} | |
general { | |
# See https://wiki.hyprland.org/Configuring/Variables/ for more | |
gaps_in = 1 | |
gaps_out = 1 | |
border_size = 2 | |
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg | |
col.inactive_border = rgba(595959aa) | |
resize_on_border = true | |
extend_border_grab_area = 15 | |
hover_icon_on_border = true | |
layout = dwindle | |
} | |
misc { | |
disable_hyprland_logo = true | |
disable_splash_rendering = true | |
mouse_move_enables_dpms = true | |
enable_swallow = true | |
vrr = 0 | |
vfr = true | |
focus_on_activate = true | |
} | |
decoration { | |
# See https://wiki.hyprland.org/Configuring/Variables/ for more | |
rounding = 4 | |
blur { | |
enabled = no | |
size = 3 | |
} | |
drop_shadow = no | |
shadow_range = 4 | |
shadow_render_power = 3 | |
col.shadow = rgba(1a1a1aee) | |
active_opacity = 1.0 | |
inactive_opacity = 0.8 | |
} | |
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 | |
} | |
# master { | |
# # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more | |
# new_is_master = true | |
# } | |
gestures { | |
# See https://wiki.hyprland.org/Configuring/Variables/ for more | |
workspace_swipe = true | |
workspace_swipe_cancel_ratio = 0.15 | |
} | |
cursor { | |
no_warps = true | |
hide_on_key_press = true | |
hide_on_touch = false | |
} | |
# https://github.com/horriblename/hyprgrass | |
plugin:touch_gestures { | |
# The default sensitivity is probably too low on tablet screens, | |
# I recommend turning it up to 4.0 | |
sensitivity = 1.0 | |
# must be >= 3 | |
workspace_swipe_fingers = 4 | |
# switching workspaces by swiping from an edge, this is separate from workspace_swipe_fingers | |
# and can be used at the same time | |
# possible values: l, r, u, or d | |
# to disable it set it to anything else | |
workspace_swipe_edge = d | |
# in milliseconds | |
long_press_delay = 400 | |
experimental { | |
# send proper cancel events to windows instead of hacky touch_up events, | |
# NOT recommended as it crashed a few times, once it's stabilized I'll make it the default | |
send_cancel = 1 | |
} | |
# show/hide onscreen keyboard | |
hyprgrass-bind = , edge:d:u, exec, busctl call --user sm.puri.OSK0 /sm/puri/OSK0 sm.puri.OSK0 SetVisible b true | |
hyprgrass-bind = , edge:u:d, exec, busctl call --user sm.puri.OSK0 /sm/puri/OSK0 sm.puri.OSK0 SetVisible b false | |
# simulate escape keypress | |
hyprgrass-bind = , swipe:4:d, exec, wtype -k escape | |
hyprgrass-bind = , tap:4, togglefloating | |
hyprgrass-bindm = ,longpress:3, movewindow | |
} | |
# 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 | |
windowrule = float, file_progress | |
windowrule = float, confirm | |
windowrule = float, dialog | |
windowrule = float, download | |
windowrule = float, notification | |
windowrule = float, error | |
windowrule = float, splash | |
windowrule = float, confirmreset | |
windowrule = float, title:Open File | |
windowrule = float, title:branchdialog | |
windowrule = float, Lxappearance | |
windowrule = float, org.kde.polkit-kde-authentication-agent-1 | |
windowrule = animation none,Rofi | |
windowrule = float, title:^(rofi) | |
windowrule = float,viewnior | |
windowrule = float,feh | |
windowrule = float, pavucontrol-qt | |
windowrule = float, pavucontrol | |
windowrule = float, file-roller | |
windowrule = fullscreen, wleave | |
windowrule = float, title:wleave | |
windowrule = fullscreen, title:wleave | |
windowrule = idleinhibit focus, mpv | |
windowrule = idleinhibit fullscreen, firefox | |
windowrule = float, title:^(Media viewer)$ | |
windowrule = float, title:^(Volume Control)$ | |
windowrule = float, title:^(Picture-in-Picture)$ | |
windowrule = size 800 600, title:^(Volume Control)$ | |
windowrule = move 75 44%, title:^(Volume Control)$ | |
# See https://wiki.hyprland.org/Configuring/Keywords/ for more | |
$mainMod = SUPER | |
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more | |
bind = $mainMod, C, killactive, | |
bind = $mainMod CTRL ALT, M, exit, | |
bind = $mainMod, E, exec, nautilus | |
bind = $mainMod, V, togglefloating, | |
#bind = $mainMod, R, exec, wofi --show drun | |
#bind = $mainMod, P, pseudo, # dwindle | |
bind = $mainMod, J, togglesplit, # dwindle | |
bind = $mainMod SHIFT, J, swapsplit, # dwindle | |
bind = $mainMod, k, togglegroup # dwindle | |
bind = $mainMod, t, exec, kitty | |
bind = $mainMod, F, exec, firefox | |
bind = $mainMod, l, exec, swaylock -p -f -c 000000 | |
bind = $mainMod, return, exec, rofi -show run -show-icons | |
bind = $mainMod SHIFT, return, exec, rofi -show calc -modi calc -no-show-match -no-sort -calc-command "echo -n '{result}' | wl-copy" | |
bind = $mainMod ALT, return, exec, rofi -show ssh | |
bind = $mainMod, S, exec, wleave | |
bind = , XF86PowerOff, exec, wleave | |
# 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 | |
bind = $mainMod SHIFT, left, changegroupactive, b | |
bind = $mainMod SHIFT, right, changegroupactive, f | |
# 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 | |
# Move/resize windows with mainMod + LMB/RMB and dragging | |
bindm = $mainMod, mouse:272, movewindow | |
bindm = $mainMod, mouse:273, resizewindow | |
# Multimedia | |
binde=, XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ | |
binde=, XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- | |
binde=, XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle | |
bind=, XF86AudioPlay, exec, playerctl play-pause | |
bind=, XF86AudioPause, exec, playerctl play-pause | |
bind=, XF86AudioNext, exec, playerctl next | |
bind=, XF86AudioPrev, exec, playerctl previous | |
binde=, XF86MonBrightnessDown, exec, brightnessctl s 10- | |
binde=, XF86MonBrightnessUp, exec, brightnessctl s 10+ | |
# Screenshot | |
# $screenshotarea = hyprctl keyword animation "fadeOut,0,1,default"; grimblast --notify copysave area; hyprctl keyword animation "fadeOut,1,4,default" | |
# bind = $mainMod SHIFT, s, exec, $screenshotarea | |
# bind = $mainMod CTRL, s, exec, grimblast --notify --cursor copysave output | |
# bind = $mainMod ALT, s, exec, grimblast --notify --cursor copysave screen | |
bind = $mainMod SHIFT, s, exec, /usr/bin/grimblast --notify copy area | |
bind = $mainMod CTRL, s, exec, /usr/bin/grimblast --notify copy output # screen with mouse cursor | |
bind = $mainMod ALT, s, exec, /usr/bin/grimblast --notify copy active # window with mouse cursor | |
exec-once = hyprpm reload -n | |
# exec-once = wl-clipboard-history -t | |
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP | |
exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP | |
exec-once = ~/.config/hypr/xdg-desktop-portal.sh & disown | |
exec-once = /usr/lib/polkit-kde-authentication-agent-1 | |
exec-once = swayidle -w timeout 300 'swaylock -p -f -c 000000' before-sleep 'swaylock -p -f -c 000000' & disown | |
exec-once = waybar | |
exec-once = dunst | |
exec-once = squeekboard |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment