I've got my xfce panel on top of my screen. When i set it to "auto-hide", it will show it's small border as everytime, but when I move my mouse there, the panel won't "come down". I'll submit configuation files, ... if that helps. XFCE 4.1.90 compiled from source (Slackware Linux 10).
Hi Thomas. Thanks for the report. These kind of bugs are very hard to find, especially since there will most likely not be any error messages. For completeness sake, could you tell me what versions of GTK and X you are using? Maybe you can try changing some settings like the screen edge, whether the panel is on top and perhaps panel size, just to see if it makes a difference. If the panel doesn't get the mouse events, that means either another program is catching them (not very likely) or there is a problem between Gtk and X somewhere.
I've tried fiddling around with the settings, and I've found that when I turn off the "change virtual desktop when mouse moves to screen border" option, the panel will show again. (Settings->Window Manager->More Options->Change Virtual Desktops->When mouse cursor reaches screen border) I know this doesn't happen with the old XFCE version in Slackware. (4.0.6?)
(In reply to comment #2) > I've tried fiddling around with the settings, and I've found that when I turn > off the "change virtual desktop when mouse moves to screen border" option, the > panel will show again. > > (Settings->Window Manager->More Options->Change Virtual Desktops->When mouse > cursor reaches screen border) > > I know this doesn't happen with the old XFCE version in Slackware. (4.0.6?) Yes. This is indeed the problem. Unfortunately this won't be easy to solve. What happens is that xfwm4 uses invisible windows of 1 pixel wide to catch the mouse events needed to do the desktop switching. This means the panel will only unhide if you put the mouse more than one pixel and maximum 3 pixels from the screen edge. Obviously this is pretty hard to do. I believe in 4.0 the panel autohide width was 5 pixels, which would make it easier to hit. Also, I'm not sure xfwm4 had the mouse desktop switching functinality in 4.0. Basically this means that the two features are incompatible.
Why not simply remove the top/bottom desktop switching windows? That would solve the problem, because desktop switching is only done on left and right side, if i remember correctly. Also, why not put the panel "in front of" the invisible desktop switching windows? It would be quite obvious that you can't move your mouse to desktop switching onto the panel, does it? Maybe you can handle to move the desktop switching windows into the foreground when the panel is "opened"?
I don't know if this will help or not: frankly my favorite settings for the panel are autohide with always on top turned on... which doesn't work too well in 4.1.90 (as this bug report states). However I have it temporarily working: I changed the panel.c code so that when the panel_enter function is called (which actually is quite often and I would say it is being called properly at proper times) instead of executing the code: if (!p->unhide_timout) { p->unhide_timeout = g_timeout_add (UNHIDE_TIMEOUT, (GSourceFunc) panel_unhide_timeout, p); } it just executes: panel_unhide_timeout (p); While this is hardly a fix my panel now pops up at the appropriate times. What I'm trying to say is that there appears to be a glitch with the g_timeout_add function (not like I know much about it though). As for the panel's relationship to workspaces I have 4 workspaces laid out linearly (so I don't feel the need to change workspaces by moving the mouse up / down, just left and right). But that's just me, someone with a grid would probably like to be able to move the mouse up / down. Perhaps instead of reducing the panel to a 1 pixel rectangle simply make it invisible? Then when the mouse is in the ~40px tall region of the screen that was the panel it would cause it to become visible again? I don't know, just a thought. Anyway, I hope that snippet of code helps to cut down on your debugging time Jasper. - jpbarto
If you turn off the option of switching workspaces when the mouse reaches the edge of the screen -- it's in the advanced tab of the window manager settings dialog --, then it should work again. For now I'm afraid that option will just remain incompatible with panel autohide. well have to think about a proper solution. Thanks, Jasper
Ok, I'm not going to change this. The only solution is to not use the xfwm4 option.
*** Bug 479 has been marked as a duplicate of this bug. ***
*** Bug 1095 has been marked as a duplicate of this bug. ***