From 0d4723e3b7fbd6c0b01a28b928f64194bca54d37 Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Mon, 19 Jun 2006 19:29:31 +0000 Subject: [PATCH] fix kde/qt iconic startup bug SVN revision: 23505 --- TODO | 6 ++-- data/themes/default_border.edc | 56 +++++++++++++++++++++++++--------- src/bin/e_border.c | 5 +-- src/bin/e_hints.c | 6 ++-- 4 files changed, 48 insertions(+), 25 deletions(-) diff --git a/TODO b/TODO index 2909921e7..e52b32c1e 100644 --- a/TODO +++ b/TODO @@ -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 extract existing icon and write out to tmp .png while rebuilding). * 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 windows are very short-lived -* BUG: k3b has minimization issues when burning cds (it tries to unminimize - its window and this doesn't work) +* BUG: openoffice 2's impress presentation fullscreen has sizing and + configuration issues. * BUG: openoffice 2 when displaying a presentation with xinerama (multiple zones) weird things happen (the presentation doesnt display - it seemingly attaches to the 2nd zone, not the first), crashes have been reported too. diff --git a/data/themes/default_border.edc b/data/themes/default_border.edc index 0ace61097..d882614fb 100644 --- a/data/themes/default_border.edc +++ b/data/themes/default_border.edc @@ -4797,38 +4797,69 @@ group { } parts { part { - name: "pixel"; + name: "pixel1"; type: RECT; description { state: "default" 0.0; - visible: 1; rel1 { relative: 0.0 0.0; offset: 0 0; } rel2 { - relative: 1.0 1.0; - offset: -1 -1; + relative: 1.0 0.0; + offset: -1 0; } - color: 0 0 0 255; + color: 0 0 0 255; } - } + } part { - name: "whole"; + name: "pixel2"; type: RECT; description { state: "default" 0.0; - visible: 0; rel1 { - relative: 0.0 0.0; - offset: 0 0; + relative: 0.0 1.0; + offset: 0 -1; } rel2 { relative: 1.0 1.0; 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 { name: "client"; type: SWALLOW; @@ -4837,13 +4868,10 @@ group { rel1 { relative: 0.0 0.0; offset: 1 1; - to: "pixel"; - } rel2 { relative: 1.0 1.0; offset: -2 -2; - to: "pixel"; } } } diff --git a/src/bin/e_border.c b/src/bin/e_border.c index 21053e8ec..4393d7945 100644 --- a/src/bin/e_border.c +++ b/src/bin/e_border.c @@ -703,10 +703,7 @@ e_border_hide(E_Border *bd, int manage) } e_container_shape_hide(bd->shape); - /* FIXME: If the client unmaps itself, the border should be - * withdrawn, not iconic */ - if (!bd->iconic) - e_hints_window_hidden_set(bd); + if (!bd->iconic) e_hints_window_hidden_set(bd); bd->visible = 0; bd->changes.visible = 1; diff --git a/src/bin/e_hints.c b/src/bin/e_hints.c index 68a6a315b..648140c2d 100644 --- a/src/bin/e_hints.c +++ b/src/bin/e_hints.c @@ -1040,10 +1040,10 @@ e_hints_window_iconic_set(E_Border *bd) EAPI void 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); - bd->client.icccm.state = 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_WITHDRAWN; } if (bd->client.netwm.state.hidden) {