<% opt.getDeviceConf "hyprland.conf" %>

input {
    kb_layout = de

    follow_mouse = 2

    touchpad {
        natural_scroll = no
    }
}

general {
    gaps_in = 5
    gaps_out = 20
    border_size = 2.5 
    col.active_border = rgba(<% opt.catppuccin.red %>ee) rgba(<% opt.catppuccin.green %>ee) 45deg
    col.inactive_border = rgba(<% opt.catppuccin.crust %>aa)

    layout = dwindle
}

decoration {
    rounding = 0
    
    blur {
        enabled = true
        size = 3
        passes = 1
    }

    drop_shadow = yes
    shadow_range = 4
    shadow_render_power = 3
    col.shadow = rgba(1a1a1aee)
}

animations {
    enabled = yes

    bezier = overshoot, 0.05, 0.9, 0.1, 1.05
    bezier = linear, 0.0, 0.0, 1.0, 1.0

    animation = windows, 1, 7, overshoot
    animation = windowsOut, 1, 7, default, popin 80%
    animation = border, 1, 10, default
    animation = borderangle, 1, 16, linear, loop
    animation = fade, 1, 7, default
    animation = workspaces, 1, 6, overshoot, slidefade 20%
}

misc {
    # Covered by wallpaper
    disable_hyprland_logo = true
    disable_splash_rendering = true

    animate_manual_resizes = true
    animate_mouse_windowdragging = true
}

dwindle {
    pseudotile = yes
    preserve_split = yes
}

windowrule = float,^(vinput-editor)$
windowrule = center,^(vinput-editor)$

source = ~/.config/hypr/control-keybinds.conf
source = ~/.config/hypr/prog-keybinds.conf

env = XDG_SESSION_TYPE, wayland
env = MOZ_ENABLE_WAYLAND, 1

env = XCURSOR_SIZE, <% opt.cursor.size %>

<! if opt.nvidia then -- nvidia workarounds !>
env = LIBVA_DRIVER_NAME, nvidia
env = GBM_BACKEND, nvidia-drm
env = __GLX_VENDOR_LIBRARY_NAME, nvidia
env = WLR_NO_HARDWARE_CURSORS, 1
<! end !>

exec-once = echo 'cg.opt.setCurrentWaylandCompositor "hyprland"' >~/confgenfs/_cgfs/eval

exec-once = waybar
exec-once = wlbg
exec-once = sleep 1 && randomwallpaper
exec-once = hyprctl setcursor <% opt.cursor.theme %> <% opt.cursor.size %>
<! if opt.commands.notification_daemon.wl then !>
exec-once = <% opt.commands.notification_daemon.wl %>
<! end !>
