all repos — openbox @ aad50046de0b1971f869ee95a0f80267c74a1fd3

openbox fork - make it a bit more like ryudo

synched with bb-cvs. couple bug fixes.
Dana Jansens danakj@orodu.net
commit

aad50046de0b1971f869ee95a0f80267c74a1fd3

parent

7a55323343635d8a29bb62cd49d8d6a5c103f317

5 files changed, 14 insertions(+), 12 deletions(-)

jump to
M src/Screen.ccsrc/Screen.cc

@@ -1040,10 +1040,14 @@ current_workspace->hideAll();

workspacemenu->setItemSelected(current_workspace->getID() + 2, False); - if (blackbox->getFocusedWindow() && - blackbox->getFocusedWindow()->getScreen() == this && - ! blackbox->getFocusedWindow()->isStuck()) { - current_workspace->setLastFocusedWindow(blackbox->getFocusedWindow()); + BlackboxWindow *focused = blackbox->getFocusedWindow(); + if (focused && focused->getScreen() == this && ! focused->isStuck()) { + if (focused->getWorkspaceNumber() != current_workspace->getID()) { + fprintf(stderr, "%s is on the wrong workspace, aborting\n", + focused->getTitle()); + abort(); + } + current_workspace->setLastFocusedWindow(focused); blackbox->setFocusedWindow((BlackboxWindow *) 0); }

@@ -1079,7 +1083,8 @@ windowList.push_back(win);

XMapRequestEvent mre; mre.window = w; - win->restoreAttributes(); + if (blackbox->isStartup()) + win->restoreAttributes(); win->mapRequestEvent(&mre); }
M src/Window.ccsrc/Window.cc

@@ -268,7 +268,6 @@ }

BlackboxWindow::~BlackboxWindow(void) { - #ifdef DEBUG fprintf(stderr, "BlackboxWindow::~BlackboxWindow: destroying 0x%lx\n", client.window);
M src/Workspace.ccsrc/Workspace.cc

@@ -224,7 +224,6 @@ wkspc->stackingList.remove((*it));

wkspc->stackingList.push_back((*it)); } } - }
M src/blackbox.ccsrc/blackbox.cc

@@ -666,10 +666,9 @@ win->deiconify();

} else if(e->xclient.message_type == getBlackboxChangeWorkspaceAtom()) { BScreen *screen = searchScreen(e->xclient.window); - if (screen && e->xclient.data.l[0] >= 0 && - e->xclient.data.l[0] < - static_cast<signed>(screen->getWorkspaceCount())) - screen->changeWorkspaceID(e->xclient.data.l[0]); + unsigned int workspace = e->xclient.data.l[0]; + if (screen && workspace < screen->getWorkspaceCount()) + screen->changeWorkspaceID(workspace); } else if (e->xclient.message_type == getBlackboxChangeWindowFocusAtom()) { BlackboxWindow *win = searchWindow(e->xclient.window);
M util/Makefile.amutil/Makefile.am

@@ -11,7 +11,7 @@

MAINTAINERCLEANFILES = Makefile.in distclean-local: - rm -f *\~ + rm -f *\~ .\#* # local dependencies