# use windows key for mod set $mod Mod4 # quick-launch bindsym $mod+Return exec kitty bindsym $mod+Home exec thunar bindsym $mod+b exec firefox bindsym $mod+d exec --no-startup-id ~/bin/launcher bindsym --release $mod+g exec --no-startup-id ~/bin/screengrab # 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 (Vim style) 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+Left focus left bindsym $mod+Down focus down bindsym $mod+Up focus up bindsym $mod+Right focus right # move window (Vim style) bindsym $mod+Shift+h move left bindsym $mod+Shift+j move down bindsym $mod+Shift+k move up bindsym $mod+Shift+l move right # move window (with arrow keys) bindsym $mod+Shift+Left move left bindsym $mod+Shift+Down move down bindsym $mod+Shift+Up move up bindsym $mod+Shift+Right move right # container layout (stacked, tabbed, toggle split) bindsym $mod+s layout stacking bindsym $mod+w layout tabbed bindsym $mod+e layout toggle split # 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 logout, 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 default_border pixel 5 font xft:Roboto 13 gaps inner 5 # app specific launch flags for_window [class="Peek"] floating enable include "$HOME/.cache/wal/colors-sway" set $fg $color3 set $bg $color1 set $bgalt $color7 workspace_layout default # 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 mako exec_always import-gsettings exec systemctl --user import-environment input "type:keyboard" { xkb_options caps:swapescape } include "$HOME/.config/sway/hosts/`hostname`" output * bg $wallpaper fill bar { swaybar_command waybar } set $opacity 0.9 for_window [app_id="kitty"] opacity $opacity; exec "systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP"