summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Workspace.cc33
1 files changed, 10 insertions, 23 deletions
diff --git a/src/Workspace.cc b/src/Workspace.cc
index 6674c4e..8c125e4 100644
--- a/src/Workspace.cc
+++ b/src/Workspace.cc
@@ -1,8 +1,8 @@
1// Workspace.cc for Fluxbox 1// Workspace.cc for Fluxbox
2// Copyright (c) 2001 - 2002 Henrik Kinnunen (fluxgen@linuxmail.org) 2// Copyright (c) 2001 - 2003 Henrik Kinnunen (fluxgen at users.sourceforge.net)
3// 3//
4// Workspace.cc for Blackbox - an X11 Window manager 4// Workspace.cc for Blackbox - an X11 Window manager
5// Copyright (c) 1997 - 2000 Brad Hughes (bhughes@tcac.net) 5// Copyright (c) 1997 - 2000 Brad Hughes (bhughes at tcac.net)
6// 6//
7// Permission is hereby granted, free of charge, to any person obtaining a 7// Permission is hereby granted, free of charge, to any person obtaining a
8// copy of this software and associated documentation files (the "Software"), 8// copy of this software and associated documentation files (the "Software"),
@@ -16,23 +16,23 @@
16// 16//
17// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 19// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 21// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
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: Workspace.cc,v 1.40 2003/01/09 18:33:58 fluxgen Exp $ 25// $Id: Workspace.cc,v 1.41 2003/01/12 18:08:05 fluxgen Exp $
26 26
27#include "Workspace.hh" 27#include "Workspace.hh"
28 28
29#include "i18n.hh" 29#include "i18n.hh"
30#include "fluxbox.hh" 30#include "fluxbox.hh"
31#include "Screen.hh" 31#include "Screen.hh"
32#include "Toolbar.hh"
33#include "Window.hh" 32#include "Window.hh"
34#include "Windowmenu.hh" 33#include "Windowmenu.hh"
35#include "StringUtil.hh" 34#include "StringUtil.hh"
35#include "Slit.hh"
36 36
37// use GNU extensions 37// use GNU extensions
38#ifndef _GNU_SOURCE 38#ifndef _GNU_SOURCE
@@ -180,9 +180,6 @@ int Workspace::removeWindow(FluxboxWindow *w) {
180 180
181 if (top == 0|| !top->setInputFocus()) { 181 if (top == 0|| !top->setInputFocus()) {
182 Fluxbox::instance()->setFocusedWindow(0); // set focused window to none 182 Fluxbox::instance()->setFocusedWindow(0); // set focused window to none
183 XSetInputFocus(Fluxbox::instance()->getXDisplay(),
184 screen->getToolbar()->getWindowID(),
185 RevertToParent, CurrentTime);
186 } 183 }
187 } 184 }
188 } 185 }
@@ -421,7 +418,6 @@ bool Workspace::loadGroups(const std::string &filename) {
421 418
422void Workspace::update() { 419void Workspace::update() {
423 m_clientmenu.update(); 420 m_clientmenu.update();
424 screen->getToolbar()->redrawWindowLabel(True);
425} 421}
426 422
427 423
@@ -480,10 +476,7 @@ void Workspace::placeWindow(FluxboxWindow *win) {
480 slit_w = screen->getSlit()->width() + borderWidth4x, 476 slit_w = screen->getSlit()->width() + borderWidth4x,
481 slit_h = screen->getSlit()->height() + borderWidth4x, 477 slit_h = screen->getSlit()->height() + borderWidth4x,
482#endif // SLIT 478#endif // SLIT
483 toolbar_x = screen->getToolbar()->x() - screen->getBorderWidth(), 479
484 toolbar_y = screen->getToolbar()->y() - screen->getBorderWidth(),
485 toolbar_w = screen->getToolbar()->width() + borderWidth4x,
486 toolbar_h = screen->getToolbar()->height() + borderWidth4x,
487 place_x = 0, place_y = 0, change_x = 1, change_y = 1; 480 place_x = 0, place_y = 0, change_x = 1, change_y = 1;
488 481
489 if (screen->getColPlacementDirection() == BScreen::BOTTOMTOP) 482 if (screen->getColPlacementDirection() == BScreen::BOTTOMTOP)
@@ -618,12 +611,9 @@ void Workspace::placeWindow(FluxboxWindow *win) {
618 } 611 }
619 } 612 }
620 613
621 if ((toolbar_x < test_x + win_w && 614 if (1
622 toolbar_x + toolbar_w > test_x &&
623 toolbar_y < test_y + win_h &&
624 toolbar_y + toolbar_h > test_y)
625#ifdef SLIT 615#ifdef SLIT
626 || 616 &&
627 (slit_x < test_x + win_w && 617 (slit_x < test_x + win_w &&
628 slit_x + slit_w > test_x && 618 slit_x + slit_w > test_x &&
629 slit_y < test_y + win_h && 619 slit_y < test_y + win_h &&
@@ -740,12 +730,9 @@ void Workspace::placeWindow(FluxboxWindow *win) {
740 } 730 }
741 } 731 }
742 732
743 if ((toolbar_x < test_x + win_w && 733 if (1
744 toolbar_x + toolbar_w > test_x &&
745 toolbar_y < test_y + win_h &&
746 toolbar_y + toolbar_h > test_y)
747#ifdef SLIT 734#ifdef SLIT
748 || 735 &&
749 (slit_x < test_x + win_w && 736 (slit_x < test_x + win_w &&
750 slit_x + slit_w > test_x && 737 slit_x + slit_w > test_x &&
751 slit_y < test_y + win_h && 738 slit_y < test_y + win_h &&