]> Dogcows Code - chaz/openbox/blobdiff - openbox/stacking.h
revert 7246 and simplify action_raiselower a bit, turns out 7246 wasn't needed for...
[chaz/openbox] / openbox / stacking.h
index 70e4b2d4e3a81bc470fba56edd9e71137269fe0f..eb638734c242b47f35859b1830f40e1a9d3a26b0 100644 (file)
 
 /*! The possible stacking layers a client window can be a part of */
 typedef enum {
-    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_FULLSCREEN,  /*!< 4 - fullscreeen windows */
-    OB_STACKING_LAYER_INTERNAL,    /*!< 5 - openbox windows/menus */
+    OB_STACKING_LAYER_INVALID,
+    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_FULLSCREEN,       /*!< 4 - fullscreeen windows */
+    OB_STACKING_LAYER_INTERNAL,         /*!< 5 - openbox windows/menus */
     OB_NUM_STACKING_LAYERS
 } ObStackingLayer;
 
@@ -59,9 +60,18 @@ void stacking_lower(ObWindow *window);
 */
 void stacking_below(ObWindow *window, ObWindow *below);
 
-/*! Returns TRUE if client is occluded by sibling. If sibling is NULL it tries
-  against all other clients. Otherwise, it returns FALSE.
+/*! Restack a window based upon a sibling (or all windows) in various ways.
+  @param client The client to be restacked
+  @param sibling Another client to compare to, or NULL to compare to all
+                 windows
+  @param detail One of Above, Below, TopIf, BottomIf, Opposite
+  @param activate If TRUE, and if the window is going to be raised, it will
+                  be activated instead
+  See http://tronche.com/gui/x/xlib/window/configure.html for details on
+  how each detail works with and without a sibling.
 */
-gboolean stacking_occluded(struct _ObClient *client,struct _ObClient *sibling);
+void stacking_restack_request(struct _ObClient *client,
+                              struct _ObClient *sibling,
+                              gint detail, gboolean activate);
 
 #endif
This page took 0.027636 seconds and 4 git commands to generate.