# See https://wiki.hyprland.org/Configuring/Monitors/ monitor=eDP-1,highres,auto,1.5,bitdepth,10,vrr,1 #monitor=HDMI-A-1,highres,auto,1 $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/1.png -m fill exec-once = xrdb -merge $HOME/.config/.Xresource exec-once = $hypr_dir/workspace 'focus' exec-once = $hypr_dir/battery