- Added comprehensive keyboard shortcuts documentation with detailed tables: * Basic operations (window management, launcher, config reload) * Window focus and movement (vim-style keybindings) * Window layout controls (split, stacking, tabbed, fullscreen) * Workspace navigation and assignments * Screenshot shortcuts (file and clipboard modes) * Audio controls (volume, MOC player) * Resize mode instructions - Fixed typos in README (temple -> template, comming -> coming, etc.) - Added Quick Installation section with automated script - Added Features section listing all major components - Improved manual installation instructions formatting - Created install.sh script for automated installation: * Installs all required dependencies * Builds and installs i3-gaps from source * Configures LXDE autostart for i3 * Installs SuckLess Terminal * Copies configuration files and scripts * Creates necessary directories * Provides clear installation progress and next steps
6.1 KiB
Uconsole-i3
i3 window manager configuration for Uconsole device
Usage
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!
Quick Installation
For automatic installation, use the provided script:
git clone git@github.com:dzaczek/Uconsole-i3.git
cd Uconsole-i3
chmod +x install.sh
./install.sh
Manual Installation
This configuration uses I3-GAPS https://github.com/Airblader/i3
Installation i3 gaps:
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 ninja
Configure LXDE for i3
Open /etc/xdg/lxsession/LXDE-pi/desktop.conf and change window_manager to i3:
[Session]
window_manager=i3
Open 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-splash
Configure and install SuckLess Terminal
cd ~/Documents
git clone https://github.com/LukeSmithxyz/st
# OR FROM THERE git://git.suckless.org/st
cd st
sudo make install
Copy this configuration
cd ~/.config/i3/
git clone git@github.com:dzaczek/Uconsole-i3.git .
sudo apt install maim xclip copyq xdotool feh pamixer picom rofi
Additional Dependencies
sudo apt install maim xclip copyq xdotool feh pamixer picom rofi i3blocks i3status fonts-font-awesome
Keyboard Shortcuts
Note: $mod is set to Alt (Mod1) in this configuration.
Basic Operations
| 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) |
Window Focus & Movement
| 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 |
Window Layout
| 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) |
Floating Windows (Uconsole-specific)
| Shortcut | Action |
|---|---|
$mod + Shift + p |
Move window to right position (695x267px) |
$mod + Shift + m |
Move window to left position (695x267px) |
Workspaces
| 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 Assignments
- 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)
Screenshots
Save to Files
| 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 |
Copy to Clipboard
| Shortcut | Action |
|---|---|
Ctrl + Print |
Screenshot entire screen → clipboard |
Ctrl + $mod + Print |
Screenshot active window → clipboard |
Ctrl + Shift + Print |
Screenshot selected area → clipboard |
Audio Controls
| 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) |
Resize Mode
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 |
Features
- 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

