oae / gnome-shell-pano

Next-gen Clipboard Manager for Gnome Shell
https://extensions.gnome.org/extension/5278/pano/
GNU General Public License v2.0
1.11k stars 60 forks source link

Panel not showing with window tiling activated on pop-shell #84

Closed Ronterox closed 1 year ago

Ronterox commented 2 years ago

Describe the bug Toggle Pano call (with key combination also). Won't appear if Pop OS window tiling is activated and there is a window. Only works if tiling is off, or there is no windows on the workspace

Expected behavior The panel should be shown above the windows even if window tiling is activated

Screenshots

Pop OS Tiling Off

image image

Pop OS Tiling On

image image

But still works if there is no windows (Even is tiling is on)

image

To Reproduce

Log data Output from journalctl /usr/bin/gnome-shell:

Sep 14 16:43:53 ricardo-lenovo-pop gnome-shell[3236]: Can't update stage views actor <unnamed>[<ClutterActor>:0x562167c3bc40] is on because it needs an allocation.
Sep 14 16:43:53 ricardo-lenovo-pop gnome-shell[3236]: Can't update stage views actor <panelBox>[<StBoxLayout>:0x56216795a510] is on because it needs an allocation.
Sep 14 16:43:53 ricardo-lenovo-pop gnome-shell[3236]: Can't update stage views actor <unnamed>[<Gjs_dash-to-panel_jderose9_github_com_panel_Panel>:0x5621687c9e90] is on >
Sep 14 16:43:53 ricardo-lenovo-pop gnome-shell[3236]: Can't update stage views actor <panel>[<Gjs_ui_panel_Panel>:0x562167e843a0] is on because it needs an allocation.
Sep 14 16:43:53 ricardo-lenovo-pop gnome-shell[3236]: Can't update stage views actor <unnamed>[<StBin>:0x562168949090] is on because it needs an allocation.
Sep 14 16:43:53 ricardo-lenovo-pop gnome-shell[3236]: Can't update stage views actor <dashtopanelTaskbar>[<Gjs_dash-to-panel_jderose9_github_com_taskbar_TaskbarActor>:0x>
Sep 14 16:43:53 ricardo-lenovo-pop gnome-shell[3236]: Can't update stage views actor <dashtopanelScrollview>[<StScrollView>:0x5621677de010] is on because it needs an all>
Sep 14 16:43:53 ricardo-lenovo-pop gnome-shell[3236]: Can't update stage views actor <unnamed>[<StBoxLayout>:0x562168819a30] is on because it needs an allocation.
Sep 14 16:43:53 ricardo-lenovo-pop gnome-shell[3236]: Can't update stage views actor <unnamed>[<Gjs_dash-to-panel_jderose9_github_com_taskbar_TaskbarItemContainer>:0x562>
Sep 14 16:43:53 ricardo-lenovo-pop gnome-shell[3236]: Can't update stage views actor <unnamed>[<Gjs_dash-to-panel_jderose9_github_com_appIcons_TaskbarAppIcon>:0x56216c0d>
Sep 14 16:43:53 ricardo-lenovo-pop gnome-shell[3236]: Can't update stage views actor <unnamed>[<StWidget>:0x562168146c20] is on because it needs an allocation.
Sep 14 16:43:53 ricardo-lenovo-pop gnome-shell[3236]: Can't update stage views actor <unnamed>[<StWidget>:0x56216a3024f0] is on because it needs an allocation.
Sep 14 16:43:53 ricardo-lenovo-pop gnome-shell[3236]: Can't update stage views actor <unnamed>[<StDrawingArea>:0x56216771f8e0] is on because it needs an allocation.
Sep 14 16:44:22 ricardo-lenovo-pop gnome-shell[3236]: Window manager warning: Invalid WM_TRANSIENT_FOR window 0x500000a specified for 0x5000008.
Sep 14 16:44:33 ricardo-lenovo-pop gnome-shell[3236]: Window manager warning: Invalid WM_TRANSIENT_FOR window 0x500000a specified for 0x5000008.
Sep 14 16:45:28 ricardo-lenovo-pop gnome-shell[3236]: Can't update stage views actor <unnamed>[<MetaWindowGroup>:0x562167352310] is on because it needs an allocation.
Sep 14 16:45:28 ricardo-lenovo-pop gnome-shell[3236]: Can't update stage views actor <unnamed>[<MetaWindowActorX11>:0x56216a094330] is on because it needs an allocation.
Sep 14 16:45:28 ricardo-lenovo-pop gnome-shell[3236]: Can't update stage views actor <unnamed>[<MetaSurfaceActorX11>:0x56216a09a360] is on because it needs an allocation.
Sep 14 16:45:30 ricardo-lenovo-pop gnome-shell[3236]: Window manager warning: Invalid WM_TRANSIENT_FOR window 0x500000a specified for 0x5000008.
Sep 14 16:45:45 ricardo-lenovo-pop gnome-shell[3236]: Window manager warning: Invalid WM_TRANSIENT_FOR window 0x500000a specified for 0x5000008.
Sep 14 16:46:12 ricardo-lenovo-pop gnome-shell[3236]: Window manager warning: Invalid WM_TRANSIENT_FOR window 0x500000a specified for 0x5000008.
Sep 14 16:46:23 ricardo-lenovo-pop gnome-shell[3236]: Can't update stage views actor <unnamed>[<MetaWindowGroup>:0x562167352310] is on because it needs an allocation.
Sep 14 16:46:23 ricardo-lenovo-pop gnome-shell[3236]: Can't update stage views actor <unnamed>[<MetaWindowActorX11>:0x56216a094330] is on because it needs an allocation.
Sep 14 16:46:23 ricardo-lenovo-pop gnome-shell[3236]: Can't update stage views actor <unnamed>[<MetaSurfaceActorX11>:0x56216a09a360] is on because it needs an allocation.
Sep 14 16:46:23 ricardo-lenovo-pop gnome-shell[3236]: Can't update stage views actor <unnamed>[<MetaWindowActorX11>:0x562169102b50] is on because it needs an allocation.
Sep 14 16:46:23 ricardo-lenovo-pop gnome-shell[3236]: Can't update stage views actor <unnamed>[<MetaSurfaceActorX11>:0x56216a09ade0] is on because it needs an allocation.
Sep 14 16:47:34 ricardo-lenovo-pop gnome-shell[3236]: Window manager warning: Invalid WM_TRANSIENT_FOR window 0x520000a specified for 0x5200008.
Sep 14 16:48:38 ricardo-lenovo-pop gnome-shell[3236]: Can't update stage views actor <unnamed>[<MetaWindowGroup>:0x562167352310] is on because it needs an allocation.
Sep 14 16:48:38 ricardo-lenovo-pop gnome-shell[3236]: Can't update stage views actor <unnamed>[<MetaWindowActorX11>:0x56216a094330] is on because it needs an allocation.
Sep 14 16:48:38 ricardo-lenovo-pop gnome-shell[3236]: Can't update stage views actor <unnamed>[<MetaSurfaceActorX11>:0x56216a09a360] is on because it needs an allocation.
Sep 14 16:48:38 ricardo-lenovo-pop gnome-shell[3236]: Can't update stage views actor <unnamed>[<MetaWindowActorX11>:0x562169103330] is on because it needs an allocation.
Sep 14 16:48:38 ricardo-lenovo-pop gnome-shell[3236]: Can't update stage views actor <unnamed>[<MetaSurfaceActorX11>:0x56216c12c340] is on because it needs an allocation.
Sep 14 16:49:11 ricardo-lenovo-pop gnome-shell[3236]: Window manager warning: Invalid WM_TRANSIENT_FOR window 0x580000a specified for 0x5800008.
Sep 14 16:51:45 ricardo-lenovo-pop gnome-shell[3236]: Can't update stage views actor <unnamed>[<MetaWindowGroup>:0x562167352310] is on because it needs an allocation.
Sep 14 16:51:45 ricardo-lenovo-pop gnome-shell[3236]: Can't update stage views actor <unnamed>[<MetaWindowActorX11>:0x56216a094330] is on because it needs an allocation.
Sep 14 16:51:45 ricardo-lenovo-pop gnome-shell[3236]: Can't update stage views actor <unnamed>[<MetaSurfaceActorX11>:0x56216a09a360] is on because it needs an allocation.
Sep 14 16:51:52 ricardo-lenovo-pop gnome-shell[3236]: ../../../gobject/gsignal.c:2731: instance '0x562166b3c1a0' has no handler with id '87049'
oae commented 2 years ago

It seems like pop-shell doesn't let the extension grab focus when a window is open and that causes pano to close immediately.

dominiwe commented 2 years ago

pop-shell also has Floating Window Exceptions. Maybe it would be possible to add the Pano window to that list of exceptions.

Avijneyam commented 2 years ago

no i tried that exceptions thing still not working with pop-shell tile windows on and thank you for this issue... I was about to create this issue

Ronterox commented 2 years ago

It seems like pop-shell doesn't let the extension grab focus when a window is open and that causes pano to close immediately.

I don't know if it helps, but I also noticed that pano is actually opened and it works, is just not visible at all.

Avijneyam commented 2 years ago

It seems like pop-shell doesn't let the extension grab focus when a window is open and that causes pano to close immediately.

I don't know if it helps, but I also noticed that pano is actually opened and it works, is just not visible at all.

I've 2 monitors and pano is showing in non-active windows ( monitor ) eg:- if I click on 2nd monitor and open pano in 1st monitor it is showing with pop-shell tite windows on image

neilfranci commented 2 years ago

no i tried that exceptions thing still not working with pop-shell tile windows on and thank you for this issue... I was about to create this issue

wait, how did you choose pano to add it to that popos float window exceptions? I can't choose pano window for it. Maybe author of extensions can make an option to make it floating window instead of stick to the bottom.

ItMeCorban commented 1 year ago

I've found that when using a mutli monitor setup, pano will open over a window on the screen with your mouse cursor, so long as the active window is on another screen.

This happens on both primary and secondary screens.

Hopefully that helps narrow down the fault.

Hedronmx commented 1 year ago

I can confirm that the issue is with multiple monitor setups. I am running a 3 screen setup and only on the primary will pano show up. Otherwise it will briefly appear and then dissapear.

namefailed commented 1 year ago

I have this issue as well. I'll keep pano installed, as it's leagues better than its competition, but if this issue doesn't get solved I'll be forced back to CopyQ. You can still open pano if a window isn't open, aka on desktop with tiling open. I spend ALL of my time in tiling mode so disabling it to use pano is not really a solution. I've tried using the floating window execptions thing, but it can't itself grab focus of pano as a window.

namefailed commented 1 year ago

I should note that I'm not on a multimonitor setup, and this issue isn't exclusive to them. It's all anytime the tiling mode is enabled.

oae commented 1 year ago

PopShell breaks this extension. See https://github.com/pop-os/shell/issues/1534

namefailed commented 7 months ago

So the way exceptions currently work means they need a WM_CLASS and WM_TITLE, and Search-Light and Pano have neither. xprop on either of them yields: XdndProxy(WINDOW): window id # 0x20000b (the same result as xprop on the task bar)

Pop OS gets these values through Meta.Window.get_title() and Meta.Window.get_wm_class() However, the popups provided by these extensions do not get listed in the Meta windows.

Maybe that will give someone more to work with, I'm not familiar enough with gjs to do anything with that, unfortunately.

From the linked issue on the pop-shell page.

Is there any chance we could actually try and implement the required changes to make this work, instead of saying " eh it's incompatible" and closing the issue? Above is the needed changes to allow a window class so that pop can properly add it to it's list of exceptions.

If there is another work around, please let me know. Thank you.