]> Dogcows Code - chaz/openbox/blobdiff - openbox/stacking.h
clarify that stacking_below sucks
[chaz/openbox] / openbox / stacking.h
index d27e8c0c1b065e64e747d4f02e67b5a9354e9365..8a8ca0999395b830eef4d2b3614030f29aee75bc 100644 (file)
@@ -8,14 +8,15 @@
 
 /*! The possible stacking layers a client window can be a part of */
 typedef enum {
-    Layer_Desktop,    /*!< 0 - desktop windows */
-    Layer_Below,      /*!< 1 - normal windows w/ below */
-    Layer_Normal,     /*!< 2 - normal windows */
-    Layer_Above,      /*!< 3 - normal windows w/ above */
-    Layer_Top,        /*!< 4 - always-on-top-windows (docks?) */
-    Layer_Fullscreen, /*!< 5 - fullscreeen windows */
-    Layer_Internal    /*!< 6 - openbox windows/menus */
-} StackLayer;
+    OB_STACKING_LAYER_DESKTOP,    /*!< 0 - desktop windows */
+    OB_STACKING_LAYER_BELOW,      /*!< 1 - normal windows w/ below */
+    OB_STACKING_LAYER_NORMAL,     /*!< 2 - normal windows */
+    OB_STACKING_LAYER_ABOVE,      /*!< 3 - normal windows w/ above */
+    OB_STACKING_LAYER_TOP,        /*!< 4 - always-on-top-windows (docks?) */
+    OB_STACKING_LAYER_FULLSCREEN, /*!< 5 - fullscreeen windows */
+    OB_STACKING_LAYER_INTERNAL,   /*!< 6 - openbox windows/menus */
+    OB_NUM_STACKING_LAYERS
+} ObStackingLayer;
 
 /* list of ObWindow*s in stacking order from highest to lowest */
 extern GList  *stacking_list;
@@ -28,16 +29,16 @@ void stacking_add(ObWindow *win);
 void stacking_add_nonintrusive(ObWindow *win);
 #define stacking_remove(win) stacking_list = g_list_remove(stacking_list, win);
 
-/*! Raises a window above all others in its stacking layer
-  raiseWindow has a couple of constraints that lowerWindow does not.<br>
-  1) raiseWindow can be called after changing a Window's stack layer, and
-     the list will be reorganized properly.<br>
-  2) raiseWindow guarantees that XRestackWindows() will <i>always</i> be
-     called for the specified window.
-*/
+/*! Raises a window above all others in its stacking layer */
 void stacking_raise(ObWindow *window);
 
-/*! Lowers a client window below all others in its stacking layer */
+/*! Lowers a window below all others in its stacking layer */
 void stacking_lower(ObWindow *window);
 
+/*! Moves a window below another if its in the same layer.
+  This function does not enforce stacking rules IRT transients n such, and so
+  it should really ONLY be used to restore stacking orders from saved sessions
+*/
+void stacking_below(ObWindow *window, ObWindow *below);
+
 #endif
This page took 0.021406 seconds and 4 git commands to generate.