set $lock swaylock
set $mod Mod4
set $term alacritty
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 Mod4+1 exec sway-focus F1
bindsym Mod4+2 exec sway-focus F2
bindsym Mod4+3 exec sway-focus F3
bindsym Mod4+4 exec sway-focus F4
bindsym Mod4+5 workspace 5
bindsym Mod4+6 workspace 6
bindsym Mod4+7 workspace 7
bindsym Mod4+8 workspace 8
bindsym Shift+Mod4+1 mark F1; exec sway-focus F1
bindsym Shift+Mod4+2 mark F2; exec sway-focus F2
bindsym Shift+Mod4+3 mark F3; exec sway-focus F3
bindsym Shift+Mod4+4 mark F4; exec sway-focus F4
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 Mod4+Left workspace prev
bindsym Mod4+Right workspace next

bindsym F1 workspace 1
bindsym F2 workspace 2
bindsym F3 workspace 3
bindsym F4 workspace 4
bindsym F5 workspace 5
bindsym F6 workspace 6
bindsym F7 workspace 7
bindsym F8 workspace 8
bindsym F9 workspace 9
bindsym Shift+F1 move container to workspace 1
bindsym Shift+F2 move container to workspace 2
bindsym Shift+F3 move container to workspace 3
bindsym Shift+F4 move container to workspace 4
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 Shift+F9 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 new-session -A -D -s 0
bindsym Mod4+Control+Return exec "autossh -M21001 -f -A -T home-dev sleep inf; $term -e mosh -p 2022 home -- tmux new-session -A -D -s 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+Control+p exec grim -g "$(slurp)" - | wl-copy
bindsym Mod4+Escape reload
bindsym Mod4+g layout toggle split tabbed stacking
bindsym Mod4+Tab exec sway-focus 
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
# workspace 5
# exec spotify
workspace 1
exec firefox-beta
exec $term tmux new-session -A -D -s 0

# 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