]> Dogcows Code - chaz/openbox/blobdiff - openbox/stacking.h
symmetry..tho it's not used right now
[chaz/openbox] / openbox / stacking.h
index edcedea24909235955b525c5bc73d7c97bceb126..ac9c8239cdc000fa2ec527df172968dcbc1277cf 100644 (file)
@@ -2,7 +2,7 @@
 
    stacking.h for the Openbox window manager
    Copyright (c) 2006        Mikael Magnusson
-   Copyright (c) 2003        Ben Jansens
+   Copyright (c) 2003-2007   Dana Jansens
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 
 /*! 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;
 
@@ -48,10 +49,10 @@ 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 */
-void stacking_raise(ObWindow *window, gboolean group);
+void stacking_raise(ObWindow *window);
 
 /*! Lowers a window below all others in its stacking layer */
-void stacking_lower(ObWindow *window, gboolean group);
+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
@@ -59,4 +60,17 @@ void stacking_lower(ObWindow *window, gboolean group);
 */
 void stacking_below(ObWindow *window, ObWindow *below);
 
+/*! 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
+  @return TRUE if the client was restacked
+  See http://tronche.com/gui/x/xlib/window/configure.html for details on
+  how each detail works with and without a sibling.
+*/
+gboolean stacking_restack_request(struct _ObClient *client,
+                                  struct _ObClient *sibling,
+                                  gint detail);
+
 #endif
This page took 0.022405 seconds and 4 git commands to generate.