exec-once=xprop -root -f _XWAYLAND_GLOBAL_OUTPUT_SCALE 32c -set _XWAYLAND_GLOBAL_OUTPUT_SCALE 2
exec-once=discord
exec-once=eww open bar
exec-once=fusuma -c /home/zoriya/.config/fusuma/config.yaml
exec-once=swayidle before-sleep lock
exec-once=/home/zoriya/.config/hypr/wallpaper.sh init
exec-once=kitty --class=scratchpad
exec-once = wl-paste --type text --watch cliphist store
exec-once=ntfy

autogenerated = 0

monitor=eDP-1,2880x1800@90,auto,1.60
workspace=eDP-1,4
#monitor=,preffered,auto,auto

input {
    kb_layout = us
    kb_options = caps:swapescape

    follow_mouse = 1

    touchpad {
        natural_scroll = yes
    }

    sensitivity = 0
}

general {
    gaps_in = 5
    gaps_out = 20
    border_size = 2
    col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
    col.inactive_border = rgba(595959aa)

    layout = master
}

decoration {
    # See https://wiki.hyprland.org/Configuring/Variables/ for more

    rounding = 10
    blur = yes
    blur_size = 3
    blur_passes = 1
    blur_new_optimizations = on

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

animations {
    enabled = yes

    # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more

    bezier = myBezier, 0.05, 0.9, 0.1, 1.05

    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
}

dwindle {
    # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
    pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
    preserve_split = yes # you probably want this
}

master {
    # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
    new_is_master = true
    new_on_top = true
    no_gaps_when_only = true
}

gestures {
    workspace_swipe = on
    workspace_swipe_numbered = true
    workspace_swipe_distance = 150
    workspace_swipe_min_speed_to_force = 160
}

misc {
    disable_hyprland_logo = true
    disable_splash_rendering = true
    focus_on_activate = true
}

# Example windowrule v1
# windowrule = float, ^(kitty)$
# Example windowrule v2
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more

windowrulev2=workspace 3 silent,class:^(discord)$
windowrulev2=float,title:^(Discord Updater)$
windowrulev2=workspace 3 silent,title:^(Discord Updater)$

windowrulev2=workspace special:scratchpad silent,class:^(scratchpad)$

windowrulev2=nofullscreenrequest,class:^(zoom)$
windowrulev2=float,class:^(zoom)$

# See https://wiki.hyprland.org/Configuring/Keywords/ for more
$mainMod = SUPER

bind = $mainMod, C, killactive, 
bind = $mainMod SHIFT, C, exec,sh -c "kill $(hyprctl activewindow -j | jq '.pid')"
bind = $mainMod, J, cyclenext, prev
bind = $mainMod, K, cyclenext, 
bind = $mainMod SHIFT, J, swapnext, prev
bind = $mainMod SHIFT, K, swapnext, 
bind = $mainMod, H, splitratio, -0.05
bind = $mainMod, L, splitratio, +0.05
#bind = $mainMod, U, addmaster,
#bind = $mainMod, I, removemaster,
bind = $mainMod, ENTER, bringactivetotop, 
bind = $mainMod, TAB, focusurgentorlast, 

bind = $mainMod, M, fullscreen, 1
bind = $mainMod, T, fullscreen, 1
bind = $mainMod, F, fullscreen, 0
bind = $mainMod SHIFT, F, fakefullscreen, 

bind = $mainMod, backslash, togglespecialworkspace, special:default
bind = $mainMod, SLASH, togglefloating, 

# Move focus with mainMod + arrow keys
bind = $mainMod, left, movefocus, l
bind = $mainMod, right, movefocus, r
bind = $mainMod, up, movefocus, u
bind = $mainMod, down, 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
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 = $mainMod, S, togglespecialworkspace, default
bind = $mainMod, space, togglespecialworkspace, scratchpad
bind = $mainMod, backslash, togglespecialworkspace, scratchpad

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

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

bind = $mainMod, E, exec, kitty
bind = $mainMod, R, exec, firefox
bind = $mainMod, P, exec, rofi -show drun
bind = $mainMod, X, exec, grim -g "$(slurp -b 00000000 -s 61616140)" - | wl-copy
bind = $mainMod, V, exec, cliphist list | rofi -dmenu | cliphist decode | wl-copy
# bind = $mainMod, SPACE, exec, gfold | rofi -dmenu | 
#bindr = SUPER, SUPER_L, exec, ~/.config/eww/togglepanel.sh


$WOBSOCK = $XDG_RUNTIME_DIR/wob.sock
# Use exec and killall to refresh the colorscheme of wob.
exec=killall wob ; rm -f $WOBSOCK && mkfifo $WOBSOCK && tail -f $WOBSOCK | wob

bindle=,XF86MonBrightnessDown,exec,brightnessctl set 5%- | sed -En 's/.*\(([0-9]+)%\).*/\1/p' > $WOBSOCK
bindle=,XF86MonBrightnessUp,exec,brightnessctl set +5% | sed -En 's/.*\(([0-9]+)%\).*/\1/p' > $WOBSOCK

bindle=,XF86AudioRaiseVolume,exec,pamixer --allow-boost -ui 2 && pamixer --get-volume > $WOBSOCK
bindle=,XF86AudioLowerVolume,exec,pamixer --allow-boost -ud 2 && pamixer --get-volume > $WOBSOCK
bindl=,XF86AudioMute,exec,pamixer --toggle-mute && ( [ "$(pamixer --get-mute)" = "true" ] && echo 0 > $WOBSOCK ) || pamixer --get-volume > $WOBSOCK

bindl=,XF86AudioMicMute,exec,pactl set-source-mute @DEFAULT_SOURCE@ toggle
