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.
Rich

diff -urNp fvwm-2.5.24/fvwm/stack.c fvwm/fvwm/stack.c
--- fvwm-2.5.24/fvwm/stack.c    2007-08-07 15:17:43.000000000 -0500
+++ fvwm/fvwm/stack.c   2008-01-15 17:00:21.000000000 -0600
@@ -2017,6 +2017,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-2.5.24/libs/Module.h fvwm/libs/Module.h
--- fvwm-2.5.24/libs/Module.h   2007-08-07 15:17:43.000000000 -0500
+++ fvwm/libs/Module.h  2008-01-15 17:27:14.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