i3 window manager configuration for Uconsole device
Feel free to fork and modify this configuration to suit your needs. If you're new to i3 like I am, take your time to understand how each section works and tailor it to your preferences.
The base template is coming from icemodding. This is my first attempt at working with i3, so please be aware that this project may have bugs, be unfinished, or contain incomplete features. Enjoy your i3 experience!
For automatic installation, use the provided script:
git clone git@github.com:dzaczek/Uconsole-i3.git
cd Uconsole-i3
chmod +x install.sh
./install.shThis configuration uses I3-GAPS https://github.com/Airblader/i3
sudo apt install dh-autoreconf libxcb-keysyms1-dev libpango1.0-dev libxcb-util0-dev xcb libxcb1-dev libxcb-icccm4-dev libyajl-dev libev-dev libxcb-xkb-dev libxcb-cursor-dev libxkbcommon-dev libxcb-xinerama0-dev libxkbcommon-x11-dev libstartup-notification0-dev libxcb-randr0-dev libxcb-xrm0 libxcb-xrm-dev libxcb-shape0 libxcb-shape0-dev meson ninja-build
cd ~/Documents
# clone the repository
git clone https://www.github.com/Airblader/i3 i3-gaps
cd i3-gaps
# compile
mkdir -p build && cd build
meson ..
sudo ninjaOpen /etc/xdg/lxsession/LXDE-pi/desktop.conf and change window_manager to i3:
[Session]
window_manager=i3Open file /etc/xdg/lxsession/LXDE-pi/autostart and comment out lines lxpanel and pcmanfm:
sudo vim /etc/xdg/lxsession/LXDE-pi/autostart#@lxpanel --profile LXDE-pi
#@pcmanfm --desktop --profile LXDE-pi
@xscreensaver -no-splashcd ~/Documents
git clone https://github.com/LukeSmithxyz/st
# OR FROM THERE git://git.suckless.org/st
cd st
sudo make installcd ~/.config/i3/
git clone git@github.com:dzaczek/Uconsole-i3.git .
sudo apt install maim xclip copyq xdotool feh pamixer picom rofisudo apt install maim xclip copyq xdotool feh pamixer picom rofi i3blocks i3status fonts-font-awesomeNote: $mod is set to Alt (Mod1) in this configuration.
| Shortcut | Action |
|---|---|
$mod + Enter |
Open terminal (st) |
$mod + d |
Open application launcher (rofi) |
$mod + Shift + q |
Close focused window |
$mod + Shift + c |
Reload i3 configuration |
$mod + Shift + r |
Restart i3 |
$mod + Shift + e |
Exit i3 (with confirmation) |
| Shortcut | Action |
|---|---|
$mod + j/k/l/; |
Focus left/down/up/right (vim-style) |
$mod + Arrow Keys |
Focus in direction |
$mod + Shift + j/k/l/; |
Move window left/down/up/right |
$mod + Shift + Arrow Keys |
Move window in direction |
$mod + a |
Focus parent container |
$mod + space |
Toggle focus between tiling/floating windows |
| Shortcut | Action |
|---|---|
$mod + h |
Split horizontally |
$mod + v |
Split vertically |
$mod + s |
Stacking layout |
$mod + w |
Tabbed layout |
$mod + e |
Toggle split layout |
$mod + f |
Toggle fullscreen |
$mod + Shift + Space |
Toggle floating/tiling |
$mod + r |
Enter resize mode (then use j/k/l/; or arrows) |
| Shortcut | Action |
|---|---|
$mod + Shift + p |
Move window to right position (695x267px) |
$mod + Shift + m |
Move window to left position (695x267px) |
| Shortcut | Action |
|---|---|
$mod + 1-9,0 |
Switch to workspace 1-10 |
$mod + Shift + 1-9,0 |
Move window to workspace 1-9,10 |
$mod + Home |
Switch to workspace 1 |
$mod + End |
Switch to workspace 10 |
$mod + Page Up |
Switch to previous workspace |
$mod + Page Down |
Switch to next workspace |
- Workspace 1: Terminal
- Workspace 2: Browser (Chrome/Firefox)
- Workspace 3: Telegram
- Workspace 4: Media player
- Workspace 5: Video player (VLC)
- Workspace 6: File manager (Thunar/VirtualBox)
- Workspace 7: Graphics (GIMP)
- Workspace 8: Downloads (qBittorrent)
- Workspace 9: Games
- Workspace 10: Recording (Simplescreenrecorder)
| Shortcut | Action |
|---|---|
Print |
Screenshot entire screen → ~/Pictures/screenshot-*.png |
$mod + Print |
Screenshot active window → ~/Pictures/screenshot-*-current.png |
Shift + Print |
Screenshot selected area → ~/Pictures/screenshot-*-selected.png |
| Shortcut | Action |
|---|---|
Ctrl + Print |
Screenshot entire screen → clipboard |
Ctrl + $mod + Print |
Screenshot active window → clipboard |
Ctrl + Shift + Print |
Screenshot selected area → clipboard |
| Shortcut | Action |
|---|---|
XF86AudioRaiseVolume |
Increase volume (+5%) |
XF86AudioLowerVolume |
Decrease volume (-5%) |
XF86AudioMute |
Toggle mute |
$mod + m |
Open MOC player in terminal |
XF86AudioPlay |
Play/Pause (MOC) |
XF86AudioPause |
Play/Pause (MOC) |
XF86AudioNext |
Next track (MOC) |
XF86AudioPrev |
Previous track (MOC) |
XF86AudioStop |
Stop (MOC) |
After pressing $mod + r, use:
| Shortcut | Action |
|---|---|
j / Left |
Shrink width |
k / Down |
Grow height |
l / Up |
Shrink height |
; / Right |
Grow width |
Enter / Escape |
Exit resize mode |
- i3-gaps: Window gaps for modern look
- Rofi: Application launcher
- Suckless Terminal (st): Minimal terminal emulator
- i3blocks: Status bar with custom scripts
- MOC: Music player integration
- Screenshot tools: maim with file/clipboard support
- Picom: Compositor for transparency and effects
- WireGuard VPN: Status indicator in bar
- Raspberry Pi monitoring: Battery and temperature scripts

