This patch implements a message to modules when an application 
changes layers.  It is one property of a window that isn't broadcast
when modified.

Please apply this patch.
(diff from recent cvs checkout)

Thanks,
Rich

diff -urNp fvwm.orig/fvwm/stack.c fvwm.cvs/fvwm/stack.c
--- fvwm.orig/fvwm/stack.c      2009-08-09 08:15:29.000000000 -0500
+++ fvwm.cvs/fvwm/stack.c       2010-01-13 12:57:07.000000000 -0600
@@ -2019,6 +2019,9 @@ void new_layer(FvwmWindow *fw, int layer
        focus_grab_buttons_on_layer(layer);
        focus_grab_buttons_on_layer(old_layer);
 
+       BroadcastPacket(MX_LAYER_CHANGE, 4, (long)FW_W(fw), 
+               (long)FW_W_FRAME(fw), (unsigned long)fw, layer);
+
        return;
 }
 
diff -urNp fvwm.orig/libs/Module.h fvwm.cvs/libs/Module.h
--- fvwm.orig/libs/Module.h     2007-08-07 15:17:43.000000000 -0500
+++ fvwm.cvs/libs/Module.h      2010-01-13 12:57:58.000000000 -0600
@@ -119,7 +119,8 @@ typedef struct
 #define MX_LEAVE_WINDOW           ((1<<2) | M_EXTENDED_MSG)
 #define MX_PROPERTY_CHANGE        ((1<<3) | M_EXTENDED_MSG)
 #define MX_REPLY                 ((1<<4) | M_EXTENDED_MSG)
-#define MAX_EXTENDED_MESSAGES     5
+#define MX_LAYER_CHANGE                  ((1<<5) | M_EXTENDED_MSG)
+#define MAX_EXTENDED_MESSAGES     6
 #define DEFAULT_XMSG_MASK         0x00000000
 #define MAX_XMSG_MASK             0x0000001f
 

Reply via email to