Win7 Volume Mixer Featured

Plasma 5 Multimedia

Source (link to git-repo or to original if based on someone elses unmodified work): https://github.com/Zren/plasma-applet-volumewin7mixer

18
8.3
Available as/for: -
Description:

A reskin of the default plasmoid. Cannot be placed in the systray (use kmix instead if you want that).

* Vertical sliders
* Can change the media keys volume up/down percentage.
* Added links to alsamixer and pavucontrol in the context menu.
* Can volume boost to 150% with the context menu
* Can switch default speaker/microphone (and move all app streams to the device) with the context menu
* Media Playback Controls
* Keyboard Shortcuts (See config for a list). I recommend assigning Meta+V as the widget's Global Shortcut.

After installing, System Tray Settings > Extra Items > Uncheck "Audio Volume". This will hide the default audio widget.

pavucontrol is not installed by default, so the context menu item will do nothing if not installed.

Arch: pacman -S plasma5-applets-volumewin7mixer

Translations: Dutch, French
Translators: https://github.com/Zren/plasma-applet-volumewin7mixer/tree/master/package/translate#new-translations
Last changelog:

v26 - November 20 2020 5 months ago

* Support Plasma 5.20's osd.show(percent, maxPercent).
* Fix workaround for opening custom popup when in system tray.
* Use radio button instead of a checkmark for default device (Issue #19) with a QQC2 ToolTip on hover.
* Update i18n scripts.
* Use some of plasma-pa's improvements on port selection.
* Add support for left clicking device icon to set default device instead of showing the context menu by @linchangyi (Pull Request #20 and #21)
* Applet name correction in documentation by @luema (Pull Request #18)

9

bagatelle

3 months ago

9 9 excellent

Report

10

lordmata

3 months ago

10 it's awesome! a must have widget.

One question though, any way to change the icons of the output device (without actually changing profiles) ? Or maybe display custom names above the icon?
I always have to hover over to see which speaker is which.

Report

C

Zren

3 months ago

When you paste the output of the 'pacmd list-sinks | grep 'name:' command, make sure to remove the "greater than" and "less than" glyphs before submitting as OpenDesktop strips out the text inside. Eg:

name: alsa_output.pci-0000_00_14.2.analog-stereo



alsa_output.pci-0000_00_14.2.analog-stereo

Report

C

Zren

3 months ago

Hmmm, you're right they should be distinct however I don't know a good way to do that. I shorten the super long pulseaudio name currently. What are the names of the two speakers?

$ pacmd list-sinks | grep 'name:'
name:

You can manually edit the code to 'return name' instead of 'return i18n("Speaker")' in the code for your use case though:

* https://github.com/Zren/plasma-applet-volumewin7mixer/blob/master/package/contents/ui/MixerItem.qml#L176-L199
* ~/.local/share/plasma/plasmoids/org.kde.plasma.volumewin7mixer/contents/ui/MixerItem.qml

To test changes, run:
plasmawindowed org.kde.plasma.volumewin7mixer

Report

10

lordmata

3 months ago

Got it. The deal was I was using a headset that contained "analog-stereo" in its name (alsa_output.usb-Logitech_Logitech_G930_Headset-00.analog-stereo) and it got picked up by the first "if" in the label part. So I edited the MixerItem.qml like:

// for label
} else if (name.indexOf('alsa_output.') === 0) {
} else if (name.indexOf('alsa_output.') === 0) {
if (name.indexOf('_Headset-') >= 0) {
return i18n("Headset")
} else if (name.indexOf('.analog-') >= 0) {
return i18n("Speaker")
} else if (name.indexOf('.hdmi-') >= 0) {
return i18n("HDMI")
}
}

// for icon
if (startsWith(PulseObject.name, 'alsa_output.') && PulseObject.name.indexOf('_Headset-') >= 0) {
return 'audio-headphones'
}


Thanks for the help !

Report

C

Zren

3 months ago

Hmmm, there might be a better way to filter a headset. Can you paste the
output of 'pacmd list-sinks' into https://hastebin.com/ save it, then link me to it?

With headphones, I can find the `analog-output-headphones` in the current port name. It's possible that headsets also have a common thing.

Report

10

lordmata

3 months ago

Hastebin not saving files for some reason, here's pastebin

https://pastebin.com/raw/zBAymwPQ

Report

C

Zren

3 months ago

device.form_factor = "headset"
device.icon_name = "audio-headset-usb"

Hmm, I'll probably check PulseObject.properties['device.form_factor'] === 'headset'.
Thanks for helping debug this!

Report

10

lordmata

3 months ago

No problem, keep up the good work!

Report

10

tuxg0d

4 months ago

10 been using it for years, best volume applet for plasma desktop

Report

1

vaxxipooh

5 months ago

1 Totally crap .

Report

C

Zren

5 months ago

As in it doesn't work for you, or you just don't like the design?

Report

10

mozo

7 months ago

10 10 the best

Report

9

bernieinnocenti

9 months ago

9 Ergonomic, featureful, configurable, and nice visual design.

Report

10

mirkogennari

10 months ago

10 10 the best

Report

9

guerini

11 months ago

9 Nice job!

Report

10

xratix

1 year ago

10 10 the best

Report

9

grusta

1 year ago

9 9 excellent

Report

9

palacio

1 year ago

9 9 excellent

Report

9

brunofin

2 years ago

9 +This is better than the default volume mixer in my opinion.

Report

9

yannux

2 years ago

9 Great widget !

Report

9

Nano-Ocelot

2 years ago

9 +Never mind the problem fixed itself after a couple of reboots. I'm using it now and fully endorse it. I have another suggestion. Perhaps it's easier. The ability to give custom nicknames to devices or at the very least have a tiny distinction between certain ones. For reference, I have two mics (headphones and webcam) and they both just show up as generic "mic." I know it isn't a big deal to hover over and view the tooltip, but it'd be a nice touch. Regardless some way to quickly swap default outputs is my number one requested feature. I used an application called 'audioswitch' back on windows and it had a shortcut to do exactly that. It was convenient to only have to press two shortcuts to switch to another monitor and change the audio output to it as well.

Report

C

Zren

2 years ago

> For reference, I have two mics (headphones and webcam) and they both just show up as generic "mic."

Can you see anything distinctive between the two? Run the command "pacmd list-sources" to compare them.

I currently override the long name with "Mic" if the name contains the keyword "alsa_input." which might be too generic.
https://github.com/Zren/plasma-applet-volumewin7mixer/blob/master/package/contents/ui/MixerItem.qml#L185

If you're confortable with sharing the entire "pacmd list-sources" output, paste it into https://hastebin.com/ then click the save icon, and copy the url.

Report

9

Nano-Ocelot

2 years ago

Lol so the icons are flickering again. I even deleted my cache and rebuilt it. Strange...

Report

9

Nano-Ocelot

2 years ago

Been trying this with Plasma 5.12.5 and there's some issues that keep me from using it. There's a menu bug where the device and mute icons flicker when hovering over them. This is minor. What would really get me to use it would be the ability to set custom keyboard shortcuts. Namely to switch default devices with a single shortcut. Any other custom shortcuts would be a plus.

Report

v26 - November 20 2020 5 months ago

* Support Plasma 5.20's osd.show(percent, maxPercent).
* Fix workaround for opening custom popup when in system tray.
* Use radio button instead of a checkmark for default device (Issue #19) with a QQC2 ToolTip on hover.
* Update i18n scripts.
* Use some of plasma-pa's improvements on port selection.
* Add support for left clicking device icon to set default device instead of showing the context menu by @linchangyi (Pull Request #20 and #21)
* Applet name correction in documentation by @luema (Pull Request #18)

v25 - June 24 2020 10 months ago

* Only jump to 0%/100% if there's less than `step/2` remaining (Issue #17)
* Use `kmix` icon instead of the `speaker` icon for "speaker" pulseaudio sinks. It looks more like a speaker.
* Increment using config step percentage when scrolling the sliders themselves.
* Show Plasma 5.14's VolumeObject.rawChannels in the PulseObject's properties popup.
* Use aec_method="webrtc" argument with echocancel.

v24 - January 28 2019 2 years ago

* Add @RValeye's french translations (Issue #8).
* Add @Vistaus dutch translations (Pull Request #9).
* Round up the volume percentage increment to avoid 50 => 59% instead of 60% when you have 10 steps.
* Scale properties dialog sizes by dpi + fix the headings when scrolling.
* Code cleanup.

v23 - June 5 2018 2 years ago

* Add "Profile" submenu for devices to quickly switch HDMI => Speakers for certain laptops, or from Stereo to Surround. Creating a submenu required a workaround to avoid a SegFault (plasmashell crash). While the workaround does work, please report if plasmashell crashes when opening a device's context menu.
* Don't send multiple "set volume" events when changing a left/right/etc channel volume.
* Add ability to open the a stream's context menu via the keyboard "Menu" key.
* Attempts to fix the Media Controller's various glitches.

v22 - December 26 2017 3 years ago

* Reimplement mouse wheel mute, wheel to control volume which was accidentally removed in the v21 refactor.

v21 - December 6 2017 3 years ago

* Add (proper) support for use in the system tray. Will open in it's own popup window.
* Unchecking echo cancellation will also uncheck the "list to device" if listening to the echo cancelled stream.

v20 - November 11 2017 3 years ago

* Use the same shape for the slider handle as Windows 7.
* Automatically close popup when selecting default device (can disable in config).
* Implement toggle for echo cancelling and microphone loopback.
* Show checkmark next to the default speaker/mic when 2+ devices.
* Hide virtual streams by default (configurable).
* Scale panel icon to the same maximum size as the other icons in Plasma 5.10.
* Begin packaging translations in the *.plasmoid (requires KDE Frameworks v37 to work). Reused some translations from the default volume and mediacontroller widgets.

v19 - March 29 2017 4 years ago

* Can now use keyboard navigation to select a stream.
** Left/Right: Select speaker/mic/app/etc.
** Up/Down: Increase/decrease selected volume (by same amount as volume keys).
** M: Mute/unmute selected stream.
** 0-9: Set volume to 0%-90%
** Enter: If a mic/speaker is selected, make it the default device.
* Selected stream will have a pulsating outline. Current default speaker is selected by default. Outline is hidden if you open the mixer with the mouse, but shortcuts will still work.
* Global shortcut will now toggle the popup.
* Fix the blue on gray theme using the color scheme rather than hardcoded colours.
* Fix toggling the volume boost, snapping the value to just over 100% causing it to remain in "boosted" state (with a max of 150%).
* Drag to 1% intervals when volume boosted (instead of 1.5%, 3%, 4.5%, etc).
* Possibly fix a binding loop when checking if you can seek through a song.

v18 - March 23 2017 4 years ago

* Raised minimum requirements to Plasma 5.8
* [upstream] Add volume feedback
* Show current version in the config.

v17 - March 21 2017 4 years ago

* Fix for the media slider starting at the length of the previous song. Thanks davidedmundson.
* Get rid of the 1px outline on the volume slider groove.
* The new volume slider layout will now be coloured based on the desktop theme.
* The previous volume slider theme/colouring (light blue on gray) can be selected in the settings.
* Add time elapsed & time left next to the song's progressbar like the default media controller widget. Both are toggleable, along with the option to show the total duration of the song.

v16 - March 15 2017 4 years ago

* Make the icon+label into a button that opens the context menu.
* You can now drag a microphone onto a recording app to change it's input. I only tested this with SimpleStreamRecorder and it added recorded both the desktop output and the microphone output at the same time rather than switching from one to the other.
* Overlay 'emblem-unlocked' when app isn't using the default speaker/mic. I may change the icon if a better one is recommended.
* Fuss with the volume slider triangle. It will now be thicker when volume is boosted.
* Make the group title (Apps/Mics/Speakers) into a button. It will probably be used for filtering unwanted streams in the future, but for now it just lists the items in it's group.
* Fix the label/icon when using the echo-cancel pulseaudio module.

v15 - March 14 2017 4 years ago

* Reskin the volume sliders to be triangular similar to kmix/win7.
* Allow placing the media controller at the top of the popup.
* Make the media controller slider taller.
* Scale the widget based on the DPI.
* Remove context menu link to the kcm like the default widget. It's still availble with "Audio Volume Settings..." > "Audio Volume".
* Map speakers with names starting with "bluez_sink." to a bluetooth icon.
* Add a properties dialog listing all the values for a speaker/app/microphone.
* Use 'google-chrome' icon for "chrome (deleted)" streams.
* Use the "microphone volume/mute" icons from the OSD for a microphones mute button.
* Add toggle for showing the OSD.
* [upstream] Mute volume when the slider is at 0%.
* When using the mediakeys, jump to 100%/0% if less than 1 step away.
* Compare the port key for "headphone" instead of the localized "Headphone" when deciding on the icon.
* Fix the mute button icon's hover effects.
* Fix all strings for localization with i18n.
* Russian translations are available in RosaLinux's ABF: https://abf.rosalinux.ru/victorr2007/plasma5-applet-volumewin7mixer
* Use doubles instead of ints for the mpris2/media controller's position/duration which are in microseconds since it was overflowing on songs/movies longer than 33 minutes.

Full Changelog 4 years ago

https://github.com/Zren/plasma-applets/blob/master/org.kde.plasma.volumewin7mixer/Changelog.md

12345678910
1245
product-maker bagatelle Jan 24 2021 9 excellent
9 excellent
product-maker lordmata Jan 21 2021 10 the best
it's awesome! a must have widget. One question though, any way to change the icons of the output device (without actually changing profiles) ? Or maybe display custom names above the icon? I always have to hover over to see which speaker is which.
product-maker tuxg0d Jan 06 2021 10 the best
been using it for years, best volume applet for plasma desktop
product-maker vaxxipooh Dec 02 2020 1 ugh
Totally crap .
product-maker mozo Oct 06 2020 10 the best
10 the best
product-maker bernieinnocenti Aug 07 2020 9 excellent
Ergonomic, featureful, configurable, and nice visual design.
product-maker mirkogennari Jun 24 2020 10 the best
10 the best
product-maker guerini May 17 2020 9 excellent
Nice job!
product-maker xratix May 11 2020 10 the best
10 the best
product-maker grusta Jul 31 2019 9 excellent
9 excellent
product-maker palacio Jul 11 2019 9 excellent
9 excellent
product-maker brunofin Nov 13 2018 9 excellent
+This is better than the default volume mixer in my opinion.
product-maker yannux Nov 12 2018 9 excellent
Great widget !
product-maker Nano-Ocelot Sep 06 2018 9 excellent
+Never mind the problem fixed itself after a couple of reboots. I'm using it now and fully endorse it. I have another suggestion. Perhaps it's easier. The ability to give custom nicknames to devices or at the very least have a tiny distinction between certain ones. For reference, I have two mics (headphones and webcam) and they both just show up as generic "mic." I know it isn't a big deal to hover over and view the tooltip, but it'd be a nice touch. Regardless some way to quickly swap default outputs is my number one requested feature. I used an application called 'audioswitch' back on windows and it had a shortcut to do exactly that. It was convenient to only have to press two shortcuts to switch to another monitor and change the audio output to it as well.
product-maker baioc Aug 11 2018 9 excellent
should be made the default volume widget
product-maker flappysquirrel Aug 09 2018 9 excellent
+
product-maker mentis May 15 2017 9 excellent
product-maker obedlink Apr 04 2017 9 excellent
product-maker WIP42 Mar 30 2017 9 excellent
product-maker Animalfox Mar 26 2017 9 excellent
product-maker scsimodo Mar 22 2017 9 excellent
product-maker PootisSpencer Mar 18 2017 9 excellent
product-maker cinnamoner Mar 17 2017 9 excellent
product-maker tepca Nov 09 2016 9 excellent
product-maker dubious Nov 09 2016 9 excellent
product-maker izzzy Nov 05 2016 9 excellent
product-maker fracaburda Oct 31 2016 9 excellent
product-maker aramgrigoryan Sep 08 2016 9 excellent
product-maker janet May 15 2016 9 excellent
product-maker rosenrot May 14 2016 9 excellent
Be the first to comment
faraoman
Dec 30 2020
verticalSquid
Jul 19 2020
madeiraantonio97
Jul 14 2020
guerini
May 14 2020
renzoneru
Jan 05 2020
palacio
Jul 11 2019
jimjimjim
Jul 02 2019
zelgit
Dec 03 2018
brunofin
Nov 13 2018
yannux
Nov 12 2018
Nano-Ocelot
Sep 05 2018
flappysquirrel
Aug 09 2018
baioc
Aug 05 2018
Mirko-Gennari
Jun 06 2018
floorek
Jun 03 2018
mirkogennari
Mar 17 2018
dpalacio
Mar 14 2018
janet
May 15 2016
File (click to download) Version Description Devices Downloads Date Filesize DL OCS-Install MD5SUM
*Needs pling-store or ocs-url to install things
Pling
0 Affiliates
Details
license
GPLv2 or later
version
26
updated Dec 01 2020
added May 13 2016
downloads 24h
13
mediaviews 24h 0
pageviews 24h 10