DevOps Buzz
  • Initial page
  • About me
  • Ansible
    • Cheat Sheet
    • Dynamic inventory
  • AKS
    • Cheat Sheet
    • Autoscale
    • Backup
    • Dashboard
    • Ingress
    • Node management
    • News
    • Persistent Volumes
  • Arch Linux
    • Docker
    • Install
    • Network
    • VirtualBox guest
  • Azure
    • API
    • CLI/Powershell
    • DevOps
      • Cheat Sheet
    • Application Gateway
    • Tools
    • Sops
  • AWS
    • Cheat Sheet
    • Tools
    • Cognito with Amplify and React
  • Bash / Shell
    • Cheat Sheet
    • Tools
  • Bitbucket
    • Cheat Sheet
  • CSS
    • Cheat Sheet
  • Distros
    • Manjaro
  • Docker
    • Cheat Sheet
    • ELK
    • Ubuntu NoVNC
    • Tools
    • Known errors and solutions
  • Elasticsearch
    • Cheat Sheet
    • Tools
  • ELK
    • Cheat Sheet
  • emacs
    • Cheat sheet
  • Gatekeeper (OPA)
    • Cheat Sheet
    • Developer Quick Start
  • GCP
    • Cheat Sheet
  • General
    • Tools
    • News
  • Git
    • Cheat Sheet
    • Tools
  • Golang
    • Cheat Sheet
  • Guidelines / Standards
    • Cheat Sheet
  • i3wm
    • Cheat Sheet
  • Ipsec
    • Cheat sheet
  • Istio
    • Cheat Sheet
  • Kind
    • Cheat Sheet
  • Kops
    • Cheat Sheet
  • Kubeadm
    • Cheat Sheet
    • Change serviceSubnet CIDR
    • Setup cluster
      • Azure
      • Bare-metal
      • Vagrant + VirtualBox
    • Multi master
    • Known errors and solutions
  • Kubernetes
    • Kubectl Cheat Sheet
    • etcd Cheat Sheet
    • Tools
    • News
    • Deployments
      • Deployment examples
      • Blue/Green Deployment
      • Canary Deployment
    • Dashboard
    • ELK
    • Helm
    • Ingress
    • logz.io
    • Minikube
    • Monitoring
    • Node Management
    • Operators
    • Security
    • Volumes
    • Networking
    • kube-controller-manager
      • Node crash recovery
    • Known errors and solutions
  • Lumen
    • Cheat Sheet
  • MACOS
    • Cheat Sheet
    • Qemu
    • Zsh
  • microk8s
    • Cheat Sheet
  • MongoDB
    • Cheat Sheet
    • Tools
  • MySQL
    • Cheat Sheet
  • Network
    • Tools
    • WDS - Wireless Distribution System
    • Expose server under NAT
  • nvim
    • Cheat Sheet
  • Openvpn
    • OpenVPN server on Ubuntu 18.06
    • Stunnel
  • PHP
    • Composer
  • Prometheus
    • Tools
  • Python
    • Cheat Sheet
    • Pydantic
    • Tools / Modules
    • Virtualenv
  • RabbitMQ
    • Cheat Sheet
  • ReactJS
    • Fixes
    • For beginners
  • Ruby
    • Cheat Sheet
    • Rails
    • rvm
  • Rundeck
    • Cheat Sheet
  • Rust
    • Cheat Sheet
  • Squid
    • Setup server
    • Expose NAT server
  • SRE
    • Cheat Sheet
  • SSH
    • Passwordless auth with RSA key
    • Reverse tunnel
    • Cheat Sheet
  • SSL
    • Cheat Sheet
    • certbot
  • STACK SETUP
    • Using EKS and Gitlab CI to deploy applications
  • Terraform
    • Cheat Sheet
    • Tools
  • Tmux
    • Cheat Sheet
  • Tor
    • Cheat Sheet
  • Ubuntu
    • Cheat Sheet
  • Vagrant
    • Cheat Sheet
  • VirtualBox
    • Cheat Sheet
  • Windows
    • Windows Docker
    • Fingerprint
    • SSH Client
    • Tools
    • VirtualBox
    • WSL
Powered by GitBook
On this page
  • Audio
  • Keyboard keys
  • Tray
  • Autoload application
  • On login
  • On i3 reload
  • bindsym
  • Multiple monitors
  • Theme
  • Wallpaper
  • Workspaces
  • Workspace icons
  • Open application in a specific workspace
  • Rename workspace
  1. i3wm

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

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.

PreviousCheat SheetNextCheat sheet

Last updated 3 years ago

Downlado the latest Font-Awesome release:

Go to:

https://faq.i3wm.org/question/3747/enabling-multimedia-keys/?answer=3759#post-id-3759
https://youtu.be/ARKIwOlazKI
https://github.com/FortAwesome/Font-Awesome/releases
https://fontawesome.com/cheatsheet