- enum Max { Max_None,
- Max_Horz,
- Max_Vert,
- Max_Full };
-
- enum WindowType { Type_Desktop,
- Type_Dock,
- Type_Toolbar,
- Type_Menu,
- Type_Utility,
- Type_Splash,
- Type_Dialog,
- Type_Normal };
-
- enum MwmFlags { MwmFlag_Functions = 1 << 0,
- MwmFlag_Decorations = 1 << 1 };
-
- enum MwmFunctions { MwmFunc_All = 1 << 0,
- MwmFunc_Resize = 1 << 1,
- MwmFunc_Move = 1 << 2,
- MwmFunc_Iconify = 1 << 3,
- MwmFunc_Maximize = 1 << 4
- //MwmFunc_Close = 1 << 5
+
+ //! The frame window which decorates around the client window
+ /*!
+ NOTE: This should NEVER be used inside the client class's constructor!
+ */
+ Frame *frame;
+
+ //! Holds a list of Clients
+ typedef std::list<Client*> List;
+
+ //! The possible stacking layers a client window can be a part of
+ enum StackLayer {
+ Layer_Icon, //!< 0 - iconified windows, in any order at all
+ Layer_Desktop, //!< 1 - desktop windows
+ Layer_Below, //!< 2 - normal windows w/ below
+ Layer_Normal, //!< 3 - normal windows
+ Layer_Above, //!< 4 - normal windows w/ above
+ Layer_Top, //!< 5 - always-on-top-windows (docks?)
+ Layer_Fullscreen, //!< 6 - fullscreeen windows
+ Layer_Internal, //!< 7 - openbox windows/menus
+ NUM_LAYERS
+ };
+
+ //! Corners of the client window, used for anchor positions
+ enum Corner { TopLeft,
+ TopRight,
+ BottomLeft,
+ BottomRight };
+
+ //! Possible window types
+ enum WindowType { Type_Desktop, //!< A desktop (bottom-most window)
+ Type_Dock, //!< A dock bar/panel window
+ Type_Toolbar, //!< A toolbar window, pulled off an app
+ Type_Menu, //!< An unpinned menu from an app
+ Type_Utility, //!< A small utility window such as a palette
+ Type_Splash, //!< A splash screen window
+ Type_Dialog, //!< A dialog window
+ Type_Normal //!< A normal application window
+ };
+
+ //! Possible flags for MWM Hints (defined by Motif 2.0)
+ enum MwmFlags { MwmFlag_Functions = 1 << 0, //!< The MMW Hints define funcs
+ MwmFlag_Decorations = 1 << 1 //!< The MWM Hints define decor
+ };
+
+ //! Possible functions for MWM Hints (defined by Motif 2.0)
+ enum MwmFunctions { MwmFunc_All = 1 << 0, //!< All functions
+ MwmFunc_Resize = 1 << 1, //!< Allow resizing
+ MwmFunc_Move = 1 << 2, //!< Allow moving
+ MwmFunc_Iconify = 1 << 3, //!< Allow to be iconfied
+ MwmFunc_Maximize = 1 << 4 //!< Allow to be maximized
+ //MwmFunc_Close = 1 << 5 //!< Allow to be closed
+ };
+
+ //! Possible decorations for MWM Hints (defined by Motif 2.0)
+ enum MemDecorations { MwmDecor_All = 1 << 0, //!< All decorations
+ MwmDecor_Border = 1 << 1, //!< Show a border
+ MwmDecor_Handle = 1 << 2, //!< Show a handle (bottom)
+ MwmDecor_Title = 1 << 3, //!< Show a titlebar
+ //MwmDecor_Menu = 1 << 4, //!< Show a menu
+ MwmDecor_Iconify = 1 << 5, //!< Show an iconify button
+ MwmDecor_Maximize = 1 << 6 //!< Show a maximize button