Vadim pointed out that _NET_CLIENT_LIST and _NET_CLIENT_LIST_STACKING are not updated

when sending _BLACKBOX_NOTIFY_WINDOW_DEL

 _NET_WM_DESKTOP and _WIN_WORKSPACE had wrong initial values (-1), which lead to probems 
 with (eg) fbpager (unaware of newly created windows and such things)
This commit is contained in:
mathias 2005-05-14 01:55:31 +00:00
parent eddedd50d1
commit 33e359a0df
3 changed files with 11 additions and 5 deletions

View file

@ -241,7 +241,8 @@ void Ewmh::setupFrame(FluxboxWindow &win) {
win.setWorkspace(desktop);
XFree(data);
}
} else
updateWorkspace(win);
}
@ -265,6 +266,10 @@ void Ewmh::updateFocusedWindow(BScreen &screen, Window win) {
(unsigned char *)&win, 1);
}
void Ewmh::updateClientClose(WinClient &winclient){
updateClientList(winclient.screen());
}
void Ewmh::updateClientList(BScreen &screen) {
size_t num=0;
@ -568,7 +573,8 @@ void Ewmh::updateHints(FluxboxWindow &win) {
}
void Ewmh::updateWorkspace(FluxboxWindow &win) {
long workspace = win.workspaceNumber();
long workspace = win.isInitialized() ? win.workspaceNumber() : win.screen().currentWorkspaceID();
if (win.isStuck())
workspace = 0xFFFFFFFF; // appear on all desktops/workspaces

View file

@ -57,8 +57,8 @@ public:
bool propertyNotify(WinClient &winclient, Atom the_property);
void updateFrameClose(FluxboxWindow &win);
//ignore this one
void updateClientClose(WinClient &winclient) {}
void updateClientClose(WinClient &winclient);
void setFullscreen(FluxboxWindow &win, bool value);

View file

@ -240,7 +240,7 @@ void Gnome::updateWorkspaceCount(BScreen &screen) {
}
void Gnome::updateWorkspace(FluxboxWindow &win) {
long val = win.workspaceNumber();
long val = win.isInitialized() ? win.workspaceNumber() : win.screen().currentWorkspaceID();
if (win.isStuck()) {
val = -1;
}