X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2FScreen.hh;h=2fbf20fd1414406c7bfc34450a5bff2ea4dcf2b6;hb=39bd954b8bf197fa08f73ffade953fe531463796;hp=c16bd0773cc826830705282f7efd9d8b6af19fe8;hpb=bd7f9481590d79ba81c03d3d22ba190826921194;p=chaz%2Fopenbox diff --git a/src/Screen.hh b/src/Screen.hh index c16bd077..2fbf20fd 100644 --- a/src/Screen.hh +++ b/src/Screen.hh @@ -131,6 +131,9 @@ private: unsigned long event_mask; Rect usableArea; +#ifdef XINERAMA + RectList xineramaUsableArea; +#endif // XINERAMA typedef std::list StrutList; StrutList strutList; @@ -145,12 +148,13 @@ private: bool sloppy_focus, auto_raise, auto_edge_balance, ordered_dither, opaque_move, full_max, focus_new, focus_last, click_raise, allow_scroll_lock, hide_toolbar, window_to_window_snap, - window_corner_snap, aa_fonts, ignore_shaded, ignore_maximized; + window_corner_snap, aa_fonts, ignore_shaded, ignore_maximized, + workspace_warping; BColor border_color; unsigned int workspaces; int toolbar_placement, toolbar_width_percent, placement_policy, - edge_snap_threshold, row_direction, col_direction; + edge_snap_threshold, row_direction, col_direction, root_scroll; unsigned int handle_width, bevel_width, frame_width, border_width, resize_zones; @@ -192,6 +196,7 @@ public: WindowShade, WindowIconify, WindowMaximize, WindowClose, WindowRaise, WindowLower, WindowStick, WindowKill, SetStyle }; enum FocusModel { SloppyFocus, ClickToFocus }; + enum RootScrollDirection { NoScroll, NormalScroll, ReverseScroll }; BScreen(Blackbox *bb, unsigned int scrn); ~BScreen(void); @@ -215,6 +220,9 @@ public: inline bool getWindowCornerSnap(void) const { return resource.window_corner_snap; } inline bool allowScrollLock(void) const { return resource.allow_scroll_lock; } + inline bool doWorkspaceWarping(void) const + { return resource.workspace_warping; } + inline int rootScrollDirection(void) const { return resource.root_scroll; } inline const GC &getOpGC(void) const { return opGC; } @@ -287,6 +295,8 @@ public: void savePlaceIgnoreShaded(bool i); void savePlaceIgnoreMaximized(bool i); void saveAllowScrollLock(bool a); + void saveWorkspaceWarping(bool w); + void saveRootScrollDirection(int d); inline void iconUpdate(void) { iconmenu->update(); } #ifdef HAVE_STRFTIME @@ -306,7 +316,12 @@ 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; +#ifdef XINERAMA + const RectList& allAvailableAreas(void) const; +#endif // XINERAMA void updateAvailableArea(void); void addStrut(Strut *strut); void removeStrut(Strut *strut);