Skip to content
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

GNOME 3.38 support, please. Don't works on 3.38. #81

Closed
Kerrung opened this issue Sep 26, 2020 · 15 comments
Closed

GNOME 3.38 support, please. Don't works on 3.38. #81

Kerrung opened this issue Sep 26, 2020 · 15 comments
Assignees
Labels

Comments

@Kerrung
Copy link

Kerrung commented Sep 26, 2020

Describe the bug
GNOME 3.38 support, please.

Desktop (please complete the following information):

Error logs
To collect logs use journalctl -a | grep 'terminal-x\|JS-ERROR'

No terminal output...

@Kerrung Kerrung added the bug label Sep 26, 2020
@Kerrung Kerrung changed the title GNOME 3.38 support, please. Don't works on 3.38 X.Org session at all now, but only works on 3.38 Wayland. GNOME 3.38 support, please. Don't works on 3.38. Sep 27, 2020
@Mathok
Copy link

Mathok commented Sep 28, 2020

#82 fixes the problem for me

@Kerrung
Copy link
Author

Kerrung commented Sep 30, 2020

#82 fixes the problem for me

But not fixes the problem for me on 3.38. The immediately extension hangs when opened by hotkey. Then only reboot or relog helps...

@romgrk
Copy link

romgrk commented Oct 6, 2020

Here is journalctl -a | grep 'terminal-x\|JS-ERROR' output on Archlinux with #82 applied: https://pastebin.com/GJJCF1eP

Steps:

  • Hotkey to activate extension

Notes:
The terminal is present but is not rendered. Its presence is noticeable because the space occupied by it captures mouse events to windows below it. It seems to work as expected (verified by running commands), it's just completely transparent.

The two locations mentionned in the log (lines 120:39 and 733:9) are reproduced below.

 115   │   vfunc_paint: function (paintContext) {
 116   │     const actor = this.get_actor();
 117   │ 
 118   │     if (paintContext.get_framebuffer) {
 119   │       const framebuffer = paintContext.get_framebuffer();
·120   │       const coglContext = framebuffer.get_context();
 121   │       const alloc = actor.get_allocation_box();
 122   │       actor.continue_paint(paintContext);
 123   │       let pipeline = new Cogl.Pipeline(coglContext);
 124   │       pipeline.set_color(this._color);
 125   │       framebuffer.draw_rectangle(pipeline, 0, alloc.get_height(), alloc.get_width(), alloc.get_height() - this._width);
 126   │     } else {
 127   │       const geom = actor.get_allocation_geometry();
 128   │       actor.continue_paint();
 129   │       Cogl.set_source_color(this._color);
 130   │       Cogl.rectangle(0, geom.height, geom.width, geom.height - this._width);
 131   │     }
 132   │   }
·733 ~ │         moveActor(this._windowActor, {
 734   │           y: this._windowY,
 735   │           x: this._windowX,
 736   │           onUpdate: Lang.bind(this, this._updateClip),
 737   │           scale_y: 1.0,
 738 ~ │           duration: this._openingAnimationTimeMillis / 1000.0,
 739   │           transition: 'easeOutExpo',
 740   │           onComplete: completeOpening
 741   │         });

@Mathok
Copy link

Mathok commented Oct 7, 2020

You are using wayland or x-session?

you could try this solution

zzrough@b048aef

@Kerrung
Copy link
Author

Kerrung commented Oct 8, 2020

You are using wayland or x-session?

Tried both, both don't work.

you could try this solution

zzrough@b048aef

Maybe later...

@bigbn
Copy link
Owner

bigbn commented Oct 8, 2020

Also getting this

vfunc_paint extension.js:158:39
JS ERROR: TypeError: Object 0x2c2197673df0 is not a subclass of GObject_Object, it's a GFundamental_Object
                                              [email protected]:158:39

looking for a solution

@romgrk
Copy link

romgrk commented Oct 8, 2020

Can make the extension work by applying the Tweener => Clutter changes plus removing the SouthBorderEffect that is causing those warnings.

patch.txt

(I'd also take a moment to mention that I hate each year more and more Gnome developers for being incompetent asshats at maintaining a semblance of backwards compatibility or of care about anyone but themselves)

@romgrk
Copy link

romgrk commented Oct 8, 2020

Here is the root cause: https://gitlab.gnome.org/GNOME/gjs/-/issues/353

So the SouthBorderEffect is probably not going to work until a fix is released upstream. I'd disable it until further notice.

@bigbn
Copy link
Owner

bigbn commented Oct 8, 2020

fixed in d6d1a1b, but I need to test it in previous gnome versions before I can publish it.

@bigbn
Copy link
Owner

bigbn commented Oct 12, 2020

Published

@bigbn bigbn closed this as completed Oct 12, 2020
@romgrk
Copy link

romgrk commented Oct 14, 2020

Thanks. Note that GJS fixed the bug in version 1.67.1, so I think only version 1.66.1 is affected. You could re-implement skipping that version for the border. But IMHO I don't see any difference without the border, and less code is better :)

@Kerrung
Copy link
Author

Kerrung commented Oct 19, 2020

@bigbn Thanks, but your extension works on GNOME 3.38 only if manually installed from your repo, but I can't install it from extension's web page.

Screenshot from 2020-10-19 14-41-34

@bigbn
Copy link
Owner

bigbn commented Oct 19, 2020

@bigbn Thanks, but your extension works on GNOME 3.38 only if manually installed from your repo, but I can't install it from extension's web page.

Screenshot from 2020-10-19 14-41-34

journalctl -a | grep 'terminal-x|JS-ERROR'

@jonasbb
Copy link

jonasbb commented Oct 30, 2020

The extension does not work for me on Fedora 33 with wayland.

The log output shows:

Okt 30 10:55:08 work-hp gnome-shell[2196]: JS WARNING: [/home/jbushart/.local/share/gnome-shell/extensions/[email protected]/extension.js 1027]: Requiring Vte but it has 2 versions available; use imports.gi.versions to pick one
Okt 30 10:55:08 work-hp gnome-shell[2196]: JS ERROR: Extension [email protected]: TypeError: gdkDisplay is null
                                           _updateCurrentMonitor@/home/jbushart/.local/share/gnome-shell/extensions/[email protected]/extension.js:546:37
                                           enable@/home/jbushart/.local/share/gnome-shell/extensions/[email protected]/extension.js:271:10
                                           _updateWindowGeometry@/home/jbushart/.local/share/gnome-shell/extensions/[email protected]/extension.js:585:22
                                           throttle/func._throttlingId<@/home/jbushart/.local/share/gnome-shell/extensions/[email protected]/convenience.js:72:10

@brknkfr
Copy link

brknkfr commented Oct 30, 2020

Okt 30 10:55:08 work-hp gnome-shell[2196]: JS WARNING: [/home/jbushart/.local/share/gnome-shell/extensions/[email protected]/extension.js 1027]: Requiring Vte but it has 2 versions available; use imports.gi.versions to pick one
Okt 30 10:55:08 work-hp gnome-shell[2196]: JS ERROR: Extension [email protected]: TypeError: gdkDisplay is null
                                           _updateCurrentMonitor@/home/jbushart/.local/share/gnome-shell/extensions/[email protected]/extension.js:546:37
                                           enable@/home/jbushart/.local/share/gnome-shell/extensions/[email protected]/extension.js:271:10
                                           _updateWindowGeometry@/home/jbushart/.local/share/gnome-shell/extensions/[email protected]/extension.js:585:22
                                           throttle/func._throttlingId<@/home/jbushart/.local/share/gnome-shell/extensions/[email protected]/convenience.js:72:10

I got the same problem on a Gentoo system (gnome-shell 3.36.5 on wayland).

Nasty workaround: Delete the extension under https://extensions.gnome.org and reinstall it there (after the gnome-shell wayland-session is started).

Maybe we have to open a new issue?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

6 participants