X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2FScreen.hh;h=06548d415aa0351d82ebbcbaa66954e20de2c0bb;hb=bcb14a3ce94ee4b4cba07de7a297470719390331;hp=9f0834192efd465c49512d9581ec3c3d6ca112f5;hpb=256bcbed81015bafe8f89340e5cab9114c91b930;p=chaz%2Fopenbox diff --git a/src/Screen.hh b/src/Screen.hh index 9f083419..06548d41 100644 --- a/src/Screen.hh +++ b/src/Screen.hh @@ -57,6 +57,7 @@ extern "C" { class Slit; // forward reference class BFont; class XAtom; +struct Strut; enum TextJustify { LeftJustify = 1, RightJustify, CenterJustify }; @@ -96,12 +97,6 @@ struct MenuStyle { int bullet, bullet_pos; }; -struct Strut { - unsigned int top, bottom, left, right; - - Strut(void): top(0), bottom(0), left(0), right(0) {} -}; - class BScreen : public ScreenInfo { private: bool root_colormap_installed, managed, geom_visible; @@ -136,6 +131,9 @@ private: unsigned long event_mask; Rect usableArea; +#ifdef XINERAMA + RectList xineramaUsableArea; +#endif // XINERAMA typedef std::list StrutList; StrutList strutList; @@ -149,8 +147,8 @@ private: bool sloppy_focus, auto_raise, auto_edge_balance, ordered_dither, opaque_move, full_max, focus_new, focus_last, click_raise, - hide_toolbar, window_to_window_snap, window_corner_snap, aa_fonts, - ignore_shaded, ignore_maximized; + allow_scroll_lock, hide_toolbar, window_to_window_snap, + window_corner_snap, aa_fonts, ignore_shaded, ignore_maximized; BColor border_color; unsigned int workspaces; @@ -219,6 +217,7 @@ public: { return resource.window_to_window_snap; } inline bool getWindowCornerSnap(void) const { return resource.window_corner_snap; } + inline bool allowScrollLock(void) const { return resource.allow_scroll_lock; } inline const GC &getOpGC(void) const { return opGC; } @@ -290,6 +289,7 @@ public: void saveResizeZones(unsigned int z); void savePlaceIgnoreShaded(bool i); void savePlaceIgnoreMaximized(bool i); + void saveAllowScrollLock(bool a); inline void iconUpdate(void) { iconmenu->update(); } #ifdef HAVE_STRFTIME @@ -309,7 +309,10 @@ public: BlackboxWindow *getIcon(unsigned int index); + // allAvailableAreas should be used whenever possible instead of this function + // as then Xinerama will work correctly. const Rect& availableArea(void) const; + RectList allAvailableAreas(void) const; void updateAvailableArea(void); void addStrut(Strut *strut); void removeStrut(Strut *strut);