add new border hack for qemu sdl window shading

This commit is contained in:
Mike Blumenkrantz 2013-05-30 11:23:48 +01:00
parent d95369726b
commit fce97f9d46
3 changed files with 13 additions and 0 deletions

View File

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

View File

@ -202,6 +202,7 @@ struct _E_Border
struct
{
Eina_Bool mapping_change : 1;
Eina_Bool iconic_shading : 1;
} hacks;
struct

View File

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