X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2FScreen.hh;h=72e7dc0aca91f229a689297a0587e843279b5d11;hb=871602208a1874dcb3a8bfc4abdfc4d100a0ec57;hp=34cc633abc8d503629ee76e8b51468a9888b0ebd;hpb=5377e3fde108da56894185716d47c3058032b97f;p=chaz%2Fopenbox diff --git a/src/Screen.hh b/src/Screen.hh index 34cc633a..72e7dc0a 100644 --- a/src/Screen.hh +++ b/src/Screen.hh @@ -55,6 +55,7 @@ extern "C" { #include "Workspacemenu.hh" #include "blackbox.hh" class Slit; // forward reference +class XAtom; enum TextJustify { LeftJustify = 1, RightJustify, CenterJustify }; @@ -119,6 +120,7 @@ private: Iconmenu *iconmenu; Rootmenu *rootmenu; Configuration *config; + XAtom *xatom; typedef std::list RootmenuList; RootmenuList rootmenuList; @@ -127,6 +129,9 @@ private: NetizenList netizenList; BlackboxWindowList iconList, windowList; + typedef std::vector WindowList; + WindowList desktopWindowList, systrayWindowList; + Slit *slit; Toolbar *toolbar; Workspace *current_workspace; @@ -139,8 +144,6 @@ private: typedef std::list StrutList; StrutList strutList; - typedef std::vector WorkspaceNamesList; - WorkspaceNamesList workspaceNames; typedef std::vector WorkspaceList; WorkspaceList workspacesList; @@ -150,8 +153,8 @@ private: MenuStyle mstyle; bool sloppy_focus, auto_raise, auto_edge_balance, ordered_dither, - opaque_move, full_max, focus_new, focus_last, click_raise, - hide_toolbar; + opaque_move, full_max, focus_new, focus_last, click_raise, + hide_toolbar, window_to_window_snap, window_corner_snap; BColor border_color; unsigned int workspaces; @@ -188,10 +191,10 @@ private: void InitMenu(void); void LoadStyle(void); - + void updateWorkArea(void); public: - enum { RowSmartPlacement = 1, ColSmartPlacement, CascadePlacement, LeftRight, - RightLeft, TopBottom, BottomTop }; + enum { RowSmartPlacement = 1, ColSmartPlacement, CascadePlacement, + UnderMousePlacement, LeftRight, RightLeft, TopBottom, BottomTop }; enum { RoundBullet = 1, TriangleBullet, SquareBullet, NoBullet }; enum { Restart = 1, RestartOther, Exit, Shutdown, Execute, Reconfigure, WindowShade, WindowIconify, WindowMaximize, WindowClose, WindowRaise, @@ -214,6 +217,10 @@ public: inline bool doFocusNew(void) const { return resource.focus_new; } inline bool doFocusLast(void) const { return resource.focus_last; } inline bool doHideToolbar(void) const { return resource.hide_toolbar; } + inline bool getWindowToWindowSnap(void) const + { return resource.window_to_window_snap; } + inline bool getWindowCornerSnap(void) const + { return resource.window_corner_snap; } inline const GC &getOpGC(void) const { return opGC; } @@ -271,6 +278,8 @@ public: void saveFocusNew(bool f); void saveFocusLast(bool f); void saveHideToolbar(bool h); + void saveWindowToWindowSnap(bool s); + void saveWindowCornerSnap(bool s); inline void iconUpdate(void) { iconmenu->update(); } #ifdef HAVE_STRFTIME @@ -297,21 +306,27 @@ public: unsigned int addWorkspace(void); unsigned int removeLastWorkspace(void); - void removeWorkspaceNames(void); - void addWorkspaceName(const std::string& name); - const std::string getNameOfWorkspace(unsigned int id); void changeWorkspaceID(unsigned int id); void saveWorkspaceNames(void); void addNetizen(Netizen *n); void removeNetizen(Window w); + void addDesktopWindow(Window window); + void removeDesktopWindow(Window window); + + void addSystrayWindow(Window window); + void removeSystrayWindow(Window window); + void addIcon(BlackboxWindow *w); void removeIcon(BlackboxWindow *w); + void updateClientList(void); + void updateStackingList(void); void manageWindow(Window w); void unmanageWindow(BlackboxWindow *w, bool remap); void raiseWindows(Window *workspace_stack, unsigned int num); + void lowerDesktops(void); void reassociateWindow(BlackboxWindow *w, unsigned int wkspc_id, bool ignore_sticky); void propagateWindowName(const BlackboxWindow *bw);