From 81284ea9a3e841cd11be0546a28adb48ca981fa8 Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Tue, 14 Jun 2005 14:33:47 +0000 Subject: [PATCH] current winlist todo is done... SVN revision: 15320 --- TODO | 2 -- data/themes/default_winlist.edc | 57 +++++++++++++++++++++++++++++++-- src/bin/e_winlist.c | 14 +++++++- 3 files changed, 68 insertions(+), 5 deletions(-) diff --git a/TODO b/TODO index 471e40488..246f545ac 100644 --- a/TODO +++ b/TODO @@ -58,8 +58,6 @@ These are in no particular order: * maximised apps when e restarts * actions to make current zone different (warp mouse to there) * actions to make the current container different -* winlist - add state/signal and gfx for wins that are iconified -* winlist - add state/signal and gfx for wins that are on another desk/screen * coudl speedup dropshadow's gaussian blurr with mmx and sse by doign 2 or 4 rows at once * make it easy for moduels to hook into ipc and extend it for themselves * check evas has eet support early on. diff --git a/data/themes/default_winlist.edc b/data/themes/default_winlist.edc index 3dce554ed..11bff457f 100644 --- a/data/themes/default_winlist.edc +++ b/data/themes/default_winlist.edc @@ -5,6 +5,8 @@ images { image: "e17_ibar_bg_h.png" COMP; image: "e17_ibar_over_v.png" COMP; image: "e17_gadman_overlay.png" COMP; + image: "e17_pager_window.png" COMP; + image: "e17_pager_desk.png" COMP; } group { @@ -291,8 +293,9 @@ group { to_x: "icon_swallow"; } rel2 { - relative: 1.0 1.0; + relative: 0.0 1.0; offset: -1 -1; + to_x: "type"; } image { normal: "e17_titlebar_outline.png"; @@ -485,8 +488,9 @@ group { to_x: "icon_swallow"; } rel2 { - relative: 1.0 1.0; + relative: 0.0 1.0; offset: -8 -6; + to_x: "type"; } color: 0 0 0 255; color3: 255 255 255 128; @@ -685,8 +689,57 @@ group { } } } + part { + name: "type"; + description { + state: "default" 0.0; + aspect: 1.0 1.0; + align: 1.0 0.5; + aspect_preference: VERTICAL; + rel1 { + relative: 1.0 0.0; + offset: -1 1; + } + rel2 { + relative: 1.0 1.0; + offset: -1 4; + to_y: "title2"; + } + image { + normal: "e17_pager_window.png"; + border: 6 13 7 5; + } + } + description { + state: "iconified" 0.0; + inherit: "default" 0.0; + visible: 0; + } + description { + state: "invisible" 0.0; + inherit: "default" 0.0; + image { + normal: "e17_pager_desk.png"; + border: 2 2 2 2; + } + } + } } programs { + program { + name: "type1"; + signal: "iconified"; + source: ""; + action: STATE_SET "iconified" 0.0; + target: "type"; + } + program { + name: "type2"; + signal: "invisible"; + source: ""; + action: STATE_SET "invisible" 0.0; + target: "type"; + } program { name: "go_active_pre"; signal: "active"; diff --git a/src/bin/e_winlist.c b/src/bin/e_winlist.c index a0c3d8c18..1526b7400 100644 --- a/src/bin/e_winlist.c +++ b/src/bin/e_winlist.c @@ -339,7 +339,7 @@ _e_winlist_border_add(E_Border *bd, E_Zone *zone, E_Desk *desk) { if (bd->sticky) { - if ((bd->zone) && (bd->zone != zone) && + if ((bd->zone != zone) && (!e_config->winlist_list_show_other_screen_windows)) ok = 0; } else @@ -378,6 +378,18 @@ _e_winlist_border_add(E_Border *bd, E_Zone *zone, E_Desk *desk) edje_object_part_swallow(ww->bg_object, "icon_swallow", o); evas_object_show(o); } + if (bd->iconic) + { + edje_object_signal_emit(ww->bg_object, "iconified", ""); + } + else if (bd->desk != desk) + { + if (!((bd->sticky) && (bd->zone == zone))) + { + edje_object_signal_emit(ww->bg_object, "invisible", ""); + } + } + edje_object_size_min_calc(ww->bg_object, &mw, &mh); e_box_pack_end(list_object, ww->bg_object); e_box_pack_options_set(ww->bg_object,