[Goodies-commits] r3845 - xfce4-fsguard-plugin/trunk/panel-plugin
mmassonnet at gmail.com
mmassonnet at gmail.com
Thu Jan 24 11:32:00 CET 2008
On Thu, Jan 24, 2008 at 11:25:48AM +0100, mike wrote:
> On Wed, Jan 23, 2008 at 03:01:55PM -0800, Brian J. Tarricone wrote:
> > Hey Mike,
> >
> > Mike Massonnet wrote:
> >
> > > Modified: xfce4-fsguard-plugin/trunk/panel-plugin/fsguard.c
> > > ===================================================================
> > > --- xfce4-fsguard-plugin/trunk/panel-plugin/fsguard.c 2008-01-23 21:49:27 UTC (rev 3844)
> > > +++ xfce4-fsguard-plugin/trunk/panel-plugin/fsguard.c 2008-01-23 22:22:41 UTC (rev 3845)
> > > @@ -71,7 +71,7 @@
> > > {
> > > XfcePanelPlugin *plugin;
> > > gboolean seen;
> > > - gint icon_id;
> > > + volatile gint icon_id;
> >
> > You're almost certainly not using 'volatile' correctly here. I don't
> > see any use of that var in your code that would require it, and you're
> > only damaging the compiler's ability to do optimisation by using it.
> > Why do you think you need it?
>
> The volatile addition was totally wrong. I didn't remember it was there
> when I commited.
>
> > > fsguard->icon_id = id;
> > > - size = xfce_panel_plugin_get_size (fsguard->plugin);
> > > - size -= 2 * MAX (fsguard->btn_panel->style->xthickness,
> > > - fsguard->btn_panel->style->ythickness);
> > > + size = xfce_panel_plugin_get_size (fsguard->plugin);
> > > + size -= 2 + 2 * MAX (fsguard->btn_panel->style->xthickness,
> > > + fsguard->btn_panel->style->ythickness);
> >
> > Better would be to figure out what other gtk style property is causing
> > the extra padding and figure that into your calculations. We of course
> > have no idea what other themes/theme engines might do while drawing. My
> > guess would be that, in looking at the thickness of the button, you're
> > forgetting to also look at any padding added around the button (like in
> > the button's container). These sizing things are so annoying :-( .
>
> And this is driving me nuts. I can't figure out, but it seems that if I
> use an icon from the gtk-stock-items it applies some GTK+ rules as
> described in gtk_icon_info_load_icon:
> "Note that the resulting pixbuf may not be exactly this size; an
> icon theme may have icons that differ slightly from their
> nominal sizes, and in addition GTK+ will avoid scaling icons
> that it considers sufficiently close to the requested size or
> for which the source image would have to be scaled up too far.
> (This maintains sharpness.)"
> Great for the sharpness, but at some sizes of the panel the top/lower
> part misses one or two pixels. And if I add some extra sizes it still
> renders at the same size. Somehow icons that aren't from the
> gtk-stock-items seem to be rendered at a perfect size.
>
> Now about the padding, if I request the size of the button it is indeed
^^^^^^^ actually the allocation of the button
> two pixels lower than the panel (therefore the extra minus 2), but
> basing the calculation on that value renders icons at very small sizes
> at the first panel run.
>
> For now, I will fit with the "size -= 2 + 2 * MAX (foo, bar);" code as
> done by other panel plugins :s
>
> > -brian
>
> mike
More information about the Xfce4-dev
mailing list