X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fblackbox.hh;h=1efec77268413cf76384e50b79b5ab7a99918e58;hb=01732a20dbb6b75431dc34fbe8401bfca952f43a;hp=a5bb815787336c15fea243fa36bb9b477d0c17c6;hpb=351a06655bdd7d440780b5bc5b255081c888044b;p=chaz%2Fopenbox diff --git a/src/blackbox.hh b/src/blackbox.hh index a5bb8157..1efec772 100644 --- a/src/blackbox.hh +++ b/src/blackbox.hh @@ -51,6 +51,7 @@ extern "C" { #include "BaseDisplay.hh" #include "Configuration.hh" #include "Timer.hh" +#include "XAtom.hh" #define AttribShaded (1l << 0) #define AttribMaxHoriz (1l << 1) @@ -91,8 +92,6 @@ class BWindowGroup; class Basemenu; class Toolbar; class Slit; -class XAtom; -class BInput; extern I18n i18n; @@ -116,6 +115,12 @@ private: timeval auto_raise_delay; unsigned long cache_life, cache_max; std::string titlebar_layout; + unsigned int mod_mask; // modifier mask used for window-mouse interaction + + +#ifdef XINERAMA + bool xinerama_placement, xinerama_maximize, xinerama_snap; +#endif // XINERAMA } resource; typedef std::map WindowLookup; @@ -124,7 +129,7 @@ private: typedef std::map WindowScreenLookup; typedef WindowScreenLookup::value_type WindowScreenLookupPair; - WindowScreenLookup systraySearchList, desktopSearchList; + WindowScreenLookup systraySearchList; typedef std::map GroupLookup; typedef GroupLookup::value_type GroupLookupPair; @@ -153,7 +158,6 @@ private: BTimer *timer; Configuration config; XAtom *xatom; - BInput *input; bool no_focus, reconfigure_wait, reread_menu_wait; Time last_time; @@ -177,22 +181,32 @@ public: Basemenu *searchMenu(Window window); BWindowGroup *searchGroup(Window window); - BScreen *searchDesktopWindow(Window window); BScreen *searchSystrayWindow(Window window); BlackboxWindow *searchWindow(Window window); BScreen *searchScreen(Window window); Toolbar *searchToolbar(Window); Slit *searchSlit(Window); +#ifdef XINERAMA + inline bool doXineramaPlacement(void) const + { return resource.xinerama_placement; } + inline bool doXineramaMaximizing(void) const + { return resource.xinerama_maximize; } + inline bool doXineramaSnapping(void) const + { return resource.xinerama_snap; } + + void saveXineramaPlacement(bool x); + void saveXineramaMaximizing(bool x); + void saveXineramaSnapping(bool x); +#endif // XINERAMA + void saveMenuSearch(Window window, Basemenu *data); - void saveDesktopWindowSearch(Window window, BScreen *screen); void saveSystrayWindowSearch(Window window, BScreen *screen); void saveWindowSearch(Window window, BlackboxWindow *data); void saveGroupSearch(Window window, BWindowGroup *data); void saveToolbarSearch(Window window, Toolbar *data); void saveSlitSearch(Window window, Slit *data); void removeMenuSearch(Window window); - void removeDesktopWindowSearch(Window window); void removeSystrayWindowSearch(Window window); void removeWindowSearch(Window window); void removeGroupSearch(Window window); @@ -200,8 +214,7 @@ public: void removeSlitSearch(Window window); inline XAtom *getXAtom(void) { return xatom; } - inline BInput *getInput(void) { return input; } - + inline BlackboxWindow *getFocusedWindow(void) { return focused_window; } inline BlackboxWindow *getChangingWindow(void) { return changing_window; } @@ -243,6 +256,9 @@ public: { return cursor.ul_angle; } inline Cursor getUpperRightAngleCursor(void) const { return cursor.ur_angle; } + + inline unsigned int getMouseModMask(void) const + { return resource.mod_mask; } void setFocusedWindow(BlackboxWindow *win); void setChangingWindow(BlackboxWindow *win);