X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=src%2FScreen.hh;h=4de9daa2da45471c01c7b1758345165ebdfe7aef;hb=8e34bfcfcbd7bfc9913f40a23016f30c63803611;hp=44199b3437c5881f5238616f792222c387408f0b;hpb=e90fafd2fd907a81bdc60ad8b6de35fc1595cdff;p=chaz%2Fopenbox diff --git a/src/Screen.hh b/src/Screen.hh index 44199b34..4de9daa2 100644 --- a/src/Screen.hh +++ b/src/Screen.hh @@ -26,7 +26,6 @@ extern "C" { #include -#include #ifdef TIME_WITH_SYS_TIME # include @@ -54,7 +53,9 @@ extern "C" { #include "Workspace.hh" #include "Workspacemenu.hh" #include "blackbox.hh" + class Slit; // forward reference +class BFont; class XAtom; enum TextJustify { LeftJustify = 1, RightJustify, CenterJustify }; @@ -65,37 +66,31 @@ struct WindowStyle { BTexture t_focus, t_unfocus, l_focus, l_unfocus, h_focus, h_unfocus, b_focus, b_unfocus, b_pressed, g_focus, g_unfocus; - XFontSet fontset; - XFontSetExtents *fontset_extents; - XFontStruct *font; + BFont *font; TextJustify justify; - int doJustify(const char *text, int &start_pos, unsigned int max_length, - unsigned int modifier, bool multibyte) const; + void doJustify(const std::string &text, int &start_pos, + unsigned int max_length, unsigned int modifier) const; }; struct ToolbarStyle { BColor l_text, w_text, c_text, b_pic; BTexture toolbar, label, window, button, pressed, clock; - XFontSet fontset; - XFontSetExtents *fontset_extents; - XFontStruct *font; + BFont *font; TextJustify justify; - int doJustify(const char *text, int &start_pos, unsigned int max_length, - unsigned int modifier, bool multibyte) const; + void doJustify(const std::string &text, int &start_pos, + unsigned int max_length, unsigned int modifier) const; }; struct MenuStyle { BColor t_text, f_text, h_text, d_text; BTexture title, frame, hilite; - XFontSet t_fontset, f_fontset; - XFontSetExtents *t_fontset_extents, *f_fontset_extents; - XFontStruct *t_font, *f_font; + BFont *t_font, *f_font; TextJustify t_justify, f_justify; int bullet, bullet_pos; @@ -129,6 +124,9 @@ private: NetizenList netizenList; BlackboxWindowList iconList, windowList; + typedef std::vector WindowList; + WindowList desktopWindowList, systrayWindowList; + Slit *slit; Toolbar *toolbar; Workspace *current_workspace; @@ -141,8 +139,6 @@ private: typedef std::list StrutList; StrutList strutList; - typedef std::vector WorkspaceNamesList; - WorkspaceNamesList workspaceNames; typedef std::vector WorkspaceList; WorkspaceList workspacesList; @@ -153,7 +149,7 @@ 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; + hide_toolbar, window_to_window_snap, window_corner_snap, aa_fonts; BColor border_color; unsigned int workspaces; @@ -179,18 +175,17 @@ private: BTexture readDatabaseTexture(const std::string &rname, const std::string &default_color, - Configuration &style); + const Configuration &style); BColor readDatabaseColor(const std::string &rname, const std::string &default_color, - Configuration &style); - XFontSet readDatabaseFontSet(const std::string &rname, Configuration &style); - XFontStruct *readDatabaseFont(const std::string &rname, Configuration &style); - XFontSet createFontSet(const std::string &fontname); + const Configuration &style); + BFont *readDatabaseFont(const std::string &rbasename, + const Configuration &style); void InitMenu(void); void LoadStyle(void); - + void updateWorkArea(void); public: enum { RowSmartPlacement = 1, ColSmartPlacement, CascadePlacement, UnderMousePlacement, LeftRight, RightLeft, TopBottom, BottomTop }; @@ -209,6 +204,7 @@ public: inline bool doAutoRaise(void) const { return resource.auto_raise; } inline bool doClickRaise(void) const { return resource.click_raise; } inline bool isScreenManaged(void) const { return managed; } + inline bool doAAFonts(void) const { return resource.aa_fonts; } inline bool doImageDither(void) const { return image_control->doDither(); } inline bool doOrderedDither(void) const { return resource.ordered_dither; } inline bool doOpaqueMove(void) const { return resource.opaque_move; } @@ -272,6 +268,7 @@ public: void saveColPlacementDirection(int d); void saveEdgeSnapThreshold(int t); void saveImageDither(bool d); + void saveAAFonts(bool f); void saveOpaqueMove(bool o); void saveFullMax(bool f); void saveFocusNew(bool f); @@ -305,21 +302,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); @@ -330,14 +333,13 @@ public: void save_rc(void); void reconfigure(void); void toggleFocusModel(FocusModel model); - void updateFocusModel(void); void rereadMenu(void); void shutdown(void); void showPosition(int x, int y); void showGeometry(unsigned int gx, unsigned int gy); void hideGeometry(void); - void buttonPressEvent(XButtonEvent *xbutton); + void buttonPressEvent(const XButtonEvent *xbutton); void updateNetizenCurrentWorkspace(void); void updateNetizenWorkspaceCount(void);