diff options
Diffstat (limited to 'src/Workspace.cc')
-rw-r--r-- | src/Workspace.cc | 84 |
1 files changed, 42 insertions, 42 deletions
diff --git a/src/Workspace.cc b/src/Workspace.cc index 93ba77e..5a882b3 100644 --- a/src/Workspace.cc +++ b/src/Workspace.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: Workspace.cc,v 1.61 2003/05/11 13:36:12 fluxgen Exp $ | 25 | // $Id: Workspace.cc,v 1.62 2003/05/11 15:35:03 fluxgen Exp $ |
26 | 26 | ||
27 | #include "Workspace.hh" | 27 | #include "Workspace.hh" |
28 | 28 | ||
@@ -113,7 +113,7 @@ private: | |||
113 | Workspace::GroupList Workspace::m_groups; | 113 | Workspace::GroupList Workspace::m_groups; |
114 | 114 | ||
115 | Workspace::Workspace(BScreen &scrn, FbTk::MultLayers &layermanager, unsigned int i): | 115 | Workspace::Workspace(BScreen &scrn, FbTk::MultLayers &layermanager, unsigned int i): |
116 | screen(scrn), | 116 | m_screen(scrn), |
117 | lastfocus(0), | 117 | lastfocus(0), |
118 | m_clientmenu(*scrn.menuTheme(), scrn.getScreenNumber(), *scrn.getImageControl()), | 118 | m_clientmenu(*scrn.menuTheme(), scrn.getScreenNumber(), *scrn.getImageControl()), |
119 | m_layermanager(layermanager), | 119 | m_layermanager(layermanager), |
@@ -122,7 +122,7 @@ Workspace::Workspace(BScreen &scrn, FbTk::MultLayers &layermanager, unsigned int | |||
122 | cascade_x(32), cascade_y(32) { | 122 | cascade_x(32), cascade_y(32) { |
123 | 123 | ||
124 | m_clientmenu.setInternalMenu(); | 124 | m_clientmenu.setInternalMenu(); |
125 | setName(screen.getNameOfWorkspace(m_id)); | 125 | setName(screen().getNameOfWorkspace(m_id)); |
126 | 126 | ||
127 | } | 127 | } |
128 | 128 | ||
@@ -200,7 +200,7 @@ int Workspace::addWindow(FluxboxWindow &w, bool place) { | |||
200 | FluxboxWindow::ClientList::iterator client_it_end = | 200 | FluxboxWindow::ClientList::iterator client_it_end = |
201 | w.clientList().end(); | 201 | w.clientList().end(); |
202 | for (; client_it != client_it_end; ++client_it) | 202 | for (; client_it != client_it_end; ++client_it) |
203 | screen.updateNetizenWindowAdd((*client_it)->window(), m_id); | 203 | screen().updateNetizenWindowAdd((*client_it)->window(), m_id); |
204 | } | 204 | } |
205 | 205 | ||
206 | return w.getWindowNumber(); | 206 | return w.getWindowNumber(); |
@@ -217,8 +217,8 @@ int Workspace::removeWindow(FluxboxWindow *w) { | |||
217 | } | 217 | } |
218 | 218 | ||
219 | if (w->isFocused()) { | 219 | if (w->isFocused()) { |
220 | if (screen.isSloppyFocus()) { | 220 | if (screen().isSloppyFocus()) { |
221 | Fluxbox::instance()->revertFocus(&screen); | 221 | Fluxbox::instance()->revertFocus(screen()); |
222 | } else { | 222 | } else { |
223 | // go up the transient tree looking for a focusable window | 223 | // go up the transient tree looking for a focusable window |
224 | WinClient *client = 0; | 224 | WinClient *client = 0; |
@@ -234,7 +234,7 @@ int Workspace::removeWindow(FluxboxWindow *w) { | |||
234 | } | 234 | } |
235 | } | 235 | } |
236 | if (client == 0) // we were unsuccessful | 236 | if (client == 0) // we were unsuccessful |
237 | Fluxbox::instance()->revertFocus(&screen); | 237 | Fluxbox::instance()->revertFocus(screen()); |
238 | } | 238 | } |
239 | } | 239 | } |
240 | 240 | ||
@@ -255,7 +255,7 @@ int Workspace::removeWindow(FluxboxWindow *w) { | |||
255 | FluxboxWindow::ClientList::iterator client_it_end = | 255 | FluxboxWindow::ClientList::iterator client_it_end = |
256 | w->clientList().end(); | 256 | w->clientList().end(); |
257 | for (; client_it != client_it_end; ++client_it) | 257 | for (; client_it != client_it_end; ++client_it) |
258 | screen.updateNetizenWindowDel((*client_it)->window()); | 258 | screen().updateNetizenWindowDel((*client_it)->window()); |
259 | } | 259 | } |
260 | 260 | ||
261 | return m_windowlist.size(); | 261 | return m_windowlist.size(); |
@@ -415,7 +415,7 @@ void Workspace::update() { | |||
415 | 415 | ||
416 | 416 | ||
417 | bool Workspace::isCurrent() const{ | 417 | bool Workspace::isCurrent() const{ |
418 | return (m_id == screen.getCurrentWorkspaceID()); | 418 | return (m_id == screen().getCurrentWorkspaceID()); |
419 | } | 419 | } |
420 | 420 | ||
421 | 421 | ||
@@ -424,7 +424,7 @@ bool Workspace::isLastWindow(FluxboxWindow *w) const{ | |||
424 | } | 424 | } |
425 | 425 | ||
426 | void Workspace::setCurrent() { | 426 | void Workspace::setCurrent() { |
427 | screen.changeWorkspaceID(m_id); | 427 | screen().changeWorkspaceID(m_id); |
428 | } | 428 | } |
429 | 429 | ||
430 | 430 | ||
@@ -441,7 +441,7 @@ void Workspace::setName(const std::string &name) { | |||
441 | m_name = tname; | 441 | m_name = tname; |
442 | } | 442 | } |
443 | 443 | ||
444 | screen.updateWorkspaceNamesAtom(); | 444 | screen().updateWorkspaceNamesAtom(); |
445 | 445 | ||
446 | m_clientmenu.setLabel(m_name.c_str()); | 446 | m_clientmenu.setLabel(m_name.c_str()); |
447 | m_clientmenu.update(); | 447 | m_clientmenu.update(); |
@@ -454,7 +454,7 @@ void Workspace::setName(const std::string &name) { | |||
454 | */ | 454 | */ |
455 | void Workspace::shutdown() { | 455 | void Workspace::shutdown() { |
456 | #ifdef DEBUG | 456 | #ifdef DEBUG |
457 | cerr<<__FILE__<<"("<<__FUNCTION__<<"): scr "<<screen.getScreenNumber()<<", ws "<< | 457 | cerr<<__FILE__<<"("<<__FUNCTION__<<"): scr "<<screen().getScreenNumber()<<", ws "<< |
458 | m_id<<", windowlist:"<<endl; | 458 | m_id<<", windowlist:"<<endl; |
459 | copy(m_windowlist.begin(), m_windowlist.end(), | 459 | copy(m_windowlist.begin(), m_windowlist.end(), |
460 | ostream_iterator<FluxboxWindow *>(cerr, " \n")); | 460 | ostream_iterator<FluxboxWindow *>(cerr, " \n")); |
@@ -494,9 +494,9 @@ void Workspace::placeWindow(FluxboxWindow &win) { | |||
494 | 494 | ||
495 | int place_x = 0, place_y = 0, change_x = 1, change_y = 1; | 495 | int place_x = 0, place_y = 0, change_x = 1, change_y = 1; |
496 | 496 | ||
497 | if (screen.getColPlacementDirection() == BScreen::BOTTOMTOP) | 497 | if (screen().getColPlacementDirection() == BScreen::BOTTOMTOP) |
498 | change_y = -1; | 498 | change_y = -1; |
499 | if (screen.getRowPlacementDirection() == BScreen::RIGHTLEFT) | 499 | if (screen().getRowPlacementDirection() == BScreen::RIGHTLEFT) |
500 | change_x = -1; | 500 | change_x = -1; |
501 | 501 | ||
502 | int win_w = win.width() + win.getFbWindow().borderWidth()*2, | 502 | int win_w = win.width() + win.getFbWindow().borderWidth()*2, |
@@ -505,7 +505,7 @@ void Workspace::placeWindow(FluxboxWindow &win) { | |||
505 | 505 | ||
506 | int test_x, test_y, curr_x, curr_y, curr_w, curr_h; | 506 | int test_x, test_y, curr_x, curr_y, curr_w, curr_h; |
507 | 507 | ||
508 | switch (screen.getPlacementPolicy()) { | 508 | switch (screen().getPlacementPolicy()) { |
509 | case BScreen::UNDERMOUSEPLACEMENT: { | 509 | case BScreen::UNDERMOUSEPLACEMENT: { |
510 | int root_x, root_y, min_y, min_x, max_y, max_x, ignore_i; | 510 | int root_x, root_y, min_y, min_x, max_y, max_x, ignore_i; |
511 | 511 | ||
@@ -514,17 +514,17 @@ void Workspace::placeWindow(FluxboxWindow &win) { | |||
514 | Window ignore_w; | 514 | Window ignore_w; |
515 | 515 | ||
516 | XQueryPointer(FbTk::App::instance()->display(), | 516 | XQueryPointer(FbTk::App::instance()->display(), |
517 | screen.rootWindow().window(), &ignore_w, | 517 | screen().rootWindow().window(), &ignore_w, |
518 | &ignore_w, &root_x, &root_y, | 518 | &ignore_w, &root_x, &root_y, |
519 | &ignore_i, &ignore_i, &ignore_ui); | 519 | &ignore_i, &ignore_i, &ignore_ui); |
520 | 520 | ||
521 | test_x = root_x - (win_w / 2); | 521 | test_x = root_x - (win_w / 2); |
522 | test_y = root_y - (win_h / 2); | 522 | test_y = root_y - (win_h / 2); |
523 | 523 | ||
524 | min_x = (int) screen.getMaxLeft(); | 524 | min_x = (int) screen().getMaxLeft(); |
525 | min_y = (int) screen.getMaxTop(); | 525 | min_y = (int) screen().getMaxTop(); |
526 | max_x = (int) screen.getMaxRight() - win_w; | 526 | max_x = (int) screen().getMaxRight() - win_w; |
527 | max_y = (int) screen.getMaxBottom() - win_h; | 527 | max_y = (int) screen().getMaxBottom() - win_h; |
528 | 528 | ||
529 | // keep the window inside the screen | 529 | // keep the window inside the screen |
530 | 530 | ||
@@ -552,22 +552,22 @@ void Workspace::placeWindow(FluxboxWindow &win) { | |||
552 | 552 | ||
553 | test_y = 0; | 553 | test_y = 0; |
554 | 554 | ||
555 | if (screen.getColPlacementDirection() == BScreen::BOTTOMTOP) | 555 | if (screen().getColPlacementDirection() == BScreen::BOTTOMTOP) |
556 | test_y = screen.getHeight() - win_h - test_y; | 556 | test_y = screen().getHeight() - win_h - test_y; |
557 | 557 | ||
558 | 558 | ||
559 | while (((screen.getColPlacementDirection() == BScreen::BOTTOMTOP) ? | 559 | while (((screen().getColPlacementDirection() == BScreen::BOTTOMTOP) ? |
560 | test_y > 0 : test_y + win_h < (signed) screen.getHeight()) && | 560 | test_y > 0 : test_y + win_h < (signed) screen().getHeight()) && |
561 | ! placed) { | 561 | ! placed) { |
562 | 562 | ||
563 | test_x = 0; | 563 | test_x = 0; |
564 | 564 | ||
565 | if (screen.getRowPlacementDirection() == BScreen::RIGHTLEFT) | 565 | if (screen().getRowPlacementDirection() == BScreen::RIGHTLEFT) |
566 | test_x = screen.getWidth() - win_w - test_x; | 566 | test_x = screen().getWidth() - win_w - test_x; |
567 | 567 | ||
568 | 568 | ||
569 | while (((screen.getRowPlacementDirection() == BScreen::RIGHTLEFT) ? | 569 | while (((screen().getRowPlacementDirection() == BScreen::RIGHTLEFT) ? |
570 | test_x > 0 : test_x + win_w < (signed) screen.getWidth()) && ! placed) { | 570 | test_x > 0 : test_x + win_w < (signed) screen().getWidth()) && ! placed) { |
571 | 571 | ||
572 | placed = true; | 572 | placed = true; |
573 | 573 | ||
@@ -611,21 +611,21 @@ void Workspace::placeWindow(FluxboxWindow &win) { | |||
611 | case BScreen::COLSMARTPLACEMENT: { | 611 | case BScreen::COLSMARTPLACEMENT: { |
612 | test_x = 0; | 612 | test_x = 0; |
613 | 613 | ||
614 | if (screen.getRowPlacementDirection() == BScreen::RIGHTLEFT) | 614 | if (screen().getRowPlacementDirection() == BScreen::RIGHTLEFT) |
615 | 615 | ||
616 | test_x = screen.getWidth() - win_w - test_x; | 616 | test_x = screen().getWidth() - win_w - test_x; |
617 | 617 | ||
618 | 618 | ||
619 | while (((screen.getRowPlacementDirection() == BScreen::RIGHTLEFT) ? | 619 | while (((screen().getRowPlacementDirection() == BScreen::RIGHTLEFT) ? |
620 | test_x > 0 : test_x + win_w < (signed) screen.getWidth()) && | 620 | test_x > 0 : test_x + win_w < (signed) screen().getWidth()) && |
621 | !placed) { | 621 | !placed) { |
622 | 622 | ||
623 | test_y = 0; | 623 | test_y = 0; |
624 | if (screen.getColPlacementDirection() == BScreen::BOTTOMTOP) | 624 | if (screen().getColPlacementDirection() == BScreen::BOTTOMTOP) |
625 | test_y = screen.getHeight() - win_h - test_y; | 625 | test_y = screen().getHeight() - win_h - test_y; |
626 | 626 | ||
627 | while (((screen.getColPlacementDirection() == BScreen::BOTTOMTOP) ? | 627 | while (((screen().getColPlacementDirection() == BScreen::BOTTOMTOP) ? |
628 | test_y > 0 : test_y + win_h < (signed) screen.getHeight()) && | 628 | test_y > 0 : test_y + win_h < (signed) screen().getHeight()) && |
629 | !placed) { | 629 | !placed) { |
630 | placed = True; | 630 | placed = True; |
631 | 631 | ||
@@ -670,8 +670,8 @@ void Workspace::placeWindow(FluxboxWindow &win) { | |||
670 | // cascade placement or smart placement failed | 670 | // cascade placement or smart placement failed |
671 | if (! placed) { | 671 | if (! placed) { |
672 | 672 | ||
673 | if (((unsigned) cascade_x > (screen.getWidth() / 2)) || | 673 | if (((unsigned) cascade_x > (screen().getWidth() / 2)) || |
674 | ((unsigned) cascade_y > (screen.getHeight() / 2))) | 674 | ((unsigned) cascade_y > (screen().getHeight() / 2))) |
675 | cascade_x = cascade_y = 32; | 675 | cascade_x = cascade_y = 32; |
676 | 676 | ||
677 | place_x = cascade_x; | 677 | place_x = cascade_x; |
@@ -681,10 +681,10 @@ void Workspace::placeWindow(FluxboxWindow &win) { | |||
681 | cascade_y += win.getTitleHeight(); | 681 | cascade_y += win.getTitleHeight(); |
682 | } | 682 | } |
683 | 683 | ||
684 | if (place_x + win_w > (signed) screen.getWidth()) | 684 | if (place_x + win_w > (signed) screen().getWidth()) |
685 | place_x = (((signed) screen.getWidth()) - win_w) / 2; | 685 | place_x = (((signed) screen().getWidth()) - win_w) / 2; |
686 | if (place_y + win_h > (signed) screen.getHeight()) | 686 | if (place_y + win_h > (signed) screen().getHeight()) |
687 | place_y = (((signed) screen.getHeight()) - win_h) / 2; | 687 | place_y = (((signed) screen().getHeight()) - win_h) / 2; |
688 | 688 | ||
689 | 689 | ||
690 | win.moveResize(place_x, place_y, win.width(), win.height()); | 690 | win.moveResize(place_x, place_y, win.width(), win.height()); |