fix kde/qt iconic startup bug

SVN revision: 23505
This commit is contained in:
Carsten Haitzler 2006-06-19 19:29:31 +00:00
parent c025903109
commit 0d4723e3b7
4 changed files with 48 additions and 25 deletions

6
TODO
View File

@ -20,12 +20,10 @@ Some of the things (in very short form) that need to be done to E17...
* BUG: change exe name in basic mode in eap editor and icon vanishes (don't * BUG: change exe name in basic mode in eap editor and icon vanishes (don't
extract existing icon and write out to tmp .png while rebuilding). extract existing icon and write out to tmp .png while rebuilding).
* BUG: resolution (xrandr) changes seem to screw the shelf up a bit. * BUG: resolution (xrandr) changes seem to screw the shelf up a bit.
* BUG: openoffice2's impress presentation fullscreen has sizing and
configuration issues.
* BUG: ghost windows happen if windows close when on another desktop or if * BUG: ghost windows happen if windows close when on another desktop or if
windows are very short-lived windows are very short-lived
* BUG: k3b has minimization issues when burning cds (it tries to unminimize * BUG: openoffice 2's impress presentation fullscreen has sizing and
its window and this doesn't work) configuration issues.
* BUG: openoffice 2 when displaying a presentation with xinerama (multiple * BUG: openoffice 2 when displaying a presentation with xinerama (multiple
zones) weird things happen (the presentation doesnt display - it seemingly zones) weird things happen (the presentation doesnt display - it seemingly
attaches to the 2nd zone, not the first), crashes have been reported too. attaches to the 2nd zone, not the first), crashes have been reported too.

View File

@ -4797,38 +4797,69 @@ group {
} }
parts { parts {
part { part {
name: "pixel"; name: "pixel1";
type: RECT; type: RECT;
description { description {
state: "default" 0.0; state: "default" 0.0;
visible: 1;
rel1 { rel1 {
relative: 0.0 0.0; relative: 0.0 0.0;
offset: 0 0; offset: 0 0;
} }
rel2 { rel2 {
relative: 1.0 1.0; relative: 1.0 0.0;
offset: -1 -1; offset: -1 0;
} }
color: 0 0 0 255; color: 0 0 0 255;
} }
} }
part { part {
name: "whole"; name: "pixel2";
type: RECT; type: RECT;
description { description {
state: "default" 0.0; state: "default" 0.0;
visible: 0;
rel1 { rel1 {
relative: 0.0 0.0; relative: 0.0 1.0;
offset: 0 0; offset: 0 -1;
} }
rel2 { rel2 {
relative: 1.0 1.0; relative: 1.0 1.0;
offset: -1 -1; offset: -1 -1;
} }
color: 0 0 0 255;
} }
} }
part {
name: "pixel3";
type: RECT;
description {
state: "default" 0.0;
rel1 {
relative: 0.0 0.0;
offset: 0 1;
}
rel2 {
relative: 0.0 1.0;
offset: 0 -2;
}
color: 0 0 0 255;
}
}
part {
name: "pixel4";
type: RECT;
description {
state: "default" 0.0;
rel1 {
relative: 1.0 0.0;
offset: -1 1;
}
rel2 {
relative: 1.0 1.0;
offset: -1 -2;
}
color: 0 0 0 255;
}
}
part { part {
name: "client"; name: "client";
type: SWALLOW; type: SWALLOW;
@ -4837,13 +4868,10 @@ group {
rel1 { rel1 {
relative: 0.0 0.0; relative: 0.0 0.0;
offset: 1 1; offset: 1 1;
to: "pixel";
} }
rel2 { rel2 {
relative: 1.0 1.0; relative: 1.0 1.0;
offset: -2 -2; offset: -2 -2;
to: "pixel";
} }
} }
} }

View File

@ -703,10 +703,7 @@ e_border_hide(E_Border *bd, int manage)
} }
e_container_shape_hide(bd->shape); e_container_shape_hide(bd->shape);
/* FIXME: If the client unmaps itself, the border should be if (!bd->iconic) e_hints_window_hidden_set(bd);
* withdrawn, not iconic */
if (!bd->iconic)
e_hints_window_hidden_set(bd);
bd->visible = 0; bd->visible = 0;
bd->changes.visible = 1; bd->changes.visible = 1;

View File

@ -1040,10 +1040,10 @@ e_hints_window_iconic_set(E_Border *bd)
EAPI void EAPI void
e_hints_window_hidden_set(E_Border *bd) e_hints_window_hidden_set(E_Border *bd)
{ {
if (bd->client.icccm.state != ECORE_X_WINDOW_STATE_HINT_ICONIC) if (bd->client.icccm.state != ECORE_X_WINDOW_STATE_HINT_WITHDRAWN)
{ {
ecore_x_icccm_state_set(bd->client.win, ECORE_X_WINDOW_STATE_HINT_ICONIC); ecore_x_icccm_state_set(bd->client.win, ECORE_X_WINDOW_STATE_HINT_WITHDRAWN);
bd->client.icccm.state = ECORE_X_WINDOW_STATE_HINT_ICONIC; bd->client.icccm.state = ECORE_X_WINDOW_STATE_HINT_WITHDRAWN;
} }
if (bd->client.netwm.state.hidden) if (bd->client.netwm.state.hidden)
{ {