Files
hyprdots/hypr/hyprland.conf
2024-10-04 13:19:52 +05:30

232 lines
7.4 KiB
Plaintext

# See https://wiki.hyprland.org/Configuring/Monitors/
monitor=eDP-1,highres,auto,1.5,vrr,0,bitdepth,10
$hypr_dir="$HOME/.config/hypr"
$accent=6FAAFF
#$browser=google-chrome-stable
$browser=firefox
#envs
env = BROWSER,$browser
env = CLUTTER_BACKEND,wayland
env = EDITOR,nvim
env = GDK_BACKEND,wayland,x11
env = GDK_SCALE,2 #xwayland fractional scaling
env = GTK_THEME,Materia-dark
env = GLOBAL_ACCENT,$accent
env = IMAGE,nsxiv
env = LIBSEAT_BACKEND,logind
env = MOZ_ENABLE_WAYLAND,1
env = OPENER,xdg-open
env = QT_AUTO_SCREEN_SCALE_FACTOR,1
env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
env = QT_QPA_PLATFORMTHEME,gtk3
env = QT_QPA_PLATFORM,wayland;xcb
env = SDL_VIDEODRIVER,wayland
env = TERMINAL,foot
env = VIDEO,mpv
env = VISUAL,nvim
env = WLR_NO_HARDWARE_CURSORS,1
env = WM,hyprland
env = XDG_CURRENT_DESKTOP,Hyprland
env = XDG_SESSION_DESKTOP,Hyprland
env = XDG_SESSION_TYPE,wayland
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
input {
kb_layout = us
kb_variant =
kb_model =
kb_options =
kb_rules =
follow_mouse = 1
touchpad {
natural_scroll = yes
}
sensitivity = 0 # -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 = 3
col.active_border = rgb($accent)
col.inactive_border = rgba(484848aa)
resize_on_border=false
layout = dwindle
}
decoration {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
rounding = 10
drop_shadow = yes
shadow_range = 3
shadow_render_power = 2
col.shadow = rgba(1a1a1aee)
blur {
enabled = yes
size = 8
passes = 2
}
}
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
force_split=2
}
gestures {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
workspace_swipe = true
workspace_swipe_fingers = 3
}
misc {
force_default_wallpaper = 0
vfr = 1
#vrr = 1
#no_direct_scanout = false
}
xwayland {
force_zero_scaling = false
}
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
$mainMod = SUPER
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
bind = $mainMod, W, killactive,
bind = $mainMod, M, fullscreen,
bind = $mainMod, F, togglefloating,
bind = $mainMod, P, pseudo, # dwindle
bind = $mainMod, J, togglesplit, # dwindle
# 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,Tab,cyclenext,
bind = $mainMod,Tab,bringactivetotop,
# 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, 49, togglespecialworkspace
#bind = $mainMod, 49,exec,hyprctl dispatch $(head -1 /tmp/workprev)
# 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, up, movewindow, u
bind = $mainMod SHIFT, down, movewindow, d
bind = $mainMod SHIFT, left, movewindow, l
bind = $mainMod SHIFT, right, movewindow, r
bind = $mainMod SHIFT, 49, movetoworkspace, special
# 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
#applications shortcuts
bind = $mainMod, F4, exec, $HOME/repos_scripts/ani-new
bind = $mainMod, F5, exec, $hypr_dir/wifi
bind = $mainMod, return, exec, [workspace 2] foot
bind = $mainMod, Q, exec, $hypr_dir/dmenu_run_history
bind = $mainMod, G, exec, $hypr_dir/rungame
bind = $mainMod, SPACE, exec, $hypr_dir/bemoji
bind = $mainMod, A, exec, [workspace 1] $browser
bind = $mainMod, C, exec, [workspace 3] code
bind = $mainMod, E, exec, [workspace 3] pcmanfm
bind = $mainMod, B, exec, $hypr_dir/bkmark "add"
bind = $mainMod, I, exec, $hypr_dir/bkmark
bind = $mainMod SHIFT, I, exec, $hypr_dir/bkmark "copy"
bind = $mainMod SHIFT, B, exec, $hypr_dir/bkmark "rm"
#bind = $mainMod SHIFT, L, exit,
bind = $mainMod, L, exec, loginctl lock-session
bind = $mainMod, F11, exec, $hypr_dir/info
#bind = $mainMod, F10, exec, $hypr_dir/bluetooth
bind = $mainMod, F6, exec, $hypr_dir/workspace
bind = $mainMod SHIFT, F6, exec, $hypr_dir/workspace "toggle"
bind = $mainMod, F1, exec, $hypr_dir/screenshot 'selclip'
bind = $mainMod SHIFT, F1, exec, $hypr_dir/screenshot 'fullclip'
bind = ,Print, exec, $hypr_dir/screenshot 'fullsave'
bind = $mainMod, F12, exec, $hypr_dir/date
bind = $mainMod, Delete, exec, $hypr_dir/workspace 'list'
#media keys
binde =, XF86AudioLowerVolume, exec, pamixer --set-limit 140 --allow-boost -d 2 && $hypr_dir/volume
binde =, XF86AudioRaiseVolume, exec, pamixer --set-limit 140 --allow-boost -i 2 && $hypr_dir/volume
binde =, XF86AudioMute, exec, pamixer --set-limit 140 --allow-boost -t && $hypr_dir/volume
binde =, XF86AudioPlay, exec, echo cycle pause | socat - "/tmp/yt-music/yt-music-mpvsocket"
binde =, XF86AudioPause, exec, echo cycle pause | socat - "/tmp/yt-music/yt-music-mpvsocket"
binde =, XF86Launch2, exec, $HOME/repos_scripts/yt-music search_play #why not :)
binde =, XF86AudioNext, exec, $HOME/repos_scripts/yt-music play_next
binde =, XF86AudioPrev, exec, $HOME/repos_scripts/yt-music play_next menu
binde =, XF86MonBrightnessUp, exec, $hypr_dir/brightness '+'
binde =, XF86MonBrightnessDown, exec, $hypr_dir/brightness '-'
#windows rules
windowrulev2 = workspace 1,class:^(google-chrome)$
windowrulev2 = workspace 1,class:^(firefox)$
windowrulev2 = workspace 4,class:^(Google-chrome)$
windowrulev2 = workspace 3,class:^(mpv)$
windowrulev2 = workspace 3,class:^([c|C]ode)
#windowrulev2 = workspace 4,class:^(org.pulseaudio.pavucontrol)$
windowrulev2 = workspace 4,class:^(org.freedesktop.Xwayland)$
windowrulev2 = fullscreen,class:^(org.freedesktop.Xwayland)$
windowrulev2 = workspace 4,class:^(virt-manager)$
windowrulev2 = bordercolor rgba(64f2a4FF), xwayland: 1
windowrulev2 = workspace 3,class:^(Waydroid)$
windowrulev2 = pseudo, class:^(Waydroid)$
#workspace rules
workspace = 1, on-created-empty:$browser
workspace = 2, on-created-empty:foot
workspace = special, on-created-empty:[float] foot
#startup applications
exec-once = dbus-update-activation-environment --systemd --all
exec-once = hypridle
exec-once = ssh-agent
exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
exec-once = swaybg -i $HOME/.config/wall/4.jpg -m fill
exec-once = xrdb -merge $HOME/.config/.Xresource
exec-once = $hypr_dir/workspace 'focus'
exec-once = $hypr_dir/battery