aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfluxgen <fluxgen>2003-01-05 22:24:55 (GMT)
committerfluxgen <fluxgen>2003-01-05 22:24:55 (GMT)
commit017f79e9fdb3d6563d0ac818e456365ebebf18d3 (patch)
tree0476f41dcad18082f7593d812241307bbe2183ab
parent4060a219e649bf2afaaa661334c5fb02fc7d86a2 (diff)
downloadfluxbox-017f79e9fdb3d6563d0ac818e456365ebebf18d3.zip
fluxbox-017f79e9fdb3d6563d0ac818e456365ebebf18d3.tar.bz2
added max functions so we can determine maximum workspace area. Creation of a FluxboxWindow is now handled in BScreen
-rw-r--r--src/Screen.hh25
1 files changed, 21 insertions, 4 deletions
diff --git a/src/Screen.hh b/src/Screen.hh
index ee541c1..3dcdc3b 100644
--- a/src/Screen.hh
+++ b/src/Screen.hh
@@ -1,5 +1,5 @@
1// Screen.hh for Fluxbox Window Manager 1// Screen.hh for Fluxbox Window Manager
2// Copyright (c) 2001 - 2002 Henrik Kinnunen (fluxgen at users.sourceforge.net) 2// Copyright (c) 2001 - 2003 Henrik Kinnunen (fluxgen at users.sourceforge.net)
3// 3//
4// Screen.hh for Blackbox - an X11 Window manager 4// Screen.hh for Blackbox - an X11 Window manager
5// Copyright (c) 1997 - 2000 Brad Hughes (bhughes at tcac.net) 5// Copyright (c) 1997 - 2000 Brad Hughes (bhughes at tcac.net)
@@ -22,7 +22,7 @@
22// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 22// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23// DEALINGS IN THE SOFTWARE. 23// DEALINGS IN THE SOFTWARE.
24 24
25// $Id: Screen.hh,v 1.55 2002/12/13 20:16:17 fluxgen Exp $ 25// $Id: Screen.hh,v 1.56 2003/01/05 22:24:55 fluxgen Exp $
26 26
27#ifndef SCREEN_HH 27#ifndef SCREEN_HH
28#define SCREEN_HH 28#define SCREEN_HH
@@ -95,8 +95,10 @@ public:
95 95
96 inline bool isSlitOnTop() const { return resource.slit_on_top; } 96 inline bool isSlitOnTop() const { return resource.slit_on_top; }
97 inline bool doSlitAutoHide() const { return resource.slit_auto_hide; } 97 inline bool doSlitAutoHide() const { return resource.slit_auto_hide; }
98#ifdef SLIT
98 inline Slit *getSlit() { return m_slit.get(); } 99 inline Slit *getSlit() { return m_slit.get(); }
99 inline const Slit *getSlit() const { return m_slit.get(); } 100 inline const Slit *getSlit() const { return m_slit.get(); }
101#endif // SLIT
100 inline int getSlitPlacement() const { return resource.slit_placement; } 102 inline int getSlitPlacement() const { return resource.slit_placement; }
101 inline int getSlitDirection() const { return resource.slit_direction; } 103 inline int getSlitDirection() const { return resource.slit_direction; }
102 inline void saveSlitPlacement(int p) { resource.slit_placement = p; } 104 inline void saveSlitPlacement(int p) { resource.slit_placement = p; }
@@ -123,6 +125,14 @@ public:
123 inline unsigned int getBorderWidth2x() const { return theme->getBorderWidth()*2; } 125 inline unsigned int getBorderWidth2x() const { return theme->getBorderWidth()*2; }
124 inline unsigned int getCurrentWorkspaceID() const { return current_workspace->workspaceID(); } 126 inline unsigned int getCurrentWorkspaceID() const { return current_workspace->workspaceID(); }
125 127
128 /*
129 maximum screen surface
130 */
131 unsigned int getMaxLeft() const;
132 unsigned int getMaxRight() const;
133 unsigned int getMaxTop() const;
134 unsigned int getMaxBottom() const;
135
126 typedef std::vector<FluxboxWindow *> Icons; 136 typedef std::vector<FluxboxWindow *> Icons;
127 137
128 /// @return number of workspaces 138 /// @return number of workspaces
@@ -210,6 +220,8 @@ public:
210 220
211 inline Theme::WindowStyle *getWindowStyle() { return &theme->getWindowStyle(); } 221 inline Theme::WindowStyle *getWindowStyle() { return &theme->getWindowStyle(); }
212 inline Theme::MenuStyle *getMenuStyle() { return &theme->getMenuStyle(); } 222 inline Theme::MenuStyle *getMenuStyle() { return &theme->getMenuStyle(); }
223 inline FbWinFrameTheme &winFrameTheme() { return m_windowtheme; }
224 inline const FbWinFrameTheme &winFrameTheme() const { return m_windowtheme; }
213 const Theme *getTheme() const { return theme; } 225 const Theme *getTheme() const { return theme; }
214 FluxboxWindow *getIcon(unsigned int index); 226 FluxboxWindow *getIcon(unsigned int index);
215 227
@@ -262,6 +274,9 @@ public:
262 void updateNetizenConfigNotify(XEvent *); 274 void updateNetizenConfigNotify(XEvent *);
263 void updateNetizenWindowRaise(Window); 275 void updateNetizenWindowRaise(Window);
264 void updateNetizenWindowLower(Window); 276 void updateNetizenWindowLower(Window);
277 /// create window frame for client window and attach it
278 FluxboxWindow *createWindow(Window clientwin);
279 void setupWindowActions(FluxboxWindow &win);
265 280
266 enum { ROWSMARTPLACEMENT = 1, COLSMARTPLACEMENT, CASCADEPLACEMENT, LEFTRIGHT, 281 enum { ROWSMARTPLACEMENT = 1, COLSMARTPLACEMENT, CASCADEPLACEMENT, LEFTRIGHT,
267 RIGHTLEFT, TOPBOTTOM, BOTTOMTOP }; 282 RIGHTLEFT, TOPBOTTOM, BOTTOMTOP };
@@ -318,9 +333,9 @@ private:
318 Rootmenus rootmenuList; 333 Rootmenus rootmenuList;
319 Netizens netizenList; 334 Netizens netizenList;
320 Icons iconList; 335 Icons iconList;
321 336#ifdef SLIT
322 std::auto_ptr<Slit> m_slit; 337 std::auto_ptr<Slit> m_slit;
323 338#endif // SLIT
324 std::auto_ptr<Toolbar> m_toolbar; 339 std::auto_ptr<Toolbar> m_toolbar;
325 Workspace *current_workspace; 340 Workspace *current_workspace;
326 Workspacemenu *workspacemenu; 341 Workspacemenu *workspacemenu;
@@ -333,6 +348,8 @@ private:
333 348
334 Window auto_group_window; 349 Window auto_group_window;
335 350
351 FbWinFrameTheme m_windowtheme;
352
336 struct ScreenResource { 353 struct ScreenResource {
337 ScreenResource(ResourceManager &rm, const std::string &scrname, 354 ScreenResource(ResourceManager &rm, const std::string &scrname,
338 const std::string &altscrname); 355 const std::string &altscrname);