Git Product home page Git Product logo

quick-settings-audio-panel's Introduction

Hi ๐Ÿ‘‹, I'm Rayzeq

Rayzeq

Connect with me:

rayzeq10572109

Languages and Tools:

C Python Rust GTK Git Linux

Stars

Rayzeq

ย Rayzeq

Rayzeq

Statistics

quick-settings-audio-panel's People

Contributors

amereyeu avatar janhouse avatar jorge-a-goncalves avatar rayzeq avatar vistaus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

quick-settings-audio-panel's Issues

Adding labels to input/output sliders?

Hi, thanks for this great extension - I have multiple audio devices and it makes it so much easier to switch between them on the fly.

I do have a feature request, though: Would it be possible to add the option of adding a label to the input/output devices so the user can see which ones are active at a glance without having to click the expansion arrows?

I'm imagining something like this:

Screenshot from 2024-05-01 09-42-45

[Feature] Possibility to positon media controls next to corresponding application mixer

It would be cool to have an option to position media controls next to the corresponding application volume controls slider.
Or maybe even put the volume slider inside media controls box.

Of course the tricky part is linking streams with media player objects (org.mpris.MediaPlayer2). Dbus does indicate the owner attribute which appears to contain application name, so this could be used for linking, but not sure if it is easily accessible from the js side currently. It probably can be figured out but would require some looking into it.

Also seems like each application can have only one mpris player but there can be multiple mixers per application. In real world this is probably not a real issue but it could look weird for some edge cases where there is only one player box but multiple volume sliders. ๐Ÿ˜„

Feel free to close this if you think it makes no sense whatsoever.

YouTube audio level for Flatpak Firefox defaults to 100% when video position is changed

If I'm watching a video on YouTube, and the audio level for the Firefox channel is set to 50%, the level will return to 100% after skipping the video ahead or behind.

This only happens with YouTube. I've tested with other sites like Soundcloud and Bandcamp and the audio level is respected when the position is changed.

Using Firefox via Flatpak. Arch Linux with GNOME 45.

Feature request: Ability to hide certain mixers

Hello!

Certain applications (or web apps) don't play nice with pulseaudio, creating several separate mixers. It would be nice if we could hide these from the audio control panel, since they take up quite a lot of unnecessary space:
image

https://github.com/qwreey75/quick-settings-tweaks does this by letting the user supply a string, with rules to either block matching strings in the mixer, or only allowing matching strings. This is probably a bit overkill, but it would be nice to have some way of hiding some of the extraneous mixers at least. :)

Bug new version of the extension

Hi,

I've encountered a problem with this extension which stopped working after the last update. I get this error "item.menu._signalConnectionsByName is undefined". What's more, the top right-hand panel doesn't open either (and it works again when I remove the extension).

Option to limit maximum width

It seems that the "new panel" and the existing panel get widened to fit the longest sound source name, which happened to be, in my case, an instance of MPV that has a long video file name in the title. There should be a limit in the width.

With this extension
image

Without this extension
image

[Feature request] add a setting related to media panel border-radius...

Hi, I'm running gnome v46.1 with a customized gnome-shell theme...

Could be possible implement an option to set the border-radius of media panel or e.g. an option like : [] follow theme stylesettings that will override the border-radius defined in the stylesheet.css file?.

screenshoot

Thanks
Andrea

The changes to Gnome Shell through the extension does not stay. Have to disable and enale extension

Hello

I am not sure if this is a problem with Gnome, my installation, or this extension.

I use this extension to display the input volume slider as well as the output slider. I want this to stay permanently regardless of when devices are added or removed so I can change input/output quickly without having to open the settings.

Unfortunately, the input slider keeps disappearing as soon as I try to change input, or as soon as some change happens (such as plugging in a headphone, etc).

Example:
image

Then I try to select a different input:
image

The slider disappears immediately:
image

I have to toggle the extension to get it back.

I asked the Gnome public matrix room, and it looks like they rely heavily on extensions to do these little things (which is very odd and stupid to not have a built-in way of changing settings for this kind of thing, but what do I know, I'l just an end-user).

Please let me know if there are any logs or other information I can provide.

Crashes after resuming from suspension, removing the first row of quick settings

After my PC resumes, sometimes the extension crashes removing the top row of quick settings:

Quick setting panel without top row

If after resuming the extension does not crash, I can still reproduce the error by turning off the extension in Extension Manager:

Extension Manager screenshot displaying an error message

Error log:

Feb 01 17:26:49 cdro-pc gnome-shell[55237]: Extension [email protected]: TypeError: item.menu.actor.get_parent() is null
                                            
                                            Stack trace:
                                              removeItem@file:///home/cdro/.local/share/gnome-shell/extensions/[email protected]/libs/libpanel/main.js:638:20
                                              _move_quick_settings@file:///home/cdro/.local/share/gnome-shell/extensions/[email protected]/libs/libpanel/main.js:933:13
                                              _disable@file:///home/cdro/.local/share/gnome-shell/extensions/[email protected]/libs/libpanel/main.js:899:8
                                              disable@file:///home/cdro/.local/share/gnome-shell/extensions/[email protected]/libs/libpanel/main.js:771:13
                                              _cleanup_panel@file:///home/cdro/.local/share/gnome-shell/extensions/[email protected]/extension.js:167:18
                                              disable@file:///home/cdro/.local/share/gnome-shell/extensions/[email protected]/extension.js:65:14
                                              _callExtensionDisable@resource:///org/gnome/shell/ui/extensionSystem.js:202:32
                                              _onEnabledExtensionsChanged@resource:///org/gnome/shell/ui/extensionSystem.js:619:24
                                              _loadExtensions/<@resource:///org/gnome/shell/ui/extensionSystem.js:705:18
                                              createCheckedMethod/<@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:730:46
                                              disableExtension@resource:///org/gnome/shell/ui/extensionSystem.js:292:29
                                              DisableExtension@resource:///org/gnome/shell/ui/shellDBus.js:457:38
                                              _handleMethodCall@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:329:38
                                              _wrapJSObject/<@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:408:34
                                              @resource:///org/gnome/shell/ui/init.js:21:20

Disable the scrim?

This extensions adds a background scrim when the quick panel is opened. I want to disable that.

Audio stream description does not get updated correctly

Here is example with Youtube on Firefox.

If I play some video in Wayland session, the description does not get set the same as in pavucontrol, it just shows "AudioStream"
image

If I then start a nested wayland session as the audio is playing using dbus-run-session -- gnome-shell --nested --wayland, it sets the descriptionin the nested session correctly:
image

But then when I change the Youtube video in the nested wayland session, description changes to "AudioStream" , while pavucontrol shows the correct description at all times.
image

image

Not sure if it requires subscribing to some additional dbus event or it is something else. But it makes me guess which audio stream is which in case I have multiple audio streams on Firefox.

Errors when enabling the extension in Gnome 44

I love this extension and I thank you for it, but I can't enable it because it floods my log.

When I enable the extension, the attached errors appear in the log.

And then, several times per second, this is added forever, even after disabling it:

may 29 11:42:17 alcarraz-lenovo gnome-shell[165077]: Object St.Label (0x55662cbb9ca0), has been already disposed โ€” impossible to set any property on it. This might be caused by the object having been destroyed from C code using something such as destroy(), dispose(), or remove() vfuncs.
may 29 11:42:17 alcarraz-lenovo gnome-shell[165077]: clutter_text_get_editable: assertion 'CLUTTER_IS_TEXT (self)' failed
may 29 11:42:17 alcarraz-lenovo gnome-shell[165077]: clutter_text_get_text: assertion 'CLUTTER_IS_TEXT (self)' failed
may 29 11:42:17 alcarraz-lenovo gnome-shell[165077]: clutter_text_set_text: assertion 'CLUTTER_IS_TEXT (self)' failed
may 29 11:42:17 alcarraz-lenovo gnome-shell[165077]: Object St.Label (0x556636ba25a0), has been already disposed โ€” impossible to set any property on it. This might be caused by the object having been destroyed from C code using something such as destroy(), dispose(), or remove() vfuncs.
may 29 11:42:17 alcarraz-lenovo gnome-shell[165077]: clutter_text_get_editable: assertion 'CLUTTER_IS_TEXT (self)' failed
may 29 11:42:17 alcarraz-lenovo gnome-shell[165077]: clutter_text_get_text: assertion 'CLUTTER_IS_TEXT (self)' failed
may 29 11:42:17 alcarraz-lenovo gnome-shell[165077]: clutter_text_set_text: assertion 'CLUTTER_IS_TEXT (self)' failed
may 29 11:42:17 alcarraz-lenovo gnome-shell[165077]: Object St.Label (0x556635cf4700), has been already disposed โ€” impossible to set any property on it. This might be caused by the object having been destroyed from C code using something such as destroy(), dispose(), or remove() vfuncs.
may 29 11:42:17 alcarraz-lenovo gnome-shell[165077]: clutter_text_get_editable: assertion 'CLUTTER_IS_TEXT (self)' failed
may 29 11:42:17 alcarraz-lenovo gnome-shell[165077]: clutter_text_get_text: assertion 'CLUTTER_IS_TEXT (self)' failed
may 29 11:42:17 alcarraz-lenovo gnome-shell[165077]: clutter_text_set_text: assertion 'CLUTTER_IS_TEXT (self)' failed
may 29 11:42:18 alcarraz-lenovo gnome-shell[165077]: Object St.Label (0x55662cbb9ca0), has been already disposed โ€” impossible to set any property on it. This might be caused by the object having been destroyed from C code using something such as destroy(), dispose(), or remove() vfuncs.
may 29 11:42:18 alcarraz-lenovo gnome-shell[165077]: clutter_text_get_editable: assertion 'CLUTTER_IS_TEXT (self)' failed
may 29 11:42:18 alcarraz-lenovo gnome-shell[165077]: clutter_text_get_text: assertion 'CLUTTER_IS_TEXT (self)' failed
may 29 11:42:18 alcarraz-lenovo gnome-shell[165077]: clutter_text_set_text: assertion 'CLUTTER_IS_TEXT (self)' failed
may 29 11:42:18 alcarraz-lenovo gnome-shell[165077]: Object St.Label (0x556636ba25a0), has been already disposed โ€” impossible to set any property on it. This might be caused by the object having been destroyed from C code using something such as destroy(), dispose(), or remove() vfuncs.
may 29 11:42:18 alcarraz-lenovo gnome-shell[165077]: clutter_text_get_editable: assertion 'CLUTTER_IS_TEXT (self)' failed
may 29 11:42:18 alcarraz-lenovo gnome-shell[165077]: clutter_text_get_text: assertion 'CLUTTER_IS_TEXT (self)' failed
may 29 11:42:18 alcarraz-lenovo gnome-shell[165077]: clutter_text_set_text: assertion 'CLUTTER_IS_TEXT (self)' failed
may 29 11:42:18 alcarraz-lenovo gnome-shell[165077]: Object St.Label (0x556635cf4700), has been already disposed โ€” impossible to set any property on it. This might be caused by the object having been destroyed from C code using something such as destroy(), dispose(), or remove() vfuncs.
may 29 11:42:18 alcarraz-lenovo gnome-shell[165077]: clutter_text_get_editable: assertion 'CLUTTER_IS_TEXT (self)' failed
may 29 11:42:18 alcarraz-lenovo gnome-shell[165077]: clutter_text_get_text: assertion 'CLUTTER_IS_TEXT (self)' failed
may 29 11:42:18 alcarraz-lenovo gnome-shell[165077]: clutter_text_set_text: assertion 'CLUTTER_IS_TEXT (self)' failed
may 29 11:42:19 alcarraz-lenovo gnome-shell[165077]: Object St.Label (0x55662cbb9ca0), has been already disposed โ€” impossible to set any property on it. This might be caused by the object having been destroyed from C code using something such as destroy(), dispose(), or remove() vfuncs.
may 29 11:42:19 alcarraz-lenovo gnome-shell[165077]: clutter_text_get_editable: assertion 'CLUTTER_IS_TEXT (self)' failed
may 29 11:42:19 alcarraz-lenovo gnome-shell[165077]: clutter_text_get_text: assertion 'CLUTTER_IS_TEXT (self)' failed
may 29 11:42:19 alcarraz-lenovo gnome-shell[165077]: clutter_text_set_text: assertion 'CLUTTER_IS_TEXT (self)' failed
may 29 11:42:19 alcarraz-lenovo gnome-shell[165077]: Object St.Label (0x556636ba25a0), has been already disposed โ€” impossible to set any property on it. This might be caused by the object having been destroyed from C code using something such as destroy(), dispose(), or remove() vfuncs.
may 29 11:42:19 alcarraz-lenovo gnome-shell[165077]: clutter_text_get_editable: assertion 'CLUTTER_IS_TEXT (self)' failed
may 29 11:42:19 alcarraz-lenovo gnome-shell[165077]: clutter_text_get_text: assertion 'CLUTTER_IS_TEXT (self)' failed
may 29 11:42:19 alcarraz-lenovo gnome-shell[165077]: clutter_text_set_text: assertion 'CLUTTER_IS_TEXT (self)' failed
may 29 11:42:19 alcarraz-lenovo gnome-shell[165077]: Object St.Label (0x556635cf4700), has been already disposed โ€” impossible to set any property on it. This might be caused by the object having been destroyed from C code using something such as destroy(), dispose(), or remove() vfuncs.
may 29 11:42:19 alcarraz-lenovo gnome-shell[165077]: clutter_text_get_editable: assertion 'CLUTTER_IS_TEXT (self)' failed
may 29 11:42:19 alcarraz-lenovo gnome-shell[165077]: clutter_text_get_text: assertion 'CLUTTER_IS_TEXT (self)' failed
may 29 11:42:19 alcarraz-lenovo gnome-shell[165077]: clutter_text_set_text: assertion 'CLUTTER_IS_TEXT (self)' failed

O.S. Ubuntu 23.04.

If you need more information, let me know.

Enabling extension: Error (this._iconButton is undefined)

I am running Gnome Shell 43.9 on Debian 12.4. When enabling the extension on https://extensions.gnome.org/extension/5940/quick-settings-audio-panel/ I get a red "ERROR" where the "enable" button was.

My journal shows:

gnome-shell[5892]:
JS ERROR: Extension [email protected]: TypeError: this._iconButton is undefined
@/home/cweiske/.local/share/gnome-shell/extensions/[email protected]/libs/widgets.js:126:9
_stream_added@/home/cweiske/.local/share/gnome-shell/extensions/[email protected]/libs/widgets.js:50:24
ApplicationsMixer@/home/cweiske/.local/share/gnome-shell/extensions/[email protected]/libs/widgets.js:29:18
_create_app_mixer@/home/cweiske/.local/share/gnome-shell/extensions/[email protected]/extension.js:194:36
_refresh_panel@/home/cweiske/.local/share/gnome-shell/extensions/[email protected]/extension.js:125:26
enable@/home/cweiske/.local/share/gnome-shell/extensions/[email protected]/extension.js:66:14
_callExtensionEnable@resource:///org/gnome/shell/ui/extensionSystem.js:184:32
_onEnabledExtensionsChanged/<@resource:///org/gnome/shell/ui/extensionSystem.js:529:35
_onEnabledExtensionsChanged@resource:///org/gnome/shell/ui/extensionSystem.js:529:14
createCheckedMethod/<@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:686:46
enableExtension@resource:///org/gnome/shell/ui/extensionSystem.js:211:29
_onInstallButtonPressed@resource:///org/gnome/shell/ui/extensionDownloader.js:268:40
Async*addButton/<@resource:///org/gnome/shell/ui/dialog.js:130:41

this.menu.insertItemBefore is not a function

For whatever reason, this extension seems to break other extensions that add a menu item to the quick-settings menu on Gnome 45

How to reproduce

  1. Install this extension and an extension that adds something to the quick-settings menu
  2. Upon login, the other extension will report a this.menu.insertItemBefore is not a function error.

this._control.lookup_device_from_stream(...) is null

I am getting error this._control.lookup_device_from_stream(...) is null
image

I believe this started after installing something with audio, maybe pulse audio related or something.

Although it gives an error and it says it's turned off, it still seems to works. But not the mixer part.
image

I am on Nobara 38, Gnome 44.2, Wayland, Linux 6.5.5

Power menu remains expanded after waking up PC from suspension

Steps to reproduce:

  1. Suspend the PC by clicking the top-right menu -> power icon -> Suspend
  2. Wake up the PC
  3. Click to expand the top-right menu again
  4. The power menu remains expanded (but without focus, indicating a bug, see screenshot below)
    The buggy expanded power menu when bug occurs

Expected behavior:
After waking up the PC, the power menu should not be expanded, nor expanded without focus.

I have tried the following to make sure the bug is indeed caused by this extension:

  1. Disable GNOME Extension completely. The bug cannot be reproduced.
  2. Enable all used extensions except Quick Settings Audio Panel. The bug cannot be reproduced.
  3. Disable all used extensions except Quick Settings Audio Panel. The bug was reproduced.

QuickSettings panel styling compatibility issue

Hello,
So, I believe this extension removes or replaces the QuickSettings panel with its own layouts. I am hoping it follows the same menu>box>grid kind of setup as default Gnome but maybe I am missing something.

The issue is a conflict of sorts with extension Open Bar which styles the panel and all the menus. Open Bar allows to change the css elements for QuickSettings like background, foreground, shadow, border etc and also for the internal buttons.
When QSAP is enabled , the styling does not apply to the QS panel (though does work, at least partially, with the internal elements).
I am thinking the custom styles from class .popup-menu-content do not apply.
OpenBar basically goes through list of all the elements in the QS panel menu (based on default Gnome layout) and adds a custom css class to all of them. This class can then be used to override the styles. This works by default but not when QSAP is enabled,

I am guessing the answer lies in libpanel but I could not identify exactly where the conflict occurs.

In case you can think of what may be causing it, we can think of how to make it work. I would guess, I need to push my custom class into QS panel differently for QSAP based on its layout.

In the end it would be good to have QSAP panels also be styled with OpenBar.

Cheers.

AirPods only show "Headset" and not "Hands Free"

When I use this extension with any other BT Headet with mic it shows two entries:

  • <BT_HEADSET_NAME> Headset
  • <BT_HEADSET_NAME> Hands Free

But with the Airpods it only shows:
image

Even known in the Gnome Audio Output list the Hands Free is there

image

When I select it on the Gnome List it doesn't show as selected in the extension:
image

image

If I then try to select it via the extension, gnome-shell crashes with the following output:

jan 25 15:09:07 ryzenbox gnome-shell[2835]: **
jan 25 15:09:07 ryzenbox gnome-shell[2835]: Gvc:ERROR:../subprojects/gvc/gvc-mixer-card.c:168:gvc_mixer_card_get_profile: code should not be reached
jan 25 15:09:07 ryzenbox gnome-shell[2835]: Bail out! Gvc:ERROR:../subprojects/gvc/gvc-mixer-card.c:168:gvc_mixer_card_get_profile: code should not be reached
jan 25 15:09:07 ryzenbox gnome-shell[2835]: == Stack trace for context 0x557af2a8bed0 ==
jan 25 15:09:07 ryzenbox gnome-shell[2835]: #0   557af2b53a18 i   resource:///org/gnome/shell/ui/status/volume.js:319 (1340c1821290 @ 25)
jan 25 15:09:07 ryzenbox gnome-shell[2835]: #1   557af2b53980 i   resource:///org/gnome/shell/ui/status/volume.js:144 (1340c181cb50 @ 61)
jan 25 15:09:07 ryzenbox gnome-shell[2835]: #2   557af2b538e8 i   resource:///org/gnome/shell/ui/popupMenu.js:194 (92bbf3e7e70 @ 25)
jan 25 15:09:07 ryzenbox gnome-shell[2835]: #3   557af2b53858 i   resource:///org/gnome/shell/ui/popupMenu.js:111 (92bbf3e7bf0 @ 27)
jan 25 15:09:07 ryzenbox gnome-shell[2835]: #4   557af2b537c8 i   resource:///org/gnome/shell/ui/init.js:21 (92bbf370ba0 @ 48)

Devices sliders not vanishing

When toggling the option "Create per-device volume sliders", the sliders appear but dont disappear again. If you turn it back on the sliders appear twice, the three times etc. Removing the extension doesn't remove the sliders either, login out and back removed the sliders.

I am on:
OpenSUSE Tumbleweed
Gnome 45

Sound output wrong position

When I expand the output panel, it expands down correctly, but the new audio output panel incorrectly overlaps everything else in the panel and doesn't move other items down (Ubuntu 23.04)

image

Layout issue

Today I reallized I can drag quick settings menu items around, and the volume control box has bigger box than it should be.

2023-07-08_15-55-46.mp4

Multiple output volume sliders

I'm listening to music on my "normal" speakers, but use a USB headset for video conferences and calls.
Currently I can only control the output volume of the default output.

It would be nice if I could have volume sliders for both outputs.

(This is on Quick Settings Audio Panel v32.)

Add support for GNOME 46

Hello! First I'd like to thank you for this extension, is pretty useful to me.
Second... I would like to know if it's possible for you to add support for the latest gnome 46 version.
I tried to disable the extension version validation parameter and this is the error this extensions gives me:

Error: No signal 'actor-added' on object 'LibPanel_PanelColumn_quick-settings-audio-panel-rayzeq-github-io'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.