forge-ext / forge

Forge - Tiling and Window Manager for Gnome-Shell
GNU General Public License v3.0
888 stars 44 forks source link

bug: not persisting layout on lock-screen #300

Closed jubalfh closed 10 months ago

jubalfh commented 10 months ago

Description

After upgrade to GNOME 45 (Ubuntu 23.04 → 23.10) there's a behaviour change: locking and unlocking screen causes tabbed windows to lose tabbed state (they're being retiled instead).

As before upgrade, I'm running a Wayland session.

Expected Behavior

After locking and unlocking screen, the tabbed windows should keep they previous layout.

Reproduction

Upgrade to GNOME 45 seems to be a required step.

Steps To Reproduce

  1. Tab a few windows,
  2. Lock screen,
  3. Unlock screen,
  4. The window state gets reset and windows are re-tiled.

Details

Mark with [ ] all that applies:

It happens with any application?

It happens only on one computer?

It happens only with some specific gnome configuration?

It happens only with some specific extension installed?

Diagnostics

At every screen lock/unlock action.

Environment

Display Setup

Displays:

Notebook 1920x1080 60hz

Output and Logs

Gnome Logs

Command: journalctl --since='1 hour ago' --follow /usr/bin/gnome-shell

journalctl --since='1 hour ago' --follow /usr/bin/gnome-shell

Oct 15 20:27:16 metatron gnome-shell[9541]: loading user theme: /usr/share/themes/Yaru/gnome-shell/gnome-shell.css
Oct 15 20:27:17 metatron gnome-shell[9541]: JS ERROR: Gio.DBusError: GDBus.Error:org.freedesktop.DBus.Error.Failed: error occurred in AboutToShow
                                            _promisify/proto[asyncFunc]/</<@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:453:45
                                            @resource:///org/gnome/shell/ui/init.js:21:20
                                            ### Promise created here: ###
                                            sendAboutToShow@file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/dbusMenu.js:501:48
                                            sendAboutToShow@file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/dbusMenu.js:198:22
                                            attachToMenu@file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/dbusMenu.js:862:24
                                            _updateMenu/this._menuReadyId<@file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/indicatorStatusIcon.js:319:38
                                            _callHandlers@resource:///org/gnome/gjs/modules/core/_signals.js:130:42
                                            _emit@resource:///org/gnome/gjs/modules/core/_signals.js:119:10
                                            Client/<@file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/dbusMenu.js:833:24
                                            _updateLayoutState@file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/dbusMenu.js:365:18
                                            _layoutUpdateUpdateAsync@file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/dbusMenu.js:346:18
                                            async*_beginLayoutUpdate@file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/dbusMenu.js:326:14
                                            _requestLayoutUpdate@file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/dbusMenu.js:276:14
                                            initAsync@file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/dbusMenu.js:254:14
                                            async*Client@file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/dbusMenu.js:827:22
                                            _updateMenu@file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/indicatorStatusIcon.js:311:32
                                            _showIfReady@file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/indicatorStatusIcon.js:332:14
                                            _callHandlers@resource:///org/gnome/gjs/modules/core/_signals.js:130:42
                                            _emit@resource:///org/gnome/gjs/modules/core/_signals.js:119:10
                                            _checkIfReady@file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/appIndicator.js:464:18
                                            checkIfReadyChanged@file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/appIndicator.js:646:50
                                            _onPropertiesChanged/<@file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/appIndicator.js:654:17
                                            _onPropertiesChanged@file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/appIndicator.js:650:15
                                            @resource:///org/gnome/shell/ui/init.js:21:20
Oct 15 20:27:18 metatron gnome-shell[9541]: Window manager warning: Overwriting existing binding of keysym 76 with keysym 76 (keycode 37).
Oct 15 20:31:18 metatron gnome-shell[9541]: Object .Gjs_ubuntu-appindicators_ubuntu_com_appIndicator_AppIndicatorsIconActor (0x555dd90fe250), 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.
                                            == Stack trace for context 0x555dd615a470 ==
                                            #0   7ffe35383150 b   file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/appIndicator.js:964 (10aaf8f13b00 @ 41)
                                            #1   7ffe35383870 b   file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/appIndicator.js:978 (10aaf8f13b00 @ 312)
                                            #2   7ffe35383900 b   self-hosted:852 (a2f2ce846f0 @ 15)
                                            #3   555dd6221b38 i   resource:///org/gnome/shell/ui/init.js:21 (157c78970ba0 @ 48)
Oct 15 20:31:18 metatron gnome-shell[9541]: Object .Gjs_ubuntu-appindicators_ubuntu_com_appIndicator_AppIndicatorsIconActor (0x555dd90fe250), has been already disposed — impossible to connect to any signal on it. This might be caused by the object having been destroyed from C code using something such as destroy(), dispose(), or remove() vfuncs.
                                            == Stack trace for context 0x555dd615a470 ==
                                            #0   7ffe35381cf0 b   resource:///org/gnome/gjs/modules/core/overrides/GObject.js:725 (157c7899c150 @ 36)
                                            #1   7ffe35381dc0 b   file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/promiseUtils.js:145 (10aaf8f1a290 @ 23)
                                            #2   7ffe35381e90 b   file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/promiseUtils.js:149 (10aaf8f1a240 @ 97)
                                            #3   7ffe353825e0 b   file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/promiseUtils.js:40 (10aaf8f14ce0 @ 299)
                                            #4   555dd6221bc8 i   file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/promiseUtils.js:142 (10aaf8f1a1f0 @ 349)
                                            #5   7ffe35383150 b   file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/appIndicator.js:965 (10aaf8f13b00 @ 103)
                                            #6   7ffe35383870 b   file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/appIndicator.js:978 (10aaf8f13b00 @ 312)
                                            #7   7ffe35383900 b   self-hosted:852 (a2f2ce846f0 @ 15)
                                            #8   555dd6221b38 i   resource:///org/gnome/shell/ui/init.js:21 (157c78970ba0 @ 48)
Oct 15 20:31:18 metatron gnome-shell[9541]: Object .Gjs_ubuntu-appindicators_ubuntu_com_appIndicator_AppIndicatorsIconActor (0x555dd90fe250), has been already disposed — impossible to connect to any signal on it. This might be caused by the object having been destroyed from C code using something such as destroy(), dispose(), or remove() vfuncs.
                                            == Stack trace for context 0x555dd615a470 ==
                                            #0   7ffe35381cf0 b   resource:///org/gnome/gjs/modules/core/overrides/GObject.js:725 (157c7899c150 @ 36)
                                            #1   7ffe35381dc0 b   file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/promiseUtils.js:145 (10aaf8f1a290 @ 23)
                                            #2   7ffe35381e90 b   file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/promiseUtils.js:159 (10aaf8f1a240 @ 232)
                                            #3   7ffe353825e0 b   file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/promiseUtils.js:40 (10aaf8f14ce0 @ 299)
                                            #4   555dd6221bc8 i   file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/promiseUtils.js:142 (10aaf8f1a1f0 @ 349)
                                            #5   7ffe35383150 b   file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/appIndicator.js:965 (10aaf8f13b00 @ 103)
                                            #6   7ffe35383870 b   file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/appIndicator.js:978 (10aaf8f13b00 @ 312)
                                            #7   7ffe35383900 b   self-hosted:852 (a2f2ce846f0 @ 15)
                                            #8   555dd6221b38 i   resource:///org/gnome/shell/ui/init.js:21 (157c78970ba0 @ 48)
Oct 15 20:31:18 metatron gnome-shell[9541]: Object .Gjs_ubuntu-appindicators_ubuntu_com_appIndicator_AppIndicatorsIconActor (0x555dde7f96e0), 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.
                                            == Stack trace for context 0x555dd615a470 ==
                                            #0   7ffe353837c0 b   file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/appIndicator.js:964 (10aaf8f13b00 @ 41)
                                            #1   7ffe35383870 b   file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/appIndicator.js:978 (10aaf8f13b00 @ 312)
                                            #2   7ffe35383900 b   self-hosted:852 (a2f2ce846f0 @ 15)
                                            #3   555dd6221b38 i   resource:///org/gnome/shell/ui/init.js:21 (157c78970ba0 @ 48)
Oct 15 20:31:18 metatron gnome-shell[9541]: Object .Gjs_ubuntu-appindicators_ubuntu_com_appIndicator_AppIndicatorsIconActor (0x555dde7f96e0), has been already disposed — impossible to connect to any signal on it. This might be caused by the object having been destroyed from C code using something such as destroy(), dispose(), or remove() vfuncs.
                                            == Stack trace for context 0x555dd615a470 ==
                                            #0   7ffe353829e0 b   resource:///org/gnome/gjs/modules/core/overrides/GObject.js:725 (157c7899c150 @ 36)
                                            #1   7ffe35382ab0 b   file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/promiseUtils.js:145 (10aaf8f1a290 @ 23)
                                            #2   7ffe35382b80 b   file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/promiseUtils.js:149 (10aaf8f1a240 @ 97)
                                            #3   7ffe35382c50 b   file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/promiseUtils.js:40 (10aaf8f14ce0 @ 299)
                                            #4   555dd6221bc8 i   file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/promiseUtils.js:142 (10aaf8f1a1f0 @ 349)
                                            #5   7ffe353837c0 b   file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/appIndicator.js:965 (10aaf8f13b00 @ 103)
                                            #6   7ffe35383870 b   file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/appIndicator.js:978 (10aaf8f13b00 @ 312)
                                            #7   7ffe35383900 b   self-hosted:852 (a2f2ce846f0 @ 15)
                                            #8   555dd6221b38 i   resource:///org/gnome/shell/ui/init.js:21 (157c78970ba0 @ 48)
Oct 15 20:31:18 metatron gnome-shell[9541]: Object .Gjs_ubuntu-appindicators_ubuntu_com_appIndicator_AppIndicatorsIconActor (0x555dde7f96e0), has been already disposed — impossible to connect to any signal on it. This might be caused by the object having been destroyed from C code using something such as destroy(), dispose(), or remove() vfuncs.
                                            == Stack trace for context 0x555dd615a470 ==
                                            #0   7ffe353829e0 b   resource:///org/gnome/gjs/modules/core/overrides/GObject.js:725 (157c7899c150 @ 36)
                                            #1   7ffe35382ab0 b   file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/promiseUtils.js:145 (10aaf8f1a290 @ 23)
                                            #2   7ffe35382b80 b   file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/promiseUtils.js:159 (10aaf8f1a240 @ 232)
                                            #3   7ffe35382c50 b   file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/promiseUtils.js:40 (10aaf8f14ce0 @ 299)
                                            #4   555dd6221bc8 i   file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/promiseUtils.js:142 (10aaf8f1a1f0 @ 349)
                                            #5   7ffe353837c0 b   file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/appIndicator.js:965 (10aaf8f13b00 @ 103)
                                            #6   7ffe35383870 b   file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/appIndicator.js:978 (10aaf8f13b00 @ 312)
                                            #7   7ffe35383900 b   self-hosted:852 (a2f2ce846f0 @ 15)
                                            #8   555dd6221b38 i   resource:///org/gnome/shell/ui/init.js:21 (157c78970ba0 @ 48)
Oct 15 20:31:18 metatron gnome-shell[9541]: Object .Gjs_ubuntu-appindicators_ubuntu_com_appIndicator_AppIndicatorsIconActor (0x555ddcbc11a0), 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.
                                            == Stack trace for context 0x555dd615a470 ==
                                            #0   7ffe353837c0 b   file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/appIndicator.js:964 (10aaf8f13b00 @ 41)
                                            #1   7ffe35383870 b   file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/appIndicator.js:978 (10aaf8f13b00 @ 312)
                                            #2   7ffe35383900 b   self-hosted:852 (a2f2ce846f0 @ 15)
                                            #3   555dd6221b38 i   resource:///org/gnome/shell/ui/init.js:21 (157c78970ba0 @ 48)
Oct 15 20:31:18 metatron gnome-shell[9541]: Object .Gjs_ubuntu-appindicators_ubuntu_com_appIndicator_AppIndicatorsIconActor (0x555ddcbc11a0), has been already disposed — impossible to connect to any signal on it. This might be caused by the object having been destroyed from C code using something such as destroy(), dispose(), or remove() vfuncs.
                                            == Stack trace for context 0x555dd615a470 ==
                                            #0   7ffe353829e0 b   resource:///org/gnome/gjs/modules/core/overrides/GObject.js:725 (157c7899c150 @ 36)
                                            #1   7ffe35382ab0 b   file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/promiseUtils.js:145 (10aaf8f1a290 @ 23)
                                            #2   7ffe35382b80 b   file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/promiseUtils.js:149 (10aaf8f1a240 @ 97)
                                            #3   7ffe35382c50 b   file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/promiseUtils.js:40 (10aaf8f14ce0 @ 299)
                                            #4   555dd6221bc8 i   file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/promiseUtils.js:142 (10aaf8f1a1f0 @ 349)
                                            #5   7ffe353837c0 b   file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/appIndicator.js:965 (10aaf8f13b00 @ 103)
                                            #6   7ffe35383870 b   file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/appIndicator.js:978 (10aaf8f13b00 @ 312)
                                            #7   7ffe35383900 b   self-hosted:852 (a2f2ce846f0 @ 15)
                                            #8   555dd6221b38 i   resource:///org/gnome/shell/ui/init.js:21 (157c78970ba0 @ 48)
Oct 15 20:31:18 metatron gnome-shell[9541]: Object .Gjs_ubuntu-appindicators_ubuntu_com_appIndicator_AppIndicatorsIconActor (0x555ddcbc11a0), has been already disposed — impossible to connect to any signal on it. This might be caused by the object having been destroyed from C code using something such as destroy(), dispose(), or remove() vfuncs.
                                            == Stack trace for context 0x555dd615a470 ==
                                            #0   7ffe353829e0 b   resource:///org/gnome/gjs/modules/core/overrides/GObject.js:725 (157c7899c150 @ 36)
                                            #1   7ffe35382ab0 b   file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/promiseUtils.js:145 (10aaf8f1a290 @ 23)
                                            #2   7ffe35382b80 b   file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/promiseUtils.js:159 (10aaf8f1a240 @ 232)
                                            #3   7ffe35382c50 b   file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/promiseUtils.js:40 (10aaf8f14ce0 @ 299)
                                            #4   555dd6221bc8 i   file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/promiseUtils.js:142 (10aaf8f1a1f0 @ 349)
                                            #5   7ffe353837c0 b   file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/appIndicator.js:965 (10aaf8f13b00 @ 103)
                                            #6   7ffe35383870 b   file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/appIndicator.js:978 (10aaf8f13b00 @ 312)
                                            #7   7ffe35383900 b   self-hosted:852 (a2f2ce846f0 @ 15)
                                            #8   555dd6221b38 i   resource:///org/gnome/shell/ui/init.js:21 (157c78970ba0 @ 48)
Oct 15 20:31:18 metatron gnome-shell[9541]: JS ERROR: TypeError: this._indicator is null
                                            _waitForFullyReady@file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/appIndicator.js:969:13
                                            _waitForFullyReady@file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/appIndicator.js:978:21
                                            async*_updateWhenFullyReady@file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/appIndicator.js:987:24
                                            _init/<@file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/appIndicator.js:942:22
                                            removeChrome@resource:///org/gnome/shell/ui/layout.js:919:22
                                            disable/<@file:///home/miroslaw/.local/share/gnome-shell/extensions/dash-to-panel@jderose9.github.com/panelManager.js:242:32
                                            disable@file:///home/miroslaw/.local/share/gnome-shell/extensions/dash-to-panel@jderose9.github.com/panelManager.js:222:24
                                            disable@file:///home/miroslaw/.local/share/gnome-shell/extensions/dash-to-panel@jderose9.github.com/extension.js:75:22
                                            _callExtensionDisable@resource:///org/gnome/shell/ui/extensionSystem.js:202:32
                                            _onEnabledExtensionsChanged@resource:///org/gnome/shell/ui/extensionSystem.js:624:24
                                            async*_sessionUpdated@resource:///org/gnome/shell/ui/extensionSystem.js:808:20
                                            ExtensionManager/<@resource:///org/gnome/shell/ui/extensionSystem.js:44:18
                                            _callHandlers@resource:///org/gnome/gjs/modules/core/_signals.js:130:42
                                            _emit@resource:///org/gnome/gjs/modules/core/_signals.js:119:10
                                            _sync@resource:///org/gnome/shell/ui/sessionMode.js:216:14
                                            pushMode@resource:///org/gnome/shell/ui/sessionMode.js:174:14
                                            activate@resource:///org/gnome/shell/ui/screenShield.js:666:34
                                            lock@resource:///org/gnome/shell/ui/screenShield.js:733:14
                                            LockAsync@resource:///org/gnome/shell/ui/shellDBus.js:519:28
                                            _handleMethodCall@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:373:35
                                            _wrapJSObject/<@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:408:34
                                            @resource:///org/gnome/shell/ui/init.js:21:20
Oct 15 20:31:18 metatron gnome-shell[9541]: JS ERROR: TypeError: this._indicator is null
                                            _waitForFullyReady@file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/appIndicator.js:969:13
                                            _waitForFullyReady@file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/appIndicator.js:978:21
                                            async*_updateWhenFullyReady@file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/appIndicator.js:987:24
                                            _init/<@file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/appIndicator.js:942:22
                                            removeChrome@resource:///org/gnome/shell/ui/layout.js:919:22
                                            disable/<@file:///home/miroslaw/.local/share/gnome-shell/extensions/dash-to-panel@jderose9.github.com/panelManager.js:242:32
                                            disable@file:///home/miroslaw/.local/share/gnome-shell/extensions/dash-to-panel@jderose9.github.com/panelManager.js:222:24
                                            disable@file:///home/miroslaw/.local/share/gnome-shell/extensions/dash-to-panel@jderose9.github.com/extension.js:75:22
                                            _callExtensionDisable@resource:///org/gnome/shell/ui/extensionSystem.js:202:32
                                            _onEnabledExtensionsChanged@resource:///org/gnome/shell/ui/extensionSystem.js:624:24
                                            async*_sessionUpdated@resource:///org/gnome/shell/ui/extensionSystem.js:808:20
                                            ExtensionManager/<@resource:///org/gnome/shell/ui/extensionSystem.js:44:18
                                            _callHandlers@resource:///org/gnome/gjs/modules/core/_signals.js:130:42
                                            _emit@resource:///org/gnome/gjs/modules/core/_signals.js:119:10
                                            _sync@resource:///org/gnome/shell/ui/sessionMode.js:216:14
                                            pushMode@resource:///org/gnome/shell/ui/sessionMode.js:174:14
                                            activate@resource:///org/gnome/shell/ui/screenShield.js:666:34
                                            lock@resource:///org/gnome/shell/ui/screenShield.js:733:14
                                            LockAsync@resource:///org/gnome/shell/ui/shellDBus.js:519:28
                                            _handleMethodCall@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:373:35
                                            _wrapJSObject/<@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:408:34
                                            @resource:///org/gnome/shell/ui/init.js:21:20
Oct 15 20:31:18 metatron gnome-shell[9541]: JS ERROR: TypeError: this._indicator is null
                                            _waitForFullyReady@file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/appIndicator.js:969:13
                                            _waitForFullyReady@file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/appIndicator.js:978:21
                                            async*_updateWhenFullyReady@file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/appIndicator.js:987:24
                                            _init/<@file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/appIndicator.js:942:22
                                            removeChrome@resource:///org/gnome/shell/ui/layout.js:919:22
                                            disable/<@file:///home/miroslaw/.local/share/gnome-shell/extensions/dash-to-panel@jderose9.github.com/panelManager.js:242:32
                                            disable@file:///home/miroslaw/.local/share/gnome-shell/extensions/dash-to-panel@jderose9.github.com/panelManager.js:222:24
                                            disable@file:///home/miroslaw/.local/share/gnome-shell/extensions/dash-to-panel@jderose9.github.com/extension.js:75:22
                                            _callExtensionDisable@resource:///org/gnome/shell/ui/extensionSystem.js:202:32
                                            _onEnabledExtensionsChanged@resource:///org/gnome/shell/ui/extensionSystem.js:624:24
                                            async*_sessionUpdated@resource:///org/gnome/shell/ui/extensionSystem.js:808:20
                                            ExtensionManager/<@resource:///org/gnome/shell/ui/extensionSystem.js:44:18
                                            _callHandlers@resource:///org/gnome/gjs/modules/core/_signals.js:130:42
                                            _emit@resource:///org/gnome/gjs/modules/core/_signals.js:119:10
                                            _sync@resource:///org/gnome/shell/ui/sessionMode.js:216:14
                                            pushMode@resource:///org/gnome/shell/ui/sessionMode.js:174:14
                                            activate@resource:///org/gnome/shell/ui/screenShield.js:666:34
                                            lock@resource:///org/gnome/shell/ui/screenShield.js:733:14
                                            LockAsync@resource:///org/gnome/shell/ui/shellDBus.js:519:28
                                            _handleMethodCall@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:373:35
                                            _wrapJSObject/<@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:408:34
                                            @resource:///org/gnome/shell/ui/init.js:21:20
Oct 15 20:31:37 metatron gnome-shell[9541]: loading user theme: /usr/share/themes/Yaru/gnome-shell/gnome-shell.css
Oct 15 20:31:38 metatron gnome-shell[9541]: JS ERROR: Gio.DBusError: GDBus.Error:org.freedesktop.DBus.Error.Failed: error occurred in AboutToShow
                                            _promisify/proto[asyncFunc]/</<@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:453:45
                                            @resource:///org/gnome/shell/ui/init.js:21:20
                                            ### Promise created here: ###
                                            sendAboutToShow@file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/dbusMenu.js:501:48
                                            sendAboutToShow@file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/dbusMenu.js:198:22
                                            attachToMenu@file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/dbusMenu.js:862:24
                                            _updateMenu/this._menuReadyId<@file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/indicatorStatusIcon.js:319:38
                                            _callHandlers@resource:///org/gnome/gjs/modules/core/_signals.js:130:42
                                            _emit@resource:///org/gnome/gjs/modules/core/_signals.js:119:10
                                            Client/<@file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/dbusMenu.js:833:24
                                            _updateLayoutState@file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/dbusMenu.js:365:18
                                            _layoutUpdateUpdateAsync@file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/dbusMenu.js:346:18
                                            async*_beginLayoutUpdate@file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/dbusMenu.js:326:14
                                            _requestLayoutUpdate@file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/dbusMenu.js:276:14
                                            initAsync@file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/dbusMenu.js:254:14
                                            async*Client@file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/dbusMenu.js:827:22
                                            _updateMenu@file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/indicatorStatusIcon.js:311:32
                                            _showIfReady@file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/indicatorStatusIcon.js:332:14
                                            _callHandlers@resource:///org/gnome/gjs/modules/core/_signals.js:130:42
                                            _emit@resource:///org/gnome/gjs/modules/core/_signals.js:119:10
                                            _checkIfReady@file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/appIndicator.js:464:18
                                            checkIfReadyChanged@file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/appIndicator.js:646:50
                                            _onPropertiesChanged/<@file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/appIndicator.js:654:17
                                            _onPropertiesChanged@file:///usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com/appIndicator.js:650:15
                                            @resource:///org/gnome/shell/ui/init.js:21:20
Oct 15 20:31:38 metatron gnome-shell[9541]: Window manager warning: Overwriting existing binding of keysym 76 with keysym 76 (keycode 37).
Oct 15 20:44:37 metatron gnome-shell[9541]: meta_window_set_stack_position_no_sync: assertion 'window->stack_position >= 0' failed

System from 1 hour ago

Command: journalctl -b 0 -r --since '1 hour ago':

Not relevant, the only difference are unrelated system services.

Extension Configuration

Command: dconf dump /org/gnome/shell/extensions/forge/

$ dconf dump /org/gnome/shell/extensions/forge/

[/]
css-last-update=uint32 37
css-updated='1696882409914'
float-always-on-top-enabled=false
focus-border-toggle=false
stacked-tiling-mode-enabled=false
tiling-mode-enabled=true

[keybindings]
con-split-horizontal=['<Super>z']
con-split-layout-toggle=['<Super>g']
con-split-vertical=['<Super>v']
con-stacked-layout-toggle=['<Shift><Super>s']
con-tabbed-layout-toggle=['<Shift><Super>t']
con-tabbed-showtab-decoration-toggle=['<Control><Alt>y']
focus-border-toggle=['<Super>x']
prefs-tiling-toggle=['<Super>w']
window-focus-down=['<Super>j']
window-focus-left=['<Super>h']
window-focus-right=['<Super>l']
window-focus-up=['<Super>k']
window-gap-size-decrease=['<Control><Super>minus']
window-gap-size-increase=['<Control><Super>plus']
window-move-down=['<Shift><Super>j']
window-move-left=['<Shift><Super>h']
window-move-right=['<Shift><Super>l']
window-move-up=['<Shift><Super>k']
window-resize-bottom-decrease=['<Shift><Control><Super>i']
window-resize-bottom-increase=['<Control><Super>u']
window-resize-left-decrease=['<Shift><Control><Super>o']
window-resize-left-increase=['<Control><Super>y']
window-resize-right-decrease=['<Shift><Control><Super>y']
window-resize-right-increase=['<Control><Super>o']
window-resize-top-decrease=['<Shift><Control><Super>u']
window-resize-top-increase=['<Control><Super>i']
window-snap-center=['<Control><Alt>c']
window-snap-one-third-left=['<Control><Alt>d']
window-snap-one-third-right=['<Control><Alt>g']
window-snap-two-third-left=['<Control><Alt>e']
window-snap-two-third-right=['<Control><Alt>t']
window-swap-down=['<Control><Super>j']
window-swap-last-active=['<Super>Return']
window-swap-left=['<Control><Super>h']
window-swap-right=['<Control><Super>l']
window-swap-up=['<Control><Super>k']
window-toggle-always-float=['<Shift><Super>c']
window-toggle-float=['<Super>c']
workspace-active-tile-toggle=['<Shift><Super>w']

Enabled Extensions

Command: gnome-extensions list --enabled --details

$ gnome-extensions list --enabled --details

forge@jmmaranan.com
  Name: Forge
  Description: Tiling and window manager for GNOME

Please report bugs/issues on https://github.com/forge-ext/forge/issues
  Path: /home/miroslaw/.local/share/gnome-shell/extensions/forge@jmmaranan.com
  URL: https://github.com/forge-ext/forge
  Version: 75
  State: ENABLED

caffeine@patapon.info
  Name: Caffeine
  Description: Disable the screensaver and auto suspend
  Path: /home/miroslaw/.local/share/gnome-shell/extensions/caffeine@patapon.info
  URL: https://github.com/eonpatapon/gnome-shell-extension-caffeine
  Version: 52
  State: ENABLED

dash-to-panel@jderose9.github.com
  Name: Dash to Panel
  Description: An icon taskbar for the Gnome Shell. This extension moves the dash into the gnome main panel so that the application launchers and system tray are combined into a single panel, similar to that found in KDE Plasma and Windows 7+. A separate dock is no longer needed for easy access to running and favorited applications.

For a more traditional experience, you may also want to use Tweak Tool to enable Windows > Titlebar Buttons > Minimize & Maximize.

For the best support, please report any issues on Github. Dash-to-panel is developed and maintained by @jderose9 and @charlesg99.
  Path: /home/miroslaw/.local/share/gnome-shell/extensions/dash-to-panel@jderose9.github.com
  URL: https://github.com/home-sweet-gnome/dash-to-panel
  Version: 59
  State: ENABLED

user-theme@gnome-shell-extensions.gcampax.github.com
  Name: User Themes
  Description: Load shell themes from user directory.
  Path: /usr/share/gnome-shell/extensions/user-theme@gnome-shell-extensions.gcampax.github.com
  URL: https://gitlab.gnome.org/GNOME/gnome-shell-extensions
  State: ENABLED

ubuntu-appindicators@ubuntu.com
  Name: Ubuntu AppIndicators
  Description: Support app indicators and legacy tray icons in top panel, as the default Ubuntu experience. System update of AppIndicator and KStatusNotifierItem Support extension.
  Path: /usr/share/gnome-shell/extensions/ubuntu-appindicators@ubuntu.com
  URL: https://github.com/ubuntu/gnome-shell-extension-appindicator
  State: ENABLED

GPaste@gnome-shell-extensions.gnome.org
  Name: GPaste
  Description: Clipboard management system
  Path: /usr/share/gnome-shell/extensions/GPaste@gnome-shell-extensions.gnome.org
  URL: http://github.com/Keruspe/GPaste
  State: ENABLED

Graphics information

Command: lshw -C display

$ lshw -C display

  *-display
       description: VGA compatible controller
       product: HD Graphics 5500
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       logical name: /dev/fb0
       version: 09
       width: 64 bits
       clock: 33MHz
       capabilities: msi pm vga_controller bus_master cap_list rom fb
       configuration: depth=32 driver=i915 latency=0 resolution=1920,1080
       resources: irq:48 memory:e0000000-e0ffffff memory:c0000000-dfffffff ioport:3000(size=64) memory:c0000-dffff

Monitor information

NOTE: i'm running wayland; this is XWayland idea of a screen.

Command: xrandr --properties | grep -vE '(x|\s|\.|\d)+$'

$ xrandr --properties | grep -vE '(x|\s|\.|\d)+$'

Screen 0: minimum 16 x 16, current 1536 x 864, maximum 32767 x 32767
eDP-1 connected primary 1536x864+0+0 (normal left inverted right x axis y axis) 310mm x 170mm
        supported: 0, 1
   1536x864      59.94*+
jubalfh commented 10 months ago

ah, just blanking the screen is enough to trigger this.

jmmaranan commented 10 months ago

Hi @jubalfh, when the code was reviewed by Extension admins for GNOME 45, session persistence handling was removed. disable is being called when the screen blanks out or logs out

https://extensions.gnome.org/review/45065

jubalfh commented 10 months ago

Huh. I would think that if any plugin needs persistence, if only to keep the layout from changes, it would be a tiling/tabbing extension.

In case the reviewers couldn't be convinced, would it be much work to make forge serialise the layout state somewhat on blanking/locking and restore it on activation?

Right now, forge stopped matching my (admittedly, very idiosyncratic) workflow almost entirely: i usually keep a number of differently tabbed windows on two physical displays (× at least three workspaces), and aligning all of them manually after each screen lock is simply untenable.

jmmaranan commented 10 months ago

Getting the GNOME 45 support out the door quickly was a priority during that time. Here are the options:

jmmaranan commented 10 months ago

@jubalfh - try it out and let me know. Then I can petition it. Thanks

jubalfh commented 10 months ago

@jmmaranan thank you for extremely quick reaction! i've checked out the fix-unlock-dialog branch and am running it right now, but the behaviour seems to be the same. (if it helps, it seems that the layout reset happens just a moment after unlocking).

the only line in gnome-shell log that looks remotely relevant is this:

Oct 20 16:15:53 metatron gnome-shell[4576]: meta_window_set_stack_position_no_sync: assertion 'window->stack_position >= 0' failed
jmmaranan commented 10 months ago

Did you quickly try to unlock as soon as screen comes up? Or waited a little bit?

jubalfh commented 10 months ago

I tried both, and did a suspend for good measure; this layout reset seems consistent.

jmmaranan commented 10 months ago

@jubalfh - It works on my machine :) Can you tell me the Forge version? Open up prefs > click exclamation icon to open the About page. See screenshot below. It should say 45.0-4999 if you compiled from the branch.

If it is OK with you, I can merge it now and try to publish it too and hopefully it passes and then you can also try it from the official package.

image

jubalfh commented 10 months ago

just confirming that the fix works for me, thank you very much!

jmmaranan commented 10 months ago

Thanks. There is a little bit of uphill on the GNOME review. But I think all is well. Maybe few days in EGO package.

xfalcox commented 6 months ago

Every time the lock screen appears my current layout is lost. Is there any additional setting for it to work properly?