aboutsummaryrefslogtreecommitdiff
path: root/src/Window.cc
diff options
context:
space:
mode:
authorfluxgen <fluxgen>2003-06-18 13:55:17 (GMT)
committerfluxgen <fluxgen>2003-06-18 13:55:17 (GMT)
commite3ab62fed1e63be3e7f6b81c316b15097638faf6 (patch)
tree563a2d45e6e33de08f2b899bbe775f9b2a5a755b /src/Window.cc
parent501168b557f4c21ca10dfdaad7776c125968363a (diff)
downloadfluxbox-e3ab62fed1e63be3e7f6b81c316b15097638faf6.zip
fluxbox-e3ab62fed1e63be3e7f6b81c316b15097638faf6.tar.bz2
added strut support
Diffstat (limited to 'src/Window.cc')
-rw-r--r--src/Window.cc21
1 files changed, 18 insertions, 3 deletions
diff --git a/src/Window.cc b/src/Window.cc
index 0e4e8b0..9eabc0c 100644
--- a/src/Window.cc
+++ b/src/Window.cc
@@ -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: Window.cc,v 1.192 2003/06/15 18:35:32 fluxgen Exp $ 25// $Id: Window.cc,v 1.193 2003/06/18 13:55:17 fluxgen Exp $
26 26
27#include "Window.hh" 27#include "Window.hh"
28 28
@@ -246,6 +246,7 @@ FluxboxWindow::FluxboxWindow(WinClient &client, BScreen &scr, FbWinFrameTheme &t
246 m_old_decoration(DECOR_NORMAL), 246 m_old_decoration(DECOR_NORMAL),
247 m_client(&client), 247 m_client(&client),
248 m_frame(new FbWinFrame(tm, scr.imageControl(), scr.screenNumber(), 0, 0, 100, 100)), 248 m_frame(new FbWinFrame(tm, scr.imageControl(), scr.screenNumber(), 0, 0, 100, 100)),
249 m_strut(0),
249 m_layeritem(m_frame->window(), layer), 250 m_layeritem(m_frame->window(), layer),
250 m_layernum(layer.getLayerNum()), 251 m_layernum(layer.getLayerNum()),
251 m_parent(scr.rootWindow()) { 252 m_parent(scr.rootWindow()) {
@@ -279,6 +280,7 @@ FluxboxWindow::FluxboxWindow(Window w, BScreen &scr, FbWinFrameTheme &tm,
279 m_old_decoration(DECOR_NORMAL), 280 m_old_decoration(DECOR_NORMAL),
280 m_client(new WinClient(w, *this)), 281 m_client(new WinClient(w, *this)),
281 m_frame(new FbWinFrame(tm, scr.imageControl(), scr.screenNumber(), 0, 0, 100, 100)), 282 m_frame(new FbWinFrame(tm, scr.imageControl(), scr.screenNumber(), 0, 0, 100, 100)),
283 m_strut(0),
282 m_layeritem(m_frame->window(), layer), 284 m_layeritem(m_frame->window(), layer),
283 m_layernum(layer.getLayerNum()), 285 m_layernum(layer.getLayerNum()),
284 m_parent(scr.rootWindow()) { 286 m_parent(scr.rootWindow()) {
@@ -296,6 +298,9 @@ FluxboxWindow::~FluxboxWindow() {
296 cerr<<__FILE__<<"("<<__LINE__<<"): curr client = "<<m_client<<endl; 298 cerr<<__FILE__<<"("<<__LINE__<<"): curr client = "<<m_client<<endl;
297 cerr<<__FILE__<<"("<<__LINE__<<"): m_labelbuttons.size = "<<m_labelbuttons.size()<<endl; 299 cerr<<__FILE__<<"("<<__LINE__<<"): m_labelbuttons.size = "<<m_labelbuttons.size()<<endl;
298#endif // DEBUG 300#endif // DEBUG
301
302 clearStrut();
303
299 if (moving || resizing || m_attaching_tab) { 304 if (moving || resizing || m_attaching_tab) {
300 screen().hideGeometry(); 305 screen().hideGeometry();
301 XUngrabPointer(display, CurrentTime); 306 XUngrabPointer(display, CurrentTime);
@@ -1989,8 +1994,6 @@ void FluxboxWindow::handleEvent(XEvent &event) {
1989 } 1994 }
1990 break; 1995 break;
1991 1996
1992
1993
1994 default: 1997 default:
1995#ifdef SHAPE 1998#ifdef SHAPE
1996 if (Fluxbox::instance()->haveShape() && 1999 if (Fluxbox::instance()->haveShape() &&
@@ -2714,6 +2717,18 @@ void FluxboxWindow::toggleDecoration() {
2714 } 2717 }
2715} 2718}
2716 2719
2720void FluxboxWindow::setStrut(Strut *strut) {
2721 clearStrut();
2722 m_strut = strut;
2723}
2724
2725void FluxboxWindow::clearStrut() {
2726 if (m_strut != 0) {
2727 screen().clearStrut(m_strut);
2728 m_strut = 0;
2729 }
2730}
2731
2717unsigned int FluxboxWindow::decorationMask() const { 2732unsigned int FluxboxWindow::decorationMask() const {
2718 unsigned int ret = 0; 2733 unsigned int ret = 0;
2719 if (decorations.titlebar) 2734 if (decorations.titlebar)