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.
Created attachment 5771
Check for overlapping windows when the mouse leaves the panel
Created attachment 5772
Slightly more intelligent fix
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.
I confirm that https://bugzilla.xfce.org/attachment.cgi?id=5773 works with git master :)
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.
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.
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:
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.
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.)