* At 2002-04-29T23:22+0200, Stian Sletner wrote:
| * At 2002-04-29T21:41+0200, Stian Sletner wrote:
| | * At 2002-04-29T19:32+0000, Mikhael Goikhman wrote:
| | :
| | | Patches should be done using "diff -u" unless your diff only supports -c.
| | | Patches should be done againt the latest version (one of the latest daily
| | | snapshot is ok).
| | | Patches should include changes to fvwm.1 and a ChangeLog entry.
| | |
| | | Please save us the time. Otherwise whoever applies your patch should spend
| | | time to understand a hard-to-read "diff -c" output, manually port the
| | | patch from 2.4.x to 2.5.x, manually separate already applied CurrentAtEnd
| | | patch from yours, write a man page entry. At this point it is easier to
| | | implement the feature from stratch. :) Thank you and happy patching.
| |
| | That should probably be done anyway. Nevermind, thanks.
|
| On second thought, I have nothing better to do. I'll tro and do it
| again, following your instructions.
Ok, how's this? Patched against cvs current, default branch.
Index: ChangeLog
===================================================================
RCS file: /home/cvs/fvwm/fvwm/ChangeLog,v
retrieving revision 1.1772
diff -u -u -r1.1772 ChangeLog
--- ChangeLog 2002/04/29 15:52:49 1.1772
+++ ChangeLog 2002/04/29 22:00:20
_at_@ -1,3 +1,8 @@
+2002-04-29 Stian Sletner <stian_at_sletner.com>
+
+ * fvwm/windowlist.c (CMD_WindowList):
+ Added new Windowlist option IconifiedAtEnd
+
2002-04-29 olicha <olivier.chapuis_at_free.fr>
* libs/FlocaleCharset.c (FlocaleCharsetSetFlocaleCharset):
Index: fvwm/fvwm.1
===================================================================
RCS file: /home/cvs/fvwm/fvwm/fvwm/fvwm.1,v
retrieving revision 1.6
diff -u -u -r1.6 fvwm.1
--- fvwm/fvwm.1 2002/04/25 21:57:02 1.6
+++ fvwm/fvwm.1 2002/04/29 22:01:38
_at_@ -3704,6 +3704,7 @@
.IR NoDeskSort ,
.IR ReverseOrder ,
.IR CurrentAtEnd ,
+.IR IconifiedAtEnd ,
.IR UseIconName ,
.IR Alphabetic " / " NotAlphabetic ,
.IR NoHotkeys ,
_at_@ -3742,6 +3743,10 @@
option the currently focused window (if any) is shown at the bottom
of the list. This is mostly intended for simulating the Alt-Tab
behaviour in another GUI.
+
+.I IconifiedAtEnd
+makes iconified windows be moved to the end of the list. This is also
+from another GUI.
The
.I NoGeometry
Index: fvwm/windowlist.c
===================================================================
RCS file: /home/cvs/fvwm/fvwm/fvwm/windowlist.c,v
retrieving revision 1.58
diff -u -u -r1.58 windowlist.c
--- fvwm/windowlist.c 2002/04/23 01:26:53 1.58
+++ fvwm/windowlist.c 2002/04/29 22:01:46
_at_@ -119,6 +119,7 @@
char* ret_action = NULL;
FvwmWindow *t;
FvwmWindow **windowList;
+ FvwmWindow **iconifiedList;
int numWindows;
int ii;
char tname[80];
_at_@ -154,6 +155,9 @@
Bool use_condition = False;
Bool do_reverse_sort_order = False;
Bool current_at_end = False;
+ Bool iconified_at_end = False;
+ int ic = 0;
+ int ij;
WindowConditionMask mask;
char *cond_flags;
Bool first_desk = True;
_at_@ -222,6 +226,8 @@
do_reverse_sort_order = True;
else if (StrEquals(tok,"CurrentAtEnd"))
current_at_end = True;
+ else if (StrEquals(tok,"IconifiedAtEnd"))
+ iconified_at_end = True;
else if (StrEquals(tok,"NoDeskSort"))
flags |= NO_DESK_SORT;
else if (StrEquals(tok,"UseIconName"))
_at_@ -362,6 +368,14 @@
{
return;
}
+ if (iconified_at_end)
+ {
+ iconifiedList = malloc(numWindows*sizeof(t));
+ if (iconifiedList == NULL)
+ {
+ return;
+ }
+ }
/* get the windowlist starting from the current window (if any)*/
t = get_focus_window();
if (t == NULL)
_at_@ -376,13 +390,24 @@
{
if (do_reverse_sort_order)
windowList[numWindows - ii - 1] = t;
+ else if (iconified_at_end && IS_ICONIFIED(t))
+ iconifiedList[ic++] = t;
else
- windowList[ii] = t;
+ windowList[ii - ic] = t;
if (t->next)
t = t->next;
else
t = Scr.FvwmRoot.next;
}
+ if (iconified_at_end && ic > 0)
+ {
+ if (current_at_end)
+ windowList[numWindows - 1] = windowList[--ii - ic];
+ for (ij = 0; ij < ic; ij++)
+ {
+ windowList[ij + (ii - ic)] = iconifiedList[ij];
+ }
+ }
/* Do alphabetic sort */
if (flags & SHOW_ALPHABETIC)
_at_@ -597,6 +622,8 @@
if (func)
free(func);
free(windowList);
+ if (iconified_at_end)
+ free(iconifiedList);
if (!default_action && eventp && eventp->type == KeyPress)
teventp = (XEvent *)1;
else
--
Stian Sletner
--
Visit the official FVWM web page at <URL: http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm" in the body of a
message to majordomo_at_fvwm.org.
To report problems, send mail to fvwm-owner_at_fvwm.org.
Received on Mon Apr 29 2002 - 17:05:39 BST