Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 568880

Summary: xfce-base/xfce4-panel-4.12.0-r1:0 fails to correctly set _NET_WM_STRUT_PARTIAL
Product: Gentoo Linux Reporter: Manfred Knick <Manfred.Knick>
Component: Current packagesAssignee: XFCE Team <xfce>
Status: UNCONFIRMED ---    
Severity: normal    
Priority: Normal    
Version: unspecified   
Hardware: AMD64   
OS: Linux   
See Also: https://bugzilla.xfce.org/show_bug.cgi?id=12281
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: /etc/portage/patches/xfce-base/xfce4-panel/4.12.0-01-panel.patch

Description Manfred Knick 2015-12-20 15:42:20 UTC
Already reported upstream : 
. . . https://bugzilla.xfce.org/show_bug.cgi?id=12281


In an extended setup:

. - two  (different HW) graphics adapters,
. - four (different HW) Monitors,
. - four independent *separate* X11 screens  ("Zaphod", no TwinView, no Xinerama)
. - layout:    2 x 2    (two "upper", two "lower")
. - layout:    Screen 1 | Screen 2
. - layout:    Screen 0 | Screen 3

. - on each: panel (at top)
. - in each: workspace switcher with 20 ws in 2 rows (2 x 10)

xfce panel fails to set _NET_WM_STRUT_PARTIAL on all 4 screens.

"xprop | grep -i strut" delivers empty result on every panel.

Thus, maximizing app windows, their top row becomes hidden beneath the panel
(default position == "top" of the screen).
In case of "panel width"="100%", the window buttons become unusable.

This also applies to the current layman git version.
Comment 1 Jason Zaman gentoo-dev 2015-12-20 15:58:04 UTC
Thanks for tracking this. Once it is fixed upstream, we can add the patch to the ebuild if its going to be a long time till the next release.
Comment 2 Manfred Knick 2015-12-20 16:12:05 UTC
My pleasure.

WORKAROUND:

After "maximize", 
clicking the entry in the task list with the "other" button,
the menu will serve a "restore" option.
Comment 3 Manfred Knick 2015-12-22 15:24:54 UTC
Notified upstream about analysis, esp.:
   https://bugzilla.xfce.org/show_bug.cgi?id=12281#c5
   https://bugzilla.xfce.org/show_bug.cgi?id=12281#c9
and resolution:
   https://bugzilla.xfce.org/show_bug.cgi?id=12281#c10
   https://bugzilla.xfce.org/show_bug.cgi?id=12281#c11
which WORKSFORME.

Jason, perhaps you might like to cross-check
and add this "one-liner" as a patch to

   .../portage/xfce-base/xfce4-panel/files  ( to be created )

and thus extend into

   xfce4-panel-4.12.0-r2.ebuild ?

Kind regards
Manfred
Comment 4 Manfred Knick 2015-12-22 15:27:01 UTC
https://bugzilla.xfce.org/show_bug.cgi?id=12281#c12

==> removed "[multiple separate X screens AKA Zaphod mode]"
from the title of this bug.
Comment 5 Manfred Knick 2015-12-22 15:28:16 UTC
Restraining from "Resolved" until patch has arrived in protage tree.
Comment 6 Manfred Knick 2015-12-22 15:40:31 UTC
# diff panel-window.c /home/manfred/TEMP/xfce4-panel-4.12.0/panel/panel-window.c

1546,1549d1545
<   /* first, let's make sure we are working upon
<    *      currently updated snap_position: */
<     window->snap_position = panel_window_snap_position (window);
<
Comment 7 Manfred Knick 2015-12-22 15:47:45 UTC
SORRY - now in 'unified' format for the patch:

# diff -u /home/manfred/TEMP/xfce4-panel-4.12.0/panel/panel-window.c   panel-window.c
--- /home/manfred/TEMP/xfce4-panel-4.12.0/panel/panel-window.c  2015-02-28 15:52:27.000000000 +0100
+++ panel-window.c      2015-12-22 16:35:44.073877284 +0100
@@ -1543,6 +1543,10 @@
       || window->struts_disabled)
     return STRUTS_EDGE_NONE;
 
+  /* first, let's make sure we are working upon
+   *      currently updated snap_position: */
+    window->snap_position = panel_window_snap_position (window);
+
   /* return the screen edge on which the window is
    * visually snapped and where the struts are set */
   switch (window->snap_position)
Comment 8 Manfred Knick 2015-12-22 16:02:33 UTC
Created attachment 420294 [details, diff]
/etc/portage/patches/xfce-base/xfce4-panel/4.12.0-01-panel.patch

Cross-check / Confirmation:

Placing above patch file as User-patch
[ https://wiki.gentoo.org/wiki//etc/portage/patches ]

and freshly re-emerging xfce-base/xfce4-panel-4.12.0-r1

re-created the desired behaviour.

Thanks.
Comment 9 Manfred Knick 2015-12-22 16:07:08 UTC
(In reply to Manfred Knick from comment #8)

> /etc/portage/patches/xfce-base/xfce4-panel/4.12.0-01-panel.patch

@ Jason:

Perhaps I should prefer

   /etc/portage/patches/xfce-base/xfce4-panel-4.12.0-r1/

to make sure this patch does _not_ get applied automatically 
in future (hopefully corrected) versions?
Comment 10 Jason Zaman gentoo-dev 2016-01-02 09:09:59 UTC
hey, the upstream bug has been marked as closed too but the upstream maintainers have not accepted the fix yet. Carrying a patch in gentoo that has not been accepted upstream adds to the maintainance so I'd rather not until they accept the fix and add it to their master branch. That way the patch will only be needed until the next version of xfce panel is released.

Can you re-open the upstream bug so they see it and can apply it?

Thanks,
-- Jason
Comment 11 Manfred Knick 2016-01-02 16:14:27 UTC
(In reply to Jason Zaman from comment #10)

> Can you re-open the upstream bug so they see it and can apply it?

RE-OPENED:

https://bugzilla.xfce.org/show_bug.cgi?id=12281#c17

Thanks again.
Comment 12 Manfred Knick 2016-01-02 16:15:48 UTC
? ? ? Anybody out there to 'CONFIRM'

? ? ? and test the patch ?