all repos — fluxbox @ 33e359a0dfd4b6e6640b452f99d199377fee396d

custom fork of the fluxbox windowmanager

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)
mathias mathias
commit

33e359a0dfd4b6e6640b452f99d199377fee396d

parent

eddedd50d1504ffe6e351b055b1f356dd91e385c

3 files changed, 11 insertions(+), 5 deletions(-)

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

@@ -241,7 +241,8 @@ else

win.setWorkspace(desktop); XFree(data); - } + } else + updateWorkspace(win); }

@@ -263,6 +264,10 @@ screen.rootWindow().changeProperty(m_net_active_window,

XA_WINDOW, 32, PropModeReplace, (unsigned char *)&win, 1); +} + +void Ewmh::updateClientClose(WinClient &winclient){ + updateClientList(winclient.screen()); } void Ewmh::updateClientList(BScreen &screen) {

@@ -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
M src/Ewmh.hhsrc/Ewmh.hh

@@ -57,8 +57,8 @@

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);
M src/Gnome.ccsrc/Gnome.cc

@@ -240,7 +240,7 @@ (unsigned char *)&numworkspaces, 1);

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