summaryrefslogtreecommitdiff
path: root/src/Window.cc
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2002-05-23 14:27:52 +0000
committerDana Jansens <danakj@orodu.net>2002-05-23 14:27:52 +0000
commit67b4df1eff614c79bca956615a514bb5bb211af8 (patch)
tree56f72fe3bed7251558ab8bff0961acb10cecffbc /src/Window.cc
parenta25b213aff1ec7450b5d61c20cf3c8e0f918ee28 (diff)
merge the sticky window fix from 1.2.
Diffstat (limited to 'src/Window.cc')
-rw-r--r--src/Window.cc11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/Window.cc b/src/Window.cc
index 3f531d52..342864c9 100644
--- a/src/Window.cc
+++ b/src/Window.cc
@@ -314,9 +314,14 @@ OpenboxWindow::~OpenboxWindow(void) {
XUngrabPointer(display, CurrentTime);
}
- if (workspace_number != -1 && window_number != -1)
- screen->getWorkspace(workspace_number)->removeWindow(this);
- else if (flags.iconic)
+ if (workspace_number != -1 && window_number != -1) {
+ if (flags.stuck) {
+ // make sure no other workspaces think that we're focused
+ for (int i=0; i < screen->getWorkspaceCount(); i++)
+ screen->getWorkspace(i)->removeWindow(this);
+ } else
+ screen->getWorkspace(workspace_number)->removeWindow(this);
+ } else if (flags.iconic)
screen->removeIcon(this);
if (timer) {