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:
parent
da1afd9bc2
commit
ea07625303
5 changed files with 28 additions and 17 deletions
6
BUGS
6
BUGS
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
Loading…
Reference in a new issue