An open API service indexing awesome lists of open source software.

https://github.com/linux0hat/my-i3-config


https://github.com/linux0hat/my-i3-config

Last synced: 1 day ago
JSON representation

Awesome Lists containing this project

README

          

# My i3 config

**Screenshot :**
![image](screenshot.png)
**Bar :**
![image](screenshot_bar.png)

## Keyboard configuration

Of course! Here's the full list of **keyboard shortcuts (keybindings)** from your i3 config, translated and organized in **English**:

---

### ๐Ÿ–ฅ๏ธ **Application Launching**

| Shortcut | Action |
| ---------------------- | -------------------------------------- |
| `$mod + Enter` | Open terminal (`i3-sensible-terminal`) |
| `$mod + Shift + Enter` | Open Firefox |
| `$mod + n` | Open Rofication GUI (not working) |
| `$mod + Shift + n` | Open Nautilus |
| `$mod + Space` | Launch an app |
| `$mod + Shift + Space` | Launch a program |
| `$mod + r` | Resize mode |
| `Print` | Take screenshot with Flameshot |

---

### ๐Ÿ”’ **Screen Locking**

| Shortcut | Action |
| ----------------------- | -------------------------------------------------------- |
| `$mod + Escape` | Lock screen with solid color (`i3lock`) |
| `$mod + Shift + Escape` | Transparent lockscreen (`scrot + i3lock`) |

---

### โŒ **Window Management**

| Shortcut | Action |
| --------------------- | ------------------------------------------------ |
| `$mod + Shift + q` | Close focused window |
| `$mod + Shift + f` | Toggle floating mode |
| `$mod + Ctrl + Space` | Toggle focus between tiling and floating windows |
| `$mod + a` | Focus parent container |
| `$mod + d` | Focus child container |

---

### ๐Ÿ” **Window Focus**

| Shortcut | Action |
| --------------------------- | ----------------------- |
| `$mod + j` | Focus left |
| `$mod + k` | Focus down |
| `$mod + l` | Focus up |
| `$mod + m` | Focus right |
| `$mod + Arrow Keys` | Focus in that direction |

---

### ๐Ÿ”€ **Window Movement**

| Shortcut | Action |
| --------------------------- | ---------------------- |
| `$mod + Shift + j` | Move window left |
| `$mod + Shift + k` | Move window down |
| `$mod + Shift + l` | Move window up |
| `$mod + Shift + m` | Move window right |
| `$mod + Shift + Arrow Keys` | Move in that direction |

---

### ๐Ÿ“ **Window Layout**

| Shortcut | Action |
| ---------- | --------------------------- |
| `$mod + h` | Split window horizontally |
| `$mod + v` | Split window vertically |
| `$mod + f` | Toggle fullscreen |
| `$mod + s` | Set layout to stacked |
| `$mod + w` | Set layout to tabbed |
| `$mod + t` | Toggle split/unsplit layout |

---

### ๐Ÿ–ฅ๏ธ **Multi-monitor / Workspace**

| Shortcut | Action |
| ------------------------ | ------------------------------------- |
| `$mod + Alt + Left` | Move workspace to left screen |
| `$mod + Alt + Right` | Move workspace to right screen |
| `$mod + [1โ€“9,0]` | Switch to workspace 1โ€“10 |
| `$mod + Shift + [1โ€“9,0]` | Move focused window to workspace 1โ€“10 |

---

### ๐Ÿงฐ **Scratchpad**

| Shortcut | Action |
| ------------------ | --------------------------------- |
| `$mod + Shift + b` | Show scratchpad window |
| `$mod + b` | Move focused window to scratchpad |

---

### ๐Ÿ”„ **i3 Management**

| Shortcut | Action |
| ------------------ | --------------------------------------- |
| `$mod + Shift + c` | Reload i3 config |
| `$mod + Shift + r` | Restart i3 (in-place) |
| `$mod + Shift + s` | Run custom power menu (`power-menu.sh`) |

## Bar

๐Ÿ“ฌ GitHub Notifications (github block)

Purpose: Shows unread GitHub notifications.

Token: Requires a GitHub token with notification access.

Format: Displays the icon and total notifications.

Behavior:

Only shows if the total > 0.

Warnings triggered for mentions or review requests.

๐Ÿณ Docker Containers (docker block)

Purpose: Displays number of running Docker containers.

Interval: Updates every 2 seconds.

Format: Shows how many containers are running vs total (running/total).

๐Ÿง  Memory Usage (memory block)

Purpose: Displays RAM and optionally swap usage.

Format:

Default: Shows RAM usage percentage.

Alt format: Shows swap usage when toggled.

๐Ÿ–ฅ๏ธ CPU Load (cpu block)

Purpose: Shows CPU usage.

Thresholds:

Info: 20%

Warning: 50%

Critical: 90%
These thresholds change the block color accordingly.

๐Ÿ”Š Audio Volume (sound block)

Purpose: Controls and displays sound volume.

Click behavior:

Left click (button = "left") opens pavucontrol (audio settings GUI).

๐ŸŒ Network (net block)

Purpose: Displays network status (Wi-Fi or Ethernet).

Format:

Shows Wi-Fi signal strength, SSID, and frequency if on Wi-Fi.

Shows ETH if connected via Ethernet.

Displays network interface name (e.g., wlan0, eth0).

๐Ÿ”‹ Battery (battery block)

Purpose: Monitors battery status.

Interval: Refreshes every 10 seconds.

Format:

Shows icon, battery percentage, and optionally time remaining.

Displays full format even when charging.

๐Ÿ•’ Time & Date (time block)

Purpose: Shows current date and time.

Interval: Updates every 5 seconds.

Format:

Displays abbreviated weekday, day/month, and 24-hour time.

Example: Sun 25/05 16:42

## Requirements

### ๐Ÿงฉ **Core environment**

* `i3-wm` โ€“ the window manager itself
* `i3status-rust` (aka `i3status-rs`) โ€“ for the status bar (`bar.toml`)
* `i3lock` โ€“ to lock the screen
* `feh` โ€“ to set your wallpaper
* `autorandr` โ€“ for automatic monitor detection and layout switching
* `xset` โ€“ to disable screen blanking and DPMS

---

### ๐Ÿ–ผ๏ธ **Wallpaper**

* You are setting the wallpaper from: `~/.config/i3/wallpaper.jpg`

---

### ๐Ÿ”ค **Fonts**

* `ttf-dejavu` โ€“ for `DejaVu Sans Mono`
* `ttf-font-awesome` โ€“ for the `๏”` icon and bar icons

---

### ๐Ÿ–ฑ๏ธ **Utilities**

* `scrot` โ€“ to take screenshots for the "transparent lock"
* `flameshot` โ€“ screenshot tool bound to `Print` key
* `brightnessctl` โ€“ to adjust screen brightness
* `playerctl` โ€“ to control media playback
* `pactl` โ€“ PulseAudio command-line tool for audio controls

---

### ๐Ÿงฐ **Launchers and menus**

* `dmenu` โ€“ lightweight app launcher
* `rofi` โ€“ required by `rofication-gui.py`
* `i3-dmenu-desktop` โ€“ script to launch `.desktop` applications

---

### ๐Ÿ“ฆ **Apps**

* `firefox` โ€“ launched with `$mod+Shift+Return`
* `nautilus` โ€“ file manager
* `i3-sensible-terminal` โ€“ generic terminal launcher (usually points to `xterm`, `kitty`, etc.)

---

### ๐Ÿงช **Custom scripts and services**

* `rofication-daemon.py` โ€“ custom Python script (requires `python`, `pydbus`, etc.)
* `rofication-gui.py` โ€“ another Python script for notifications
* `/home/adrien/.config/i3/power-menu.sh` โ€“ your custom power menu
* `opentabletdriver` โ€“ started as a systemd user service for tablet support

---

### ๐Ÿ“œ **Other potential dependencies**

* `xorg-xbacklight` โ€“ fallback for brightness control (if `brightnessctl` doesn't work)
* `xorg-xrandr` โ€“ used by `autorandr` internally

---

### โœ… Full installation list

If you're using **Arch Linux**, you can install everything with:

```bash
sudo pacman -S i3-wm i3status-rust i3lock feh autorandr xorg-xset scrot flameshot brightnessctl playerctl pulseaudio dmenu rofi firefox nautilus ttf-dejavu ttf-font-awesome python python-pydbus xorg-xrandr
```

And if you use `yay` for AUR packages:

```bash
yay -S opentabletdriver rofication
```

## Installation
First, backup your i3 config, then :
```bash
cd .~/config/
git clone https://github.com/Linux0Hat/my-i3-config.git i3
```

And fill with github token (with notification access) in ``bar.toml`` to recieve GitHub notifications.