dot/.config/hypr/README.org
2023-10-15 23:24:24 +02:00

9.9 KiB

Phil's Hyprland config

Intro

This is my personal 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

monitor=HDMI-A-1, 1920x1080@60, 0x0, 1
monitor=eDP-1, 1920x1080@165, 1920x0, 1
monitor=DP-2, 1920x1080@60, 3840x0, 1

Input

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
    }
}

General

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
}

Decorations

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)
}

Animations

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
}

Layouts

Dwindle

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

master {
    # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
    new_is_master = true
    inherit_fullscreen = true
    mfact = 0.6
}

Gestures

gestures {
    # See https://wiki.hyprland.org/Configuring/Variables/ for more
    workspace_swipe = off
}

Environment variables

env = XCURSOR_SIZE,24
env = HYPRSHOT_DIR,"~/enc/pictures/screenshots"

Keybinds

Hypr

$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

Applications

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'

Workspaces

Show
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
Throw
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

Mouse

# 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

Autostart

exec-once=waybar