DevOps Buzz
Search
K
Comment on page

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

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

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
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.