https://github.com/ryanflannery/oxbar
configurable X11 status bar for OpenBSD (and xstatbar successor)
https://github.com/ryanflannery/oxbar
bsd cairo openbsd pango statusbar xcb
Last synced: 3 months ago
JSON representation
configurable X11 status bar for OpenBSD (and xstatbar successor)
- Host: GitHub
- URL: https://github.com/ryanflannery/oxbar
- Owner: ryanflannery
- License: isc
- Created: 2018-09-08T03:23:27.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-12-07T03:48:59.000Z (5 months ago)
- Last Synced: 2025-01-30T23:41:19.125Z (3 months ago)
- Topics: bsd, cairo, openbsd, pango, statusbar, xcb
- Language: C
- Homepage:
- Size: 10.7 MB
- Stars: 47
- Watchers: 5
- Forks: 2
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# oxbar
oxbar is a X11 status bar for OpenBSD showing various system stats.
It has a configurable display and works out-of-the-box on most modern window
managers in an intuitive fashion.
oxbar supports FreeType font rendering and styling, true transparency & alpha
blending on all UI components (including the root window), and a simple
configuration format that can concisely support multiple themes.It's motivated by the frequent complaints/threats I get about
my old xstatbar and its many hacks. Shaming works 'yo.oxbar is released under an
[ISC license](https://github.com/ryanflannery/oxbar/blob/master/LICENSE)
# features
* True transparency support with a compositing window manager
* I recommend compton (in ports) over xcompmgr (in base)
* FreeType fonts styled & rendered easily, with all font options
* Fully configurable display via the command line or config file
* Left/Right/Center aligned widgets, and any combination of those
* Configuration file supports multiple themes that can be chosen at runtime
* Types of stats supported:
* Battery/AC status, progress bar, time remaining
* Brightness level w/ progress bar (via Xrandr(3))
* Volume level w/ progress bar
* Number of processes
* Memory usage & breakdown
* CPUs usage & breakdown w/ or w/out charts
* WiFi signal strength
* Current date/time (is that a status?)
* Others forthcoming# more screenshots
oxbar's default look (with no options):
Other themes, all included in the file
[sample.oxbar.conf](sample.oxbar.conf):**islands**: each widget is an island, with true transparency between
**islands-colorful**: like islands, but each widget is a different color
**minimal**: a dark, text only display
**pastels**: a pastel based theme with widgets tightly packed
**ryan**: what my setup looks like
**xstatbar**: looks just like it's predecessor
# installing
There is no port/package (yet), as oxbar is still under active development.
To build & install, you'll need to first install 2 dependencies, pango and
cairo, and then clone this repo and run `make install`.Roughly:
```bash
$ doas pkg_add pango cairo # install dependencies (as root)
$ make # build oxbar
$ doas make install # install globally (as root)
-or-
$ PREFIX=~/local make install # install local to a user (or anywhere)
```# usage
Full man page available here:
[oxbar(1)](http://htmlpreview.github.io/?https://raw.githubusercontent.com/ryanflannery/oxbar/master/man/oxbar.html).`oxbar -H` also has a brief description of each command line flag.
See the sample configuration [sample.oxbar.conf](sample.oxbar.conf) for
examples, like the themes above.# i liked xstatbar's look
You can achieve that using the included sample configuration file, saved as
`~/.oxbar.conf`, and run oxbar via:
```bash
oxbar xstatbar
```# outstanding stuff, prioritized
See the [TODO](TODO) file for various TODO's present throughout the code.In addition, more long-term stuff I'd like to do, by my priority...
* big refactor: make all widgets 100% config-driven... Basically, eliminate
the need for individual widget code in `widgets/` entirely, and make them
all configurable via a simple syntax. I know how to do most of this, and
easily from a configuration standpoint, but not all. My current thoughts
would make the configuration too verbose/lengthy, and impractical. Chew on
this more, I will...
* gui: icons in the display could help condense it further
* stats: add collector for hw.sensors & a related widget
* stats: add a weather component...i like weather
* when using compton, need '--shadow-exclude 'name = "oxbar"' to disable
shadow - how can i automate that?