diff options
Diffstat (limited to 'src/Slit.hh')
-rw-r--r-- | src/Slit.hh | 90 |
1 files changed, 51 insertions, 39 deletions
diff --git a/src/Slit.hh b/src/Slit.hh index 61a7d33..b5135d8 100644 --- a/src/Slit.hh +++ b/src/Slit.hh | |||
@@ -40,15 +40,15 @@ class Slitmenu; | |||
40 | class Slitmenu : public Basemenu { | 40 | class Slitmenu : public Basemenu { |
41 | public: | 41 | public: |
42 | explicit Slitmenu(Slit &theslist); | 42 | explicit Slitmenu(Slit &theslist); |
43 | virtual ~Slitmenu(void); | 43 | virtual ~Slitmenu(); |
44 | 44 | ||
45 | inline Basemenu *getDirectionmenu(void) { return directionmenu; } | 45 | inline Basemenu *getDirectionmenu() { return directionmenu; } |
46 | inline Basemenu *getPlacementmenu(void) { return placementmenu; } | 46 | inline Basemenu *getPlacementmenu() { return placementmenu; } |
47 | #ifdef XINERAMA | 47 | #ifdef XINERAMA |
48 | inline Basemenu *getHeadmenu(void) { return headmenu; } | 48 | inline Basemenu *getHeadmenu() { return headmenu; } |
49 | #endif // XINERAMA | 49 | #endif // XINERAMA |
50 | 50 | ||
51 | void reconfigure(void); | 51 | void reconfigure(); |
52 | 52 | ||
53 | private: | 53 | private: |
54 | class Directionmenu : public Basemenu { | 54 | class Directionmenu : public Basemenu { |
@@ -103,52 +103,63 @@ private: | |||
103 | 103 | ||
104 | protected: | 104 | protected: |
105 | virtual void itemSelected(int button, unsigned int index); | 105 | virtual void itemSelected(int button, unsigned int index); |
106 | virtual void internal_hide(void); | 106 | virtual void internal_hide(); |
107 | }; | 107 | }; |
108 | 108 | ||
109 | 109 | ||
110 | class Slit : public TimeoutHandler { | 110 | class Slit : public TimeoutHandler { |
111 | public: | 111 | public: |
112 | explicit Slit(BScreen *); | 112 | explicit Slit(BScreen *screen); |
113 | virtual ~Slit(); | 113 | virtual ~Slit(); |
114 | 114 | ||
115 | inline bool isOnTop(void) const { return on_top; } | 115 | inline bool isOnTop() const { return on_top; } |
116 | inline bool isHidden(void) const { return hidden; } | 116 | inline bool isHidden() const { return hidden; } |
117 | inline bool doAutoHide(void) const { return do_auto_hide; } | 117 | inline bool doAutoHide() const { return do_auto_hide; } |
118 | 118 | ||
119 | Slitmenu &getMenu() { return slitmenu; } | 119 | Slitmenu &menu() { return slitmenu; } |
120 | 120 | ||
121 | inline const Window &getWindowID() const { return frame.window; } | 121 | inline const Window &getWindowID() const { return frame.window; } |
122 | 122 | ||
123 | inline int getX() const { return ((hidden) ? frame.x_hidden : frame.x); } | 123 | inline int x() const { return ((hidden) ? frame.x_hidden : frame.x); } |
124 | inline int getY() const { return ((hidden) ? frame.y_hidden : frame.y); } | 124 | inline int y() const { return ((hidden) ? frame.y_hidden : frame.y); } |
125 | 125 | ||
126 | inline unsigned int getWidth(void) const { return frame.width; } | 126 | inline unsigned int width() const { return frame.width; } |
127 | inline unsigned int getHeight(void) const { return frame.height; } | 127 | inline unsigned int height() const { return frame.height; } |
128 | 128 | ||
129 | void addClient(Window); | 129 | void addClient(Window clientwin); |
130 | void removeClient(Window, bool = true); | 130 | void removeClient(Window clientwin, bool = true); |
131 | void reconfigure(void); | 131 | void reconfigure(); |
132 | void reposition(void); | 132 | void reposition(); |
133 | void shutdown(void); | 133 | void shutdown(); |
134 | void saveClientList(void); | 134 | void saveClientList(); |
135 | 135 | ||
136 | void buttonPressEvent(XButtonEvent *); | 136 | /** |
137 | void enterNotifyEvent(XCrossingEvent *); | 137 | @name eventhandlers |
138 | void leaveNotifyEvent(XCrossingEvent *); | 138 | */ |
139 | void configureRequestEvent(XConfigureRequestEvent *); | 139 | //@{ |
140 | 140 | void buttonPressEvent(XButtonEvent *bp); | |
141 | virtual void timeout(void); | 141 | void enterNotifyEvent(XCrossingEvent *en); |
142 | void leaveNotifyEvent(XCrossingEvent *ln); | ||
143 | void configureRequestEvent(XConfigureRequestEvent *cr); | ||
144 | //@} | ||
145 | |||
146 | virtual void timeout(); | ||
142 | 147 | ||
148 | /** | ||
149 | Client alignment | ||
150 | */ | ||
143 | enum { VERTICAL = 1, HORIZONTAL }; | 151 | enum { VERTICAL = 1, HORIZONTAL }; |
152 | /** | ||
153 | Screen placement | ||
154 | */ | ||
144 | enum { TOPLEFT = 1, CENTERLEFT, BOTTOMLEFT, TOPCENTER, BOTTOMCENTER, | 155 | enum { TOPLEFT = 1, CENTERLEFT, BOTTOMLEFT, TOPCENTER, BOTTOMCENTER, |
145 | TOPRIGHT, CENTERRIGHT, BOTTOMRIGHT }; | 156 | TOPRIGHT, CENTERRIGHT, BOTTOMRIGHT }; |
146 | 157 | ||
147 | private: | 158 | private: |
148 | class SlitClient { | 159 | class SlitClient { |
149 | public: | 160 | public: |
150 | SlitClient(BScreen *, Window); // For adding an actual window | 161 | SlitClient(BScreen *screen, Window client_window); // For adding an actual window |
151 | SlitClient(const char *); // For adding a placeholder | 162 | SlitClient(const char *name); // For adding a placeholder |
152 | 163 | ||
153 | // Now we pre-initialize a list of slit clients with names for | 164 | // Now we pre-initialize a list of slit clients with names for |
154 | // comparison with incoming client windows. This allows the slit | 165 | // comparison with incoming client windows. This allows the slit |
@@ -163,16 +174,17 @@ private: | |||
163 | int x, y; | 174 | int x, y; |
164 | unsigned int width, height; | 175 | unsigned int width, height; |
165 | 176 | ||
166 | void initialize(BScreen * = NULL, Window = None); | 177 | void initialize(BScreen *screen = 0, Window client_window= None); |
167 | }; | 178 | }; |
168 | 179 | ||
169 | void removeClient(SlitClient *, bool, bool); | 180 | void removeClient(SlitClient *client, bool remap, bool destroy); |
170 | void loadClientList(void); | 181 | void loadClientList(); |
171 | 182 | ||
172 | Bool on_top, hidden, do_auto_hide; | 183 | bool on_top, hidden, do_auto_hide; |
173 | Display *display; | 184 | |
185 | Display *display; ///< display connection | ||
174 | 186 | ||
175 | Fluxbox *fluxbox; | 187 | Fluxbox *fluxbox; ///< obsolete |
176 | BScreen *screen; | 188 | BScreen *screen; |
177 | BTimer timer; | 189 | BTimer timer; |
178 | 190 | ||
@@ -199,4 +211,4 @@ private: | |||
199 | }; | 211 | }; |
200 | 212 | ||
201 | 213 | ||
202 | #endif // __Slit_hh | 214 | #endif // SLIT_HH |