sakithb / media-controls

A media indicator for the Gnome shell.
MIT License
236 stars 36 forks source link

GNOME 46 compatibility #136

Closed ChrisLauinger77 closed 6 months ago

ChrisLauinger77 commented 7 months ago

gnome 46 is in beta which means interfaces are frozen - I updated already the 3 other extensions I maintain. one thing i noticed is they removed add_actor / remove_actor in favor of add_child / remove_child

ChrisLauinger77 commented 7 months ago

Currently it is not working- log message:

[Media Controls] Error: Failed to call listener for property PlaybackStatus: TypeError: this.menuControls.find_child_by_name is not a function
                                             addMenuControlIcon@file:///home/christian/.local/share/gnome-shell/extensions/mediacontrols@cliffniff.github.com/helpers/shell/PanelButton.js:514:43
                                             addMenuControls@file:///home/christian/.local/share/gnome-shell/extensions/mediacontrols@cliffniff.github.com/helpers/shell/PanelButton.js:467:18
                                             updateWidgets@file:///home/christian/.local/share/gnome-shell/extensions/mediacontrols@cliffniff.github.com/helpers/shell/PanelButton.js:140:18
                                             PanelButton@file:///home/christian/.local/share/gnome-shell/extensions/mediacontrols@cliffniff.github.com/helpers/shell/PanelButton.js:48:14
                                             addPanelButton@file:///home/christian/.local/share/gnome-shell/extensions/mediacontrols@cliffniff.github.com/extension.js:460:25
                                             setActivePlayer@file:///home/christian/.local/share/gnome-shell/extensions/mediacontrols@cliffniff.github.com/extension.js:417:22
                                             callOnChangedListeners@file:///home/christian/.local/share/gnome-shell/extensions/mediacontrols@cliffniff.github.com/helpers/shell/PlayerProxy.js:118:25
                                             initPlayer/<@file:///home/christian/.local/share/gnome-shell/extensions/mediacontrols@cliffniff.github.com/helpers/shell/PlayerProxy.js:37:22
                                             _callHandlers@resource:///org/gnome/gjs/modules/core/_signals.js:130:42
                                             _emit@resource:///org/gnome/gjs/modules/core/_signals.js:119:10
                                             _convertToNativeSignal@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:152:19
                                             @resource:///org/gnome/shell/ui/init.js:21:20
ChrisLauinger77 commented 7 months ago

@sakithb lets work here to get it running on GNOME46

sakithb commented 7 months ago

Have they released a list of API changes yet?

sakithb commented 7 months ago

Currently it is not working- log message:

[Media Controls] Error: Failed to call listener for property PlaybackStatus: TypeError: this.menuControls.find_child_by_name is not a function
                                             addMenuControlIcon@file:///home/christian/.local/share/gnome-shell/extensions/mediacontrols@cliffniff.github.com/helpers/shell/PanelButton.js:514:43
                                             addMenuControls@file:///home/christian/.local/share/gnome-shell/extensions/mediacontrols@cliffniff.github.com/helpers/shell/PanelButton.js:467:18
                                             updateWidgets@file:///home/christian/.local/share/gnome-shell/extensions/mediacontrols@cliffniff.github.com/helpers/shell/PanelButton.js:140:18
                                             PanelButton@file:///home/christian/.local/share/gnome-shell/extensions/mediacontrols@cliffniff.github.com/helpers/shell/PanelButton.js:48:14
                                             addPanelButton@file:///home/christian/.local/share/gnome-shell/extensions/mediacontrols@cliffniff.github.com/extension.js:460:25
                                             setActivePlayer@file:///home/christian/.local/share/gnome-shell/extensions/mediacontrols@cliffniff.github.com/extension.js:417:22
                                             callOnChangedListeners@file:///home/christian/.local/share/gnome-shell/extensions/mediacontrols@cliffniff.github.com/helpers/shell/PlayerProxy.js:118:25
                                             initPlayer/<@file:///home/christian/.local/share/gnome-shell/extensions/mediacontrols@cliffniff.github.com/helpers/shell/PlayerProxy.js:37:22
                                             _callHandlers@resource:///org/gnome/gjs/modules/core/_signals.js:130:42
                                             _emit@resource:///org/gnome/gjs/modules/core/_signals.js:119:10
                                             _convertToNativeSignal@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:152:19
                                             @resource:///org/gnome/shell/ui/init.js:21:20

Seems like they have removed some functions

ChrisLauinger77 commented 7 months ago

Have they released a list of API changes yet?

Not yet - I was digging in their gitlab to get some info though.

ChrisLauinger77 commented 7 months ago

Currently it is not working- log message:

[Media Controls] Error: Failed to call listener for property PlaybackStatus: TypeError: this.menuControls.find_child_by_name is not a function
                                             addMenuControlIcon@file:///home/christian/.local/share/gnome-shell/extensions/mediacontrols@cliffniff.github.com/helpers/shell/PanelButton.js:514:43
                                             addMenuControls@file:///home/christian/.local/share/gnome-shell/extensions/mediacontrols@cliffniff.github.com/helpers/shell/PanelButton.js:467:18
                                             updateWidgets@file:///home/christian/.local/share/gnome-shell/extensions/mediacontrols@cliffniff.github.com/helpers/shell/PanelButton.js:140:18
                                             PanelButton@file:///home/christian/.local/share/gnome-shell/extensions/mediacontrols@cliffniff.github.com/helpers/shell/PanelButton.js:48:14
                                             addPanelButton@file:///home/christian/.local/share/gnome-shell/extensions/mediacontrols@cliffniff.github.com/extension.js:460:25
                                             setActivePlayer@file:///home/christian/.local/share/gnome-shell/extensions/mediacontrols@cliffniff.github.com/extension.js:417:22
                                             callOnChangedListeners@file:///home/christian/.local/share/gnome-shell/extensions/mediacontrols@cliffniff.github.com/helpers/shell/PlayerProxy.js:118:25
                                             initPlayer/<@file:///home/christian/.local/share/gnome-shell/extensions/mediacontrols@cliffniff.github.com/helpers/shell/PlayerProxy.js:37:22
                                             _callHandlers@resource:///org/gnome/gjs/modules/core/_signals.js:130:42
                                             _emit@resource:///org/gnome/gjs/modules/core/_signals.js:119:10
                                             _convertToNativeSignal@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:152:19
                                             @resource:///org/gnome/shell/ui/init.js:21:20

Seems like they have removed some functions

https://gjs-docs.gnome.org/clutter13~13/clutter.container#method-find_child_by_name Still documented though - maybe a bug in beta - we will figure it out

ChrisLauinger77 commented 7 months ago

They released the guide

https://gjs.guide/extensions/upgrading/gnome-shell-46.html#metadata Clutter.Container was removed. and all its props and methods with it. any idea what can be a suiteable replacement ? see also my last commit

ChrisLauinger77 commented 7 months ago

have it working and the good news is it should work on both gnome 45 and 46 maybe you can help testing ?

sakithb commented 7 months ago

have it working and the good news is it should work on both gnome 45 and 46 maybe you can help testing ?

That's great. I will test it on my system and let you know

ChrisLauinger77 commented 7 months ago

I tested on both GNOME 45 & 46 - I had to update the commit for 45 compat. Works on both for me and the changes are minor. IMHO can be merged and released.

sakithb commented 7 months ago

Sorry, I've been busy the past few weeks, I will test it tomorrow. I can test on Arch.

sakithb commented 6 months ago

This freezed my desktop on startup, there were no logs as well. I tested on GNOME 45.4 on Arch Linux, did it work for you on 45?

ChrisLauinger77 commented 6 months ago

This freezed my desktop on startup, there were no logs as well. I tested on GNOME 45.4 on Arch Linux, did it work for you on 45?

I am using it on gnome 45 right now. gnome-shell 45.3

sakithb commented 6 months ago

This freezed my desktop on startup, there were no logs as well. I tested on GNOME 45.4 on Arch Linux, did it work for you on 45?

I am using it on gnome 45 right now. gnome-shell 45.3

Nevermind it works now. Don't know why it freezed last time. Did you encounter the slider issue again?

ChrisLauinger77 commented 6 months ago

This freezed my desktop on startup, there were no logs as well. I tested on GNOME 45.4 on Arch Linux, did it work for you on 45?

I am using it on gnome 45 right now. gnome-shell 45.3

Nevermind it works now. Don't know why it freezed last time. Did you encounter the slider issue again?

I still have the slider workaround in - debian packages did not update yet

ChrisLauinger77 commented 6 months ago

GNOME 46 will be released 20th this month. We should release a new version in the next 10 days.

sakithb commented 6 months ago

I will do that.