diff options
| author | Dana Jansens <danakj@orodu.net> | 2002-07-19 14:38:10 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2002-07-19 14:38:10 +0000 |
| commit | 256bcbed81015bafe8f89340e5cab9114c91b930 (patch) | |
| tree | 5e1cdc33e09ee24f53e6f5831533edbbfe0c8fd4 /src/blackbox.cc | |
| parent | f586e55a8cd3d740a1b7b3a0801bad27030926f9 (diff) | |
changing the number of workspaces in the rc does something without restarting now!
Diffstat (limited to 'src/blackbox.cc')
| -rw-r--r-- | src/blackbox.cc | 21 |
1 files changed, 4 insertions, 17 deletions
diff --git a/src/blackbox.cc b/src/blackbox.cc index 71098444..4c7259ed 100644 --- a/src/blackbox.cc +++ b/src/blackbox.cc @@ -755,7 +755,8 @@ void Blackbox::process_event(XEvent *e) { else win->show(); screen->reassociateWindow(win, wksp, True); - } else if (wksp == 0xfffffffe) { // XXX: BUG, BUT DOING THIS SO KDE WORKS FOR NOW!! + } else if (wksp == 0xfffffffe || // XXX: BUG, BUT DOING THIS SO KDE WORKS FOR NOW!! + wksp == 0xffffffff) { if (win->isIconic()) win->deiconify(False, True); if (! win->isStuck()) win->stick(); if (! win->isVisible()) win->show(); @@ -781,22 +782,8 @@ void Blackbox::process_event(XEvent *e) { // NET_NUMBER_OF_DESKTOPS BScreen *screen = searchScreen(e->xclient.window); - if (e->xclient.data.l[0] > 0) { - if ((unsigned) e->xclient.data.l[0] < screen->getWorkspaceCount()) { - // shrink - for (int i = screen->getWorkspaceCount(); - i > e->xclient.data.l[0]; --i) - screen->removeLastWorkspace(); - // removeLast already sets the current workspace to the - // last available one. - } else if ((unsigned) e->xclient.data.l[0] > - screen->getWorkspaceCount()) { - // grow - for(int i = screen->getWorkspaceCount(); - i < e->xclient.data.l[0]; ++i) - screen->addWorkspace(); - } - } + if (e->xclient.data.l[0] > 0) + screen->changeWorkspaceCount((unsigned) e->xclient.data.l[0]); } else if (e->xclient.message_type == xatom->getAtom(XAtom::net_close_window)) { // NET_CLOSE_WINDOW |
