$dark0_hard = 0xff1d2021
$dark0 = 0xff282828
$dark0_soft = 0xff32302f
$dark1 = 0xff3c3836
$dark2 = 0xff504945
$dark3 = 0xff665c54
$dark4 = 0xff7c6f64
$dark4_256 = 0xff7c6f64

$gray_245 = 0xff928374
$gray_244 = 0xff928374

$light0_hard = 0xfff9f5d7
$light0 = 0xfffbf1c7
$light0_soft = 0xfff2e5bc
$light1 = 0xffebdbb2
$light2 = 0xffd5c4a1
$light3 = 0xffbdae93
$light4 = 0xffa89984
$light4_256 = 0xffa89984

$bright_red = 0xfffb4934
$bright_green = 0xffb8bb26
$bright_yellow = 0xfffabd2f
$bright_blue = 0xff83a598
$bright_purple = 0xffd3869b
$bright_aqua = 0xff8ec07c
$bright_orange = 0xfffe8019

$neutral_red = 0xffcc241d
$neutral_green = 0xff98971a
$neutral_yellow = 0xffd79921
$neutral_blue = 0xff458588
$neutral_purple = 0xffb16286
$neutral_aqua = 0xff689d6a
$neutral_orange = 0xffd65d0e

$faded_red = 0xff9d0006
$faded_green = 0xff79740e
$faded_yellow = 0xffb57614
$faded_blue = 0xff076678
$faded_purple = 0xff8f3f71
$faded_aqua = 0xff427b58
$faded_orange = 0xffaf3a03

# load plugins
exec-once = hyprpm reload -n

monitor = DP-10, preferred, 0x0, 1
monitor = DP-8, preferred, 0x0, 1
monitor = eDP-1, preferred, 1920x0, 1.5
monitor = DP-9, preferred, 3200x0, 1
monitor = DP-11, preferred, 3200x0, 1

debug {
    # enable_stdout_logs = true
}

device {
    name = tpps/2-elan-trackpoint
    sensitivity = -0.4
}

device {
    name = syna88022:00-06cb:ce67-touchpad
    enabled = false
}

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

    # use mouse without focus
    follow_mouse=2

    touchpad {
        natural_scroll=no
    }

    sensitivity=0 # -1.0 - 1.0, 0 means no modification.
}

general {
    layout = dwindle

    gaps_in=5
    gaps_out=5
    border_size=3
    col.active_border=$bright_blue
    col.inactive_border=$dark4
}

decoration {
    rounding=5
    blur {
        enabled = true
        size = 3
        passes = 1

        vibrancy = 0.1696
    }
}

animations {
    enabled = true

    # 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
}

misc {
    middle_click_paste = true
}

dwindle {
    pseudotile = false
    # col.group_border = 0x66777700
    # col.group_border_active = 0x66ffff00
    # 2 = always bottom/right
    force_split = 2
    preserve_split = true
    permanent_direction_override = true
    # special_scale_factor = 0.8f
    # split_width_multiplier = 1.0f
    # no_gaps_when_only = 0
    # use_active_for_splits = 1
}

master {
    new_status = master
}

gestures {
    workspace_swipe=true
}

plugin {
    touch_gestures {
        # The default sensitivity is probably too low on tablet screens,
        # I recommend turning it up to 4.0
        sensitivity = 1.0

        # must be >= 3
        workspace_swipe_fingers = 3

        # switching workspaces by swiping from an edge, this is separate from workspace_swipe_fingers
        # and can be used at the same time
        # possible values: l, r, u, or d
        # to disable it set it to anything else
        workspace_swipe_edge = none

        # in milliseconds
        long_press_delay = 400

        # in pixels, the distance from the edge that is considered an edge
        edge_margin = 10

    }
}

# example window rules
# for windows named/classed as abc and xyz
#windowrule=move 69 420,abc
#windowrule=size 420 69,abc
#windowrule=tile,xyz
#windowrule=float,abc
#windowrule=pseudo,abc
#windowrule=monitor 0,xyz

### BINDS {{{
## wm control {{{

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

bind=SUPER,Q,killactive,
bind=SUPER_SHIFT,Q,exit,
# bind=SUPER,E,exec,dolphin
bind=SUPER_SHIFT,F,togglefloating,
bind=SUPER,F,fullscreen,
bind=SUPER,m,fullscreenstate,1
# hyprgrass-bind=,edge:d:u,exec, wofi --show drun
# hyprgrass-bind=,edge:l:r,exec, busctl call --user sm.puri.OSK0 /sm/puri/OSK0 sm.puri.OSK0 SetVisible b true
# hyprgrass-bind=,edge:r:l,exec, busctl call --user sm.puri.OSK0 /sm/puri/OSK0 sm.puri.OSK0 SetVisible b false
bind=SUPER,P,pseudo,
bind=SUPER,S,workspaceopt,allfloat


bind=SUPER,left,movefocus,l
bind=SUPER,right,movefocus,r
bind=SUPER,up,movefocus,u
bind=SUPER,down,movefocus,d
bind=SUPER,h,movefocus,l
bind=SUPER,l,movefocus,r
bind=SUPER,k,movefocus,u
bind=SUPER,j,movefocus,d

# bind=SUPER_SHIFT,left,  movewindow,l
# bind=SUPER_SHIFT,right, movewindow,r
# bind=SUPER_SHIFT,up,    movewindow,u
# bind=SUPER_SHIFT,down,  movewindow,d
# bind=SUPER_SHIFT,h,     movewindow,l
# bind=SUPER_SHIFT,l,     movewindow,r
# bind=SUPER_SHIFT,k,     movewindow,u
# bind=SUPER_SHIFT,j,     movewindow,d
bind=SUPER_SHIFT,left,  movewindoworgroup,l
bind=SUPER_SHIFT,right, movewindoworgroup,r
bind=SUPER_SHIFT,up,    movewindoworgroup,u
bind=SUPER_SHIFT,down,  movewindoworgroup,d
bind=SUPER_SHIFT,h,     movewindoworgroup,l
bind=SUPER_SHIFT,l,     movewindoworgroup,r
bind=SUPER_SHIFT,k,     movewindoworgroup,u
bind=SUPER_SHIFT,j,     movewindoworgroup,d

bind=SUPER,1,focusworkspaceoncurrentmonitor,1
bind=SUPER,2,focusworkspaceoncurrentmonitor,2
bind=SUPER,3,focusworkspaceoncurrentmonitor,3
bind=SUPER,4,focusworkspaceoncurrentmonitor,4
bind=SUPER,5,focusworkspaceoncurrentmonitor,5
bind=SUPER,6,focusworkspaceoncurrentmonitor,6
bind=SUPER,7,focusworkspaceoncurrentmonitor,7
bind=SUPER,8,focusworkspaceoncurrentmonitor,8
bind=SUPER,9,focusworkspaceoncurrentmonitor,9
bind=SUPER,0,focusworkspaceoncurrentmonitor,10
bind=SUPER,60,focusworkspaceoncurrentmonitor,+1
bind=SUPER,59,focusworkspaceoncurrentmonitor,-1

bind=SUPER_SHIFT,1,movetoworkspacesilent,1
bind=SUPER_SHIFT,2,movetoworkspacesilent,2
bind=SUPER_SHIFT,3,movetoworkspacesilent,3
bind=SUPER_SHIFT,4,movetoworkspacesilent,4
bind=SUPER_SHIFT,5,movetoworkspacesilent,5
bind=SUPER_SHIFT,6,movetoworkspacesilent,6
bind=SUPER_SHIFT,7,movetoworkspacesilent,7
bind=SUPER_SHIFT,8,movetoworkspacesilent,8
bind=SUPER_SHIFT,9,movetoworkspacesilent,9
bind=SUPER_SHIFT,0,movetoworkspacesilent,10

bind=SUPER,mouse_down,workspace,e+1
bind=SUPER,mouse_up,workspace,e-1

bind=SUPER,space,layoutmsg,togglesplit

bind=SUPER_CONTROL, space, togglegroup
bind=SUPER_CONTROL, left,  moveintogroup,l
bind=SUPER_CONTROL, right, moveintogroup,r
bind=SUPER_CONTROL, up,    moveintogroup,u
bind=SUPER_CONTROL, down,  moveintogroup,d
bind=SUPER,         tab,   changegroupactive,f
bind=SUPER_SHIFT,   tab,   changegroupactive,b


# }}}

# os control {{{
# Laptop multimedia keys for volume and LCD brightness
bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume @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 s 10%+
bindel = ,XF86MonBrightnessDown, exec, brightnessctl s 10%-

# XF86ScreenSaver
bind=,160,exec,loginctl lock-session

# }}}

# launchers {{{
bind=SUPER,RETURN,exec,kitty

bind=,Print,exec,slurp | grim -g - - | wl-copy
bind=SUPER,X,exec,systemd-run --scope --user rofi -modi drun -show drun
bind=SUPER,c,exec,systemd-run --scope --user rofi -lines 0 -show calc -modi calc -no-show-match -no-sort -no-history -calc-command "wl-copy '{result}'"
bind=SUPER,a,exec,systemd-run --scope --user $HOME/bin/gopassmenu

# 453 - PickupPhone
bind=,453,exec,systemd-run --scope --user $HOME/bin/mprisctl toggle


# }}}
# }}}

exec-once=systemctl --user import-environment WAYLAND_DISPLAY HYPRLAND_CMD HYPRLAND_INSTANCE_SIGNATURE

exec-once=systemctl --user start hyprland.target
# exec=systemctl --user restart waybar-hyprland
