# Monitor
monitor=,highrr,auto,1.00

# Startup
exec-once = waybar -c ~/.config/waybar/config
exec-once = pulseaudio
exec-once = syncthing --no-browser
exec-once = dunst
exec-once = swww init

# Settings
input {
    kb_layout = us
    kb_variant =
    kb_model =
    kb_options =
    kb_rules =

    follow_mouse = 2

    touchpad {
        natural_scroll = no
    }

    sensitivity = 0 
}

# Disable touchscreen
device {
    name = gxtp7386:00-27c6:011a
    enabled = false
}


dwindle {
    pseudotile = yes 
    preserve_split = yes 
}

master {
    new_is_master = true
}

gestures {
    workspace_swipe = off
}

# Window rules
source = ~/.config/hypr/windowrules.conf

# General binds
$mainMod = SUPER
bind = $mainMod, RETURN, exec, alacritty
bind = $mainMod SHIFT, P, pseudo
bind = $mainMod SHIFT, Q, killactive
bind = $mainMod SHIFT, L, exec, swaylock
bind = $mainMod, M, exit, 
bind = $mainMod, F, fullscreen
bind = $mainMod, SPACE, togglefloating
bind = $mainMod, S, exec, pkill -x rofi || rofi -show drun
bind = $mainMod SHIFT, S, exec, hyprshot -m region --clipboard-only

# Laptop binds
binde = , XF86MonBrightnessDown, exec, brightnessctl set 5%-
binde = , XF86MonBrightnessUp, exec, brightnessctl set 5%+
binde = , XF86AudioMute, exec, pulseaudio-ctl mute
binde = , XF86AudioLowerVolume, exec, pulseaudio-ctl down
binde = , XF86AudioRaiseVolume, exec, pulseaudio-ctl up


# Move focus 
bind = $mainMod, h, movefocus, l
bind = $mainMod, l, movefocus, r
bind = $mainMod, k, movefocus, u
bind = $mainMod, j, movefocus, d

# 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

# 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

# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow

# sets repeatable binds for resizing the active window
binde = $mainMod, right, resizeactive, 10 0
binde = $mainMod, left, resizeactive, -10 0
binde = $mainMod, up, resizeactive, 0 -10
binde = $mainMod, down, resizeactive, 0 10

# Sources
source = ~/.config/hypr/theme.conf