175 lines
4.6 KiB
Text
175 lines
4.6 KiB
Text
# 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"
|