#+title: Phil's Hyprland config #+STARTUP: indent #+PROPERTY: header-args :tangle hyprland.conf #+auto-tangle: t * Intro This is my personal [[https://hyprland.org/][Hyprland]] config. It is a literate config, which means that /this/ is the file you want to be editing, and then running ~org-babel-tangle~ to tangle it into the ~hyprland.conf~ file. A lot of this configuration is very opinionated, and not for everyone. * Thee configuration ** Monitor set-up #+begin_src config monitor=HDMI-A-1, 1920x1080@60, 0x0, 1 monitor=eDP-1, 1920x1080@165, 1920x0, 1 monitor=DP-2, 1920x1080@60, 3840x0, 1 #+end_src ** Input #+begin_src config input { kb_layout = pl kb_options = compose:rctrl follow_mouse = 1 sensitivity = 0 # -1.0 - 1.0, 0 means no modification. touchpad { natural_scroll = no } } #+end_src ** General #+begin_src config general { gaps_in = 5 gaps_out = 20 border_size = 2 col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg col.inactive_border = rgba(595959aa) layout = master } #+end_src ** Decorations #+begin_src config decoration { # See https://wiki.hyprland.org/Configuring/Variables/ for more rounding = 0 blur { enabled = true size = 3 passes = 1 } drop_shadow = yes shadow_range = 4 shadow_render_power = 3 col.shadow = rgba(1a1a1aee) } #+end_src ** Animations #+begin_src config animations { enabled = yes 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 } #+end_src ** Layouts *** Dwindle #+begin_src config 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 } #+end_src *** Master #+begin_src config master { # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more new_is_master = true inherit_fullscreen = true mfact = 0.6 } #+end_src ** Gestures #+begin_src config gestures { # See https://wiki.hyprland.org/Configuring/Variables/ for more workspace_swipe = off } #+end_src ** Environment variables #+begin_src config env = XCURSOR_SIZE,24 env = HYPRSHOT_DIR,"~/enc/pictures/screenshots" #+end_src ** Keybinds *** Hypr #+begin_src config $mainMod = SUPER bind = CTRL_SHIFT_ALT, Q, killactive, bind = SUPER_CTRL_SHIFT_ALT, 0, exit, bind = $mainMod, B, togglefloating, bind = $mainMod, F, fullscreen, 0 bind = $mainMod, P, pseudo, # dwindle bind = $mainMod, J, togglesplit, # dwindle bind = $mainMod, a, layoutmsg, cyclenext bind = $mainMod, o, layoutmsg, cycleprev bind = $mainMod, BACKSPACE, layoutmsg, swapwithmaster auto bind = $mainMod, comma, focusmonitor, -1 bind = $mainMod, period, focusmonitor, +1 #+end_src *** Applications #+begin_src config bind = $mainMod, RETURN, exec, alacritty bind = SUPER_SHIFT, RETURN, exec, sakura bind = $mainMod, D, exec, rofi -show drun bind = , Print, exec, hyprshot -m region bind = $mainMod, E, exec, emacsclient -c -a 'emacs' #+end_src *** Timestamps #+begin_src config bind = $mainMod, W, submap, timestamp submap = timestamp bind = , l, exec, wtype $(date +"%Y.%m.%d %H:%M:%S %Z") bind = , l, submap, reset bind = , e, exec, wtype $(TZ=America/New_York date +'%Y.%m.%d %H:%M:%S %Z') bind = , e, submap, reset bind = , p, exec, wtype $(TZ=America/Denver date +'%Y.%m.%d %H:%M:%S %Z') bind = , p, submap, reset bind= , escape, submap, reset submap = reset #+end_src *** Workspaces **** Show #+begin_src config bind = $mainMod, S, submap, show submap = show bind = , 1, moveworkspacetomonitor, name:1 current bind = , 1, workspace, name:1 bind = , 1, submap, reset bind = , 2, moveworkspacetomonitor, name:2 current bind = , 2, workspace, name:2 bind = , 2, submap, reset bind = , 3, moveworkspacetomonitor, name:3 current bind = , 3, workspace, name:3 bind = , 3, submap, reset bind = , 4, moveworkspacetomonitor, name:4 current bind = , 4, workspace, name:4 bind = , 4, submap, reset bind = , 5, moveworkspacetomonitor, name:5 current bind = , 5, workspace, name:5 bind = , 5, submap, reset bind = , 6, moveworkspacetomonitor, name:6 current bind = , 6, workspace, name:6 bind = , 6, submap, reset bind = , 7, moveworkspacetomonitor, name:7 current bind = , 7, workspace, name:7 bind = , 7, submap, reset bind = , 8, moveworkspacetomonitor, name:8 current bind = , 8, workspace, name:8 bind = , 8, submap, reset bind = , 9, moveworkspacetomonitor, name:9 current bind = , 9, workspace, name:9 bind = , 9, submap, reset bind = , e, moveworkspacetomonitor, name:e current bind = , e, workspace, name:e bind = , e, submap, reset bind = , w, moveworkspacetomonitor, name:w current bind = , w, workspace, name:w bind = , w, submap, reset bind = , g, moveworkspacetomonitor, name:g current bind = , g, workspace, name:g bind = , g, submap, reset bind = , d, moveworkspacetomonitor, name:d current bind = , d, workspace, name:d bind = , d, submap, reset bind = , b, moveworkspacetomonitor, name:b current bind = , b, workspace, name:b bind = , b, submap, reset bind = , j, moveworkspacetomonitor, name:j current bind = , j, workspace, name:j bind = , j, submap, reset bind = , f, moveworkspacetomonitor, name:f current bind = , f, workspace, name:f bind = , f, submap, reset bind = , o, moveworkspacetomonitor, name:o current bind = , o, workspace, name:o bind = , o, submap, reset bind = , u, moveworkspacetomonitor, name:u current bind = , u, workspace, name:u bind = , u, submap, reset bind = , r, moveworkspacetomonitor, name:r current bind = , r, workspace, name:r bind = , r, submap, reset bind = , s, moveworkspacetomonitor, name:s current bind = , s, workspace, name:s bind = , s, submap, reset bind = , t, moveworkspacetomonitor, name:t current bind = , t, workspace, name:t bind = , t, submap, reset bind = , h, moveworkspacetomonitor, name:h current bind = , h, workspace, name:h bind = , h, submap, reset bind = , v, moveworkspacetomonitor, name:v current bind = , v, workspace, name:v bind = , v, submap, reset bind = , y, moveworkspacetomonitor, name:y current bind = , y, workspace, name:y bind = , y, submap, reset bind = , n, moveworkspacetomonitor, name:n current bind = , n, workspace, name:n bind = , n, submap, reset bind = , a, moveworkspacetomonitor, name:a current bind = , a, workspace, name:a bind = , a, submap, reset bind = , i, moveworkspacetomonitor, name:i current bind = , i, workspace, name:i bind = , i, submap, reset bind = , l, moveworkspacetomonitor, name:l current bind = , l, workspace, name:l bind = , l, submap, reset bind = , x, moveworkspacetomonitor, name:x current bind = , x, workspace, name:x bind = , x, submap, reset bind = , c, moveworkspacetomonitor, name:c current bind = , c, workspace, name:c bind = , c, submap, reset bind = , m, moveworkspacetomonitor, name:m current bind = , m, workspace, name:m bind = , m, submap, reset bind = , k, moveworkspacetomonitor, name:k current bind = , k, workspace, name:k bind = , k, submap, reset bind = , q, moveworkspacetomonitor, name:q current bind = , q, workspace, name:q bind = , q, submap, reset bind = , z, moveworkspacetomonitor, name:z current bind = , z, workspace, name:z bind = , z, submap, reset bind = , p, moveworkspacetomonitor, name:p current bind = , p, workspace, name:p bind = , p, submap, reset bind=,escape,submap,reset submap = reset #+end_src **** Throw #+begin_src config bind = $mainMod, T, submap, throw submap = throw bind = , 1, movetoworkspacesilent, name:1 bind = , 1, submap, reset bind = , 2, movetoworkspacesilent, name:2 bind = , 2, submap, reset bind = , 3, movetoworkspacesilent, name:3 bind = , 3, submap, reset bind = , 4, movetoworkspacesilent, name:4 bind = , 4, submap, reset bind = , 5, movetoworkspacesilent, name:5 bind = , 5, submap, reset bind = , 6, movetoworkspacesilent, name:6 bind = , 6, submap, reset bind = , 7, movetoworkspacesilent, name:7 bind = , 7, submap, reset bind = , 8, movetoworkspacesilent, name:8 bind = , 8, submap, reset bind = , 9, movetoworkspacesilent, name:9 bind = , 9, submap, reset bind = , e, movetoworkspacesilent, name:e bind = , e, submap, reset bind = , w, movetoworkspacesilent, name:w bind = , w, submap, reset bind = , g, movetoworkspacesilent, name:g bind = , g, submap, reset bind = , d, movetoworkspacesilent, name:d bind = , d, submap, reset bind = , b, movetoworkspacesilent, name:b bind = , b, submap, reset bind = , j, movetoworkspacesilent, name:j bind = , j, submap, reset bind = , f, movetoworkspacesilent, name:f bind = , f, submap, reset bind = , o, movetoworkspacesilent, name:o bind = , o, submap, reset bind = , u, movetoworkspacesilent, name:u bind = , u, submap, reset bind = , r, movetoworkspacesilent, name:r bind = , r, submap, reset bind = , s, movetoworkspacesilent, name:s bind = , s, submap, reset bind = , t, movetoworkspacesilent, name:t bind = , t, submap, reset bind = , h, movetoworkspacesilent, name:h bind = , h, submap, reset bind = , v, movetoworkspacesilent, name:v bind = , v, submap, reset bind = , y, movetoworkspacesilent, name:y bind = , y, submap, reset bind = , n, movetoworkspacesilent, name:n bind = , n, submap, reset bind = , a, movetoworkspacesilent, name:a bind = , a, submap, reset bind = , i, movetoworkspacesilent, name:i bind = , i, submap, reset bind = , l, movetoworkspacesilent, name:l bind = , l, submap, reset bind = , x, movetoworkspacesilent, name:x bind = , x, submap, reset bind = , c, movetoworkspacesilent, name:c bind = , c, submap, reset bind = , m, movetoworkspacesilent, name:m bind = , m, submap, reset bind = , k, movetoworkspacesilent, name:k bind = , k, submap, reset bind = , q, movetoworkspacesilent, name:q bind = , q, submap, reset bind = , z, movetoworkspacesilent, name:z bind = , z, submap, reset bind = , p, movetoworkspacesilent, name:tp bind = , p, submap, reset bind=,escape,submap,reset submap = reset #+end_src *** Mouse #+begin_src config # 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 #+end_src ** Autostart #+begin_src config exec-once=waybar exec-once=ydotoold #+end_src