all repos — fluxbox @ ea0762530343d07e80ea667bb646836e2dfe4b1d

custom fork of the fluxbox windowmanager

fix java bug (wasn't sending ConfigureNotify events in response to
ConfigureRequests). Also fix no border on transients and some
initial gnome atom values.
rathnor rathnor
commit

ea0762530343d07e80ea667bb646836e2dfe4b1d

parent

da1afd9bc238f1902c260d42df23c5d00c00d47e

5 files changed, 28 insertions(+), 17 deletions(-)

jump to
M BUGSBUGS

@@ -22,8 +22,6 @@

* After startup the font of the toolbar is to big; reload config works around this. - * Transient windows seem to not have a X border - is this right? - * Saving of number of workspaces on restart * Multiple transients:

@@ -68,3 +66,7 @@

* Workspace1... Workspace12 are disabled * MoveTab* actions are disabled + + * Transient windows seem to not have a X border - is this right? + => no, they ought to have a border +
M ChangeLogChangeLog

@@ -1,5 +1,10 @@

(Format: Year/Month/Day) Changes for 0.9.5: +*03/07/18: + * Fix java bug. Wasn't sending ConfigureNotify's to client (Simon) + - also fix missing border on transient windows + - also set some gnome hints initially + Window.hh/cc Gnome.cc *03/07/12: * Fixed 8 bpp crash (Henrik) ImageControl.cc
M src/Gnome.ccsrc/Gnome.cc

@@ -19,7 +19,7 @@ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING

// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER // DEALINGS IN THE SOFTWARE. -// $Id: Gnome.cc,v 1.29 2003/07/04 01:03:40 rathnor Exp $ +// $Id: Gnome.cc,v 1.30 2003/07/17 17:56:28 rathnor Exp $ #include "Gnome.hh"

@@ -99,6 +99,8 @@ (unsigned char **) &data) && data) {

flags = *data; setState(&win, flags); XFree (data); + } else { + updateState(win); } // load gnome layer atom

@@ -109,6 +111,8 @@ (unsigned char **) &data) == Success && data) {

flags = *data; setLayer(&win, flags); XFree (data); + } else { + updateLayer(win); } // load gnome workspace atom

@@ -120,6 +124,8 @@ unsigned int workspace_num = *data;

if (win.workspaceNumber() != workspace_num) win.screen().reassociateWindow(&win, workspace_num, false); XFree (data); + } else { + updateWorkspace(win); } }
M src/Window.ccsrc/Window.cc

@@ -22,7 +22,7 @@ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING

// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER // DEALINGS IN THE SOFTWARE. -// $Id: Window.cc,v 1.203 2003/07/10 11:33:31 fluxgen Exp $ +// $Id: Window.cc,v 1.204 2003/07/17 17:56:28 rathnor Exp $ #include "Window.hh"

@@ -439,7 +439,7 @@

// adjust the window decorations based on transience and window sizes if (m_client->isTransient()) { decorations.maximize = functions.maximize = false; - decorations.handle = decorations.border = false; + decorations.handle = false; } if ((m_client->normal_hint_flags & PMinSize) &&

@@ -1956,7 +1956,7 @@ }

void FluxboxWindow::mapRequestEvent(XMapRequestEvent &re) { - // we're only conserned about client window event + // we're only concerned about client window event WinClient *client = findClient(re.window); if (client == 0) { #ifdef DEBUG

@@ -2031,9 +2031,6 @@ if (client->isTransient() || screen().doFocusNew())

setInputFocus(); else setFocusFlag(false); - - if (focused) - frame().setFocus(true); iconic = false;

@@ -2208,7 +2205,7 @@

if (cr.value_mask & CWHeight) ch = cr.height; - // whether we should send ConfigureNotify to clients + // whether we should send ConfigureNotify to netizens bool send_notify = false; // the request is for client window so we resize the frame to it first

@@ -2223,9 +2220,6 @@ // since we already send a notify in move we don't need to do that again

send_notify = false; } - if (send_notify) - sendConfigureNotify(); - if (cr.value_mask & CWStackMode) { switch (cr.detail) { case Above:

@@ -2241,6 +2235,7 @@ break;

} } + sendConfigureNotify(send_notify); }

@@ -3270,7 +3265,7 @@ frame().clientArea().width(),

frame().clientArea().height()); } -void FluxboxWindow::sendConfigureNotify() { +void FluxboxWindow::sendConfigureNotify(bool send_to_netizens) { ClientList::iterator client_it = m_clientlist.begin(); ClientList::iterator client_it_end = m_clientlist.end(); for (; client_it != client_it_end; ++client_it) {

@@ -3301,7 +3296,10 @@ event.xconfigure.border_width = client.old_bw;

event.xconfigure.above = frame().window().window(); event.xconfigure.override_redirect = false; - screen().updateNetizenConfigNotify(event); + XSendEvent(display, client.window(), False, StructureNotifyMask, &event); + + if (send_to_netizens) + screen().updateNetizenConfigNotify(event); } // end for }
M src/Window.hhsrc/Window.hh

@@ -22,7 +22,7 @@ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING

// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER // DEALINGS IN THE SOFTWARE. -// $Id: Window.hh,v 1.83 2003/07/10 11:32:57 fluxgen Exp $ +// $Id: Window.hh,v 1.84 2003/07/17 17:56:28 rathnor Exp $ #ifndef WINDOW_HH #define WINDOW_HH

@@ -386,7 +386,7 @@ void right_fixsize(int *x = 0, int *y = 0);

void left_fixsize(int *x = 0, int *y = 0); void resizeClient(WinClient &client, unsigned int width, unsigned int height); /// sends configurenotify to all clients - void sendConfigureNotify(); + void sendConfigureNotify(bool send_to_netizens = true); // state and hint signals WinSubject m_hintsig, m_statesig, m_layersig, m_workspacesig, m_diesig;