dotfiles/_config/i3/config

133 lines
3.8 KiB
Text

# use windows key for mod
set $mod Mod4
# quick-launch
bindsym $mod+Return exec alacritty
bindsym $mod+Home exec thunar
bindsym $mod+c exec chromium
# i3 actions
bindsym $mod+Shift+c reload
bindsym $mod+Shift+r restart
# window bindings and behavior
floating_modifier $mod
focus_follows_mouse no
# kill focused window
bindsym $mod+Shift+q kill
# move window focus
bindsym $mod+h focus left
bindsym $mod+j focus down
bindsym $mod+k focus up
bindsym $mod+l focus right
# move window focus (with arrow keys)
bindsym $mod+Shift+Left focus left
bindsym $mod+Shift+Down focus down
bindsym $mod+Shift+Up focus up
bindsym $mod+Shift+Right focus right
# splits
bindsym $mod+u split h
bindsym $mod+i split v
# fullscreen
bindsym $mod+f fullscreen
# toggle tiling/floating
bindsym $mod+Shift+space floating toggle
# toggle focus between tiling/floating
bindsym $mod+space focus mode_toggle
# focus parent container
bindsym $mod+a focus parent
# switch to specific workspace
bindsym $mod+1 workspace 1
bindsym $mod+2 workspace 2
bindsym $mod+3 workspace 3
bindsym $mod+4 workspace 4
bindsym $mod+5 workspace 5
bindsym $mod+6 workspace 6
bindsym $mod+7 workspace 7
bindsym $mod+8 workspace 8
bindsym $mod+9 workspace 9
bindsym $mod+0 workspace 10
# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace 1
bindsym $mod+Shift+2 move container to workspace 2
bindsym $mod+Shift+3 move container to workspace 3
bindsym $mod+Shift+4 move container to workspace 4
bindsym $mod+Shift+5 move container to workspace 5
bindsym $mod+Shift+6 move container to workspace 6
bindsym $mod+Shift+7 move container to workspace 7
bindsym $mod+Shift+8 move container to workspace 8
bindsym $mod+Shift+9 move container to workspace 9
bindsym $mod+Shift+0 move container to workspace 10
# move focus to adjacent output
bindsym $mod+bracketleft focus output left
bindsym $mod+bracketright focus output right
# jump to workspace on same output
bindsym $mod+Shift+bracketleft workspace prev_on_output
bindsym $mod+Shift+bracketright workspace next_on_output
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
# same bindings, but for the arrow keys
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
# back to normal: Enter or Escape
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+r mode "resize"
# nice system menu
set $mode_system System (e) logout, (r) reboot, (shift+s) shutdown
mode "$mode_system" {
bindsym e exec --no-startup-id ~/bin/i3exit exit, mode "default"
bindsym r exec --no-startup-id ~/bin/i3exit reboot, mode "default"
bindsym Shift+s exec --no-startup-id ~/bin/i3exit shutdown, mode "default"
# back to normal: Enter or Escape
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+Shift+e mode "$mode_system"
# appearance
#font xft:artwiz lime 7
new_window pixel 2
font xft:Roboto 13
gaps inner 8
gaps outer 0
set_from_resource $fg i3wm.color7
set_from_resource $bg i3wm.color2
set_from_resource $bgalt i3wm.color8
# class brdr bg txt indic childbdr
client.focused $bg $bg $fg $bg $bg
# client.focused_inactive $bg $bg $fg $bg $bg
client.unfocused $bgalt $bgalt $fg $bg $bgalt
# client.urgent $bg $bg $fg $bg $bg
# client.placeholder $bg $bg $fg $bg $bg
# client.background $bg
# autostart
exec_always --no-startup-id wal -q -t -i ~/wallpaper
exec_always --no-startup-id ~/.config/polybar/launch.sh