! 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 !
xfce panel doesn't show when in auto-hide
Status:
RESOLVED: WONTFIX
Product:
Xfce4-panel

Comments

Description Thomas Perl 2004-10-20 19:06:38 CEST
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).
Comment 1 Jasper Huijsmans editbugs 2004-10-20 19:15:10 CEST
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. 
Comment 2 Thomas Perl 2004-10-20 20:11:46 CEST
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?)
Comment 3 Jasper Huijsmans editbugs 2004-10-22 17:21:35 CEST
(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.
Comment 4 Thomas Perl 2004-10-22 17:46:34 CEST
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"?
Comment 5 Jason Barto 2004-10-29 03:55:32 CEST
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
Comment 6 Jasper Huijsmans editbugs 2004-10-29 06:00:03 CEST
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
Comment 7 Jasper Huijsmans editbugs 2004-11-05 22:41:57 CET
Ok, I'm not going to change this. The only solution is to not use the xfwm4 option.
Comment 8 Jasper Huijsmans editbugs 2004-11-08 14:55:10 CET
*** Bug 479 has been marked as a duplicate of this bug. ***
Comment 9 Olivier Fourdan editbugs 2005-07-28 18:55:03 CEST
*** Bug 1095 has been marked as a duplicate of this bug. ***

Bug #404

Reported by:
Thomas Perl
Reported on: 2004-10-20
Last modified on: 2010-11-20
Duplicates (2):
  • 479 Panel Autohide and Wrap Workspaces with the pointer
  • 1095 problem with the option "wrap workspaces when the pointer reaches a screen edje" and thz panel

People

Assignee:
Nick Schermer
CC List:
2 users

Version

Attachments

Additional information