X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fworkspace.hh;h=98acd384918779535e989def9161f7bbcbf236bb;hb=8b041e2f5c2edc6d295697d129cbc65b9bb2c6b7;hp=df0411e130645cc221360cbf06e0359748f6d656;hpb=db451d95bf97b8a8e995f031ac98da50606fd3a0;p=chaz%2Fopenbox diff --git a/src/workspace.hh b/src/workspace.hh index df0411e1..98acd384 100644 --- a/src/workspace.hh +++ b/src/workspace.hh @@ -1,26 +1,4 @@ // -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*- -// Workspace.hh for Blackbox - an X11 Window manager -// Copyright (c) 2001 - 2002 Sean 'Shaleh' Perry -// Copyright (c) 1997 - 2000 Brad Hughes (bhughes@tcac.net) -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - #ifndef __Workspace_hh #define __Workspace_hh @@ -32,11 +10,13 @@ extern "C" { #include #include +#include "otk/property.hh" + +namespace ob { + class BScreen; -class Clientmenu; class Workspace; class BlackboxWindow; -class Netizen; typedef std::list BlackboxWindowList; typedef std::vector StackVector; @@ -45,8 +25,7 @@ class Workspace { private: BScreen *screen; BlackboxWindow *lastfocus; - Clientmenu *clientmenu; - XAtom *xatom; + otk::OBProperty *xatom; BlackboxWindowList stackingList, windowList; @@ -65,13 +44,13 @@ private: void lowerTransients(const BlackboxWindow * const win, StackVector::iterator &stack); - typedef std::vector rectList; - rectList calcSpace(const Rect &win, const rectList &spaces) const; + typedef std::vector rectList; + rectList calcSpace(const otk::Rect &win, const rectList &spaces) const; void placeWindow(BlackboxWindow *win); - bool cascadePlacement(Rect& win, const int offset); - bool smartPlacement(Rect& win); - bool underMousePlacement(Rect& win); + bool cascadePlacement(otk::Rect& win, const int offset); + bool smartPlacement(otk::Rect& win); + bool underMousePlacement(otk::Rect& win); public: Workspace(BScreen *scrn, unsigned int i = 0); @@ -80,8 +59,6 @@ public: inline BlackboxWindow *getLastFocusedWindow(void) { return lastfocus; } - inline Clientmenu *getMenu(void) { return clientmenu; } - inline const std::string& getName(void) const { return name; } inline unsigned int getID(void) const { return id; } @@ -95,9 +72,7 @@ public: BlackboxWindow* getNextWindowInList(BlackboxWindow *w); BlackboxWindow* getPrevWindowInList(BlackboxWindow *w); BlackboxWindow* getTopWindowOnStack(void) const; - void sendWindowList(Netizen &n); void focusFallback(const BlackboxWindow *old_window); - void setFocused(const BlackboxWindow *w, bool focused); bool isCurrent(void) const; bool isLastWindow(const BlackboxWindow* w) const; @@ -118,6 +93,7 @@ public: void setName(const std::string& new_name); }; +} #endif // __Workspace_hh