Skip to content

Configurable statusbar for Xorg server using xsetroot

License

Notifications You must be signed in to change notification settings

javiorfo/xtatusbar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

xtatusbar

Configurable statusbar for Xorg server using xsetroot

Caveats

  • Dependencies: Xlib and asoundlib
  • Influenced by suckless software (but recompilation not needed).
  • This library has been developed on and for Linux following open source philosophy.

Installation

  • 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 &

Overview

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

Customizable by parameters

  • 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

Screenshots

xtatusbar


Donate

  • Bitcoin (QR) 1GqdJ63RDPE4eJKujHi166FAyigvHu5R7v
  • Paypal

About

Configurable statusbar for Xorg server using xsetroot

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published