Cheat Sheet

i3 tips and tricks


Keyboard keys

Install pactland playerctl.

# Pulse Audio controls
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 0 +5% #increase sound volume
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 0 -5% #decrease sound volume
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 0 toggle # mute sound

# Sreen brightness controls
bindsym XF86MonBrightnessUp exec xbacklight -inc 20 # increase screen brightness
bindsym XF86MonBrightnessDown exec xbacklight -dec 20 # decrease screen brightness

# Touchpad controls
bindsym XF86TouchpadToggle exec /some/path/ # toggle touchpad

# Media player controls
bindsym XF86AudioPlay exec playerctl play
bindsym XF86AudioPause exec playerctl pause
bindsym XF86AudioNext exec playerctl next
bindsym XF86AudioPrev exec playerctl previous
if synclient -l | grep "TouchpadOff .*=.*0" ; then
    synclient TouchpadOff=1 ;
    synclient TouchpadOff=0 ;



Install pasystray.

sudo apt install pasystray

Then edit your config file.

exec_always /usr/bin/pasystray

Autoload application

On login

exec firefox

On i3 reload

exec_always firefox


bindsym $mod+g exec "rofi -show run"
bindsym $mod+x exec "xdg-open ."

Multiple monitors

Install arandr.

sudo apt install arandr

Then, press $mod+d and run arandr.

Make your changes, click on "Save as" then save your config file at `~/.screenlayout/` and change permissions.

chmod +rx ~/.screenlayout/

Open the file saved, copy its content and paste it in your ~/.config/i3/config with exec_always option.

exec --no-startup-id ~/.screenlayout/

Restart i3 pressing $mod+Shift+r.



Install feh.

sudo apt install feh

Test it.

feh --bg-scale $HOME/Pictures/wallpaper.jpg

Always use it.

exec_always feh --bg-scale $HOME/Pictures/wallpaper.jpg


Workspace icons

Downlado the latest Font-Awesome release:

Extract the file downloaded.

Create a font directory and copy the font file.

mkdir ~/.fonts
cp webfonts/*.ttf ~/.fonts

Go to:

Find your icon and copy th icon itself.

Paste the icon in the workspace string

set $workspace1 "1: Terminals "

Logout: $mod+shift+e.

Open application in a specific workspace

First, you need to find the window class.

To do so, open the application you want, open a termianal and run xprop.

The cursos will become a cross , click on your application window.

Get the second value of " WM_CLASS(STRING).

For example: WM_CLASS(STRING) = "x-terminal-emulator", "X-terminal-emulator"

Edit your config file as follows.

assign [class="X-terminal-emulator"] 1
# Or, if you have a workspace variable...
# assign [class="PUT-YOUR-CLASS-HERE"] $workspace1

Rename workspace

Rename workspace 1 to Terminals.

set $workspace1 "1: Terminals"
bindsym $mod+1 workspace $workspace1
bindsym $mod+Shift+1 move container to workspace $workspace1

Logout: $cmd+shift+e.

Last updated