All Projects → ryanflannery → oxbar

ryanflannery / oxbar

Licence: ISC license
configurable X11 status bar for OpenBSD (and xstatbar successor)

Programming Languages

c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language
Makefile
30231 projects
shell
77523 projects

Projects that are alternatives of or similar to oxbar

Persepolis
Persepolis Download Manager is a GUI for aria2.
Stars: ✭ 5,218 (+14394.44%)
Mutual labels:  openbsd, bsd
Oksh
Portable OpenBSD ksh, based on the Public Domain Korn Shell (pdksh).
Stars: ✭ 142 (+294.44%)
Mutual labels:  openbsd, bsd
Pyroute2
Python Netlink and PF_ROUTE library — network setup and monitoring
Stars: ✭ 658 (+1727.78%)
Mutual labels:  openbsd, bsd
Awesome Unix
All the UNIX and UNIX-Like: Linux, BSD, macOS, Illumos, 9front, and more.
Stars: ✭ 973 (+2602.78%)
Mutual labels:  openbsd, bsd
gtk-rs-core
Rust bindings for GNOME libraries
Stars: ✭ 179 (+397.22%)
Mutual labels:  cairo, pango
Ecominit
eComInit is a free init system and service manager designed to scale from lightweight desktops to web-scale cloud deployments. It aims to offer feature-parity with systemd but with a modular, portable architecture compliant with software engineering best-practice.
Stars: ✭ 352 (+877.78%)
Mutual labels:  openbsd, bsd
Mg
Micro (GNU) Emacs-like text editor ❤️ public-domain
Stars: ✭ 117 (+225%)
Mutual labels:  openbsd, bsd
osutil
Go library to easily detect current operating system, current Linux distribution, macOS version and more...
Stars: ✭ 22 (-38.89%)
Mutual labels:  openbsd, bsd
i3lock-color
The world's most popular non-default computer lockscreen.
Stars: ✭ 904 (+2411.11%)
Mutual labels:  cairo, bsd
bf256
Brainfuck compiler under 256 bytes in size.
Stars: ✭ 21 (-41.67%)
Mutual labels:  openbsd, bsd
Awesome Bsd
A collection of awesome BSD related stuff
Stars: ✭ 236 (+555.56%)
Mutual labels:  openbsd, bsd
InitKit
Neo-InitWare is a modular, cross-platform reimplementation of the systemd init system. It is experimental.
Stars: ✭ 364 (+911.11%)
Mutual labels:  openbsd, bsd
InitWare
The InitWare Suite of Middleware allows you to manage services and system resources as logical entities called units. Its main component is a service management ("init") system.
Stars: ✭ 164 (+355.56%)
Mutual labels:  openbsd, bsd
mg
OpenBSD Mg editor. Portable Public Domain Micro Emacs for *BSD, Cygwin, Linux, Mac OS X.
Stars: ✭ 99 (+175%)
Mutual labels:  openbsd, bsd
check zpools
Monitor the usage and status of ZFS Pools (zpools)
Stars: ✭ 16 (-55.56%)
Mutual labels:  bsd
StatusBarColorManager
A library which help you to change status bar color in a simple way
Stars: ✭ 32 (-11.11%)
Mutual labels:  statusbar
status-bar-height
Listen to status bar changes during incoming calls and other multi-tasking events
Stars: ✭ 73 (+102.78%)
Mutual labels:  statusbar
cxx
🔌 Configuration-free utility for building, testing and packaging executables written in C++. Can auto-detect compilation flags based on includes, via the package system and pkg-config.
Stars: ✭ 87 (+141.67%)
Mutual labels:  bsd
dotfiles
🏠
Stars: ✭ 53 (+47.22%)
Mutual labels:  openbsd
cairo-cr
Cairo bindings for Crystal language.
Stars: ✭ 29 (-19.44%)
Mutual labels:  cairo

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

screenshot

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): default

Other themes, all included in the file sample.oxbar.conf:

islands: each widget is an island, with true transparency between islands

islands-colorful: like islands, but each widget is a different color islands-colorful

minimal: a dark, text only display minimal

pastels: a pastel based theme with widgets tightly packed pastels

ryan: what my setup looks like ryan

xstatbar: looks just like it's predecessor xstatbar

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:

 $ 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).

oxbar -H also has a brief description of each command line flag. See the sample configuration 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:

oxbar xstatbar

outstanding stuff, prioritized

See the 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?
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].