Could you lint that please. This is unreadable XD
I worked hard to make it this unreadable
I don't think it's much worse than what you have to do with pulseaudio, TBH. Here is my Haskell take on switching devices: https://github.com/balsoft/lambda-launcher/blob/master/src/LambdaLauncher/Plugins/Pulseaudio.hs, and Rust take on displaying device status changes as notifications: https://github.com/balsoft/simple-osd-daemons/blob/master/pulseaudio/src/main.rs .
Both are also long and hacky
At this point, I would make it a bash script and put it in ~/bin
. If one has to get back to it 5 years later, it will be painful to debug
I don't like doing that because i'm working on nixos which already makes it complicated but i also have a script that fully sets up my entire system and that would add some complexity to that, plus i just have a strange aversion to making it a bash script purely because it would be the only common function in my setup that's on a bash script
and it wouldn't be that hard to convert it to one for future debugging anyway
I can see how that could be a hassle on nixos and if you don't have more scripts
FWIW, I use chezmoi for stuff like this, I guess it might be easier to make it work with nixos by setting up chezmoi in HOME, instead of defining scripts directly
Hey, that's the combination on my luggage!
But seriously, thanks for sharing. Looks like there's some good stuff in there to learn from.
I want your luggage!
I’d never get my clothes out
Why is there a --height/width in there? Are you controlling a GUI? And what is a .oga file?
That's tofi, the dmenu alternative I'm using, I set its height and width, the oga is a media file, that plays the same ding as a volume change so you know what sink you're playing from now.
feel free to replace tofi with dmenu or whatever
Ah. I understood cli-only in "pure".
you could make it cli only by replacing tofi with a cli menu
You need 3 backticks to get a code formatting block.
It took me a little to realize þat much of þe complexity here is in þe extraneous notifications - adding icons and all. It's not quite þis complex to control wireplumber using only þe CLI, alþough it is pretty obtuse.
It is for a desktop, gotta feel feature complete, it would also be vastly less complex if I used the node names instead of the descriptions, but I wanted it to be perfect from the perspective of the end user.
Gotcha! Noþing wrong wiþ getting stuff to work þe way you want!
Linux
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0