this post was submitted on 07 Oct 2024
31 points (97.0% liked)

Linux

47652 readers
587 users here now

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

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

I've been using volumeicon for a long time, to enable the audio hotkeys on my laptop. But the problem is that if you plug in a USB or bluetooth headset, it doesn't automatically switch to it as the default. You'd have to kill the service and restart it.

So I wrote a script that can offer me all the same functionality, and just mapped my audio hotkeys in my WM.

Thought someone might find the source useful.

top 6 comments
sorted by: hot top controversial new old
[–] nmtake@lemm.ee 3 points 2 days ago (1 children)

But the problem is that if you plug in a USB or bluetooth headset, it doesn’t automatically switch to it as the default.

How about module-switch-on-connect?

[–] wesker@lemmy.sdf.org 2 points 2 days ago* (last edited 2 days ago) (1 children)

The problem wasn't PulseAudio, it was volumeicon. For instance, when I'd pair a bluetooth headset I would start getting audio through it, but my hotkeys would still be trying to adjust the previous sink. I'd have to kill and restart volumeicon for it to work again.

[–] nmtake@lemm.ee 2 points 1 day ago (1 children)

I see. Thanks for the explanation. It seems a long standing issue: https://github.com/Maato/volumeicon/issues/49

[–] wesker@lemmy.sdf.org 1 points 1 day ago

I figured if I could eliminate the middle man in under 55 lines I may as well. I'll always jump at the opportunity to reduce my package reliance.

[–] Maxxie@lemmy.ml 2 points 2 days ago

Hey thanks, I've been delaying writing something similar and now I dont have to :)

[–] Commodore@lemmy.world 4 points 3 days ago

Thanks for sharing.

As a somewhat related thing that others might find useful, here are my shortcuts to get my Varmilo keyboard media keys working with useful functions instead of the default stuff. I've got these set up as custom shortcuts in KDE, but they should work in any context:

Next track

dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Next

Previous track

dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Previous

Play-pause toggle

dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause

You can replace Spotify in the destination parameter with any MPRIS-capable program. To find out what's available on the dbus and get the exact name, use this command:

dbus-send --session --dest=org.freedesktop.DBus --type=method_call --print-reply /org/freedesktop/DBus org.freedesktop.DBus.ListNames