G-dH / advanced-alttab-window-switcher

A highly customizable replacement for Gnome Shell's Alt-Tab window and app switchers.
GNU General Public License v3.0
163 stars 11 forks source link

[FEATURE] Show bottom dash on all displays #46

Closed alirezaimi closed 1 year ago

alirezaimi commented 1 year ago

Is your feature request related to a problem? Please describe. NO.

Describe the solution you'd like Showing bottom dash menu on all monitors.

G-dH commented 1 year ago

AATWS can pop up on any monitor and can be moved between them using hotkeys. Also the hot edge trigger can be set for all monitors. But if you want AATWS showing on all monitors at once, that will not be possible.

alirezaimi commented 1 year ago

Thanks , but when i'm using virtualbox machine and focus inside it nothing from outside of that machine can access .

Something like this option in dash to dock ext: Screenshot from 2022-10-18 11-00-53

G-dH commented 1 year ago

VBox machine grabs all input events when focused, AATWS needs to do the same to work. You can press and release right Ctrl key (default VBox hotkey) to release the input and allow AATWS to pop up. The hot edge trigger works but I need to find a usable way to temporarily steal the input from the VBox.

alirezaimi commented 1 year ago

I'm talking about bottom menu that appear with mouse hover to bottom of screen . something like dash to dock that i send to you .

G-dH commented 1 year ago

I know and I have explained to you why the AATWS won't show up in this situation. AATWS needs the input, unlike a dock. I will find a way around this.

alirezaimi commented 1 year ago

Thanks alot !

G-dH commented 1 year ago

@alirezaimi Can you please try the current github version and tell me if it helped?

git clone https://github.com/G-dH/advanced-alttab-window-switcher.git
cd advanced-alttab-window-switcher/
make install

Don't forget to restart GNOME Shell.

alirezaimi commented 1 year ago

Hi I'm tested it , and when i'm focused in virtual machine hot edge menu not work and not shown at all . Thanks for your support .

And this log when i'm trying :

ct 30 11:31:40 debian gnome-shell[2639]: [advanced-alt-tab@G-dH.github.com] Error: Unable to release input for successful Main.pushModal(), AATWS cannot start.
G-dH commented 1 year ago

Thanks. Interesting, works for me. X11 or Wayland session?

alirezaimi commented 1 year ago

Thank you, I'm using X11 .

G-dH commented 1 year ago

I'm always running my virtual machines in full-screen mode and in that case AATWS with the previously mentioned update shows up even if a vm has focus. However, now I've noticed that if the vm is in windowed mode, AATWS still can't grab the input. GS 42, X11.

G-dH commented 1 year ago

I came up with a workaround, please try to update from GitHub and let me know if that works for you too.

alirezaimi commented 1 year ago

Hi I pull last changes and make install it but :

$ make clean
rm -rf advanced-alt-tab@G-dH.github.com.zip \
       schemas/gschemas.compiled \

$ make install 
Packing zip file...
  adding: switcherList.js (deflated 73%)
  adding: extension.js (deflated 73%)
  adding: prefs.js (deflated 80%)
  adding: settings.js (deflated 77%)
  adding: actions.js (deflated 74%)
  adding: winTmb.js (deflated 75%)
  adding: captionLabel.js (deflated 65%)
  adding: switcherItems.js (deflated 76%)
  adding: windowMenu.js (deflated 76%)
  adding: windowSwitcherPopup.js (deflated 80%)
  adding: schemas/org.gnome.shell.extensions.advanced-alt-tab-window-switcher.gschema.xml (deflated 87%)
  adding: metadata.json (deflated 50%)
  adding: stylesheet.css (deflated 77%)
  adding: LICENSE (deflated 66%)
gnome-extensions install "advanced-alt-tab@G-dH.github.com.zip" --force

and after enabling it this error happened :

GLib.FileError: Failed to open file β€œ/home/alireza/.local/share/gnome-shell/extensions/advanced-alt-tab@G-dH.github.com/schemas/gschemas.compiled”: open() failed: No such file or directory

Stack trace:
  getSettings@resource:///org/gnome/Shell/Extensions/js/misc/extensionUtils.js:226:31
  Options@/home/alireza/.local/share/gnome-shell/extensions/advanced-alt-tab@G-dH.github.com/settings.js:111:42
  init@/home/alireza/.local/share/gnome-shell/extensions/advanced-alt-tab@G-dH.github.com/prefs.js:66:16
  _init@resource:///org/gnome/Shell/Extensions/js/extensionPrefsDialog.js:24:25
  ExtensionPrefsDialog@resource:///org/gnome/Shell/Extensions/js/extensionPrefsDialog.js:10:4
  OpenExtensionPrefsAsync@resource:///org/gnome/Shell/Extensions/js/extensionsService.js:124:33
  async*_handleMethodCall@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:368:35
  _wrapJSObject/<@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:401:34
  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
G-dH commented 1 year ago

Try it again, but clean before the pull.

alirezaimi commented 1 year ago

It's working. In maximized mode and not maximized worked perfectly . Thanks for your support .

G-dH commented 1 year ago

This workaround can crash AATWS in certain situations, leaving it open and bocking input. I'll try to handle the exception.

G-dH commented 1 year ago

That potential crash is also now fixed and the workaround has been simplified. Thanks for pushing me to solve my own inconvenience πŸ‘πŸ»

alirezaimi commented 1 year ago

Thank you very much for your support .

alirezaimi commented 1 year ago

Hi again I install extension on another debian stable 11 and i got this error and when i hover on menu on bottom of my display it's jumping and i can't choose anything :

keep showing this error :

Nov 29 09:30:35 debian gnome-shell[2613]: Object .Gjs_advanced-alt-tab_G-dH_github_com_switcherList_SwitcherList (0x55788e7d01a0), has been already deallocated β€” 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.
Nov 29 09:30:35 debian gnome-shell[2613]: == Stack trace for context 0x55788c7ab2e0 ==
Nov 29 09:30:35 debian gnome-shell[2613]: #0   7ffc8fd637d0 b   /home/a/.local/share/gnome-shell/extensions/advanced-alt-tab@G-dH.github.com/windowSwitcherPopup.js:1468 (2325d9688c90 @ 361)
G-dH commented 1 year ago

Hi, I can't reproduce this bug on my VBox installation of Sid. Are you sure there is no conflict with another extension?

alirezaimi commented 1 year ago

I disable all other extensions , Better log:

Nov 29 16:48:38 debian gnome-shell[2613]: AATWS - Advanced Alt-Tab Window Switcher: enabled
Nov 29 16:48:45 debian gnome-shell[2613]: pushModal: invocation of begin_modal failed
Nov 29 16:48:45 debian gnome-shell[2613]: pushModal: invocation of begin_modal failed
Nov 29 16:48:45 debian gnome-shell[2613]: pushModal: invocation of begin_modal failed
Nov 29 16:48:45 debian gnome-shell[2613]: pushModal: invocation of begin_modal failed
Nov 29 16:48:45 debian gnome-shell[2613]: pushModal: invocation of begin_modal failed
Nov 29 16:48:45 debian gnome-shell[2613]: [advanced-alt-tab@G-dH.github.com] Error: Unable to grab input, AATWS cannot start.
Nov 29 16:48:45 debian gnome-shell[2613]: JS ERROR: Error: incorrect pop
                                          popModal@resource:///org/gnome/shell/ui/main.js:581:15
                                          _popModal@resource:///org/gnome/shell/ui/switcherPopup.js:309:18
                                          _onDestroy@resource:///org/gnome/shell/ui/switcherPopup.js:333:14
                                          show/this._pushModalTimeoutId<@/home/a/.local/share/gnome-shell/extensions/advanced-alt-tab@G-dH.github.com/windowSwitcherPopup.js:303:30
Nov 29 16:48:46 debian gnome-shell[2613]: Object .Gjs_advanced-alt-tab_G-dH_github_com_switcherList_SwitcherList (0x557891005790), has been already deallocated β€” 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.
Nov 29 16:48:46 debian gnome-shell[2613]: == Stack trace for context 0x55788c7ab2e0 ==
Nov 29 16:48:46 debian gnome-shell[2613]: #0   55788ee08688 i   /home/a/.local/share/gnome-shell/extensions/advanced-alt-tab@G-dH.github.com/windowSwitcherPopup.js:1468 (2325d9688c90 @ 361)
Nov 29 16:48:46 debian gnome-shell[2613]: #1   55788ee085f8 i   /home/a/.local/share/gnome-shell/extensions/advanced-alt-tab@G-dH.github.com/windowSwitcherPopup.js:1212 (2325d96890b0 @ 34)
Nov 29 16:48:46 debian gnome-shell[2613]: == Stack trace for context 0x55788c7ab2e0 ==
Nov 29 16:48:46 debian gnome-shell[2613]: #0   55788ee08688 i   /home/a/.local/share/gnome-shell/extensions/advanced-alt-tab@G-dH.github.com/windowSwitcherPopup.js:1468 (2325d9688c90 @ 396)
Nov 29 16:48:46 debian gnome-shell[2613]: #1   55788ee085f8 i   /home/a/.local/share/gnome-shell/extensions/advanced-alt-tab@G-dH.github.com/windowSwitcherPopup.js:1212 (2325d96890b0 @ 34)
Nov 29 16:48:46 debian gnome-shell[2613]: == Stack trace for context 0x55788c7ab2e0 ==
Nov 29 16:48:46 debian gnome-shell[2613]: #0   55788ee08688 i   /home/a/.local/share/gnome-shell/extensions/advanced-alt-tab@G-dH.github.com/windowSwitcherPopup.js:1468 (2325d9688c90 @ 410)
Nov 29 16:48:46 debian gnome-shell[2613]: #1   55788ee085f8 i   /home/a/.local/share/gnome-shell/extensions/advanced-alt-tab@G-dH.github.com/windowSwitcherPopup.js:1212 (2325d96890b0 @ 34)
Nov 29 16:48:46 debian gnome-shell[2613]: == Stack trace for context 0x55788c7ab2e0 ==
Nov 29 16:48:46 debian gnome-shell[2613]: #0   55788ee08688 i   /home/a/.local/share/gnome-shell/extensions/advanced-alt-tab@G-dH.github.com/windowSwitcherPopup.js:1473 (2325d9688c90 @ 596)
Nov 29 16:48:46 debian gnome-shell[2613]: #1   55788ee085f8 i   /home/a/.local/share/gnome-shell/extensions/advanced-alt-tab@G-dH.github.com/windowSwitcherPopup.js:1212 (2325d96890b0 @ 34)
Nov 29 16:48:46 debian gnome-shell[2613]: == Stack trace for context 0x55788c7ab2e0 ==
Nov 29 16:48:46 debian gnome-shell[2613]: #0   55788ee08688 i   /home/a/.local/share/gnome-shell/extensions/advanced-alt-tab@G-dH.github.com/windowSwitcherPopup.js:1473 (2325d9688c90 @ 631)
Nov 29 16:48:46 debian gnome-shell[2613]: #1   55788ee085f8 i   /home/a/.local/share/gnome-shell/extensions/advanced-alt-tab@G-dH.github.com/windowSwitcherPopup.js:1212 (2325d96890b0 @ 34)
Nov 29 16:48:46 debian gnome-shell[2613]: Object .Gjs_advanced-alt-tab_G-dH_github_com_switcherList_SwitcherList (0x557891005790), has been already deallocated β€” 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.
Nov 29 16:48:46 debian gnome-shell[2613]: Object .Gjs_advanced-alt-tab_G-dH_github_com_switcherList_SwitcherList (0x557891005790), has been already deallocated β€” 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.
Nov 29 16:48:46 debian gnome-shell[2613]: Object .Gjs_advanced-alt-tab_G-dH_github_com_switcherList_SwitcherList (0x557891005790), has been already deallocated β€” 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.
Nov 29 16:48:46 debian gnome-shell[2613]: Object .Gjs_advanced-alt-tab_G-dH_github_com_switcherList_SwitcherList (0x557891005790), has been already deallocated β€” 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.
Nov 29 16:48:48 debian gnome-shell[2613]: Object .Gjs_advanced-alt-tab_G-dH_github_com_switcherList_SwitcherList (0x557891005790), has been already deallocated β€” 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.
G-dH commented 1 year ago

Did you install the latest github version?

alirezaimi commented 1 year ago

I installed from https://extensions.gnome.org/

G-dH commented 1 year ago

I didn't yet release the latest fix that handles the pop error and simplifies the workaround.

alirezaimi commented 1 year ago

Ok , thanks .