User Tools

Site Tools

founder: ruza
depends on:
interested: lexik
software license: -
hardware license: -

~~META: status = active &relation firstimage = :project:i3wmfans.png ~~



There are lot of windows managers and graphical interfaces. Those used in standart Linux distros are quite usable (most of them) and customizable. MacOS X GUI sux, Windows GUI sux a lot. i3wm is one those you will love if you have a need to have it lightweight, customizable and have at least one evening to discover all the posibilities. We are using i3wm for some time and have a tips and reasons why we love it. This page is intended to be a yet another one place to exchange cool tips on i3wm customizations.

Looking for distraction-free desktop environment?

Using one shortcut any window could be made fullscreen.


# enter fullscreen mode for the focused container
bindsym $mod+f fullscreen

Using dunst as your notification daemon (software that generates notification bubbles to your desktop environment) you can pause/unpause dunst by sending proper signal. Therefore you'll create a time frame free of distracting notifications.

## stop dunst notifications
/usr/bin/pkill -u "${USER}" -SIGUSR1 dunst
## stop dunst notifications
/usr/bin/pkill -u "${USER}" -SIGUSR1 dunst

Handfull applets

  • Bluetooth connectivty: /usr/bin/blueman-applet
  • Clipboard history: /usr/bin/glipper
  • Volume: /usr/bin/pasystray
  • Time tracking: /usr/bin/hamster-indicator
  • Simple Notification daemon: /usr/bin/dunst
  • remove idle cursor image from screen: /usr/bin/unclutter
  • Keyboard layout indicator: /usr/bin/xxkb
  • Nagios monitoring: /usr/bin/nagstamon
  • Multiple screens: /usr/local/bin/arandr-applet

Switch keyboard layout per window proper Xorg way with a layout flag on each window

  • keyboard layouts will be switched on per window basis
  • you'll get an applet based visual notification of the current layout used
  • each X window will have an layout flag in its corner (doesnt work for Chromium)
  • it will behave properly
  • switching layouts is made using Alt+Shift toggle
sudo wget -O /usr/share/xxkb/cz.xpm
sudo wget -O /usr/share/xxkb/us.xpm


exec_always --no-startup-id xxkb
exec_always --no-startup-id /usr/bin/setxkbmap -layout "us,cz" -option "grp:alt_shift_toggle"


XXkb.image.path: /usr/share/xxkb/
XXkb.mainwindow.type: tray 1 2
XXkb.mainwindow.enable: yes
XXkb.mainwindow.geometry: 12x12+0+0
XXkb.mainwindow.image.1: us.xpm
XXkb.mainwindow.image.2: cz.xpm
XXkb.mainwindow.appicon: no
XXkb.mainwindow.label.enable: no
XXkb.button.enable: yes
XXkb.button.image.1: us.xpm
XXkb.button.image.2: cz.xpm
XXkb.button.geometry: 10x10-1+1
XXkb.controls.add_when_start: yes
XXkb.controls.add_when_create: yes
XXkb.controls.add_when_change: no
XXkb.controls.focusout: no

Never ever use “setxkbmap cz && setxkbmap us” from command line or you will broke the setup. In case it happened re-run the whole setxkbmap command with all options from i3 config (see above). There You fixed it!

Desktop screenshots

  • PrintScreen to take a screenshot and open it via gimp for the subsequent editation
  • PrintScreen+Shift for silent screenshots


# scrot & gimp - root
bindsym Print exec scrot 'screen-%Y-%m-%d-%H:%M:%S_$wx$h.png' -e 'mv $f ~/screenshots/ && gimp ~/screenshots/$f'
# scrot & gimp - select window or rectangle
bindsym Shift+Print exec scrot 'screen-%Y-%m-%H:%M:%S-%d_$wx$h.png' -s -e 'mv $f ~/screenshots/ && gimp ~/screenshots/$f'

Transparent windows

Compton is an compositor for X server. I've choose to use “,” and “.” keys to control transparency of the currently focused window, because on US keyboard there are “<” and “>” characters on the same physical keys.


# transparency control
bindsym $mod+period exec /usr/bin/compton-trans -w $(xprop -root 32x 't$0' _NET_ACTIVE_WINDOW | cut -f 2) -o +5
bindsym $mod+comma exec /usr/bin/compton-trans -w $(xprop -root 32x '\t$0' _NET_ACTIVE_WINDOW | cut -f 2) -o -5
exec --no-startup-id /usr/bin/compton -b -CG
project/i3wm/start.txt · Last modified: 2018/03/06 20:13 by ruza