Uconsole-i3/README.md
dzaczek 0c61c35828 Enhanced documentation and add installation script
- 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
2025-12-23 17:09:38 +01:00

192 lines
6.1 KiB
Markdown

# Uconsole-i3
i3 window manager configuration for Uconsole device
![SCREENSHOT|300](./screen.png)
![SCREENSHOT2|300](./screen2.png)
## 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](https://github.com/icemodding/i3). 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:
```bash
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](https://github.com/Airblader/i3)
### Installation i3 gaps:
```bash
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:
```ini
[Session]
window_manager=i3
```
Open file `/etc/xdg/lxsession/LXDE-pi/autostart` and comment out lines lxpanel and pcmanfm:
```bash
sudo vim /etc/xdg/lxsession/LXDE-pi/autostart
```
```ini
#@lxpanel --profile LXDE-pi
#@pcmanfm --desktop --profile LXDE-pi
@xscreensaver -no-splash
```
### Configure and install SuckLess Terminal
```bash
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
```bash
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
```bash
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