See below for my SwayWM and i3status configs. As of the last update of this page it is highly recommended that you compile your own current versions of Sway and wlroots.
Dependencies: Sway/wlroots, the Ubuntu Mono font, grim, st, dmenu, brightnessctl, amixer, i3status >=2.8.
Key bindings are very close to a default i3 config, but note that horizontal splitting has been assigned to the b key to free up the h key for {hjkl} navigation. Gaps can be enabled with $mod+g, and disabled with $mod+Shift+g.
Dependencies: Sway/wlroots, the Ubuntu Mono font, grim, st, dmenu, brightnessctl, amixer, i3status >=2.8.
Key bindings are very close to a default i3 config, but note that horizontal splitting has been assigned to the b key to free up the h key for {hjkl} navigation. Gaps can be enabled with $mod+g, and disabled with $mod+Shift+g.
# ___________ __ _____ _____.___. __ __ _____
# / _____/ \ / \/ _ \\__ | | / \ / \/ \
# \_____ \\ \/\/ / /_\ \/ | | \ \/\/ / \ / \
# / \\ / | \____ | \ / Y \
#/_______ / \__/\ /\____|__ / ______| \__/\ /\____|__ /
# \/ \/ \/\/ \/ \/
# _________ _____.__
# \_ ___ \ ____ _____/ ____\__| ____
# / \ \/ / _ \ / \ __\| |/ ___\
# \ \___( <_> ) | \ | | / /_/ >
# \______ /\____/|___| /__| |__\___ /
# \/ \/ /_____/
#Commands
set $mod Mod4
floating_modifier $mod
bindsym $mod+Return exec st
bindsym $mod+d exec dmenu_run
bindsym $mod+Shift+q kill
bindsym $mod+Shift+r reload
bindsym $mod+Shift+e exit
#Navigation: focus
bindsym $mod+h focus left
bindsym $mod+j focus down
bindsym $mod+k focus up
bindsym $mod+l focus right
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
#Navigation: move
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+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
#Navigation: layout
bindsym $mod+b split h
bindsym $mod+v split v
bindsym $mod+f fullscreen toggle
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
bindsym $mod+Shift+space floating toggle
bindsym $mod+space focus mode_toggle
bindsym $mod+p focus parent
bindsym $mod+c focus child
#Navigation: workspaces
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
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
#High precision resize
mode "resize" {
bindsym j resize shrink width 1 px or 1 ppt
bindsym k resize grow height 1 px or 1 ppt
bindsym l resize shrink height 1 px or 1 ppt
bindsym semicolon resize grow width 1 px or 1 ppt
bindsym Left resize shrink width 1 px or 1 ppt
bindsym Down resize grow height 1 px or 1 ppt
bindsym Up resize shrink height 1 px or 1 ppt
bindsym Right resize grow width 1 px or 1 ppt
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+r mode "resize"
#Scratchpad
bindsym $mod+Shift+minus move scratchpad
bindsym $mod+minus scratchpad show
#Brightness
bindsym XF86MonBrightnessUp exec brightnessctl s +100
bindsym XF86MonBrightnessDown exec brightnessctl s 100-
#Media keys
bindsym XF86AudioMute exec amixer -q sset Master toggle
bindsym XF86AudioLowerVolume exec amixer -q sset Master 5%-
bindsym XF86AudioRaiseVolume exec amixer -q sset Master 5%+
#Print screen
bindsym Print exec grim ~/Pictures/screenshots/$(date --iso-8601=ns).png
#Appearance
font pango:Ubuntu Mono 10
new_window pixel 4
#Gap settings
gaps inner 10
gaps outer 0
smart_gaps on
bindsym $mod+g gaps inner current set 10; gaps outer current set 0
bindsym $mod+Shift+g gaps inner current set 0; gaps outer current set 0
#Statusbar config
bar {
status_command i3status
position top
font Ubuntu Mono, 10px
separator_symbol " // "
mode dock
colors {
statusline #78da59
background #202020
separator #fff32e
#border #bg #txt
focused_workspace #202020 #202020 #66FF66
inactive_workspace #202020 #202020 #8C8C8C
active_workspace #777F8B #777F8B #ecedee
urgent_workspace #DEDFE3 #DEDFE3 #767E8A
}
}
#Touchpad config
input 2:7:SynPS/2_Synaptics_TouchPad {
tap enabled
natural_scroll enabled
}
#Set wallpaper
output "*" background ~/Pictures/birdWire.jpg fill
#.__________ __ __
#|__\_____ \ _______/ |______ _/ |_ __ __ ______
#| | _(__ < / ___/\ __\__ \\ __\ | \/ ___/
#| |/ \\___ \ | | / __ \| | | | /\___ \
#|__/______ /____ > |__| (____ /__| |____//____ >
# \/ \/ \/ \/
# _____.__
# ____ ____ _____/ ____\__| ____
# _/ ___\/ _ \ / \ __\| |/ ___\
# \ \__( <_> ) | \ | | / /_/ >
# \___ >____/|___| /__| |__\___ /
# \/ \/ /_____/
general {
interval = 1
colors = true
color_good = '#78da59'
color_degraded = '#ff7832'
color_bad = '#ff367b'
}
order += "wireless _first_"
order += "ethernet _first_"
order += "disk /"
order += "battery all"
order += "volume master"
order += "tztime local"
wireless _first_ {
format_up = "W: (%quality) %ip"
format_down = "W: down"
}
ethernet _first_ {
# if you use %speed, i3status requires root privileges
format_up = "E: %ip (%speed)"
format_down = "E: down"
}
battery all {
format = "%status %percentage %remaining"
}
tztime local {
format = "%Y-%m-%d %H:%M:%S"
}
disk "/" {
format = "%avail"
}
volume master {
format = "A: %volume"
format_muted = "A: mute"
device = "default"
mixer = "Master"
mixer_idx = 0
}