# This is an example Hyprland config file.
# Syntax is the same as in Hypr, but settings might differ.
#
# Refer to the wiki for more information.
source=./monitors.conf
#workspace=DP-1,1
workspace=1, m:DP-1
workspace=2, m:DP-1
workspace=3, m:DP-1
workspace=4, m:DP-1
workspace=5, m:DP-1
workspace=6, m:DP-3
workspace=7, m:DP-3
workspace=8, m:DP-3
workspace=9, m:DP-3
workspace=10, m:DP-3


input {
    kb_layout=pl
    kb_variant=
    kb_model=
    kb_options=
    kb_rules=
    numlock_by_default=true
    follow_mouse=1
    touchpad {
      natural_scroll=true
			tap-and-drag=false
		}
}

general {
    #max_fps=60 # deprecated, unused
    #main_mod=SUPER
    gaps_in=5
    gaps_out=20
    border_size=2
    col.active_border=0x66ee1111
    col.inactive_border=0x66333333
    resize_on_border=true
    #damage_tracking=full # leave it on full unless you hate your GPU and want to make it suffer
}

gestures {
		workspace_swipe=true
		workspace_swipe_touch=true
}


decoration {
    rounding=10
    blur {
      enabled=1
      size=3 # minimum 1
      passes=3 # minimum 1, more passes = more resource intensive.
     }
		# Your blur "amount" is blur_size * blur_passes, but high blur_size (over around 5-ish) will produce artifacts.
    # if you want heavy blur, you need to up the blur_passes.
    # the more passes, the more you can up the blur_size without noticing artifacts.
}

dwindle {
    pseudotile=0 # enable pseudotiling on dwindle
}

misc {
		force_default_wallpaper=0
		vrr=1
		enable_anr_dialog=0
}
# 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

# example binds
bind=SUPERSHIFT,Z,exec,alacritty
bind=SUPER,Z,exec,wezterm
bind=SUPER,X,killactive,
bind=SUPER_SHIFT,X,exec,hyprctl activewindow |grep pid |tr -d 'pid:'|xargs kill
bind=SUPER_SHIFT,Q,exit,

bind=SUPER,E,exec,nemo
bind=SUPERSHIFT,E,exec,wezterm -e ranger

bind=SUPER,F,fullscreen,1
bind=SUPERSHIFT,F,fullscreen,0

bind=SUPERSHIFT,L,exec,hyprlock

bind=SUPER,T,togglefloating,
bind=SUPER,R,exec,wofi --show drun -o DP-3
bind=SUPER,P,pseudo,
bind=SUPER,SPACE,exec,rofi -modi drun,run,window,calc -show drun
bind=SUPER,C,pin

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

bindm = SUPER, mouse:272, movewindow
bindm = SUPER, mouse:273, resizewindow

bind=SUPER,1,workspace,1
bind=SUPER,2,workspace,2
bind=SUPER,3,workspace,3
bind=SUPER,4,workspace,4
bind=SUPER,5,workspace,5
bind=SUPER,6,workspace,6
bind=SUPER,7,workspace,7
bind=SUPER,8,workspace,8
bind=SUPER,9,workspace,9
bind=SUPER,0,workspace,10

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=SUPERSHIFT,S,exec,flameshot gui
bind = SUPER, V, exec, nwg-clipman
# T14gen2 FN KEYS

bind=,XF86AudioMicMute,exec,amixer set Capture toggle
bind=,XF86AudioMute,exec,amixer set Master toggle
bind=,XF86AudioRaiseVolume,exec,amixer set Master playback 5%+
bind=,XF86AudioLowerVolume,exec,amixer set Master playback 5%-
bind=,XF86MonBrightnessUp,exec,xbacklight -inc 5
bind=,XF86MonBrightnessDown,exec,xbacklight -dec 5
# FN + RSHIFT
bind=,XF86Launch3,exec,touch-mode
bind=CTRL,XF86Launch3,exec,hyprctl keyword monitor "eDP-1,1920x1080@60,0x0,1"
bind=SHIFT,XF86Launch3,exec,hyprctl keyword monitor "eDP-1,1920x1080@60,0x0,1.5"

bind=SHIFT,XF86MonBrightnessDown,exec,xbacklight -set 0.01
bind=SHIFT,XF86MonBrightnessUp,exec,xbacklight -set 100

exec-once=dash ~/.config/hypr/autostart.sh
exec-once=hyprctl setcursor Vimix-white-cursors 24
# exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once = wl-paste --type text --watch cliphist store
exec-once = wl-paste --type image --watch cliphist store


windowrulev2 = opacity 0.0 override 0.0 override,class:^(xwaylandvideobridge)$
windowrulev2 = nofocus,class:^(xwaylandvideobridge)$
windowrulev2 = noinitialfocus,class:^(xwaylandvideobridge)$
windowrulev2 = noblur,class:^(xwaylandvideobridge)$


windowrulev2 = pin,class:^(scrcpy)$
windowrulev2 = move onscreen 100%-30,class:^(scrcpy)$

windowrulev2 = stayfocused,title:^rofi

windowrulev2 = float,class:^(flameshot)$
windowrulev2 = pin,class:^(flameshot)$

windowrulev2 = opacity 0.0 override 0.0 override,title:^(.+Espanso Sync Tool.+)$
windowrulev2 = float,title:^(Espanso Sync Tool)$
windowrulev2 = size 0.1 0.1,title:^(Espanso Sync Tool)$
windowrulev2 = move 100% 100%,title:^(Espanso Sync Tool)$
windowrulev2 = noblur,title:^(Espanso Sync Tool)$

# Envars; to play along with wayland nicely

env = QT_QPA_PLATFORM,wayland;xcb
env = CLUTTER_BACKEND,wayland
env = GDK_BACKEND,wayland,x11
env = QT_AUTO_SCREEN_SCALE_FACTOR,1
env = QT_QPA_PLATFORMTHEME,qt5ct
env = XDG_CURRENT_DESKTOP,Hyprland

plugin {
    hyprbars {
        # example config
        bar_height = 20

        # example buttons (R -> L)
        # hyprbars-button = color, size, on-click
				bar_color = rgb(000000)
        hyprbars-button = rgb(ff4040), 10, 󰖭, hyprctl dispatch killactive
        hyprbars-button = rgb(eeee11), 10, , hyprctl dispatch fullscreen 1
        hyprbars-button = rgb(11ee11), 10, ¥, hyprctl dispatch togglefloating
    }
		hyprfocus {
    	enabled = yes

    	focus_animation = shrink

    	bezier = bezIn, 0.5,0.0,1.0,0.5
    	bezier = bezOut, 0.0,0.5,0.5,1.0

    	flash {
      	  flash_opacity = 0.7

        	in_bezier = bezIn
        	in_speed = 0.5

        out_bezier = bezOut
        out_speed = 3
    }

    shrink {
        shrink_percentage = 0.98

        in_bezier = bezIn
        in_speed = 0.5

        	out_bezier = bezOut
        	out_speed = 3
    }
}
    hyprtrails {
        color = rgba(ff0000ff)
    }
    hyprexpo {
        columns = 3
        gap_size = 5
        bg_col = rgb(111111)
        workspace_method = center current # [center/first] [workspace] e.g. first 1 or center m+1

        enable_gesture = true # laptop touchpad, 4 fingers
        gesture_distance = 300 # how far is the "max"
        gesture_positive = true # positive = swipe down. Negative = swipe up.
    }
}

#exec-once = hyprpm reload -n
