forge
forge copied to clipboard
bug: preview overlay stuck when arranging windows with the mouse
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:
- Drag a window over another to rearrange it
- Release or move the window away.
- 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
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
- Arch Linux, updated yesterday
- Forge version: 43.2-61
- Gnome-shell version (
gnome-shell --version
): 43.2
Monitor Setup
- 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.
Hi @romaink-es - if you disable all other extensions and only enable Forge, is it still happening?
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.
If it helps, I encounter the same bug sometimes as well, with it occurring sometimes when trying to drag windows around.
Screenshots
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.
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.
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.
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:
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? :beer:
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.
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
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
@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/[email protected]/extension.js:56 (5376dce3c40 @ 192)
Jan 18 09:29:16 opeth gnome-shell[1914]: #11 561de000a318 i /home/romain/.local/share/gnome-shell/extensions/[email protected]/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
@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/[email protected]/extension.js:56 (5376dce3c40 @ 192) Jan 18 09:29:16 opeth gnome-shell[1914]: #11 561de000a318 i /home/romain/.local/share/gnome-shell/extensions/[email protected]/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 -
Feb 02 10:02:36 DESKTOP-7I26AD7 gjs[17129]: JS ERROR: TypeError: cssRule.declarations is undefined
getCssProperty@/home/wroy/.local/share/gnome-shell/extensions/[email protected]/theme.js:110:35
setCssProperty@/home/wroy/.local/share/gnome-shell/extensions/[email protected]/theme.js:118:32
updateCssColors@/home/wroy/.local/share/gnome-shell/extensions/[email protected]/prefs.js:732:17
_createColorOptionWidget/<@/home/wroy/.local/share/gnome-shell/extensions/[email protected]/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/[email protected]/theme.js:110:35
setCssProperty@/home/wroy/.local/share/gnome-shell/extensions/[email protected]/theme.js:118:32
updateCssColors@/home/wroy/.local/share/gnome-shell/extensions/[email protected]/prefs.js:732:17
_createColorOptionWidget/<@/home/wroy/.local/share/gnome-shell/extensions/[email protected]/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/[email protected]/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/[email protected]/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/[email protected]/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/[email protected]/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/[email protected]/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/[email protected]/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/[email protected]/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/[email protected]/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/[email protected]/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/[email protected]/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/[email protected]/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
@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.
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
So for me, I haven't experienced this issue for a while now. I can no longer reproduce it.
Is there a way to get rid of this once it appears without completely logging out?
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?
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)
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).
This is occurring on Arch Linux Gnome 46 Wayland Forge v46-78
This happens for me as well. I'm on EndeavourOS, Linux 6.10.1-arch1-1, GNOME 46.3.1 (X11), Forge v46-83.