Common Workflows

Step-by-step guides for common tasks

First-Time Setup

~code
1. Install iNiR
   ./setup install

2. Choose panel family
   Mod+Shift+W (or keep default ii)

3. Choose global style
   Super+, → Appearance → Global Style

4. Set wallpaper
   Ctrl+Alt+T → Select wallpaper

5. Configure keybinds
   Edit ~/.config/niri/config.kdl

Switching Themes

Via GUI:

~code
Super+, → Appearance → Theme → Select preset

Via Wallpaper:

~code
Ctrl+Alt+T → Select wallpaper
Colors auto-extract with matugen

Via Config:

~code
# Edit config
nano ~/.config/illogical-impulse/config.json

# Change theme
"appearance": { "theme": "gruvbox" }

# Restart
qs kill -c ii; qs -c ii

Debugging Issues

~code
1. Check logs
   qs log -c ii | tail -50

2. Look for errors
   qs log -c ii | grep -i error

3. Restart shell
   qs kill -c ii; qs -c ii

4. Check config validity
   cat ~/.config/illogical-impulse/config.json | jq .

5. Reset to defaults
   ./setup doctor

Performance Tuning

Low-end hardware:

~code
1. Use waffle family (lower memory)
   qs -c ii ipc call panelFamily set waffle

2. Use Material or iNiR style (no blur)
   Super+, → Appearance → Global Style → material

3. Disable unused modules
   Edit config: "modules": { "aiChat": false }

4. Enable performance.lowPower
   "performance": { "lowPower": true }

5. Enable performance.reduceAnimations
   "performance": { "reduceAnimations": true }

Gaming:

~code
1. Enable gameMode.enable
   "gameMode": { "enable": true }

2. Enable gameMode.disableEffects
   "gameMode": { "disableEffects": true }

3. Enable gameMode.disableAnimations
   "gameMode": { "disableAnimations": true }

4. Enable gameMode.minimalMode
   "gameMode": { "minimalMode": true }

Customizing Keybinds

~code
1. Edit Niri config
   $EDITOR ~/.config/niri/config.kdl

2. Find binds section
   Search for "binds {"

3. Add custom bind
   Mod+P { spawn "qs" "-c" "ii" "ipc" "call" "session" "toggle"; }

4. Reload Niri
   niri msg action load-config-file

5. Test keybind
   Press Mod+P

Adding Pinned Apps to Dock

~code
1. Find app ID
   # Run app, then:
   qs -c ii ipc call dock listApps

2. Edit config
   nano ~/.config/illogical-impulse/config.json

3. Add to pinnedApps
   "dock": {
     "pinnedApps": ["firefox", "kitty", "code"]
   }

4. Restart
   qs kill -c ii; qs -c ii

Setting Up AI Chat

~code
1. Get API key
   # Gemini: https://makersuite.google.com/app/apikey
   # Mistral: https://console.mistral.ai/api-keys
   # OpenRouter: https://openrouter.ai/keys
   # Or use Ollama locally (no key needed)

2. Store in keyring
   secret-tool store --label="Gemini API" service gemini key api

3. Enable in config
   "sidebar": {
     "left": {
       "aiChat": { "enable": true }
     }
   }

4. Restart and open sidebar
   qs kill -c ii; qs -c ii
   Super+A (or click sidebar button)

Switching Between Monitors

Per-monitor wallpapers:

~code
1. Enable multi-monitor mode
   "background": {
     "multiMonitor": { "enable": true }
   }

2. Set wallpaper per monitor
   Ctrl+Alt+T → Select monitor → Choose wallpaper

3. Each monitor gets independent wallpaper and colors

Taking Screenshots

Region screenshot:

~code
Super+Shift+S → Drag region → Auto-copied to clipboard

OCR (text extraction):

~code
Super+Shift+X → Drag region → Text copied to clipboard

Screen recording:

~code
Super+Shift+R → Drag region → Recording starts
Super+Shift+R again → Stop recording

Fixing Common Issues

Bar not showing:

~code
1. Check if enabled
   grep "iiBar" ~/.config/illogical-impulse/config.json

2. Check logs
   qs log -c ii | grep -i bar

3. Force restart
   qs kill -c ii; sleep 2; qs -c ii

Settings won't open:

~code
1. Try IPC
   qs -c ii ipc call settings open

2. Check logs
   qs log -c ii | grep -i settings

3. Verify config is valid
   cat ~/.config/illogical-impulse/config.json | jq .

High memory usage:

~code
1. Check which modules are loaded
   ps aux | grep quickshell

2. Disable heavy modules
   # AI Chat, Video Wallpaper, Sidebars

3. Switch to waffle family
   qs -c ii ipc call panelFamily set waffle

Updating iNiR

~code
1. Pull latest changes
   cd ~/.config/quickshell/ii
   git pull

2. Run update script
   ./setup update

3. Check changelog
   cat CHANGELOG.md | head -50

4. Restart automatically applied

Backing Up Config

~code
1. Copy config file
   cp ~/.config/illogical-impulse/config.json ~/config-backup.json

2. Or use setup script
   ./setup my-changes

3. Restore if needed
   cp ~/config-backup.json ~/.config/illogical-impulse/config.json
   qs kill -c ii; qs -c ii

Next Steps