#                                                ,---.-,      ,---.-,   
#          ,---._                               '   ,'  '.   '   ,'  '. 
#        .-- -.' \                             /   /      \ /   /      \
#        |    |   :                    ,--,   .   ;  ,/.  :.   ;  ,/.  :
#        :    ;   |   ,---.      .--.,--.'|   '   |  | :  ;'   |  | :  ;
#        :        |  '   ,'\   .--,`||  |,    '   |  ./   :'   |  ./   :
#        |    :   : /   /   |  |  |. `--'_    |   :       ,|   :       ,
#        :         .   ; ,. :  '--`_ ,' ,'|    \   \     /  \   \     / 
#        |    ;   |'   | |: :  ,--,'|'  | |     ;   ,   '\   ;   ,   '\ 
#    ___ l         '   | .; :  |  | '|  | :    /   /      \ /   /      \
#  /    /\    J   :|   :    |  :  | |'  : |__ .   ;  ,/.  :.   ;  ,/.  :
# /  ../  `..-    , \   \  / __|  : '|  | '.'|'   |  | :  ;'   |  | :  ;
# \    \         ;   `----'.'__/\_: |;  :    ;'   |  ./   :'   |  ./   :
#  \    \      ,'          |   :    :|  ,   / |   :      / |   :      / 
#   "---....--'             \   \  /  ---`-'   \   \   .'   \   \   .'  
#                            `--`-'             `---`-'      `---`-'    

#  __  __             _ _                 
# |  \/  | ___  _ __ (_) |_ ___  _ __ ___ 
# | |\/| |/ _ \| '_ \| | __/ _ \| '__/ __|
# | |  | | (_) | | | | | || (_) | |  \__ \
# |_|  |_|\___/|_| |_|_|\__\___/|_|  |___/

monitor = HDMI-A-1, 1920x1080@60, 1920x0, 1
monitor = DP-1, 1920x1080@60, 0x0, 1

#  ____                                          
# |  _ \ _ __ ___   __ _ _ __ __ _ _ __ ___  ___ 
# | |_) | '__/ _ \ / _` | '__/ _` | '_ ` _ \/ __|
# |  __/| | | (_) | (_| | | | (_| | | | | | \__ \
# |_|   |_|  \___/ \__, |_|  \__,_|_| |_| |_|___/
#                  |___/                         

$terminal = kitty
$fileManager = dolphin
$menu = wofi -c ~/.config/hypr/wofi/config -s ~/.config/hypr/wofi/style.css


#     _         _             ____  _             _   
#    / \  _   _| |_ ___      / ___|| |_ __ _ _ __| |_ 
#   / _ \| | | | __/ _ \ ____\___ \| __/ _` | '__| __|
#  / ___ \ |_| | || (_) |_____|__) | || (_| | |  | |_ 
# /_/   \_\__,_|\__\___/     |____/ \__\__,_|_|   \__|

exec-once = waybar & hyprpaper


#  _____            _                                      _   
# | ____|_ ____   _(_)_ __ ___  _ __  _ __ ___   ___ _ __ | |_ 
# |  _| | '_ \ \ / / | '__/ _ \| '_ \| '_ ` _ \ / _ \ '_ \| __|
# | |___| | | \ V /| | | | (_) | | | | | | | | |  __/ | | | |_ 
# |_____|_| |_|\_/ |_|_|  \___/|_|_|_|_| |_| |_|\___|_| |_|\__|
# \ \   / /_ _ _ __(_) __ _| |__ | | ___  ___                  
#  \ \ / / _` | '__| |/ _` | '_ \| |/ _ \/ __|                 
#   \ V / (_| | |  | | (_| | |_) | |  __/\__ \                 
#    \_/ \__,_|_|  |_|\__,_|_.__/|_|\___||___/                 

env = XCURSOR_SIZE,24
env = HYPRCURSOR_SIZE,24


#  _                _       ___     _____         _ 
# | |    ___   ___ | | __  ( _ )   |  ___|__  ___| |
# | |   / _ \ / _ \| |/ /  / _ \/\ | |_ / _ \/ _ \ |
# | |__| (_) | (_) |   <  | (_>  < |  _|  __/  __/ |
# |_____\___/ \___/|_|\_\  \___/\/ |_|  \___|\___|_|

general {
    gaps_in = 5
    gaps_out = 20

    border_size = 2

    col.active_border = rgb(ea9aed) rgb(7e5d80) 45deg
    col.inactive_border = rgb(000000)

    resize_on_border = true

    allow_tearing = false

    layout = dwindle
}

decoration {
    rounding = 10
    rounding_power = 2

    active_opacity = 1.0
    inactive_opacity = 0.5

    shadow {
        enabled = true
        range = 4
        render_power = 3
        color = rgba(1a1a1aee)
    }

    blur {
        enabled = true
        size = 3
        passes = 1

        vibrancy = 0.1696
    }
}

animations {
    enabled = yes, please :)

    bezier = easeOutQuint,0.23,1,0.32,1
    bezier = easeInOutCubic,0.65,0.05,0.36,1
    bezier = linear,0,0,1,1
    bezier = almostLinear,0.5,0.5,0.75,1.0
    bezier = quick,0.15,0,0.1,1

    animation = global, 1, 10, default
    animation = border, 1, 5.39, easeOutQuint
    animation = windows, 1, 4.79, easeOutQuint
    animation = windowsIn, 1, 4.1, easeOutQuint, popin 87%
    animation = windowsOut, 1, 1.49, linear, popin 87%
    animation = fadeIn, 1, 1.73, almostLinear
    animation = fadeOut, 1, 1.46, almostLinear
    animation = fade, 1, 3.03, quick
    animation = layers, 1, 3.81, easeOutQuint
    animation = layersIn, 1, 4, easeOutQuint, fade
    animation = layersOut, 1, 1.5, linear, fade
    animation = fadeLayersIn, 1, 1.79, almostLinear
    animation = fadeLayersOut, 1, 1.39, almostLinear
    animation = workspaces, 1, 1.94, almostLinear, fade
    animation = workspacesIn, 1, 1.21, almostLinear, fade
    animation = workspacesOut, 1, 1.94, almostLinear, fade
}

dwindle {
    pseudotile = true
    preserve_split = true
}

master {
    new_status = master
}

misc {
    force_default_wallpaper = -1
    disable_hyprland_logo = false
}


#  ___                   _   
# |_ _|_ __  _ __  _   _| |_ 
#  | || '_ \| '_ \| | | | __|
#  | || | | | |_) | |_| | |_ 
# |___|_| |_| .__/ \__,_|\__|
#           |_|              

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

    follow_mouse = 1

    sensitivity = 0

    touchpad {
        natural_scroll = false
    }
}

gestures {
    workspace_swipe = false
}

#  _  __          _     _           _ _                 
# | |/ /___ _   _| |__ (_)_ __   __| (_)_ __   __ _ ___ 
# | ' // _ \ | | | '_ \| | '_ \ / _` | | '_ \ / _` / __|
# | . \  __/ |_| | |_) | | | | | (_| | | | | | (_| \__ \
# |_|\_\___|\__, |_.__/|_|_| |_|\__,_|_|_| |_|\__, |___/
#           |___/                             |___/     

$mainMod = SUPER

bind = $mainMod, Q, exec, $terminal
bind = $mainMod, C, killactive,
bind = $mainMod, M, exit,
bind = $mainMod, E, exec, $fileManager
bind = $mainMod, V, togglefloating,
bind = $mainMod, R, exec, $menu
bind = $mainMod, P, pseudo, # dwindle
bind = $mainMod, J, togglesplit, # dwindle

bind = $mainMod, left, movefocus, l
bind = $mainMod, right, movefocus, r
bind = $mainMod, up, movefocus, u
bind = $mainMod, down, movefocus, d

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
bind = $mainMod, 6, workspace, 6
bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
bind = $mainMod, 0, workspace, 10

bind=SUPER,F,fullscreen 

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
bind = $mainMod SHIFT, 6, movetoworkspace, 6
bind = $mainMod SHIFT, 7, movetoworkspace, 7
bind = $mainMod SHIFT, 8, movetoworkspace, 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10

bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1

bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow

bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+
bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
bindel = ,XF86MonBrightnessUp, exec, brightnessctl -e4 -n2 set 5%+
bindel = ,XF86MonBrightnessDown, exec, brightnessctl -e4 -n2 set 5%-

bindl = , XF86AudioNext, exec, playerctl next
bindl = , XF86AudioPause, exec, playerctl play-pause
bindl = , XF86AudioPlay, exec, playerctl play-pause
bindl = , XF86AudioPrev, exec, playerctl previous

#  ____                               _           _   
# / ___|  ___ _ __ ___  ___ _ __  ___| |__   ___ | |_ 
# \___ \ / __| '__/ _ \/ _ \ '_ \/ __| '_ \ / _ \| __|
#  ___) | (__| | |  __/  __/ | | \__ \ | | | (_) | |_ 
# |____/ \___|_|  \___|\___|_| |_|___/_| |_|\___/ \__|

bind = ,Print, exec, grim -g "$(slurp)" - | swappy -f -


# __        ___           _                      ___      
# \ \      / (_)_ __   __| | _____      _____   ( _ )     
#  \ \ /\ / /| | '_ \ / _` |/ _ \ \ /\ / / __|  / _ \/\   
#   \ V  V / | | | | | (_| | (_) \ V  V /\__ \ | (_>  <   
# __ \_/\_/ _|_|_| |_|\__,_|\___/ \_/\_/ |___/  \___/\/   
# \ \      / /__  _ __| | _____ _ __   __ _  ___ ___  ___ 
#  \ \ /\ / / _ \| '__| |/ / __| '_ \ / _` |/ __/ _ \/ __|
#   \ V  V / (_) | |  |   <\__ \ |_) | (_| | (_|  __/\__ \
#    \_/\_/ \___/|_|  |_|\_\___/ .__/ \__,_|\___\___||___/
#                              |_|                        

windowrule = suppressevent maximize, class:.*

windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0


env = XDG_MENU_PREFIX,arch-