Admiral

Jul 20, 2023

Merge concurrent outputs for a status bar

Merge concurrent outputs for a status bar.

Programs like lemonbar and i3bar have become popular in recent years, and with good reason. These programs read from standard input and then output what they receive on a status bar. For the most part, their output is identical to their input, but they accept some format strings which allow the user to specify things like colors, justification, and clickable areas.

A typical status bar script looks something like this a shell script, is used to collect and format the output of various commands. The main problem with this method is that it’s rather difficult to handle timing correctly. A counter showing the number of outdated programs on the system can be updated less frequently than a clock.

Admiral runs programs specified by the user and prints their output. It allows for a clear separation of different sections, which simplifies configuration. Each program is run in its own thread. This means that each section is updated independently of the other sections. It also means that if something fails, it fails independently of the other sections.



Checkout these related ports:
  • Zenity - Display GNOME dialogs from the command line
  • Yelp - Help browser for the GNOME desktop
  • Yeahconsole - Terminal wrapper for creating drop-down consoles
  • Yalias - Enhanced execution box with regex pattern matching
  • Yakuake - Drop-down terminal emulator for KDE
  • Yad - Display GNOME dialogs from the command line
  • Xzoom - Magnify, rotate, mirror the image on the X11 screen
  • Xxkb - XKB keyboard layout indicator and switcher
  • Xwud - Image displayer for X
  • Xwit - X interface tool
  • Xwinwrap - XWinWrap replace a desktop background with a movie or screensaver
  • Xwininfo - Window information utility for X
  • Xwd - Dump an image of an X window
  • Xwatchwin - Watch a window on another X server
  • Xvt - Xterm replacement, supporting color, transparency, and more, with less