Cheat Sheet

i3 tips and tricks

Audio

Keyboard keys

Install pactland playerctl.

~/.config/i3/config
# 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/toggletouchpad.sh # 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
toggletouchpad.sh
#!/bin/bash
if synclient -l | grep "TouchpadOff .*=.*0" ; then
    synclient TouchpadOff=1 ;
else
    synclient TouchpadOff=0 ;
fi

References

https://faq.i3wm.org/question/3747/enabling-multimedia-keys/?answer=3759#post-id-3759

Tray

Install pasystray.

sudo apt install pasystray

Then edit your config file.

~/.config/i3/config
exec_always /usr/bin/pasystray

Autoload application

On login

~/.config/i3/config
exec firefox

On i3 reload

~/.config/i3/config
exec_always firefox

bindsym

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/dual.sh` and change permissions.

chmod +rx ~/.screenlayout/dual.sh

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

~/.config/i3/config
exec --no-startup-id ~/.screenlayout/dual.sh

Restart i3 pressing $mod+Shift+r.

Theme

https://youtu.be/ARKIwOlazKI

Wallpaper

Install feh.

sudo apt install feh

Test it.

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

Always use it.

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

Workspaces

Workspace icons

Downlado the latest Font-Awesome release: https://github.com/FortAwesome/Font-Awesome/releases

Extract the file downloaded.

Create a font directory and copy the font file.

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

Go to: https://fontawesome.com/cheatsheet

Find your icon and copy th icon itself.

Paste the icon in the workspace string

~/.config/i3/config
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.

~/.config/i3/config
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.

~/.config/i3/config
set $workspace1 "1: Terminals"
bindsym $mod+1 workspace $workspace1
bindsym $mod+Shift+1 move container to workspace $workspace1

Logout: $cmd+shift+e.

Last updated