This repository has been archived on 2019-02-28. You can view files and clone it, but cannot push or open issues or pull requests.
simple-i3blocks/README.md
2019-02-26 18:32:28 +01:00

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