aboutsummaryrefslogtreecommitdiff
path: root/src/Screen.hh
diff options
context:
space:
mode:
authorfluxgen <fluxgen>2003-06-18 13:42:21 (GMT)
committerfluxgen <fluxgen>2003-06-18 13:42:21 (GMT)
commitb373962b76db06f59c04e504a8c93084607fe13d (patch)
treef5f3a3907329a0e9736ce9328be2bffe99a763c8 /src/Screen.hh
parent1314a15988c3d922cb8dd45807b0cea449ff9a5a (diff)
downloadfluxbox_pavel-b373962b76db06f59c04e504a8c93084607fe13d.zip
fluxbox_pavel-b373962b76db06f59c04e504a8c93084607fe13d.tar.bz2
Strut support
Diffstat (limited to 'src/Screen.hh')
-rw-r--r--src/Screen.hh14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/Screen.hh b/src/Screen.hh
index a90ca29..9a16597 100644
--- a/src/Screen.hh
+++ b/src/Screen.hh
@@ -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.105 2003/06/15 11:37:53 rathnor Exp $ 25// $Id: Screen.hh,v 1.106 2003/06/18 13:42:21 fluxgen Exp $
26 26
27#ifndef SCREEN_HH 27#ifndef SCREEN_HH
28#define SCREEN_HH 28#define SCREEN_HH
@@ -52,6 +52,7 @@ class RootTheme;
52class WinButtonTheme; 52class WinButtonTheme;
53class WinClient; 53class WinClient;
54class Workspace; 54class Workspace;
55class Strut;
55 56
56namespace FbTk { 57namespace FbTk {
57class MenuTheme; 58class MenuTheme;
@@ -69,7 +70,7 @@ class BScreen : private FbTk::NotCopyable {
69public: 70public:
70 typedef std::vector<Workspace *> Workspaces; 71 typedef std::vector<Workspace *> Workspaces;
71 typedef std::vector<std::string> WorkspaceNames; 72 typedef std::vector<std::string> WorkspaceNames;
72 73
73 BScreen(FbTk::ResourceManager &rm, 74 BScreen(FbTk::ResourceManager &rm,
74 const std::string &screenname, const std::string &altscreenname, 75 const std::string &screenname, const std::string &altscreenname,
75 int scrn, int number_of_layers); 76 int scrn, int number_of_layers);
@@ -334,6 +335,12 @@ public:
334 FluxboxWindow *createWindow(Window clientwin); 335 FluxboxWindow *createWindow(Window clientwin);
335 FluxboxWindow *createWindow(WinClient &client); 336 FluxboxWindow *createWindow(WinClient &client);
336 void setupWindowActions(FluxboxWindow &win); 337 void setupWindowActions(FluxboxWindow &win);
338 /// request workspace space, i.e "don't maximize over this area"
339 Strut *requestStrut(int left, int right, int top, int bottom);
340 /// remove requested space and destroy strut
341 void clearStrut(Strut *strut);
342 /// updates max avaible area for the workspace
343 void updateAvailableWorkspaceArea();
337 344
338 enum { ROWSMARTPLACEMENT = 1, COLSMARTPLACEMENT, CASCADEPLACEMENT, 345 enum { ROWSMARTPLACEMENT = 1, COLSMARTPLACEMENT, CASCADEPLACEMENT,
339 UNDERMOUSEPLACEMENT, LEFTRIGHT, RIGHTLEFT, TOPBOTTOM, BOTTOMTOP }; 346 UNDERMOUSEPLACEMENT, LEFTRIGHT, RIGHTLEFT, TOPBOTTOM, BOTTOMTOP };
@@ -456,10 +463,13 @@ private:
456 463
457 int m_xinerama_center_x, m_xinerama_center_y; 464 int m_xinerama_center_x, m_xinerama_center_y;
458 465
466 std::auto_ptr<Strut> m_available_workspace_area;
467
459 struct XineramaHeadInfo { 468 struct XineramaHeadInfo {
460 int x, y, width, height; 469 int x, y, width, height;
461 } *m_xinerama_headinfo; 470 } *m_xinerama_headinfo;
462 471
472 std::list<Strut *> m_strutlist;
463}; 473};
464 474
465 475