Configurable statusbar for Xorg server using xsetroot
This project is no longer maintained in favor of ztatusbar
- Dependencies:
xsetroot,asoundlibandlibcurl - Influenced by suckless software (changes are doing by config.h file and recompilation).
- This library has been developed on and for Linux following open source philosophy.
- First step:
git clone https://github.com/javiorfo/xtatusbar
cd xtatusbar
sudo make clean install- 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 | ❌ | |
| NETWORK STATUS | ✔️ | Receive and send packages |
| DATE | ✔️ | could be custimizable |
| CUSTOM COMPONENT | ✔️ | coding in C |
- Edit config.h to change values or configurations (then recompile)
- By default the values by parameters are the following:
// First element is a string interpolation
// Second element is the time in miliseconds in which every component will execute the function in the third element
// Third element is the function to be executed
static Component components[] = {
{ " CPU %hd%% | ", 1000, get_cpu_usage },
{ " RAM %hd%% | ", 1000, get_ram_usage },
{ " TEMP %hd°C | ", 1000, get_cpu_temperature },
{ " DISK %hd%% | ", 5000, get_disk_usage },
{ " VOL %s | ", 100, get_volume },
{ "%s NET | ", 5000, network_is_connected },
{ " %s ", 60000, get_date },
// { " BAT %hd%% | ", 5000, get_battery_status },
// { "CUSTOM %s ", 1000, execute_script },
};
// File where to get PC temperature
// static const char *TEMPERATURE_FILE = "/sys/class/thermal/thermal_zone0/temp";
static const char* TEMPERATURE_FILE = "/sys/devices/platform/coretemp.0/hwmon/hwmon1/temp1_input";
// File where to get battery info
static const char* BATTERY_FILE = "/sys/class/power_supply/BAT0/uevent";
// Date format calendar
static const char* DATE_FORMAT = "%A %d/%m/%Y %H:%M";
// Path to a script if execute_script function is used
static const char* SCRIPT = "./path/to/script";