-
Notifications
You must be signed in to change notification settings - Fork 71
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for GNOME 42 (Ubuntu 22.04) #189
Conversation
Ensure that GNOME 42 is supported. This also adds support for Ubuntu 22.04, which includes GNOME 42 out of the box.
Fixes #188 |
Confirms that it works for me, Ubuntu 22.04 |
Thanks for your testing! For such a version increment to happen, I need testing in the most popular Linux distributions, including
I currently don't have the time to do the testing, but if someone can confirm the following points for one of these distros, it would help a lot in getting a Gnome 42 (and 41) release done: Testing procedureRun $ make install PREFIX=$HOME/.local
$ dbus-run-session -- gnome-shell --nested --wayland and check for errors and warnings regarding
Global installation method and all other installation methods are not tested (at least by me). You can do it if you want and if you encounter any issues, I will do my best to fix them. Orca (screen reader) support can only be tested in "real" gnome-shells (non-nested). At least I couldn't get Orca running in the nested gnome-shell, but it would be nice to have basic testing for screen-readers in all distros (profile management in preferences dialog is known to be hard-to-impossible to use with orca, this will be fixed when redesigning the preferences dialog and not a stopper for a new release). |
Some other things to consider:
|
So I downloaded the current AUR git version (like the previous one) and added 41 and 42 to the metadata.json |
@JustCryen Can you test the code of this PR and follow the steps of #189 (comment)? $ git clone https://github.com/ankurkotwal/cpupower.git -b fix/gnome42
$ cd cpupower
$ make install PREFIX=/home/<username>/.local Critical points are the preferences window and the installation process of the polkit-rules and the background tool. So, it is best to completely uninstall any pre-existing installation before testing. Edit: As pointed out by @tnfru the extension needs to be enabled: $ gnome-extensions enable cpupower@mko-sl.de |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
On Ubuntu 22.04 (Gnome Shell 42) - the preferences window pane does not open. I installed cpu-power-manager using the PPA, and then altered the metadata.json file to include "42" as this PR suggests. Everything else appears to work. |
OK, looks like I have to do the testing myself. Those are contradicting results. PopOS should behave exactly the same as Ubuntu 22.04. Also, forgive me when sounding harsh, I know you are just wanting to help. Can you please use the installation method above and stop editing the metadata on your own. I don't know whether you actually installed the correct version from the ppa where the metadata is the only change. The preferences window issue has appeared in previous versions. Also, if such an issue appears, please provide logs (as described in the Readme). I'm sorry that such "simple" updates always take so long, but GNOME and distros have the tendency to always break our code with every new release. Therefore I switched to exhaustively testing each release on every single platform. If it turns out that PopOS behaves differently to Ubuntu 22.04, I'm afraid we have to include PopOS in our tests explicitely in the future, as it is a popular distro used by many users. We have passed such version increments in the past and had users reporting complete failure of the extension with the issue tracker overwhelmed with reports. As long as the state for GNOME 41 and 42 of this extension is not clear, it is better to have a clear sign that these versions are not supported, yet. Most users understand that it just does not work for now. As Ubuntu folks are now in the new position of running a bleeding edge GNOME version, you have to learn that it usually takes extensions half a year or so to adopt new GNOME releases. Ubuntu this time decided to go for GNOME 42 instead of an older release, so this is what all the Arch folks are experiencing since day one 😄 |
Ouff - my apologies. I somehow managed to overlook the installation method above. I can confirm on Ubuntu 22.04 (GNOME version = 42.0, Windowing System = X11) that, when installing via this method:
Everything is functioning as intended - including the preferences pane. Thank you for the great work and please do not feel rushed to release a version for Gnome 42. |
Hmm, I can't confirm that behavior. Although, I am currently an an AMD system. Does anyone else see this issue, too? Nevertheless, I'll check Arch as working, as this is not blocking any core functionality. It's "just" annoying, I think. |
I'm on Pop!_OS 22.04 LTS x86_64 I ran the code snippet and the extensions seems to be installed and I can go to the settings via the extensions list, but it does not show up in the top bar. I triggered the option but that does not change anything. Gnome 42. I relogged and did alt + f2 -> r |
Hi @tnfru, thank you for your report! Have you uninstalled any previous installation first? Also, can you provide logs as described in the Readme? $ journalctl /usr/bin/gnome-shell Make sure to remove sensitive information from the logs . |
Hey I figured the application was inactive, fixed it with: Works fine now |
Sorry for late reply. And it's basically the same as before, this means all seems to be working but the sliders still behave "sticky" after first interaction.
polkit-rules seemed to install correctly but I'm not sure what you mean by "background tool"
Yeah, I guess. |
@JustCryen Thank you for your detailed report! @mastercaution Do you know what the error in |
@tnfru Ah, thank you for the hint. I will include this in the instructions! |
We can probably fix the sticky behavior by applying the following commit to our slider: https://gitlab.gnome.org/GNOME/gnome-shell/-/commit/88a8ba086983ffa2669facb3a6e0c4e1e540a14f Looks like this is the only change needed for Gnome 42 regarding the slider ... I hope so ^^ EDIT: Patch for diff --git a/src/slider2.js b/src/slider2.js
index 8707a8b..d8d529d 100644
--- a/src/slider2.js
+++ b/src/slider2.js
@@ -83,11 +83,7 @@ var Slider2 = GObject.registerClass({
let device = event.get_device();
let sequence = event.get_event_sequence();
- if (sequence) {
- device.sequence_grab(sequence, this);
- } else {
- device.grab(this);
- }
+ this._grab = global.stage.grab(this);
this._grabbedDevice = device;
this._grabbedSequence = sequence;
@@ -109,10 +105,9 @@ var Slider2 = GObject.registerClass({
this._releaseId = 0;
}
- if (this._grabbedSequence) {
- this._grabbedDevice.sequence_ungrab(this._grabbedSequence);
- } else {
- this._grabbedDevice.ungrab();
+ if (this._grab) {
+ this._grab.dismiss();
+ this._grab = null;
}
this._grabbedSequence = null;
@@ -134,14 +129,14 @@ var Slider2 = GObject.registerClass({
vfunc_touch_event() {
let event = Clutter.get_current_event();
- let device = event.get_device();
let sequence = event.get_event_sequence();
if (!this._dragging &&
event.type() === Clutter.EventType.TOUCH_BEGIN) {
this.startDragging(event);
return Clutter.EVENT_STOP;
- } else if (device.sequence_get_grabbed_actor(sequence) === this) {
+ } else if (this._grabbedSequence &&
+ sequence.get_slot() === this._grabbedSequence.get_slot()) {
if (event.type() === Clutter.EventType.TOUCH_UPDATE) {
return this._motionEvent(this, event);
} else if (event.type() === Clutter.EventType.TOUCH_END) {
|
Yup, this did the trick! |
Then, we have to make sure this does not break older Gnome versions. |
Alright, I prepared a patch which should introduce the new slider code only for Gnome 42. I am currently testing distros. Ubuntu 18.04, Ubuntu 20.04, Fedora 35 and Fedora 36 are successful so far. I am continuing tests with Debian now and will include an additional test for latest PopOS. |
Ensure that GNOME 42 is supported. This also adds support for Ubuntu 22.04, which includes GNOME 42 out of the box.