Configurable statusbar for Xorg server using xsetroot
- Dependencies:
Xlibandasoundlib - Influenced by suckless software (but recompilation not needed).
- This library has been developed on and for Linux following open source philosophy.
- Using make:
git clone https://github.com/javiorfo/xtatusbar
cd xtatusbar
sudo make clean install- Using yay (AUR Arch Linux):
yay -S xtatusbar- In your ~/.xinitrc to start in every login
xtatusbar &| Component | xtatusbar | NOTE |
|---|---|---|
| CPU usage | ✔️ | percentage |
| RAM usage | ✔️ | percentage |
| TEMPERATURE | ✔️ | Celcious |
| DISK USAGE | ✔️ | percentage |
| VOLUME LEVEL | ✔️ | Level and Mute status |
| BATTERY LEVEL | ✔️ | percentage |
| WEATHER | ✔️ | using wttr and SCRIPT COMPONENT |
| NETWORK STATUS | ✔️ | Receive and send packages |
| DATE | ✔️ | could be custimizable |
| SCRIPT COMPONENT | ✔️ | Shell script |
- By default the values by parameters are the following:
// First parameter is a boolean to enable or disable the component
// Second parameter is the time in miliseconds in which every component will get their values
// Third parameter is a string interpolation
// Fifth parameter is the optional configuration file
Group cpu = {true, 2000, " CPU %d%%", Cpu};
Group ram = {true, 2000, " RAM %d%%", Ram};
Group temp = {true, 2000, " TEMP %d°C", Temperature,
"/sys/devices/platform/coretemp.0/hwmon/hwmon1/temp1_input"};
Group disk = {true, 10000, " DISK %d%%", Disk};
Group volume = {true, 200, " VOL %s", Volume};
Group network = {true, 5000, "%s NET", Network};
Group battery = {false, 5000, " BAT %d%%", Battery,
"/sys/class/power_supply/BAT0/capacity"};
Group script = {false, 2000, "CUSTOM %s", Script};
Group date = {true, 60000, " %A %d/%m/%Y %H:%M", Date};
// Separator between components
char *separator = "|";- Option parameters
Usage:
xtatusbar [options]
Each component (bat, script, cpu, ram, temp, disk, vol, net, date) supports the following flags:
Available flags:
--separator String separator between components
--{component}-enabled Boolean (true or false)
--{component}-time Time in miliseconds in which the component will refresh
--{component}-pattern String pattern to show
--{bat|temp|script}-file File path. Only for battery, temperature and script
