https://github.com/morgant/xsndiomenu
An X11 menu to control sndiod(8) under OpenBSD
https://github.com/morgant/xsndiomenu
audio menu openbsd sndio sndiod x11 xmenu
Last synced: 3 months ago
JSON representation
An X11 menu to control sndiod(8) under OpenBSD
- Host: GitHub
- URL: https://github.com/morgant/xsndiomenu
- Owner: morgant
- License: mit
- Created: 2023-11-18T20:54:51.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-13T17:58:52.000Z (4 months ago)
- Last Synced: 2025-02-05T08:41:15.067Z (4 months ago)
- Topics: audio, menu, openbsd, sndio, sndiod, x11, xmenu
- Language: Shell
- Homepage:
- Size: 35.2 KB
- Stars: 4
- Watchers: 2
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# xsndiomenu
by Morgan Aldridge## OVERVIEW
A simple menu utility to view & control [sndio](https://sndio.org/) devices & state under [OpenBSD](https://www.openbsd.org/). It is a wrapper around OpenBSD's [dmesg(8)](http://man.openbsd.org/dmesg), [sndioctl(1)](http://man.openbsd.org/sndioctl), and [sysctl(8)](http://man.openbsd.org/man8/sysctl.8) powered by [xmenu](https://github.com/phillbush/xmenu).
It is intended for, but not limited to, use with the [MLVWM](https://github.com/morgant/mlvwm) window manager, specifically the [mlvwmrc](https://github.com/morgant/mlvwmrc) configurations, as a "Menu Extra" swallowed into the menu bar.
**NOTE:** _This is currently a standalone X11 application and does not integrate with the system tray._
## FEATURES
* Lists all audio devices by hardware description, including:
* Denotes which is the active audio server device
* Supports switching active audio server device
* For input & output:
* Shows level (volume)
* Supports setting level to min/max
* Supports increasing/decreasing by 10%
* Shows mute status
* Supports toggling mute
* For input, denotes whether audio recording is enabled in the kernel### Example Screenshot

## PREREQUISITES
* [wmlaunchbutton](https://github.com/phillbush/wmlaunchbutton)
* [xmenu](https://github.com/phillbush/xmenu)## INSTALLATION
```
make install
```### MLVWM Menu Extra
Install the Menu Extra in your `~/.mlvwm/MenuExtras/` directory by running:
```
make install-mlvwmrc-menuextra
```Next, edit your `~/.mlvwm/MenuBar` configuration file to add the following line in the appropriate "Menu Extras" section:
```
Read .mlvwm/MenuExtras/xsndiomenu
```Finally, restart `mlvwm`.
## USAGE
You can manually execute `xsndiomenu` in any way you prefer, which will show the menu at your cursor.
If installed as an MLVWM MenuExtra, you can click the icon in your menu bar.
## SIMILAR UTILITIES
You might want to check out these similar projects for controlling OpenBSD's sndiod(8) from X11:
* [sndiokeys](https://github.com/ratchov/sndiokeys)
* [tray-app](https://www.bsdua.org/tray-app.html) (specifically `/usr/local/libexec/tray-app/sound`; for use with a system tray application)## CHANGE LOG
See [CHANGELOG.md](CHANGELOG.md) for detailed version history.
## LICENSE
Mark James' [FamFamFam Silk Icons](https://github.com/markjames/famfamfam-silk-icons) licensed under the [Creative Commons Attribution 2.5 License](http://creativecommons.org/licenses/by/2.5/).
Released under the [MIT license](LICENSE).