discomfitor pushed a commit to branch master.
commit fce97f9d46c94dcea18f54a1ed3917d0dbd82165
Author: Mike Blumenkrantz <[email protected]>
Date: Thu May 30 11:23:48 2013 +0100
add new border hack for qemu sdl window shading
---
src/bin/e_border.c | 8 ++++++++
src/bin/e_border.h | 1 +
src/bin/e_hints.c | 4 ++++
3 files changed, 13 insertions(+)
diff --git a/src/bin/e_border.c b/src/bin/e_border.c
index bfbcf3d..09ecdc7 100644
--- a/src/bin/e_border.c
+++ b/src/bin/e_border.c
@@ -7121,6 +7121,10 @@ _e_border_eval0(E_Border *bd)
eina_stringshare_replace(&bd->client.netwm.name, name);
free(name);
+ bd->client.hacks.iconic_shading =
+ ((bd->client.netwm.icon_name == bd->client.netwm.name) &&
+ (!e_util_strcmp(bd->client.netwm.name, "QEMU")));
+
if (bd->bg_object)
edje_object_part_text_set(bd->bg_object, "e.text.title",
bd->client.netwm.name);
@@ -7473,6 +7477,10 @@ _e_border_eval0(E_Border *bd)
eina_stringshare_replace(&bd->client.icccm.icon_name, icon_name);
free(icon_name);
+ bd->client.hacks.iconic_shading =
+ ((bd->client.netwm.icon_name == bd->client.netwm.name) &&
+ (!e_util_strcmp(bd->client.netwm.icon_name, "QEMU")));
+
bd->client.icccm.fetch.icon_name = 0;
rem_change = 1;
}
diff --git a/src/bin/e_border.h b/src/bin/e_border.h
index e1aea39..b827926 100644
--- a/src/bin/e_border.h
+++ b/src/bin/e_border.h
@@ -202,6 +202,7 @@ struct _E_Border
struct
{
Eina_Bool mapping_change : 1;
+ Eina_Bool iconic_shading : 1;
} hacks;
struct
diff --git a/src/bin/e_hints.c b/src/bin/e_hints.c
index 10d43a6..cf85e94 100644
--- a/src/bin/e_hints.c
+++ b/src/bin/e_hints.c
@@ -1237,12 +1237,16 @@ e_hints_window_shaded_set(E_Border *bd,
{
bd->client.netwm.update.state = 1;
bd->client.netwm.state.shaded = 1;
+ if (bd->client.hacks.iconic_shading)
+ e_hints_window_iconic_set(bd);
bd->changed = 1;
}
else if ((bd->client.netwm.state.shaded) && (!on))
{
bd->client.netwm.update.state = 1;
bd->client.netwm.state.shaded = 0;
+ if (bd->client.hacks.iconic_shading)
+ e_hints_window_visible_set(bd);
bd->changed = 1;
}
_e_hints_process_wakeup(bd);
--
------------------------------------------------------------------------------
Introducing AppDynamics Lite, a free troubleshooting tool for Java/.NET
Get 100% visibility into your production application - at no cost.
Code-level diagnostics for performance bottlenecks with <2% overhead
Download for free and get started troubleshooting in minutes.
http://p.sf.net/sfu/appdyn_d2d_ap1