# i3 config file (v4)
# Euri Linux i3 configuration — Dark theme with #4A9EFF blue accent
# See https://i3wm.org/docs/userguide.html

set $mod Mod4
font pango:FiraCode Nerd Font 10
floating_modifier $mod

set $bg       #20252B
set $bg-alt   #2A3038
set $fg       #E3E2E6
set $blue     #4A9EFF
set $cyan     #00D4FF
set $green    #50FA7B
set $orange   #FFB86C
set $red      #FF5555
set $purple   #BD93F9

client.focused          $blue   $bg-alt  $fg  $cyan
client.unfocused        $bg-alt $bg      $fg  $bg-alt
client.focused_inactive $bg-alt $bg-alt  $fg  $bg-alt
client.urgent           $red    $red     $fg  $orange

default_border pixel 2
default_floating_border pixel 2
hide_edge_borders smart
focus_follows_mouse yes

gaps inner 6
gaps outer 4
smart_gaps on
smart_borders on

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"

bindsym $mod+Return exec kitty
bindsym $mod+q kill
bindsym $mod+d exec rofi -show drun
bindsym $mod+Shift+d exec rofi -show run
bindsym $mod+space exec rofi -show window

bindsym $mod+h focus left
bindsym $mod+j focus down
bindsym $mod+k focus up
bindsym $mod+l focus right

bindsym $mod+Shift+h move left
bindsym $mod+Shift+j move down
bindsym $mod+Shift+k move up
bindsym $mod+Shift+l move right

bindsym $mod+b split h
bindsym $mod+v split v
bindsym $mod+e layout toggle split
bindsym $mod+f fullscreen toggle
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+Shift+space floating toggle
bindsym $mod+a focus parent
bindsym $mod+Shift+minus move scratchpad
bindsym $mod+minus scratchpad show

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; workspace $ws1
bindsym $mod+Shift+2 move container to workspace $ws2; workspace $ws2
bindsym $mod+Shift+3 move container to workspace $ws3; workspace $ws3
bindsym $mod+Shift+4 move container to workspace $ws4; workspace $ws4
bindsym $mod+Shift+5 move container to workspace $ws5; workspace $ws5
bindsym $mod+Shift+6 move container to workspace $ws6; workspace $ws6
bindsym $mod+Shift+7 move container to workspace $ws7; workspace $ws7
bindsym $mod+Shift+8 move container to workspace $ws8; workspace $ws8
bindsym $mod+Shift+9 move container to workspace $ws9; workspace $ws9
bindsym $mod+Shift+0 move container to workspace $ws10

bindsym $mod+Shift+c reload
bindsym $mod+Shift+r restart
bindsym $mod+Shift+e exec i3-nagbar -t warning -m 'Exit i3?' -B 'Yes' 'i3-msg exit'

mode "resize" {
    bindsym h resize shrink width 10 px or 10 ppt
    bindsym j resize grow height 10 px or 10 ppt
    bindsym k resize shrink height 10 px or 10 ppt
    bindsym l resize grow width 10 px or 10 ppt
    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 "resize"

for_window [class="Pavucontrol"] floating enable
for_window [class="Blueman-manager"] floating enable
for_window [class="Lxappearance"] floating enable
for_window [window_role="pop-up"] floating enable
for_window [window_role="task_dialog"] floating enable

exec_always --no-startup-id feh --bg-scale /usr/share/backgrounds/euri/euri-wallpaper.png
exec_always --no-startup-id ~/.config/polybar/launch.sh
exec_always --no-startup-id picom --config ~/.config/picom/picom.conf -b
exec --no-startup-id dunst
exec --no-startup-id nm-applet
exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1

bar {
    i3bar_command i3bar
    status_command i3status
    position bottom
    strip_workspace_numbers yes
    colors {
        background #20252B
        statusline #E3E2E6
        separator  #4A9EFF
        focused_workspace  #20252B #4A9EFF #FFFFFF
        active_workspace   #2A3038 #2A3038 #E3E2E6
        inactive_workspace #20252B #20252B #676E7D
        urgent_workspace   #FF5555 #FF5555 #FFFFFF
    }
}

bindsym $mod+m bar mode toggle
