#################################################################
# ██╗██████╗        ██████╗██████╗ ██╗   ██╗██╗     ██╗ █████╗  #
# ██║╚════██╗      ██╔════╝██╔══██╗╚██╗ ██╔╝██║     ██║██╔══██╗ #
# ██║ █████╔╝█████╗██║     ██████╔╝ ╚████╔╝ ██║     ██║███████║ #
# ██║ ╚═══██╗╚════╝██║     ██╔══██╗  ╚██╔╝  ██║     ██║██╔══██║ #
# ██║██████╔╝      ╚██████╗██║  ██║   ██║   ███████╗██║██║  ██║ #
# ╚═╝╚═════╝        ╚═════╝╚═╝  ╚═╝   ╚═╝   ╚══════╝╚═╝╚═╝  ╚═╝ #
#################################################################

# Modifier
        set $mod Mod4
        floating_modifier $mod

# Client theme
        client.focused 			#a6bcfa #a6bcfa #a6bcfa #a6bcfa
        client.unfocused 		#585f75 #585f75 #585f75 #585f75 
        client.focused_inactive         #585f75 #585f75 #585f75 #585f75
        client.urgent 			#fbdf91 #fbdf91 #fbdf91 #fbdf91
        font pango:JetBrainsNerd Font Mono 10
        for_window [class="^.*"] border pixel 2
        gaps inner 10
        hide_edge_borders smart

# Window modes
        bindsym $mod+f fullscreen toggle
        bindsym $mod+Shift+space floating toggle

# Set screen
        set $primary_screen DP-0
        set $second_screen HDMI-0

# Set workspaces
        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 "SecondScreen"

# Assign workspace to screen
        workspace $ws10 output $second_screen

# Globalkeys
        bindsym Print exec flameshot gui
        bindsym $mod+e exec nautilus
        bindsym $mod+Return exec alacritty
        bindsym $mod+d exec --no-startup-id rofi -show drun -theme ~/.config/rofi/appmenu/rofi.rasi
        bindsym $mod+Control+c reload
        bindsym $mod+Control+r restart
        bindsym $mod+Shift+e exec --no-startup-id "rofi -show power-menu -modi 'power-menu:~/.config/rofi/rofi-power-menu --choices=shutdown/reboot/logout/lockscreen' -theme ~/.config/rofi/powermenu/powermenu.rasi"

# Clientkeys
        bindsym $mod+q kill
        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+h split h
        bindsym $mod+v split v
        bindsym $mod+a focus parent
        # Switch to workspace
                bindsym $mod+1 workspace number $ws1
                bindsym $mod+2 workspace number $ws2
                bindsym $mod+3 workspace number $ws3
                bindsym $mod+4 workspace number $ws4
                bindsym $mod+5 workspace number $ws5
                bindsym $mod+6 workspace number $ws6
                bindsym $mod+7 workspace number $ws7
                bindsym $mod+8 workspace number $ws8
                bindsym $mod+9 workspace number $ws9
                bindsym $mod+0 workspace number $ws10
        # Move window to workspace x
                bindsym $mod+Shift+1 move container to workspace number $ws1
                bindsym $mod+Shift+2 move container to workspace number $ws2
                bindsym $mod+Shift+3 move container to workspace number $ws3
                bindsym $mod+Shift+4 move container to workspace number $ws4
                bindsym $mod+Shift+5 move container to workspace number $ws5
                bindsym $mod+Shift+6 move container to workspace number $ws6
                bindsym $mod+Shift+7 move container to workspace number $ws7
                bindsym $mod+Shift+8 move container to workspace number $ws8
                bindsym $mod+Shift+9 move container to workspace number $ws9
                bindsym $mod+Shift+0 move container to workspace number $ws10
        # Function Keys
                bindsym XF86AudioPlay exec playerctl play-pause
                bindsym XF86AudioStop exec playerctl stop
                bindsym XF86AudioNext exec playerctl next
                bindsym XF86AudioPrev exec playerctl previous
                bindsym XF86AudioRaiseVolume exec --no-startup-id pactl -- set-sink-volume @DEFAULT_SINK@ +5% #increase sound volume
                bindsym XF86AudioLowerVolume exec --no-startup-id pactl -- set-sink-volume @DEFAULT_SINK@ -5% #decrease sound volume
                bindsym XF86AudioMute exec --no-startup-id pactl -- set-sink-mute @DEFAULT_SINK@ toggle # mute sound
                bindsym XF86MonBrightnessUp exec xbacklight -inc 10 # increase screen brightness
                bindsym XF86MonBrightnessDown exec xbacklight -dec 10 # decrease screen brightnessR

# Modes
        mode "resize" {
                bindsym Left resize shrink width 10 px or 10 ppt
                bindsym Down resize grow height 10 px or 10 ppt
                bindsym Up resize shrink height 10 px or 10 ppt
                bindsym Right resize grow width 10 px or 10 ppt

                bindsym Return mode "default"
                bindsym Escape mode "default"
                bindsym $mod+r mode "default"
        }

# Modekeys
        bindsym $mod+r mode "resize"

# Floating exceptions
        for_window [title="Lautstärkeregler"] floating enable
        for_window [class="Arandr"] floating enable
        for_window [class="Grub-customizer"] floating enable
        for_window [class="Gnome-control-center"] floating enable
        for_window [class="Xfce4-power-manager-settings"] floating enable
        for_window [class="Lutris" id=63012046 instance="lutris" title="Läufer verwalten"] floating enable
        for_window [class="zoom" title="Chat"] floating enable

# Autostart
        exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
        exec --no-startup-id picom --experimental-backends
        exec --no-startup-id setxkbmap -layout us
        exec_always --no-startup-id $HOME/.config/polybar/scripts/launch.sh
        exec_always --no-startup-id picom --experimental-backends
        exec_always --no-startup-id nitrogen --restore
        exec --no-startup-id /usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1 &
        exec --no-startup-id power-manager-plugins
        exec --no-startup-id ~/.screenlayout/i3.sh
        exec --no-startup-id /usr/lib/x86_64-linux-gnu/libexec/kdeconnectd
        exec discord
        exec spotify

# Automove window to workspace
        for_window [class="Spotify"] move container to workspace $ws10
        for_window [class="discord"] move container to workspace $ws10