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

bug: preview overlay stuck when arranging windows with the mouse #175

Open
romaink-es opened this issue Jan 18, 2023 · 21 comments
Open

bug: preview overlay stuck when arranging windows with the mouse #175

romaink-es opened this issue Jan 18, 2023 · 21 comments
Labels
bug Something isn't working critical An issue that has a very high priority to be fixed or closed immutable-os Something like Fedora SilverBlue upstream Identified as upstream issue wayland Wayland support window-effects Window effects and decorations window-mgt Window management components

Comments

@romaink-es
Copy link

romaink-es commented Jan 18, 2023

Describe the bug/issue
Sometimes when I drag and drop windows to rearrange them, the preview overlay doesn't disappear when I release the mouse or move the window away. It shows up on all workspaces until I restart GNOME. Disabling the extension hides the overlay, but it still shows up when I enable it again.

To Reproduce
Steps to reproduce the behavior:

  1. Drag a window over another to rearrange it
  2. Release or move the window away.
  3. The preview overlay stays on the screen instead of disappearing.

Expected behavior
The overlay should disappear when I release or move the window.

Screenshots or journal logs
screenshot bug forge

Also if possible, please provide latest logs from e.g. 1 hour ago journalctl -b 0 -r --since "1 hour ago":
logs_bug_forge.txt

Version Information

  1. Arch Linux, updated yesterday
  2. Forge version: 43.2-61
  3. Gnome-shell version (gnome-shell --version): 43.2

Monitor Setup

  1. 1x 1440p

Additional context
I could not find a way to reproduce this bug, it happens randomly twice or three times per week.

Also the overlay is temporarily hidden while a fullscreen window has focus.

@romaink-es romaink-es added the bug Something isn't working label Jan 18, 2023
@jmmaranan
Copy link
Collaborator

Hi @romaink-es - if you disable all other extensions and only enable Forge, is it still happening?

@romaink-es
Copy link
Author

After triggering the bug this morning I tried disabling all extensions but the overlay was still here. I've restarted Gnome with only Forge enabled, I'll let you know if the issue still occur.

I forgot to mention that I'm running Wayland if that changes anything.

@deepimpactmir
Copy link

deepimpactmir commented Jan 28, 2023

If it helps, I encounter the same bug sometimes as well, with it occurring sometimes when trying to drag windows around.

Screenshots
Screenshot from 2023-01-28 13-58-46

@CheariX
Copy link

CheariX commented Jan 28, 2023

Same problem here. I think its a Gnome/Wayland related issue.
Can we somehow disable these previews as a temporary workaround?
Even disabling and reenabling Forge does not help, the red preview persists.

Btw, I've seen similar issue with Tiling Assistant if you apply their layouts.

@jmmaranan jmmaranan added window-mgt Window management components critical An issue that has a very high priority to be fixed or closed wayland Wayland support layouts Different layouts labels Jan 28, 2023
@jmmaranan
Copy link
Collaborator

Hey all, while I have not personally reproduced it yet in Fedora SilverBlue running on Wayland (I have not updated yet for a week or so). Let me see what I can do to clean them up.

@jmmaranan jmmaranan pinned this issue Jan 28, 2023
@jmmaranan
Copy link
Collaborator

Hi @romaink-es @CheariX @deepimpactmir, are you using trackpad or a mouse?
Just updated my ostree and trying to replicate it.
I explicitly disabled the preview locally, it does degrade the experience guessing where it should go unless you are used to know where the preview was going before.

@wroyca
Copy link
Contributor

wroyca commented Feb 2, 2023

Hi @romaink-es @CheariX @deepimpactmir, are you using trackpad or a mouse? Just updated my ostree and trying to replicate it. I explicitly disabled the preview locally, it does degrade the experience guessing where it should go unless you are used to know where the preview was going before.

Stopping by to say that I am experiencing the same issue as stated above:

image

I explicitly disabled the preview locally, it does degrade the experience guessing where it should go unless you are used to know where the preview was going before.

I personally find it intuitive enough to not need it, except for tabbing where it's not always clear whether the window will move to the left or move in tabbed mode without the indicator - then again, It's always disabled on my side as it rarely work well - maybe a toggle button to disable the preview as a temporary workaround would work well for the time being? 🍺

@jmmaranan
Copy link
Collaborator

As always thanks @wroyca. Yeah I am going to put it out there, will add the prefs toggle later. But the real issue still yet to be found.

@jmmaranan
Copy link
Collaborator

Ok folks, I tried to get it out of the way. It is in the prefs.js experimental, while I try to sort it out what's causing it. Waiting for JustPerfection or gnome ext admins to approve v62

@jmmaranan
Copy link
Collaborator

I updated to 43-2.2 on FC37 Silverblue, using mouse or trackpad still works ok. If anyone has a consistent repro please let me know. And also please send any logs when it happens

@jmmaranan
Copy link
Collaborator

jmmaranan commented Feb 3, 2023

@romaink-es - by the way, I did check your logs. What is standing out is when it did panic on gnome-shell, it keeps pointing to the theme.js:

Jan 18 09:29:16 opeth gnome-shell[1914]: #12   561de000a270 i   /home/romain/.local/share/gnome-shell/extensions/forge@jmmaranan.com/extension.js:56 (5376dce3c40 @ 192)
Jan 18 09:29:16 opeth gnome-shell[1914]: #11   561de000a318 i   /home/romain/.local/share/gnome-shell/extensions/forge@jmmaranan.com/theme.js:213 (5376dcf9dd0 @ 321)

However, that line of code is referring to loading and unloading stylesheets. It does not make sense to me. I also installed dash-to-panel and still waiting for a repro. I'll also see if I can make Boxes work on SilverBlue

@wroyca
Copy link
Contributor

wroyca commented Feb 3, 2023

@romaink-es - by the way, I did check your logs. What is standing out is when it did panic on gnome-shell, it keeps pointing to the theme.js:

Jan 18 09:29:16 opeth gnome-shell[1914]: #12   561de000a270 i   /home/romain/.local/share/gnome-shell/extensions/forge@jmmaranan.com/extension.js:56 (5376dce3c40 @ 192)
Jan 18 09:29:16 opeth gnome-shell[1914]: #11   561de000a318 i   /home/romain/.local/share/gnome-shell/extensions/forge@jmmaranan.com/theme.js:213 (5376dcf9dd0 @ 321)

However, that line of code is referring to loading and unloading stylesheets. It does not make sense to me. I also installed dash-to-panel and still waiting for a repro. I'll also see if I can make Boxes work on SilverBlue

I'm speculating because it's pretty random, but I've found that it often happens in a "racy" way when an overlay event is triggered almost at the same time as a window event - say, a resize - and from then on, it seems like the window event "steals" the overlay event, preventing it from "destroying" itself properly

I'll try to capture some logs should I manage to hit it again -

@wroyca
Copy link
Contributor

wroyca commented Feb 3, 2023

Feb 02 10:02:36 DESKTOP-7I26AD7 gjs[17129]: JS ERROR: TypeError: cssRule.declarations is undefined
                                            getCssProperty@/home/wroy/.local/share/gnome-shell/extensions/forge@jmmaranan.com/theme.js:110:35
                                            setCssProperty@/home/wroy/.local/share/gnome-shell/extensions/forge@jmmaranan.com/theme.js:118:32
                                            updateCssColors@/home/wroy/.local/share/gnome-shell/extensions/forge@jmmaranan.com/prefs.js:732:17
                                            _createColorOptionWidget/<@/home/wroy/.local/share/gnome-shell/extensions/forge@jmmaranan.com/prefs.js:746:24
                                            run@resource:///org/gnome/Shell/Extensions/js/dbusService.js:186:20
                                            main@resource:///org/gnome/Shell/Extensions/js/main.js:22:13
                                            run@resource:///org/gnome/gjs/modules/script/package.js:206:19
                                            start@resource:///org/gnome/gjs/modules/script/package.js:190:8
                                            @/usr/share/gnome-shell/org.gnome.Shell.Extensions:1:17
Feb 02 10:02:42 DESKTOP-7I26AD7 gjs[17129]: JS ERROR: TypeError: cssRule.declarations is undefined
                                            getCssProperty@/home/wroy/.local/share/gnome-shell/extensions/forge@jmmaranan.com/theme.js:110:35
                                            setCssProperty@/home/wroy/.local/share/gnome-shell/extensions/forge@jmmaranan.com/theme.js:118:32
                                            updateCssColors@/home/wroy/.local/share/gnome-shell/extensions/forge@jmmaranan.com/prefs.js:732:17
                                            _createColorOptionWidget/<@/home/wroy/.local/share/gnome-shell/extensions/forge@jmmaranan.com/prefs.js:746:24
                                            run@resource:///org/gnome/Shell/Extensions/js/dbusService.js:186:20
                                            main@resource:///org/gnome/Shell/Extensions/js/main.js:22:13
                                            run@resource:///org/gnome/gjs/modules/script/package.js:206:19
                                            start@resource:///org/gnome/gjs/modules/script/package.js:190:8
                                            @/usr/share/gnome-shell/org.gnome.Shell.Extensions:1:17
**Feb 02 22:35:17 DESKTOP-7I26AD7 gnome-shell[66449]: Can't update stage views actor <unnamed>[<MetaWindowActorX11>:0x55f997cb9360] is on because it needs an allocation.
Feb 02 22:35:17 DESKTOP-7I26AD7 gnome-shell[66449]: Can't update stage views actor <unnamed>[<MetaSurfaceActorX11>:0x55f99814ce00] is on because it needs an allocation.
Feb 02 22:35:18 DESKTOP-7I26AD7 gnome-shell[66449]: Object St.Icon (0x55f996b7fc90), 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.
Feb 02 22:35:18 DESKTOP-7I26AD7 gnome-shell[66449]: Object .Gjs_ui_popupMenu_Switch (0x55f99704d420), has been already disposed — impossible to access it. This might be caused by the object having been destroyed from C code using something such as destroy(), dispose(), or remove() vfuncs.
Feb 02 22:35:18 DESKTOP-7I26AD7 gnome-shell[66449]: == Stack trace for context 0x55f99235a180 ==
Feb 02 22:35:18 DESKTOP-7I26AD7 gnome-shell[66449]: #0   55f997976750 i   /home/wroy/.local/share/gnome-shell/extensions/forge@jmmaranan.com/panel.js:87 (303ff0873b00 @ 77)
Feb 02 22:35:18 DESKTOP-7I26AD7 gnome-shell[66449]: #1   55f9979766c0 i   /home/wroy/.local/share/gnome-shell/extensions/forge@jmmaranan.com/panel.js:75 (303ff0873ab0 @ 59)
Feb 02 22:35:18 DESKTOP-7I26AD7 gnome-shell[66449]: #2   7ffe2ab5f0e0 b   resource:///org/gnome/gjs/modules/core/overrides/Gio.js:686 (303ff08a00b0 @ 169)
Feb 02 22:35:18 DESKTOP-7I26AD7 gnome-shell[66449]: #3   55f997976628 i   /home/wroy/.local/share/gnome-shell/extensions/forge@jmmaranan.com/panel.js:104 (303ff0873ba0 @ 52)
Feb 02 22:35:18 DESKTOP-7I26AD7 gnome-shell[66449]: #4   55f997976590 i   resource:///org/gnome/shell/ui/popupMenu.js:426 (303ff08e14c0 @ 56)
Feb 02 22:35:18 DESKTOP-7I26AD7 gnome-shell[66449]: #5   55f997976500 i   resource:///org/gnome/shell/ui/popupMenu.js:413 (303ff08e1470 @ 41)
Feb 02 22:35:18 DESKTOP-7I26AD7 gnome-shell[66449]: #6   55f997976468 i   resource:///org/gnome/shell/ui/popupMenu.js:141 (303ff08dcba0 @ 87)
Feb 02 22:35:18 DESKTOP-7I26AD7 gnome-shell[66449]: == Stack trace for context 0x55f99235a180 ==
Feb 02 22:35:18 DESKTOP-7I26AD7 gnome-shell[66449]: #0   55f9979767d8 i   resource:///org/gnome/shell/ui/popupMenu.js:350 (303ff08e12e0 @ 65)
Feb 02 22:35:18 DESKTOP-7I26AD7 gnome-shell[66449]: #1   55f997976750 i   resource:///org/gnome/shell/ui/popupMenu.js:435 (303ff08e1560 @ 18)
Feb 02 22:35:18 DESKTOP-7I26AD7 gnome-shell[66449]: #2   55f9979766c0 i   /home/wroy/.local/share/gnome-shell/extensions/forge@jmmaranan.com/panel.js:76 (303ff0873ab0 @ 95)
Feb 02 22:35:18 DESKTOP-7I26AD7 gnome-shell[66449]: #3   7ffe2ab5f0e0 b   resource:///org/gnome/gjs/modules/core/overrides/Gio.js:686 (303ff08a00b0 @ 169)
Feb 02 22:35:18 DESKTOP-7I26AD7 gnome-shell[66449]: #4   55f997976628 i   /home/wroy/.local/share/gnome-shell/extensions/forge@jmmaranan.com/panel.js:104 (303ff0873ba0 @ 52)
Feb 02 22:35:18 DESKTOP-7I26AD7 gnome-shell[66449]: #5   55f997976590 i   resource:///org/gnome/shell/ui/popupMenu.js:426 (303ff08e14c0 @ 56)
Feb 02 22:35:18 DESKTOP-7I26AD7 gnome-shell[66449]: #6   55f997976500 i   resource:///org/gnome/shell/ui/popupMenu.js:413 (303ff08e1470 @ 41)
Feb 02 22:35:18 DESKTOP-7I26AD7 gnome-shell[66449]: #7   55f997976468 i   resource:///org/gnome/shell/ui/popupMenu.js:141 (303ff08dcba0 @ 87)
Feb 02 22:35:18 DESKTOP-7I26AD7 gnome-shell[66449]: == Stack trace for context 0x55f99235a180 ==
Feb 02 22:35:18 DESKTOP-7I26AD7 gnome-shell[66449]: #0   55f9979767d8 i   resource:///org/gnome/shell/ui/popupMenu.js:355 (303ff08e12e0 @ 133)
Feb 02 22:35:18 DESKTOP-7I26AD7 gnome-shell[66449]: #1   55f997976750 i   resource:///org/gnome/shell/ui/popupMenu.js:435 (303ff08e1560 @ 18)
Feb 02 22:35:18 DESKTOP-7I26AD7 gnome-shell[66449]: #2   55f9979766c0 i   /home/wroy/.local/share/gnome-shell/extensions/forge@jmmaranan.com/panel.js:76 (303ff0873ab0 @ 95)
Feb 02 22:35:18 DESKTOP-7I26AD7 gnome-shell[66449]: Object .Gjs_ui_popupMenu_Switch (0x55f99704d420), has been already disposed — impossible to access it. This might be caused by the object having been destroyed from C code using something such as destroy(), dispose(), or remove() vfuncs.
Feb 02 22:35:18 DESKTOP-7I26AD7 gnome-shell[66449]: #3   7ffe2ab5f0e0 b   resource:///org/gnome/gjs/modules/core/overrides/Gio.js:686 (303ff08a00b0 @ 169)
Feb 02 22:35:18 DESKTOP-7I26AD7 gnome-shell[66449]: #4   55f997976628 i   /home/wroy/.local/share/gnome-shell/extensions/forge@jmmaranan.com/panel.js:104 (303ff0873ba0 @ 52)
Feb 02 22:35:18 DESKTOP-7I26AD7 gnome-shell[66449]: #5   55f997976590 i   resource:///org/gnome/shell/ui/popupMenu.js:426 (303ff08e14c0 @ 56)
Feb 02 22:35:18 DESKTOP-7I26AD7 gnome-shell[66449]: #6   55f997976500 i   resource:///org/gnome/shell/ui/popupMenu.js:413 (303ff08e1470 @ 41)
Feb 02 22:35:18 DESKTOP-7I26AD7 gnome-shell[66449]: #7   55f997976468 i   resource:///org/gnome/shell/ui/popupMenu.js:141 (303ff08dcba0 @ 87)
Feb 02 22:35:18 DESKTOP-7I26AD7 gnome-shell[66449]: == Stack trace for context 0x55f99235a180 ==
Feb 02 22:35:18 DESKTOP-7I26AD7 gnome-shell[66449]: #0   55f9979767d8 i   resource:///org/gnome/shell/ui/popupMenu.js:440 (303ff08e15b0 @ 10)
Feb 02 22:35:18 DESKTOP-7I26AD7 gnome-shell[66449]: #1   55f997976750 i   resource:///org/gnome/shell/ui/popupMenu.js:436 (303ff08e1560 @ 35)
Feb 02 22:35:18 DESKTOP-7I26AD7 gnome-shell[66449]: #2   55f9979766c0 i   /home/wroy/.local/share/gnome-shell/extensions/forge@jmmaranan.com/panel.js:76 (303ff0873ab0 @ 95)
Feb 02 22:35:18 DESKTOP-7I26AD7 gnome-shell[66449]: #3   7ffe2ab5f0e0 b   resource:///org/gnome/gjs/modules/core/overrides/Gio.js:686 (303ff08a00b0 @ 169)
Feb 02 22:35:18 DESKTOP-7I26AD7 gnome-shell[66449]: #4   55f997976628 i   /home/wroy/.local/share/gnome-shell/extensions/forge@jmmaranan.com/panel.js:104 (303ff0873ba0 @ 52)
Feb 02 22:35:18 DESKTOP-7I26AD7 gnome-shell[66449]: #5   55f997976590 i   resource:///org/gnome/shell/ui/popupMenu.js:426 (303ff08e14c0 @ 56)
Feb 02 22:35:18 DESKTOP-7I26AD7 gnome-shell[66449]: #6   55f997976500 i   resource:///org/gnome/shell/ui/popupMenu.js:413 (303ff08e1470 @ 41)
Feb 02 22:35:18 DESKTOP-7I26AD7 gnome-shell[66449]: #7   55f997976468 i   resource:///org/gnome/shell/ui/popupMenu.js:141 (303ff08dcba0 @ 87)
Feb 02 22:35:18 DESKTOP-7I26AD7 gnome-shell[66449]: == Stack trace for context 0x55f99235a180 ==
Feb 02 22:35:18 DESKTOP-7I26AD7 gnome-shell[66449]: #0   55f9979767d8 i   resource:///org/gnome/shell/ui/popupMenu.js:443 (303ff08e15b0 @ 102)
Feb 02 22:35:18 DESKTOP-7I26AD7 gnome-shell[66449]: #1   55f997976750 i   resource:///org/gnome/shell/ui/popupMenu.js:436 (303ff08e1560 @ 35)
Feb 02 22:35:18 DESKTOP-7I26AD7 gnome-shell[66449]: #2   55f9979766c0 i   /home/wroy/.local/share/gnome-shell/extensions/forge@jmmaranan.com/panel.js:76 (303ff0873ab0 @ 95)
Feb 02 22:35:18 DESKTOP-7I26AD7 gnome-shell[66449]: #3   7ffe2ab5f0e0 b   resource:///org/gnome/gjs/modules/core/overrides/Gio.js:686 (303ff08a00b0 @ 169)
Feb 02 22:35:18 DESKTOP-7I26AD7 gnome-shell[66449]: #4   55f997976628 i   /home/wroy/.local/share/gnome-shell/extensions/forge@jmmaranan.com/panel.js:104 (303ff0873ba0 @ 52)
Feb 02 22:35:18 DESKTOP-7I26AD7 gnome-shell[66449]: #5   55f997976590 i   resource:///org/gnome/shell/ui/popupMenu.js:426 (303ff08e14c0 @ 56)
Feb 02 22:35:18 DESKTOP-7I26AD7 gnome-shell[66449]: Object .Gjs_ui_popupMenu_PopupSwitchMenuItem (0x55f997a58ee0), has been already disposed — impossible to get any property from it. This might be caused by the object having been destroyed from C code using something such as destroy(), dispose(), or remove() vfuncs.
Feb 02 22:35:18 DESKTOP-7I26AD7 gnome-shell[66449]: #6   55f997976500 i   resource:///org/gnome/shell/ui/popupMenu.js:413 (303ff08e1470 @ 41)
Feb 02 22:35:18 DESKTOP-7I26AD7 gnome-shell[66449]: #7   55f997976468 i   resource:///org/gnome/shell/ui/popupMenu.js:141 (303ff08dcba0 @ 87)
Feb 02 22:35:18 DESKTOP-7I26AD7 gnome-shell[66449]: Object .Gjs_ui_popupMenu_PopupSwitchMenuItem (0x55f997a58ee0), has been already disposed — impossible to access it. This might be caused by the object having been destroyed from C code using something such as destroy(), dispose(), or remove() vfuncs.**

Potentially unrelated, but timestamp seems to correlate with when I experienced it

@jmmaranan
Copy link
Collaborator

@wroyca - from what I am seeing on your logs, it looks like pretty much a degradation or panic on gnome-shell. As if the objects were literally not there at all. There was also a mention on this thread about seeing it on Tiling Assistant.

If it is OK with everyone, I'll assume this is an issue upstream. But not happening on immutable like SilverBlue - or so it seems.

@jmmaranan jmmaranan added immutable-os Something like Fedora SilverBlue window-effects Window effects and decorations upstream Identified as upstream issue and removed layouts Different layouts labels Feb 3, 2023
@hugo-ye
Copy link

hugo-ye commented Apr 5, 2023

For me, this takes place especially when I use the mouse to drag a window (scroll) from one workspace to another.
Fedora 37, Gnome 43.4, Forge version 65

@CheariX
Copy link

CheariX commented May 7, 2023

So for me, I haven't experienced this issue for a while now. I can no longer reproduce it.

@jmmaranan jmmaranan unpinned this issue Jun 1, 2023
@outpoints
Copy link

Is there a way to get rid of this once it appears without completely logging out?

@moritztim
Copy link
Contributor

moritztim commented Nov 6, 2023

Issue still happens. And I'm on X11.

As if the objects were literally not there at all

@jmmaranan does this mean that there's no way to just remove all previews upon disabling the extension?

@moritztim
Copy link
Contributor

Is there a way to get rid of this once it appears without completely logging out?

@outpoints You can restart X11 by pressing alt + f2 then typing r. Keep in mind that this will close all windows and may result in a crash (at least it does for me but maybe because I have 4 screens)

@tsilvs
Copy link

tsilvs commented Feb 17, 2024

Having the same issue on Fedora Silverblue 39 / GNOME 45 / Forge 45.3-1.1-alpha RPM / Wayland.

Got it one today after using the extension for a month in the same fasion (with tabbed layout on window rearrangement).

@EmptyVisual
Copy link

This is occurring on Arch Linux
Gnome 46 Wayland
Forge v46-78

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working critical An issue that has a very high priority to be fixed or closed immutable-os Something like Fedora SilverBlue upstream Identified as upstream issue wayland Wayland support window-effects Window effects and decorations window-mgt Window management components
Projects
None yet
Development

No branches or pull requests

10 participants