# Monitor ( https://wiki.hyprland.org/Configuring/Monitors )
monitor=,1920x1080@240,auto,1
monitor=Unknown-1,disabled

# General Configuration
general { 
	gaps_in = 5
	gaps_out = 20
	border_size = 2

	col.active_border = rgb(89b4fa)
	#rgba(088f72ee) rgba(2ccfabee) rgba(088f72ee) rgba(ffffffee) rgba(7bade2ee) rgba(5049ccee) rgba(3e1a78ee) 90deg
	col.inactive_border = rgb(585b70)
	resize_on_border = false 
	allow_tearing = true
	layout = dwindle
}

# Window Decorations
decoration {
	rounding = 10

	# Change transparency of focused and unfocused windows
	active_opacity = 1.0
	inactive_opacity = 1
	fullscreen_opacity = 1.0

	# drop_shadow = true
	# shadow_range = 4
	# shadow_render_power = 3
	# col.shadow = rgba(1a1a1aee)

	blur {
		enabled = true
		size = 3
		passes = 1
		xray = false

		vibrancy = 0.1696
	}
}

# Animations
animations {
	enabled = true

	bezier = myBezier, 0.05, 0.9, 0.1, 1.05
	bezier = main, 0.445, 0.05, 0.55, 0.95

	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, slide

	animation = specialWorkspace, 1, 6, myBezier, slide
}

# Dwindle layout
dwindle {
	pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
	preserve_split = true # You probably want this
}

# Master layout
master {
    new_status = master
}

# Misc Config
misc { 
	force_default_wallpaper = 2
	disable_hyprland_logo = false
	initial_workspace_tracking = 0
	new_window_takes_over_fullscreen = 1
	disable_splash_rendering = false
	font_family = Geist
}

# Layer Rules
layerrule = animation slide top, waybar
layerrule = animation fade, selection
layerrule = animation popin 70%, wofi
layerrule = animation slide right, notifications
layerrule = dimaround, wofi

layerrule = order -999, wl_shimeji
layerrule = order -10, wofi
layerrule = order -20, waybar
layerrule = order -25, gtk-layer-shell


# Window Rules
windowrulev2 = float,class:^(blueman-manager-wrapped)$
windowrulev2 = size 900 500,class:^(blueman-manager-wrapped)$
windowrulev2 = center,class:^(blueman-manager-wrapped)$

windowrulev2 = float,class:^(org.pulseaudio.pavucontrol)$
windowrulev2 = size 900 500,class:^(org.pulseaudio.pavucontrol)$
windowrulev2 = center,class:^(org.pulseaudio.pavucontrol)$

windowrulev2 = float,class:^(nm-connection-editor)$
windowrulev2 = size 900 500,class:^(nm-connection-editor)$
windowrulev2 = center,class:^(nm-connection-editor)$

windowrule = maximize, class:steam_proton,title:^(Roblox Studio)$

# dotfille settings
windowrulev2 = float,class:io.Astal.ocbwoy3-settings
windowrulev2 = size 900 500,class:io.Astal.ocbwoy3-settings
windowrulev2 = center,class:io.Astal.ocbwoy3-settings


# windowrulev2 = immediate, class:^(sober)$
# windowrulev2 = fullscreen,title:^(Sober)$
