# simple-i3blocks This is a simple collection of i3blocks-modules accompagnied by a config file with the aim to display only important information in favor of not spilling lots of numbers into the status bar. # Usage Some modules accept an `instance` argument: -- audio: default instance is audio output. The optional instance `mic` shows microphone information. -- battery: default instance collects informations from all attached batteries and treats them as one battery. The optional instance `BAT#` can be specified to display results only for battery #. -- ram: default instance collects information from physical memory and swap. The optional instances `phys` and `swap` only collect information for physical- and swap-memory respectiveley. # Requirements Install [i3 window manager](https://i3wm.org) alongside with [i3blocks](https://github.com/vivien/i3blocks) and `git`. The following shows the requirements for each module: ``` module dependency -------------------------- audio amixer battery none, searches in /sys/class/power_supply/BAT... cpu top, htop for click support temp sensors datetime date ip curl ram none, searches in /proc/meminfo, htop for click support storage df backlight none, searches in /sys/class/backlight, intel and ati/amd supported ``` # Install One-Liner: Open up a terminal and paste: `bash <(curl -s https://will.kein.hk/git/koksnuss/simple-i3blocks/raw/master/install.sh)` - Backup: `mv ~/.config/i3blocks{,.bak}` - Clone: `git clone https://will.kein.hk/git/koksnuss/simple-i3blocks.git ~/.config/i3blocks` - Adjust `~/.config/i3blocks/config` to control i3 status bar output (see [Usage](#usage)). - Make sure you've added `bar { status_command i3blocks }` in your i3-config file (i.e. `~/config/i3/config`). - Finally reload your `i3` window manager. The default shortcut is `mod + SHIFT + r`, you should see a flickering. # Roadmap ## Modules - [x] datetime - [x] ram/swap - [x] cpu - [x] cpu temp - [x] audio/mic - [x] storage - [x] ip - [x] battery - [x] backlight - [ ] wifi/ethernet/bluetooth - [ ] mount - [ ] ethernet bandwith ## Refractor - [x] centralize color palette and progress bar in abstract.sh - [x] centralize long/short view in abstract.sh - [x] centralize color/blackwhite view in abstract.sh - [x] make long/short permanent - [x] make color/blackwhite permanent - [x] the progress bar logic seems to repeat itself again and again, this can be done better ## Click interactions ### Long/Short preview: Left click - [x] Toggle long (numbers and units) and short (representative bar) preview ### Color/Blackwhite preview: right click - [x] Toggle color and blackwhite preview ### Open another program: Left click - [x] audio/mic: pavucontrol - [x] ram/cpu/temp: htop - [x] storage: ranger - [x] ip: firefox - [ ] mount: mount it somewhere (with pmount?) and open ranger ### Other behaviour - [c] audio/mic: toggle mute, TODO: conflicte with color toggle - [ ] onn/off behaviour: backlight, ethernet, audio, mic ## Signals - [x] audio, mic - [ ] backlight - [ ] mount ## Other features - [x] nice icons as labels - [x] showing percentage values as a vertical bar # Concept 1. Show only the nescessary information 2. Only show numbers when they are really informative 3. Write this thingy in python! 4. Put colors to a different file