fix java bug (wasn't sending ConfigureNotify events in response to

ConfigureRequests). Also fix no border on transients and some
initial gnome atom values.
This commit is contained in:
rathnor 2003-07-17 17:56:28 +00:00
parent da1afd9bc2
commit ea07625303
5 changed files with 28 additions and 17 deletions

6
BUGS
View file

@ -22,8 +22,6 @@ BUGS:
* 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 @@ Fixed bugs (or not-our-fault bugs):
* 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

View file

@ -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

View file

@ -19,7 +19,7 @@
// 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 @@ void Gnome::setupFrame(FluxboxWindow &win) {
flags = *data;
setState(&win, flags);
XFree (data);
} else {
updateState(win);
}
// load gnome layer atom
@ -109,6 +111,8 @@ void Gnome::setupFrame(FluxboxWindow &win) {
flags = *data;
setLayer(&win, flags);
XFree (data);
} else {
updateLayer(win);
}
// load gnome workspace atom
@ -120,6 +124,8 @@ void Gnome::setupFrame(FluxboxWindow &win) {
if (win.workspaceNumber() != workspace_num)
win.screen().reassociateWindow(&win, workspace_num, false);
XFree (data);
} else {
updateWorkspace(win);
}
}

View file

@ -22,7 +22,7 @@
// 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 @@ void FluxboxWindow::init() {
// 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::handleEvent(XEvent &event) {
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
@ -2032,9 +2032,6 @@ void FluxboxWindow::mapNotifyEvent(XMapEvent &ne) {
else
setFocusFlag(false);
if (focused)
frame().setFocus(true);
iconic = false;
// Auto-group from tab?
@ -2208,7 +2205,7 @@ void FluxboxWindow::configureRequestEvent(XConfigureRequestEvent &cr) {
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 @@ void FluxboxWindow::configureRequestEvent(XConfigureRequestEvent &cr) {
send_notify = false;
}
if (send_notify)
sendConfigureNotify();
if (cr.value_mask & CWStackMode) {
switch (cr.detail) {
case Above:
@ -2241,6 +2235,7 @@ void FluxboxWindow::configureRequestEvent(XConfigureRequestEvent &cr) {
}
}
sendConfigureNotify(send_notify);
}
@ -3270,7 +3265,7 @@ void FluxboxWindow::resizeClient(WinClient &client,
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 @@ void FluxboxWindow::sendConfigureNotify() {
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
}

View file

@ -22,7 +22,7 @@
// 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 @@ private:
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;