! Please note that this is a snapshot of our old Bugzilla server, which is read only since May 29, 2020. Please go to gitlab.xfce.org for our new server !
Intelligent hiding is buggy
Status:
RESOLVED: FIXED
Product:
Xfce4-panel

Comments

Description Simon Steinbeiss editbugs 2014-11-26 01:31:29 CET
Just to document the findings I made during a quick debug session with the panel from git master (4.11.x).
Intelligent hiding generally works, but the mouse-pointer behavior is buggy. Steps to reproduce the bug:
1) set panel to intelligent hiding
2) give a window focus that doesn't overlap with the panel
3) hover the panel with the mouse
4) upon leaving the panel hides again, even though there is no window overlapping

What it should do instead: if intelligent hiding is in use it should check (possibly in panel_window_leave_notify_event or _enter_ in panel-window.c) whether there are windows overlapping with the panel and if not, the panel shouldn't hide on leave_notify.
Comment 1 Simon Steinbeiss editbugs 2014-11-26 01:42:56 CET
Created attachment 5771 
Check for overlapping windows when the mouse leaves the panel
Comment 2 Simon Steinbeiss editbugs 2014-11-26 09:23:38 CET
Created attachment 5772 
Slightly more intelligent fix
Comment 3 Simon Steinbeiss editbugs 2014-11-26 14:13:05 CET
Created attachment 5773 
Fix regression of previous patches

The previous two patches introduced a regression, so that the panel would hide e.g. when the appmenu was opened. The new patch takes the blocking of the panel-hiding into account for intelligent hiding as well.
Comment 4 Skunnyk 2014-11-26 14:21:00 CET
I confirm that https://bugzilla.xfce.org/attachment.cgi?id=5773 works with git master :)
Comment 5 Andrzej editbugs 2014-11-26 21:21:56 CET
Pushed the last patch to master.

There is still a problem with panel being initially hidden immediately after switching the intelligent hiding on and closing the preferences dialog.
Comment 6 Simon Steinbeiss editbugs 2014-11-27 01:02:15 CET
Thanks Andrzej!
Yeah, you're right, it seems that despite the intention of the code with intelligent hiding the panel goes away initially. I'll try to take a look at that as soon as I can.
Comment 7 Simon Steinbeiss editbugs 2014-11-27 01:05:33 CET
I forgot to add a reference to the relevant piece of code for this initial behavior in my previous comment. It's supposed to happen here:
http://git.xfce.org/xfce/xfce4-panel/tree/panel/panel-window.c#n2424
Comment 8 Simon Steinbeiss editbugs 2014-11-27 01:29:46 CET
Created attachment 5774 
Patch that fixes the initial faulty autohiding with "intelligent"

Ok, so what's happening is that after closing the preferences window the block-state of the panel is 0, so the panel would be hidden (according to panel_window_thaw_autohide).

By adding another check to see whether the currently active/focused window overlaps with the panel we get the correct behavior with intelligent autohiding. This time a proper git patch is attached.
Comment 9 Andrzej editbugs 2014-11-27 02:58:09 CET
Thanks. Pushed.
Comment 10 Simon Steinbeiss editbugs 2014-11-27 03:01:48 CET
I'm not aware of any other issues with intelligent hiding so far, so I'll close this bugreport as fixed. If others are discovered, we can always file new reports.

(Just a note: despite previous claims that it doesn't work, multi-monitor behavior is just fine with intelligent hiding. Tested it and Skunnyk confirmed.)

Bug #11331

Reported by:
Simon Steinbeiss
Reported on: 2014-11-26
Last modified on: 2014-11-27

People

Assignee:
Nick Schermer
CC List:
2 users

Version

Version:
Unspecified

Attachments

Additional information