set $lock swaylock
set $mod Mod4
set $term kitty
set $laptop eDP-1

set $left h
set $down j
set $up k
set $right l

input "1739:30385:DELL08AF:00_06CB:76B1_Touchpad" {
  tap enabled
  natural_scroll enabled
  pointer_accel 0.2
}

input "1133:16514:Logitech_MX_Master_3" {
  pointer_accel 0
  scroll_factor 0.5
}

input "*" {
  xkb_layout us-se-umlauts
}

bindsym XF86AudioRaiseVolume exec pamixer -ui 2 && pamixer --get-volume > $SWAYSOCK.wob
bindsym XF86AudioLowerVolume exec pamixer -ud 2 && pamixer --get-volume > $SWAYSOCK.wob
bindsym XF86AudioMute exec pamixer --toggle-mute && ( pamixer --get-mute && echo 0 > $SWAYSOCK.wob ) || pamixer --get-volume > $SWAYSOCK.wob
bindsym XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle
bindsym XF86MonBrightnessDown exec brightnessctl set 5%-
bindsym XF86MonBrightnessUp exec brightnessctl set +5%
bindsym XF86AudioPlay exec playerctl play-pause
bindsym XF86AudioNext exec playerctl next
bindsym XF86AudioPrev exec playerctl previous

bindsym F1 exec sway-focus F1
bindsym F2 exec sway-focus F2
bindsym F3 exec sway-focus F3
bindsym F4 exec sway-focus F4
bindsym F5 workspace 5
bindsym F6 workspace 6
bindsym F7 workspace 7
bindsym F8 workspace 8
bindsym Shift+F1 mark F1; exec sway-focus F1
bindsym Shift+F2 mark F2; exec sway-focus F2
bindsym Shift+F3 mark F3; exec sway-focus F3
bindsym Shift+F4 mark F4; exec sway-focus F4
bindsym Shift+F5 move container to workspace 5
bindsym Shift+F6 move container to workspace 6
bindsym Shift+F7 move container to workspace 7
bindsym Shift+F8 move container to workspace 8

bindsym Mod4+1 workspace 1
bindsym Mod4+2 workspace 2
bindsym Mod4+3 workspace 3
bindsym Mod4+4 workspace 4
bindsym Mod4+5 workspace 5
bindsym Mod4+6 workspace 6
bindsym Mod4+7 workspace 7
bindsym Mod4+8 workspace 8
bindsym Mod4+9 workspace 9
bindsym Shift+Mod4+1 move container to workspace 1
bindsym Shift+Mod4+2 move container to workspace 2
bindsym Shift+Mod4+3 move container to workspace 3
bindsym Shift+Mod4+4 move container to workspace 4
bindsym Shift+Mod4+5 move container to workspace 5
bindsym Shift+Mod4+6 move container to workspace 6
bindsym Shift+Mod4+7 move container to workspace 7
bindsym Shift+Mod4+8 move container to workspace 8
bindsym Shift+Mod4+9 move container to workspace 9

bindsym Mod4+Shift+c kill
bindsym Mod4+Shift+q exit
bindsym Mod4+Return exec $term
bindsym Mod4+Shift+Return exec $term tmux attach -t0
bindsym Mod4+Control+Return exec "autossh -M21001 -f -A -T home-dev sleep inf; $term mosh -p 2022 home -- tmux attach -t 0"
bindsym Mod4+p exec wofi --show run
bindsym Mod4+e exec ~/bin/wofi-emoji
bindsym Mod4+l exec $lock
bindsym Mod4+Shift+l exec 'swaymsg "output * dpms off"; $lock'
bindsym Mod4+space exec makoctl dismiss -a
bindsym Mod4+print exec grim -g "$(slurp)" - | wl-copy
bindsym Mod4+Escape reload
bindsym Mod4+g layout toggle split tabbed stacking
bindsym Mod4+Tab focus next sibling
bindsym Mod4+Control+Tab move workspace to output right

bindsym Mod4+Shift+minus move scratchpad
bindsym Mod4+minus scratchpad show
bindsym Control_R scratchpad show
bindsym Control+Control_R move scratchpad

floating_modifier Mod4
bindsym Menu floating toggle
bindsym Mod4+Shift+f floating toggle
bindsym Mod4+f focus mode_toggle
bindsym Mod4+F11 fullscreen toggle

bindsym Control+Menu floating toggle; resize set width 60 ppt; resize set height 100 ppt ; move position center
bindsym Mod4+x floating toggle; resize set width 60 ppt; resize set height 100 ppt ; move position center

mode "resize" {
    # left will shrink the containers width
    # right will grow the containers width
    # up will shrink the containers height
    # down will grow the containers height
    bindsym $left resize shrink width 20px
    bindsym $down resize grow height 20px
    bindsym $up resize shrink height 20px
    bindsym $right resize grow width 20px

    # Ditto, with arrow keys
    bindsym Left resize shrink width 20px
    bindsym Down resize grow height 20px
    bindsym Up resize shrink height 20px
    bindsym Right resize grow width 20px

    # Return to default mode
    bindsym Return mode "default"
    bindsym Escape mode "default"
}
bindsym $mod+r mode "resize"

hide_edge_borders both
smart_borders on
default_border pixel 2
smart_gaps on
# gaps outer all set 0
tiling_drag enable
xwayland force

seat seat0 xcursor_theme Bibata_Oil 32

bindswitch --reload lid:on output $laptop disable
bindswitch --reload lid:off output $laptop enable

output $laptop scale 2
output $laptop background #000000 solid_color
output $laptop bg /home/dln/.config/sway/laser.png center
output $laptop pos 0 800

output "DP-1" scale 1
output "DP-1" pos 1920 0
output "DP-1" background #000000 solid_color
output "DP-1" bg /home/dln/.config/sway/laser.png center

exec rm -f $SWAYSOCK.wob && mkfifo $SWAYSOCK.wob && tail -f $SWAYSOCK.wob | wob -W 2000 -H 100 -M 10 -a bottom
exec mako
exec redshift
exec "systemctl --user import-environment; systemctl --user start sway-session.target"
exec libinput-gestures-setup restart

## Applications
exec workspace 2; exec google-chrome-stable
exec workspace 4; exec spotify
exec workspace 5; $term -e tmux attach

# Screen lock
exec swayidle \
	timeout 600 '$lock' \
	timeout 900 'swaymsg "output * dpms off"' \
	resume 'swaymsg "output * dpms on"' \
	before-sleep '$lock'

bar {
  mode hide
  font pango:IBM Plex Mono 16
  position bottom
  status_command i3blocks
  workspace_buttons no
  gaps 0 0 5 0
  status_padding 0
  status_edge_padding 0

  colors {
    statusline #e65100ff
    background #00000000
  }
}

set $black #000000
set $white #ffffff
set $red   #770000
set $gray  #333333

# class                 border backgr. text  indicator child_border
client.focused          $red   $red   $white $gray $red
# client.focused_inactive $gray  $gray  $white $black $gray
# client.unfocused        $black $black $white $black $black
# client.urgent           $black $black $white $black $black
client.placeholder      $black $black $white $black $black
client.background       $black

font IBM Plex Sans Condensed Regular 8
titlebar_padding 10 1
titlebar_border_thickness 1
title_align right