93 lines
3.3 KiB
Markdown
93 lines
3.3 KiB
Markdown
# 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
|