exec-once="hyprpaper"
exec-once="waybar"
#exec-once="dunst"

env = XCURSOR_SIZE,24
env = HYPRCURSOR_SIZE,24

decoration {
	rounding = 10

	shadow {
		range = 0
		render_power = 1
		color = rgba(282828ff)
		color_inactive = rgba(000000ff)
		offset = 0, 0
	}

	blur {
		enabled = true
		size = 3
		passes = 2
	}
}

misc {
    disable_hyprland_logo = true
    disable_splash_rendering = true
}

general {
	col.active_border = rgb(b8bb26)
	col.inactive_border = rgb(282828)
	border_size = 2
	gaps_in = 10
	gaps_out = 20
	layout = dwindle
}

dwindle {
	pseudotile = true
	preserve_split = true
}

master { 
	new_on_top = true
	new_status = "master"
}

input {
	kb_layout = gb
	repeat_delay = 200
	repeat_rate = 50
	kb_options = caps:escape,compose:ralt
}

# Monitors
monitor = DP-1, 3840x2160@30, 1920x0, 1.5
monitor = HDMI-A-1, 1920x1080@60, 0x600, 1

# Binds
bind = SUPER, Q, exec, kitty
bind = SUPER, C, killactive,
bind = SUPER, M, fullscreen, 1
bind = SUPER SHIFT, M, fullscreen,
bind = SUPER, V, togglefloating,
bind = SUPER, Space, exec, fuzzel
bind = SUPER, P, exec, ~/bin/screenshot
bind = SUPER SHIFT, up, exec, pactl set-sink-volume 0 +5%
bind = SUPER SHIFT, down, exec, pactl set-sink-volume 0 -5%
bind = SUPER, O, exec, hyprlock
bind = SUPER SHIFT, E, exit
bind = SUPER SHIFT, F, exec, pcmanfm 

# Move focus with mainMod + arrow keys
bind = SUPER, h, movefocus, l
bind = SUPER, l, movefocus, r
bind = SUPER, k, movefocus, u
bind = SUPER, j, movefocus, d

bind = SUPER SHIFT, k, layoutmsg, swapprev
bind = SUPER SHIFT, j, layoutmsg, swapnext

bind = SUPER ALT, h, resizeactive, 15 0
bind = SUPER ALT, l, resizeactive, -15 0
bind = SUPER ALT, k, resizeactive, 0 -15
bind = SUPER ALT, j, resizeactive, 0 15

# Switch workspaces with mainMod + [0-9]
bind = SUPER, 1, workspace, 1
bind = SUPER, 2, workspace, 2
bind = SUPER, 3, workspace, 3
bind = SUPER, 4, workspace, 4
bind = SUPER, 5, workspace, 5
bind = SUPER, 6, workspace, 6
bind = SUPER, 7, workspace, 7
bind = SUPER, 8, workspace, 8
bind = SUPER, 9, workspace, 9
bind = SUPER, 0, workspace, 10

# Move active window to a workspace with mainMod + SHIFT + [0-9]
bind = SUPER SHIFT, 1, movetoworkspace, 1
bind = SUPER SHIFT, 2, movetoworkspace, 2
bind = SUPER SHIFT, 3, movetoworkspace, 3
bind = SUPER SHIFT, 4, movetoworkspace, 4
bind = SUPER SHIFT, 5, movetoworkspace, 5
bind = SUPER SHIFT, 6, movetoworkspace, 6
bind = SUPER SHIFT, 7, movetoworkspace, 7
bind = SUPER SHIFT, 8, movetoworkspace, 8
bind = SUPER SHIFT, 9, movetoworkspace, 9
bind = SUPER SHIFT, 0, movetoworkspace, 10

# Mouse binds
bindm = SUPER, mouse:272, movewindow
bindm = SUPER, mouse:273, resizewindow

# Media playback
bindle =      , XF86AudioRaiseVolume, exec, amixer -q set Master 5%+
bindle = SHIFT, XF86AudioRaiseVolume, exec, amixer -q set Master 2%+
bindle = CTRL , XF86AudioRaiseVolume, exec, amixer -q set Master 15%+
bindle =      , XF86AudioLowerVolume, exec, amixer -q set Master 5%-
bindle = SHIFT, XF86AudioLowerVolume, exec, amixer -q set Master 2%-
bindle = CTRL , XF86AudioLowerVolume, exec, amixer -q set Master 15%-
bindl  =      , XF86AudioMute       , exec, amixer set Master toggle
bind   =      , XF86AudioStop       , exec, playerctl stop
bind   =      , XF86AudioPlay       , exec, playerctl play-pause
bind   =      , XF86AudioPrev       , exec, playerctl previous
binde  = SHIFT, XF86AudioPrev       , exec, playerctl position  1.5-
binde  = CTRL , XF86AudioPrev       , exec, playerctl position  7.5-
bind   =      , XF86AudioNext       , exec, playerctl next
binde  = SHIFT, XF86AudioNext       , exec, playerctl position  1.5+
binde  = CTRL , XF86AudioNext       , exec, playerctl position  7.5+

# Window rules
windowrule = float, mpv
