After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 127758 - when panel is set to autohide, unhiding shows resizing
when panel is set to autohide, unhiding shows resizing
Status: RESOLVED FIXED
Product: gnome-panel
Classification: Other
Component: panel
2.4.x
Other Linux
: Normal minor
: ---
Assigned To: Panel Maintainers
Panel Maintainers
: 134567 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2003-11-23 19:06 UTC by Joseph Mocker
Modified: 2009-08-21 03:22 UTC
See Also:
GNOME target: ---
GNOME version: 2.3/2.4


Attachments
gnome-panel-2.4.0-bevels.patch (1.03 KB, patch)
2004-02-24 11:28 UTC, Bart Martens
none Details | Review
Demonstration shot. (197.74 KB, image/png)
2004-02-29 09:07 UTC, Dennis Smit
  Details

Description Joseph Mocker 2003-11-23 19:06:08 UTC
I have my bottom panel set to autohide. When I move my mouse
down to unhide it, the animation isn't smooth. The panel
raises ok, but then this weird resizing occurs for a split
second, such that the panel raises a few more pixels and 
then lowers back, and the contents in the panel seem to 
resize during this period. 

The visual effect is rather annoying.

The only things I have in the bottom panel are
a Window List and a Workspace Switcher.
Comment 1 Xin Zhen 2003-12-24 19:04:04 UTC
I can reproduce this problem on non-transparent panel
Comment 2 Joseph Mocker 2003-12-26 01:18:13 UTC
Wow. Crazy. I just changed the panel background from
"None (use system theme)" to "Solid Color" and it appears
to fix the problem. I just set the color to the
same as the system theme and left the Style at
100% Opaque.
Comment 3 Baptiste Mille-Mathias 2004-01-08 22:56:41 UTC
I tested this problem and I confirm the problem appeared on
non-transparent panel. I tried on a quite big panel (34) and the panel
had an obvious behaviour, but the resize/redranw operation was fast
(less than a second).
1°) after to put he mouse a the bottom of the screen, the panel
appeard few pixels above the bottom of the screen (I could see a dark
line at the bottom of the panel, perhaps the bevel).
2°) then the "bevel" disparead, so the panel seems to "fall" on the
bottom edge of the screen.
3°) all the widget of the panel are redraw

hope this help.
Comment 4 Bart Martens 2004-02-15 13:19:41 UTC
This problem is also known at:
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=102632
Comment 5 Mark McLoughlin 2004-02-20 13:36:03 UTC
Okay, I can just about make out this with HEAD. I wouldn't saw its
hugely noticable but ...

I think I know what's going on. Basically, the panel tries not to have
a bevel around the edges that are touching the screen so that
launchers and applets etc. can be flush up against the edge of the screen.

What's probably happening is that when the panel is hidden, its not
against the edge of the screen and makes itself bigger in order to
draw the bevel. The when its unhides, it notices its against the
screen edge again and removes the bevel again.

Someone needs to stick a load of debugging printfs in the animation
code in panel-toplevel.c to confirm this is whats happening.

If it is indeed what's happening, we should probably fix it by not
removing the bevel when the panel is in a transient state.

Oh, what really gives this away as the problem is that we never have a
bevel on a panel that uses either a background colour or picture
because there's no sane way of drawing that bevel.
Comment 6 Vincent Untz 2004-02-21 17:04:34 UTC
*** Bug 134567 has been marked as a duplicate of this bug. ***
Comment 7 Bart Martens 2004-02-24 11:28:29 UTC
Created attachment 24719 [details] [review]
gnome-panel-2.4.0-bevels.patch
Comment 8 Bart Martens 2004-02-24 11:38:51 UTC
I think the patch also fixes bug #134337.
Comment 9 Dennis Smit 2004-02-26 17:03:55 UTC
I'am not sure if this is needed, but could you try to
submit the patch against CVS head and see if it works
and also fixes the problem with the multiload applet ?
Comment 10 Bart Martens 2004-02-27 09:27:27 UTC
> I'am not sure if this is needed,

The problem was caused by unneccessary adding of bevels when
auto-hiding. The automatic adding and removing of bevels during
auto-hiding and auto-unhiding caused the resizing (*this* bug) and the
clearing of the system monitor applet (bug #134337).

The patch makes sure that no bevels are added when hiding. So the
resizing and clearing no longer takes place.

For example, with the default gnome-panel position. When auto-hiding,
a bottom bevel was added. The patch changes the code so that this
bottom bevel is no longer added.

> but could you try to
> submit the patch against CVS head and see if it works
> and also fixes the problem with the multiload applet ?

To be honest, CVS head is a bit out of scope for me personally. Also,
I think this bug report was opened for version 2.4. So the patch
should first be validated for version 2.4. The patch doesn't need to
be valid for CVS head to be accepted for 2.4. Of course, someone must
check whether a similar modification must be done in CVS head, maybe
simply the patch works there too.

So, anyone, feel free to test the patch with version 2.4, to get the
patch validated for 2.4. And when the patch is validated, feel free to
check what's left to be done at CVS head.
Comment 11 Bart Martens 2004-02-27 09:29:21 UTC
Oops I forgot to add myself to the cc list. Doing that now. Sorry for
the noise.
Comment 12 Mark McLoughlin 2004-02-27 18:41:08 UTC
Patch is good Bart, thanks much for tracking this down

2004-02-27  Mark McLoughlin  <mark@skynet.ie>
                                                                     
                                                                         
        Patch from Bart Martens in bug #127758 to stop the panel
        resizing slightly during autohide which caused some pretty
        icky visual problems.
                                                                     
                                                                         
        * panel-toplevel.c: (panel_toplevel_update_edges): Don't draw
        bevels on edges of the panel which aren't visible on screen
        instead of just edges which are flush against the screen edge.
                                                                     
                                                                         
Comment 13 Dennis Smit 2004-02-29 09:05:29 UTC
While trying to verify #134337 i came to the conclusion that it still
bugs for RIGHT and BOTTOM panels. Look further in this i saw
that bevels on standard colored panels are now always
drawn on the right and bottom. Will attach a screenshot.
Comment 14 Dennis Smit 2004-02-29 09:07:39 UTC
Created attachment 24925 [details]
Demonstration shot.
Comment 15 Dennis Smit 2004-02-29 09:10:33 UTC
Added GNOMEVER2.5 keyword seen this also happens for 2.5.

You can see on the screenshot that the big vertical standard colored
panel has bevels on the bottom and right. It doesn't matter where
i place the panel it always has them like that.

(Btw, no my desktop doesn't look like that, that is my debug
head that runs on an old s3virge ;) )
Comment 16 Bart Martens 2004-02-29 11:24:45 UTC
Dennis, about your comments of 2004-02-29 04:05, is it OK for you that
we discuss that on the appropriate bug report? I'll follow both.
Comment 17 Bart Martens 2004-02-29 11:51:35 UTC
Dennis, about your screenshot of 2004-02-29 04:07 and your comments of
2004-02-29 04:10:

I think it is good that these bevels are drawn when the panel is not
against the corresponding edges of the desktop.

I have only tested with 2.4, because that's the bug's (original)
scope. The patch may not work for 2.5/head.
Comment 18 Mark McLoughlin 2004-02-29 11:57:27 UTC
Dennis: the screenshot you attached doesn't bear out what you are
saying AFAICS. There is no bevel on that panel. Also, I can't
reproduce this here.

FWIW, Bart's patch couldn't have change the behaviour around drawing
bevels on colour panels.

Unless you can still get the panel to resize on autohide, please don't
re-open this but log a new bug report for any issue you're seeing
related to this.
Comment 19 Dennis Smit 2004-02-29 13:16:05 UTC
Sorry for reopening my excuse.

I forgot to restart the panel.

for (i = 0; i < 100; i++)
    printf ("I am very ashamed\n");
Comment 20 Max Kanat-Alexander 2009-08-21 03:22:54 UTC
This bug was marked RESOLVED without a resolution, which Bugzilla does not allow (and so I am fixing it). It is assumed that the bug was intended to be marked as FIXED. If the bug should have some other resolution, please change its resolution.