For my fellow Openbox nerds out there...

Not happy with any of the panel options out there, I've begun building a library of dynamically-generated menus for Openbox (pipe menus).

Introducing, Corgi Scripts.

So far, I have pipe menus for NetworkManager and Samba, and more are on the way. These are all new builds, using pure POSIX script.
They are well-writ and thoroughly-tested, and working well for me, so far, and I want to share them.
I've made them freely available (MPL v2.0) on Github.

They are built atop a reusable library, which is responsible for generating the XML for the menus, as well as a library of useful functions for string and argument buidling and parsing, as well as collecting user data and a
few other things.
As the readme points out, library functions and executables are semantically written and well-documented, so, when in doubt, check the code-level documentation.

Also check the readme for packages used to provide functionality.

Currently in the works are menus for available networked printers (will likely use CUPS as a backend), control and adjustment of displays (using xrandr, with, possibly, support for Nvidia, as I have two machines using Nvidia
chipsets), general system info, and smartmontools, for easy monitoring of hard disk health. I'll also be adding support for server management to the Samba menu (currently, it only lists shares and connection capabilities for
clients).

I'm open feedback and suggestions, so, if you have them, or find bugs, let me know, and I'll get on them.
If there are menus you think would be usefiul, let me know, and I'll add them to my roster.
Also, if folks want, I'd be interested in adding a Void xbps package which installs the library, as well as the command line utlities used as backends.

Code and info are freely available here:https://github.com/antonio-malcolm/corgi-scripts

Until then, here are a few screenshots, to wet your whistle:


For NetworkManager:


    Viewing a device profile




    Viewing a connection profile




    Viewing a list of available networks




    Viewing a list of hidden networks




    Connecting to a wireless network (one which requires authentication- otherwise, connects without a prompt)




    Connecting to/adding a wireless network by manual entry (required for hidden networks)




    Editing a connection profile




For Samba:


    Viewing host details




    Mounting a share:




    Mounting a share by manual input




    Viewing mounted share details