Cheat Sheet
i3 tips and tricks
Audio
Keyboard keys
Install pactl
and 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/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
#!/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.
exec_always /usr/bin/pasystray
Autoload application
On login
exec firefox
On i3 reload
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.
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.
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
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