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