On Mon, Mar 24, 2008 at 11:38:01AM +0100, Pietro Franchi wrote:
> Hi everyone,
>
> this small patch allows the content of a button to be vertically aligned
> at the top of the button. This is useful for aligning swallowed stuff
> that grows (like gkrellm) at the top of a bigger button, so that it can
> grow at the bottom.
>
> Example:
>
> *FvwmButtons: (1x30, Swallow(UseOld,NoClose) 'gkrellm' 'Exec gkrellm
> --geometry +0+0',top)
>
>
> This is my first patch so bear with me. :-)
Thanks, I have applied the patch.
> diff -ur -U3 FvwmButtons-/draw.c FvwmButtons/draw.c
> --- FvwmButtons-/draw.c 2008-03-24 11:27:06.000000000 +0100
> +++ FvwmButtons/draw.c 2008-03-24 11:14:48.000000000 +0100
> @@ -171,8 +171,9 @@
> ix += iw-b->icon_w;
> else if (!b->flags.b_Left)
> ix += (iw-b->icon_w)/2;
> - XMoveResizeWindow(Dpy,b->IconWin,ix,iy+(ih-b->icon_h)/2,
> - b->icon_w,b->icon_h);
> + if (!b->flags.b_Top)
> + iy += (ih-b->icon_h)/2;
> + XMoveResizeWindow(Dpy,b->IconWin,ix,iy,b->icon_w,b->icon_h);
> }
> else
> {
> diff -ur -U3 FvwmButtons-/FvwmButtons.1 FvwmButtons/FvwmButtons.1
> --- FvwmButtons-/FvwmButtons.1 2008-03-24 11:27:06.000000000 +0100
> +++ FvwmButtons/FvwmButtons.1 2008-03-24 11:29:08.000000000 +0100
> @@ -270,6 +270,10 @@
> The contents of the button is centered on the button. This is the
> default but may be changed by \fILeft\fP or \fIRight\fP.
>
> +.IP "Top"
> +The contents of the button is vertically aligned at the top of the
> +button. The default is to vertically center it.
> +
> .IP "Colorset \fIcolorset\fP"
> The given colorset can be applied to a container, a swallowed
> application and a simple button. To apply it to a button or
> diff -ur -U3 FvwmButtons-/FvwmButtons.h FvwmButtons/FvwmButtons.h
> --- FvwmButtons-/FvwmButtons.h 2008-03-24 11:27:06.000000000 +0100
> +++ FvwmButtons/FvwmButtons.h 2008-03-24 11:14:48.000000000 +0100
> @@ -63,6 +63,7 @@
> unsigned b_TransBack : 1; /* Transparent background */
> unsigned b_Left : 1; /* Button is left-aligned */
> unsigned b_Right : 1; /* Button is right-aligned */
> + unsigned b_Top : 1; /* Button is aligned at the top */
> unsigned b_SizeFixed : 1; /* User provided rows/columns may not be
> altered */
> unsigned b_PosFixed : 1; /* User provided button position */
> Only in FvwmButtons/: fvwmbuttons-valign.patch
> diff -ur -U3 FvwmButtons-/parse.c FvwmButtons/parse.c
> --- FvwmButtons-/parse.c 2008-03-24 11:27:06.000000000 +0100
> +++ FvwmButtons/parse.c 2008-03-24 11:14:48.000000000 +0100
> @@ -889,6 +889,7 @@
> "presstitle",
> "activecolorset",
> "presscolorset",
> + "top",
> NULL
> };
> s = trimleft(s);
> @@ -1628,6 +1629,9 @@
> }
> break;
>
> + case 27 : /* top */
> + b->flags.b_Top = 1;
> + break;
> /* --------------- --------------- */
> default:
> t = seekright(&s);
Ciao
Dominik ^_^ ^_^
--
Dominik Vogt