tim phipps wrote:
> A) transient windows with parents on a different desk cause the focus to
> get set to none. A fix is to either transfer focus to the parent and
> switch desks or not look on other desks for the parent so 2) becomes
> operative.
>
> B) in 2) I think CirculateSkip should be honoured (and
> CirculateSkipIcon) like the Prev command. I would prefer to skip iconic
> windows too but I can work around that with a function.
Patch attached to ignore transient parent on other desks and
CirculateSkip windows
Cheers,
Tim.
Index: fvwm/focus.c
===================================================================
RCS file: /u/phippst/cvsroot/fvwm/fvwm/focus.c,v
retrieving revision 1.8
diff -u -r1.8 focus.c
--- fvwm/focus.c 2001/05/29 09:21:00 1.8
+++ fvwm/focus.c 2001/05/31 17:29:58
@@ -306,6 +306,7 @@
for (t = Scr.FvwmRoot.next; t != NULL; t = t->next)
{
if (t->w == tmp_win->transientfor &&
+ t->Desk == tmp_win->Desk &&
(!do_skip_marked_transients || !IS_IN_TRANSIENT_SUBTREE(tmp_win)))
{
set_focus_to = t;
@@ -319,6 +320,8 @@
for (t = tmp_win->next; t != NULL; t = t->next)
{
if (t->Desk == tmp_win->Desk &&
+ !DO_SKIP_CIRCULATE(t) &&
+ !(DO_SKIP_ICON_CIRCULATE(t) && IS_ICONIFIED(t)) &&
(!do_skip_marked_transients || !IS_IN_TRANSIENT_SUBTREE(tmp_win)))
{
/* If it is on a different desk we have to look for another window */