X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fblackbox.hh;h=6a6a22d1c3fc5d22fa9e5ed77a51a38147f25998;hb=ca316865793bc9b4f1833cb7ab90c7dfc5dd9891;hp=055f7761972a543b5dc239cb2bbe7c301579e812;hpb=18064df19f670589b9387c194b55345c717473db;p=chaz%2Fopenbox diff --git a/src/blackbox.hh b/src/blackbox.hh index 055f7761..6a6a22d1 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,10 @@ private: timeval auto_raise_delay; unsigned long cache_life, cache_max; std::string titlebar_layout; + +#ifdef XINERAMA + bool xinerama_placement, xinerama_maximize, xinerama_snap; +#endif // XINERAMA } resource; typedef std::map WindowLookup; @@ -124,7 +127,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 +156,6 @@ private: BTimer *timer; Configuration config; XAtom *xatom; - BInput *input; bool no_focus, reconfigure_wait, reread_menu_wait; Time last_time; @@ -177,22 +179,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,9 +212,7 @@ public: void removeSlitSearch(Window window); inline XAtom *getXAtom(void) { return xatom; } - inline BInput *getInput(void) { return input; } - - inline BScreen *getFocusedScreen(void) { return active_screen; } + inline BlackboxWindow *getFocusedWindow(void) { return focused_window; } inline BlackboxWindow *getChangingWindow(void) { return changing_window; }