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 */

Reply via email to