# Variables
set $mod Mod4
set $left h
set $down j
set $up k
set $right l
set $term alacritty
set $menu wmenu-run -l 5 -N 000000ff -n ffffffff -M 00675aff -m ffffffff -S 00675aff -s ffffffff

# Workspace Names
set $ws1 "1"
set $ws2 "2"
set $ws3 "3"
set $ws4 "4"
set $ws5 "5"
set $ws6 "6"
set $ws7 "7"
set $ws8 "8"
set $ws9 "9"
set $ws10 "10"

# Font
font pango:MesloLGL Nerd Font Mono 10

# Background Image
output * bg /home/agres/.config/sway/wallpaper/wallpaper.jpg fill

# Gaps
gaps inner 0 
gaps outer 0

# Screen Locker
exec_always /home/agres/.config/sway/scripts/lock-sway.sh

# Key bindings
    bindsym $mod+Return exec $term
    bindsym $mod+Shift+q kill
    bindsym $mod+d exec $menu
    bindsym $mod+s exec ~/.local/bin/docpic-rofi
    floating_modifier $mod normal
    bindsym $mod+Shift+r reload
    bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'
    bindsym $mod+q exec /home/agres/.config/sway/scripts/lock-sway-instant.sh

# Moving around:
    bindsym $mod+$left focus left
    bindsym $mod+$down focus down
    bindsym $mod+$up focus up
    bindsym $mod+$right focus right
    bindsym $mod+Left focus left
    bindsym $mod+Down focus down
    bindsym $mod+Up focus up
    bindsym $mod+Right focus right

    bindsym $mod+Shift+$left move left
    bindsym $mod+Shift+$down move down
    bindsym $mod+Shift+$up move up
    bindsym $mod+Shift+$right move right
    bindsym $mod+Shift+Left move left
    bindsym $mod+Shift+Down move down
    bindsym $mod+Shift+Up move up
    bindsym $mod+Shift+Right move right

# Stop focus from wrapping around edges (stay on last window in that direction)
focus_wrapping no

# Workspaces:
    bindsym $mod+1 workspace $ws1
    bindsym $mod+2 workspace $ws2
    bindsym $mod+3 workspace $ws3
    bindsym $mod+4 workspace $ws4
    bindsym $mod+5 workspace $ws5
    bindsym $mod+6 workspace $ws6
    bindsym $mod+7 workspace $ws7
    bindsym $mod+8 workspace $ws8
    bindsym $mod+9 workspace $ws9
    bindsym $mod+0 workspace $ws10
    bindsym $mod+Shift+1 move container to workspace $ws1
    bindsym $mod+Shift+2 move container to workspace $ws2
    bindsym $mod+Shift+3 move container to workspace $ws3
    bindsym $mod+Shift+4 move container to workspace $ws4
    bindsym $mod+Shift+5 move container to workspace $ws5
    bindsym $mod+Shift+6 move container to workspace $ws6
    bindsym $mod+Shift+7 move container to workspace $ws7
    bindsym $mod+Shift+8 move container to workspace $ws8
    bindsym $mod+Shift+9 move container to workspace $ws9
    bindsym $mod+Shift+0 move container to workspace $ws10

# Layout stuff:
    bindsym $mod+b splith
    bindsym $mod+v splitv
#    bindsym $mod+s layout stacking
#    bindsym $mod+w layout tabbed
    bindsym $mod+e layout toggle split
    bindsym $mod+f fullscreen
    bindsym $mod+Shift+space floating toggle
    bindsym $mod+space focus mode_toggle
    bindsym $mod+a focus parent

# Scratchpad:
    bindsym $mod+Shift+minus move scratchpad
    bindsym $mod+minus scratchpad show

# Resizing containers:
mode "resize" {
    bindsym $left resize shrink width 50px
    bindsym $down resize grow height 50px
    bindsym $up resize shrink height 50px
    bindsym $right resize grow width 50px
    bindsym Left resize shrink width 50px
    bindsym Down resize grow height 50px
    bindsym Up resize shrink height 50px
    bindsym Right resize grow width 50px
    bindsym Return mode "default"
    bindsym Escape mode "default"
}
bindsym $mod+r mode "resize"

# Utilities:
    bindsym --locked XF86AudioMute exec pactl set-sink-mute \@DEFAULT_SINK@ toggle
    bindsym --locked XF86AudioLowerVolume exec pactl set-sink-volume \@DEFAULT_SINK@ -5%
    bindsym --locked XF86AudioRaiseVolume exec pactl set-sink-volume \@DEFAULT_SINK@ +5%
    bindsym --locked XF86AudioMicMute exec pactl set-source-mute \@DEFAULT_SOURCE@ toggle
    # Special keys to adjust brightness via brightnessctl
    bindsym --locked XF86MonBrightnessDown exec brightnessctl set 5%-
    bindsym --locked XF86MonBrightnessUp exec brightnessctl set 5%+
    # bindsym --locked button exec brightnessctl --device='kbd_backlight' set +10%
    # bindsym --locked button exec brightnessctl --device='kbd_backlight' set -10%
    # Special key to take a screenshot with grim
    bindsym Print exec grim

# Status Bar:
bar {
    position top
    status_command while /home/agres/.config/sway/scripts/status.sh; do sleep 0.5; done
    colors {
        background #000000
        statusline #ffffff
        separator  #333333

        focused_workspace  #00675a #00675a #ffffff
        active_workspace   #1c1c1c #1c1c1c #cccccc
        inactive_workspace #000000 #000000 #777777
        urgent_workspace   #870000 #870000 #ffffff
    }
}

input type:keyboard {
	xkb_layout de
	xkb_variant nodeadkeys
}

input "1452:641:Apple_SPI_Keyboard" {
	xkb_layout de
	xkb_variant nodeadkeys
    xkb_options altwin:swap_lalt_lwin
}

input "1452:641:Apple_SPI_Trackpad" {
    pointer_accel -0.1
    natural_scroll enabled
    scroll_factor 0.3
}

input type:pointer {
    accel_profile flat
    pointer_accel -0.4
}

output eDP-1 {
    scale 1.85
    scale_filter linear
}

# Opacity Settings
for_window [app_id="Alacritty"] opacity 0.995

# Show a slightly thicker border so focused window color is more obvious
default_border pixel 3
default_floating_border pixel 3

# Window overlay theme
client.focused          #00b894   #00675a   #ffffff   #00b894   #00675a
client.focused_inactive #303030   #1c1c1c     #cccccc    #303030    #1c1c1c
client.unfocused        #1c1c1c   #000000     #999999    #1c1c1c    #000000
client.urgent           #ff5f5f   #870000     #ffffff    #ff5f5f    #870000
client.placeholder      #000000   #000000     #ffffff    #000000    #000000

include /etc/sway/config.d/*
