comp module... oh so much has been done... whhere do i begin? - fully fledges

edje obj swallowing windows, selection mechanism to have myltiple styles (2
examples), signals for focus, urgent, comp stuff now in core theme.... dump
and flush supported now (sends messages).



SVN revision: 47950
This commit is contained in:
Carsten Haitzler 2010-04-12 08:28:51 +00:00
parent 8eea301bf5
commit 48fbad5d6b
12 changed files with 696 additions and 191 deletions

View File

@ -35026,5 +35026,357 @@ collections {
}
}
}
/////////////////////////////////////////////////////////////////////////////
/*** MOD: COMP ***/
group { name: "e/comp/default";
images {
image: "comp-sh1.png" COMP;
image: "bt_glow.png" COMP;
}
parts {
part { name: "clipper";
type: RECT;
mouse_events: 0;
description { state: "default" 0.0;
visible: 0;
color: 255 255 255 0;
rel1 {
relative: -1.0 -1.0;
offset: -9999 -9999;
}
rel2 {
relative: 2.0 2.0;
offset: 9999 9999;
}
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
color: 255 255 255 255;
}
}
part { name: "shadow";
mouse_events: 0;
clip_to: "clipper";
description { state: "default" 0.0;
image {
normal: "comp-sh1.png";
border: 18 18 18 18;
middle: 0;
}
fill.smooth: 0;
rel1 {
to: "e.swallow.content";
relative: 0.0 0.0;
offset: -16 -14;
}
rel2 {
to: "e.swallow.content";
relative: 1.0 1.0;
offset: 15 17;
}
}
description { state: "hidden" 0.0;
inherit: "default" 0.0;
visible: 0;
}
}
part { name: "shower";
type: RECT;
mouse_events: 0;
description { state: "default" 0.0;
visible: 0;
rel1 {
relative: 0.05 0.05;
offset: 0 0;
}
rel2 {
relative: 0.95 0.95;
offset: -1 -1;
}
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
rel1 {
relative: 0.0 0.0;
}
rel2 {
relative: 1.0 1.0;
}
}
}
part { name: "e.swallow.content";
type: SWALLOW;
clip_to: "clipper";
mouse_events: 0;
description { state: "default" 0.0;
rel1 {
to: "shower";
}
rel2 {
to: "shower";
}
}
description { state: "focus1" 0.0;
inherit: "default" 0.0;
rel1.offset: -10 -10;
rel2.offset: 9 9;
}
description { state: "focus2" 0.0;
inherit: "default" 0.0;
rel1.offset: 4 4;
rel2.offset: -5 -5;
}
description { state: "focus3" 0.0;
inherit: "default" 0.0;
rel1.offset: -3 -3;
rel2.offset: 2 2;
}
description { state: "focus4" 0.0;
inherit: "default" 0.0;
rel1.offset: 1 1;
rel2.offset: -2 -2;
}
}
part { name: "glow";
mouse_events: 0;
description { state: "default" 0.0;
visible: 0;
rel1.to: "e.swallow.content";
rel1.offset: -3 -3;
rel2.to: "e.swallow.content";
rel2.offset: 2 2;
color: 255 255 255 0;
image {
normal: "bt_glow.png";
border: 8 8 8 8;
middle: 0;
}
fill.smooth: 0;
}
description { state: "active" 0.0;
inherit: "default" 0.0;
visible: 1;
color: 255 255 255 255;
}
description { state: "faded" 0.0;
inherit: "default" 0.0;
visible: 1;
color: 255 255 255 0;
rel1.offset: -23 -22;
rel2.offset: 22 22;
}
}
}
programs {
program { name: "shadow-on";
signal: "e,state,shadow,on";
source: "e";
action: STATE_SET "default" 0.0;
target: "shadow";
}
program { name: "shadow-off";
signal: "e,state,shadow,off";
source: "e";
action: STATE_SET "hidden" 0.0;
target: "shadow";
}
program { name: "show1";
signal: "e,state,visible,on";
source: "e";
action: STATE_SET "visible" 0.0;
transition: DECELERATE 0.15;
target: "clipper";
target: "shower";
after: "show2";
}
program { name: "show2";
action: SIGNAL_EMIT "e,action,show,done" "e";
}
program { name: "hide1";
signal: "e,state,visible,off";
source: "e";
action: STATE_SET "default" 0.0;
transition: DECELERATE 0.30;
target: "clipper";
target: "shower";
after: "hide2";
}
program { name: "hide2";
action: SIGNAL_EMIT "e,action,hide,done" "e";
}
program { name: "focus1";
signal: "e,state,focus,on";
source: "e";
action: STATE_SET "focus1" 0.0;
transition: SINUSOIDAL 0.1;
target: "e.swallow.content";
after: "focus2";
}
program { name: "focus2";
action: STATE_SET "focus2" 0.0;
transition: SINUSOIDAL 0.1;
target: "e.swallow.content";
after: "focus3";
}
program { name: "focus3";
action: STATE_SET "focus3" 0.0;
transition: SINUSOIDAL 0.1;
target: "e.swallow.content";
after: "focus4";
}
program { name: "focus4";
action: STATE_SET "focus4" 0.0;
transition: SINUSOIDAL 0.1;
target: "e.swallow.content";
after: "focus5";
}
program { name: "focus5";
action: STATE_SET "default" 0.0;
transition: SINUSOIDAL 0.1;
target: "e.swallow.content";
}
program { name: "urgent-on";
signal: "e,state,urgent,on";
source: "e";
action: STATE_SET "active" 0.0;
target: "glow";
after: "urgent2";
}
program { name: "urgent2";
action: STATE_SET "faded" 0.0;
transition: DECELERATE 0.5;
target: "glow";
after: "urgent-on";
}
program { name: "urgent-off";
signal: "e,state,urgent,off";
source: "e";
action: STATE_SET "default" 0.0;
target: "glow";
}
}
}
//----
group { name: "e/comp/slow";
images {
image: "comp-sh1.png" COMP;
}
parts {
part { name: "clipper";
type: RECT;
mouse_events: 0;
description { state: "default" 0.0;
visible: 0;
color: 255 255 255 0;
rel1 {
relative: -1.0 -1.0;
offset: -9999 -9999;
}
rel2 {
relative: 2.0 2.0;
offset: 9999 9999;
}
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
color: 255 255 255 255;
}
}
part { name: "shadow";
mouse_events: 0;
clip_to: "clipper";
description { state: "default" 0.0;
image {
normal: "comp-sh1.png";
border: 18 18 18 18;
middle: 0;
}
fill {
smooth: 0;
}
rel1 {
to: "e.swallow.content";
relative: 0.0 0.0;
offset: -16 -14;
}
rel2 {
to: "e.swallow.content";
relative: 1.0 1.0;
offset: 15 17;
}
}
description { state: "hidden" 0.0;
inherit: "default" 0.0;
visible: 0;
}
}
part { name: "e.swallow.content";
type: SWALLOW;
clip_to: "clipper";
mouse_events: 0;
description { state: "default" 0.0;
rel1 {
relative: 0.05 0.05;
offset: 0 0;
}
rel2 {
relative: 0.95 0.95;
offset: -1 -1;
}
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
rel1 {
relative: 0.0 0.0;
}
rel2 {
relative: 1.0 1.0;
}
}
}
}
programs {
program { name: "shadow-on";
signal: "e,state,shadow,on";
source: "e";
action: STATE_SET "default" 0.0;
target: "shadow";
}
program { name: "shadow-off";
signal: "e,state,shadow,off";
source: "e";
action: STATE_SET "hidden" 0.0;
target: "shadow";
}
program { name: "show1";
signal: "e,state,visible,on";
source: "e";
action: STATE_SET "visible" 0.0;
transition: DECELERATE 0.4;
target: "clipper";
target: "e.swallow.content";
after: "show2";
}
program { name: "show2";
action: SIGNAL_EMIT "e,action,show,done" "e";
}
program { name: "hide1";
signal: "e,state,visible,off";
source: "e";
action: STATE_SET "default" 0.0;
transition: DECELERATE 0.8;
target: "clipper";
target: "e.swallow.content";
after: "hide2";
}
program { name: "hide2";
action: SIGNAL_EMIT "e,action,hide,done" "e";
}
}
}
}

View File

@ -425,4 +425,5 @@ connman-wifi-bad.png \
connman-connecting-1.png \
connman-connecting-2.png \
connman-connecting-3.png \
connman-connecting-4.png
connman-connecting-4.png \
comp-sh1.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 554 B

After

Width:  |  Height:  |  Size: 629 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -28,6 +28,7 @@ static Eina_List *categories = NULL;
static Eina_List *transitions = NULL;
static Eina_List *borders = NULL;
static Eina_List *shelfs = NULL;
static Eina_List *comps = NULL;
static E_Fm2_Mime_Handler *theme_hdl = NULL;
/* externally accessible functions */
@ -61,8 +62,8 @@ e_theme_init(void)
transitions = _e_theme_collection_items_find("base/theme/transitions", "e/transitions");
borders = _e_theme_collection_items_find("base/theme/borders", "e/widgets/border");
shelfs = _e_theme_collection_items_find("base/theme/shelf", "e/shelf");
if (!mappings)
mappings = eina_hash_string_superfast_new(NULL);
comps = _e_theme_collection_items_find("base/theme/borders", "e/comp");
if (!mappings) mappings = eina_hash_string_superfast_new(NULL);
group_cache = eina_hash_string_superfast_new(NULL);
return 1;
@ -97,6 +98,8 @@ e_theme_shutdown(void)
eina_stringshare_del(str);
EINA_LIST_FREE(shelfs, str)
eina_stringshare_del(str);
EINA_LIST_FREE(comps, str)
eina_stringshare_del(str);
return 1;
}
@ -444,6 +447,20 @@ e_theme_shelf_list(void)
return shelfs;
}
EAPI int
e_theme_comp_find(const char *comp)
{
if (eina_list_search_sorted(comps, EINA_COMPARE_CB(strcmp), comp))
return 1;
return 0;
}
EAPI Eina_List *
e_theme_comp_list(void)
{
return comps;
}
EAPI void
e_theme_handler_set(Evas_Object *obj, const char *path, void *data)
{

View File

@ -26,6 +26,8 @@ EAPI int e_theme_border_find(const char *border);
EAPI Eina_List *e_theme_border_list(void);
EAPI int e_theme_shelf_find(const char *shelf);
EAPI Eina_List *e_theme_shelf_list(void);
EAPI int e_theme_comp_find(const char *shelf);
EAPI Eina_List *e_theme_comp_list(void);
EAPI void e_theme_handler_set(Evas_Object *obj, const char *path, void *data);
EAPI int e_theme_handler_test(Evas_Object *obj, const char *path, void *data);

View File

@ -14,7 +14,7 @@
// 3. for unmapped windows - when window goes out of unmapped comp cache
// make a miniature copy (1/4 width+height?) and set property on window
// with pixmap id
// 8. transparenty property
// 8. obey transparent property
// 9. shortcut lots of stuff to draw inside the compositor - shelf,
// wallpaper, efm - hell even menus and anything else in e (this is what
// e18 was mostly about)
@ -33,6 +33,7 @@ struct _E_Comp
Eina_List *updates;
Ecore_Animator *render_animator;
Ecore_Job *update_job;
int animating;
int render_overflow;
Eina_Bool gl : 1;
@ -470,6 +471,8 @@ _e_mod_comp_win_update(E_Comp_Win *cw)
{
evas_object_show(cw->shobj);
edje_object_signal_emit(cw->shobj, "e,state,visible,on", "e");
if (!cw->animating) cw->c->animating++;
_e_mod_comp_win_render_queue(cw);
cw->animating = 1;
}
}
@ -556,7 +559,7 @@ _e_mod_comp_cb_update(E_Comp *c)
}
if (new_updates) _e_mod_comp_render_queue(c);
c->updates = new_updates;
c->render_overflow--;
if (!c->animating) c->render_overflow--;
if (doframeinfo == -1)
{
@ -874,7 +877,9 @@ _e_mod_comp_object_del(void *data, void *obj)
static void
_e_mod_comp_done_defer(E_Comp_Win *cw)
{
if (cw->animating) cw->c->animating--;
cw->animating = 0;
_e_mod_comp_win_render_queue(cw);
cw->force = 1;
if (cw->defer_hide) _e_mod_comp_win_hide(cw);
cw->force = 1;
@ -918,6 +923,51 @@ _e_mod_comp_win_sync_setup(E_Comp_Win *cw, Ecore_X_Window win)
}
}
static void
_e_mod_comp_win_shadow_setup(E_Comp_Win *cw)
{
int ok = 0;
char buf[PATH_MAX];
evas_object_image_smooth_scale_set(cw->obj, _comp_mod->conf->smooth_windows);
// use different shadow objects/group per window type?
if (_comp_mod->conf->shadow_file)
ok = edje_object_file_set(cw->shobj, _comp_mod->conf->shadow_file,
"shadow");
if (!ok)
{
if (_comp_mod->conf->shadow_style)
{
snprintf(buf, sizeof(buf), "e/comp/%s",
_comp_mod->conf->shadow_style);
ok = e_theme_edje_object_set(cw->shobj, "base/theme/borders",
buf);
}
if (!ok)
ok = e_theme_edje_object_set(cw->shobj, "base/theme/borders",
"e/comp/default");
}
if (!ok) // fallback to local shadow.edj - will go when default theme supports this
{
snprintf(buf, sizeof(buf), "%s/shadow.edj",
e_module_dir_get(_comp_mod->module));
ok = edje_object_file_set(cw->shobj, buf, "shadow");
}
edje_object_part_swallow(cw->shobj, "e.swallow.content", cw->obj);
if (_comp_mod->conf->use_shadow)
{
if (_e_mod_comp_win_do_shadow(cw))
edje_object_signal_emit(cw->shobj, "e,state,shadow,on", "e");
}
if (cw->bd)
{
if (cw->bd->focused)
edje_object_signal_emit(cw->shobj, "e,state,focus,on", "e");
if (cw->bd->client.icccm.urgent)
edje_object_signal_emit(cw->shobj, "e,state,urgent,on", "e");
}
}
static E_Comp_Win *
_e_mod_comp_win_add(E_Comp *c, Ecore_X_Window win)
{
@ -975,46 +1025,24 @@ _e_mod_comp_win_add(E_Comp *c, Ecore_X_Window win)
if ((!cw->input_only) && (!cw->invalid))
{
Ecore_X_Rectangle *rects;
int num, ok = 0;
char buf[PATH_MAX];
int num;
cw->damage = ecore_x_damage_new
(cw->win, ECORE_X_DAMAGE_REPORT_DELTA_RECTANGLES);
eina_hash_add(damages, e_util_winid_str_get(cw->damage), cw);
cw->shobj = edje_object_add(c->evas);
// use different shadow objects/group per window type?
// fimxe: make shadow object configurable - use theme first
if (_comp_mod->conf->shadow_file)
{
ok = 1;
if (!edje_object_file_set(cw->shobj, _comp_mod->conf->shadow_file,
"shadow"))
ok = 0;
}
if (!ok)
{
ok = 1;
if (!e_theme_edje_object_set(cw->shobj, "base/theme/borders",
"e/shadow/box"))
ok = 0;
}
if (!ok)
{
snprintf(buf, sizeof(buf), "%s/shadow.edj",
e_module_dir_get(_comp_mod->module));
edje_object_file_set(cw->shobj, buf, "shadow");
}
cw->obj = evas_object_image_filled_add(c->evas);
evas_object_image_colorspace_set(cw->obj, EVAS_COLORSPACE_ARGB8888);
if (cw->argb) evas_object_image_alpha_set(cw->obj, 1);
else evas_object_image_alpha_set(cw->obj, 0);
_e_mod_comp_win_shadow_setup(cw);
edje_object_signal_callback_add(cw->shobj, "e,action,show,done", "e",
_e_mod_comp_show_done, cw);
edje_object_signal_callback_add(cw->shobj, "e,action,hide,done", "e",
_e_mod_comp_hide_done, cw);
cw->obj = evas_object_image_filled_add(c->evas);
evas_object_image_smooth_scale_set(cw->obj, 0);
edje_object_part_swallow(cw->shobj, "e.swallow.content", cw->obj);
evas_object_show(cw->obj);
evas_object_image_colorspace_set(cw->obj, EVAS_COLORSPACE_ARGB8888);
if (cw->argb) evas_object_image_alpha_set(cw->obj, 1);
else evas_object_image_alpha_set(cw->obj, 0);
ecore_x_window_shape_events_select(cw->win, 1);
rects = ecore_x_window_shape_rectangles_get(cw->win, &num);
if (rects)
@ -1213,6 +1241,7 @@ _e_mod_comp_win_show(E_Comp_Win *cw)
cw->redirected = 1;
cw->dmg_updates = 0;
}
/* don't need
if ((cw->shobj) && (cw->obj))
{
if (_comp_mod->conf->use_shadow)
@ -1223,12 +1252,15 @@ _e_mod_comp_win_show(E_Comp_Win *cw)
edje_object_signal_emit(cw->shobj, "e,state,shadow,off", "e");
}
}
*/
if (cw->dmg_updates > 0)
{
cw->defer_hide = 0;
evas_object_show(cw->shobj);
edje_object_signal_emit(cw->shobj, "e,state,visible,on", "e");
if (!cw->animating) cw->c->animating++;
cw->animating = 1;
_e_mod_comp_win_render_queue(cw);
}
_e_mod_comp_win_render_queue(cw);
}
@ -1236,8 +1268,7 @@ _e_mod_comp_win_show(E_Comp_Win *cw)
static void
_e_mod_comp_win_hide(E_Comp_Win *cw)
{
if (!cw->visible) return;
cw->defer_hide = 0;
if ((!cw->visible) && (!cw->defer_hide)) return;
cw->visible = 0;
if ((cw->input_only) || (cw->invalid)) return;
DBG(" [0x%x] hid --\n", cw->win);
@ -1250,9 +1281,12 @@ _e_mod_comp_win_hide(E_Comp_Win *cw)
{
cw->defer_hide = 1;
edje_object_signal_emit(cw->shobj, "e,state,visible,off", "e");
if (!cw->animating) cw->c->animating++;
cw->animating = 1;
_e_mod_comp_win_render_queue(cw);
return;
}
cw->defer_hide = 0;
cw->force = 0;
evas_object_hide(cw->shobj);
@ -1302,6 +1336,16 @@ _e_mod_comp_win_hide(E_Comp_Win *cw)
}
cw->dmg_updates = 0;
}
if (_comp_mod->conf->send_flush)
{
if (cw->bd) ecore_x_e_comp_flush_send(cw->bd->client.win);
else ecore_x_e_comp_flush_send(cw->win);
}
if (_comp_mod->conf->send_dump)
{
if (cw->bd) ecore_x_e_comp_dump_send(cw->bd->client.win);
else ecore_x_e_comp_dump_send(cw->win);
}
return;
}
@ -1334,6 +1378,16 @@ _e_mod_comp_win_hide(E_Comp_Win *cw)
cw->ph = 0;
}
_e_mod_comp_win_render_queue(cw);
if (_comp_mod->conf->send_flush)
{
if (cw->bd) ecore_x_e_comp_flush_send(cw->bd->client.win);
else ecore_x_e_comp_flush_send(cw->win);
}
if (_comp_mod->conf->send_dump)
{
if (cw->bd) ecore_x_e_comp_dump_send(cw->bd->client.win);
else ecore_x_e_comp_dump_send(cw->win);
}
}
static void
@ -1389,6 +1443,8 @@ _e_mod_comp_win_configure(E_Comp_Win *cw, int x, int y, int w, int h, int border
evas_object_move(cw->shobj, cw->x, cw->y);
moved = 1;
}
cw->hidden.x = x;
cw->hidden.y = y;
}
if (!((w == cw->w) && (h == cw->h)))
{
@ -1762,7 +1818,10 @@ _e_mod_comp_bd_urgent_change(void *data, int type, void *event)
E_Event_Border_Urgent_Change *ev = event;
E_Comp_Win *cw = _e_mod_comp_win_find(ev->border->win);
if (!cw) return 1;
// fimxe: do special anim to show urgency
if (cw->bd->client.icccm.urgent)
edje_object_signal_emit(cw->shobj, "e,state,urgent,on", "e");
else
edje_object_signal_emit(cw->shobj, "e,state,urgent,off", "e");
return 1;
}
@ -1772,7 +1831,7 @@ _e_mod_comp_bd_focus_in(void *data, int type, void *event)
E_Event_Border_Focus_In *ev = event;
E_Comp_Win *cw = _e_mod_comp_win_find(ev->border->win);
if (!cw) return 1;
// fimxe: can do anim on focus in
edje_object_signal_emit(cw->shobj, "e,state,focus,on", "e");
return 1;
}
@ -1782,7 +1841,7 @@ _e_mod_comp_bd_focus_out(void *data, int type, void *event)
E_Event_Border_Focus_Out *ev = event;
E_Comp_Win *cw = _e_mod_comp_win_find(ev->border->win);
if (!cw) return 1;
// fimxe: can do anim on focus out
edje_object_signal_emit(cw->shobj, "e,state,focus,off", "e");
return 1;
}
@ -1792,7 +1851,7 @@ _e_mod_comp_bd_property(void *data, int type, void *event)
E_Event_Border_Property *ev = event;
E_Comp_Win *cw = _e_mod_comp_win_find(ev->border->win);
if (!cw) return 1;
// fimxe: check properties and adjust things if needed...
// fimxe: other properties?
return 1;
}
@ -1940,7 +1999,9 @@ _e_mod_comp_del(E_Comp *c)
ecore_x_sync_counter_free(cw->counter);
cw->counter = 0;
}
cw->force = 1;
_e_mod_comp_win_hide(cw);
cw->force = 1;
_e_mod_comp_win_del(cw);
}
ecore_evas_free(c->ee);
@ -2038,15 +2099,15 @@ e_mod_comp_shadow_set(void)
{
if ((cw->shobj) && (cw->obj))
{
if (_comp_mod->conf->use_shadow)
_e_mod_comp_win_shadow_setup(cw);
if (cw->visible)
{
if (_e_mod_comp_win_do_shadow(cw))
edje_object_signal_emit(cw->shobj, "e,state,shadow,on", "e");
else
edje_object_signal_emit(cw->shobj, "e,state,shadow,off", "e");
edje_object_signal_emit(cw->shobj, "e,state,visible,on", "e");
if (!cw->animating) cw->c->animating++;
_e_mod_comp_win_render_queue(cw);
cw->animating = 1;
}
else
edje_object_signal_emit(cw->shobj, "e,state,shadow,off", "e");
}
}
}

View File

@ -10,11 +10,18 @@ struct _E_Config_Dialog_Data
int engine;
int indirect;
int texture_from_pixmap;
int lock_fps; //
int smooth_windows;
int lock_fps;
int efl_sync;
int loose_sync;
int grab;
int vsync;
Evas_Object *style_ilist;
Ecore_Timer *style_demo_timer;
Eina_List *style_shadows;
int style_demo_state;
const char *shadow_style;
int keep_unmapped;
int max_unmapped_pixels;
@ -71,11 +78,14 @@ _create_data(E_Config_Dialog *cfd)
cfdata->engine = E_EVAS_ENGINE_SOFTWARE_X11;
cfdata->indirect = _comp_mod->conf->indirect;
cfdata->texture_from_pixmap = _comp_mod->conf->texture_from_pixmap;
// cfdata->lock_fps = _comp_mod->conf->lock_fps;
cfdata->smooth_windows = _comp_mod->conf->smooth_windows;
cfdata->lock_fps = _comp_mod->conf->lock_fps;
cfdata->efl_sync = _comp_mod->conf->efl_sync;
cfdata->loose_sync = _comp_mod->conf->loose_sync;
cfdata->grab = _comp_mod->conf->grab;
cfdata->vsync = _comp_mod->conf->vsync;
if (_comp_mod->conf->shadow_style)
cfdata->shadow_style = eina_stringshare_add(_comp_mod->conf->shadow_style);
cfdata->keep_unmapped = _comp_mod->conf->keep_unmapped;
cfdata->max_unmapped_pixels = _comp_mod->conf->max_unmapped_pixels;
@ -91,25 +101,132 @@ static void
_free_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
{
_comp_mod->config_dialog = NULL;
if (cfdata->shadow_style) eina_stringshare_del(cfdata->shadow_style);
if (cfdata->style_demo_timer) ecore_timer_del(cfdata->style_demo_timer);
if (cfdata->style_shadows) eina_list_free(cfdata->style_shadows);
free(cfdata);
}
static int
_demo_styles(void *data)
{
E_Config_Dialog_Data *cfdata = data;
Eina_List *l;
Evas_Object *ob;
if (cfdata->style_demo_state) cfdata->style_demo_state = 0;
else cfdata->style_demo_state = 1;
EINA_LIST_FOREACH(cfdata->style_shadows, l, ob)
{
if (cfdata->style_demo_state)
edje_object_signal_emit(ob, "e,state,visible,on", "e");
else
edje_object_signal_emit(ob, "e,state,visible,off", "e");
}
return 1;
}
static void
_shadow_changed(void *data, Evas_Object *obj, void *event_info)
{
E_Config_Dialog_Data *cfdata = data;
Eina_List *l;
Evas_Object *ob;
EINA_LIST_FOREACH(cfdata->style_shadows, l, ob)
{
if (cfdata->use_shadow)
edje_object_signal_emit(ob, "e,state,shadow,on", "e");
else
edje_object_signal_emit(ob, "e,state,shadow,off", "e");
}
}
static Evas_Object *
_basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata)
{
Evas_Object *ob, *ol, *ol2, *of, *otb;
Evas_Object *ob, *ol, *ol2, *of, *otb, *oi, *oly, *oo, *obd, *orec;
E_Radio_Group *rg;
Eina_List *styles, *l;
char *style;
int n, sel;
Evas_Coord wmw, wmh;
otb = e_widget_toolbook_add(evas, 48 * e_scale, 48 * e_scale);
///////////////////////////////////////////
ol = e_widget_list_add(evas, 0, 0);
ob = e_widget_check_add(evas, _("Shadows"), &(cfdata->use_shadow));
e_widget_list_object_append(ol, ob, 1, 1, 0.5);
// ob = e_widget_check_add(evas, _("Limit framerate"), &(cfdata->lock_fps));
// e_widget_list_object_append(ol, ob, 1, 1, 0.5);
// FIXME: ability to choose "shadow" edje file
e_widget_toolbook_page_append(otb, NULL, _("Effects"), ol, 0, 0, 0, 0, 0.5, 0.0);
evas_object_smart_callback_add(ob, "changed", _shadow_changed, cfdata);
e_widget_list_object_append(ol, ob, 1, 0, 0.5);
ob = e_widget_check_add(evas, _("Limit framerate"), &(cfdata->lock_fps));
e_widget_list_object_append(ol, ob, 1, 0, 0.5);
ob = e_widget_check_add(evas, _("Smooth scaling"), &(cfdata->smooth_windows));
e_widget_list_object_append(ol, ob, 1, 0, 0.5);
of = e_widget_frametable_add(evas, _("Default Style"), 0);
e_widget_frametable_content_align_set(of, 0.5, 0.5);
oi = e_widget_ilist_add(evas, 80, 80, &(cfdata->shadow_style));
sel = 0;
styles = e_theme_comp_list();
n = 0;
EINA_LIST_FOREACH(styles, l, style)
{
char buf[PATH_MAX];
ob = e_livethumb_add(evas);
e_livethumb_vsize_set(ob, 240, 240);
oly = e_layout_add(e_livethumb_evas_get(ob));
e_layout_virtual_size_set(oly, 240, 240);
e_livethumb_thumb_set(ob, oly);
evas_object_show(oly);
oo = edje_object_add(e_livethumb_evas_get(ob));
snprintf(buf, sizeof(buf), "e/comp/%s", style);
e_theme_edje_object_set(oo, "base/theme/borders", buf);
e_layout_pack(oly, oo);
e_layout_child_move(oo, 39, 39);
e_layout_child_resize(oo, 162, 162);
if (cfdata->use_shadow)
edje_object_signal_emit(oo, "e,state,shadow,on", "e");
edje_object_signal_emit(oo, "e,state,visible,on", "e");
cfdata->style_shadows = eina_list_append(cfdata->style_shadows, oo);
evas_object_show(oo);
obd = edje_object_add(e_livethumb_evas_get(ob));
e_theme_edje_object_set(obd, "base/theme/borders",
"e/widgets/border/default/border");
edje_object_part_text_set(obd, "e.text.title", _("Title"));
edje_object_signal_emit(obd, "e,state,focused", "e");
edje_object_part_swallow(oo, "e.swallow.content", obd);
evas_object_show(obd);
orec = evas_object_rectangle_add(e_livethumb_evas_get(ob));
evas_object_color_set(orec, 255, 255, 255, 255);
edje_object_part_swallow(obd, "e.swallow.client", orec);
evas_object_show(orec);
e_widget_ilist_append(oi, ob, style, NULL, NULL, style);
evas_object_show(ob);
if (cfdata->shadow_style)
{
if (!strcmp(cfdata->shadow_style, style)) sel = n;
}
n++;
}
cfdata->style_ilist = oi;
cfdata->style_demo_timer = ecore_timer_add(3.0, _demo_styles, cfdata);
cfdata->style_demo_state = 1;
e_widget_size_min_get(oi, &wmw, &wmh);
e_widget_size_min_set(oi, 160, 100);
e_widget_ilist_selected_set(oi, sel);
e_widget_ilist_go(oi);
e_widget_frametable_object_append(of, oi, 0, 0, 1, 1, 1, 1, 1, 1);
e_widget_list_object_append(ol, of, 1, 1, 0.5);
e_widget_toolbook_page_append(otb, NULL, _("Effects"), ol, 1, 1, 1, 1, 0.5, 0.0);
///////////////////////////////////////////
ol = e_widget_list_add(evas, 0, 0);
@ -221,27 +338,46 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cf
e_widget_toolbook_page_show(otb, 0);
e_dialog_resizable_set(cfd->dia, 1);
return otb;
}
static int
_basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
{
// FIXME: save new config options as they are implemented.
if ((_comp_mod->conf->use_shadow != cfdata->use_shadow) ||
// (cfdata->lock_fps != _comp_mod->conf->lock_fps) ||
if ((cfdata->use_shadow != _comp_mod->conf->use_shadow) ||
(cfdata->lock_fps != _comp_mod->conf->lock_fps) ||
(cfdata->smooth_windows != _comp_mod->conf->smooth_windows) ||
(cfdata->grab != _comp_mod->conf->grab) ||
(cfdata->keep_unmapped != _comp_mod->conf->keep_unmapped) ||
(cfdata->nocomp_fs != _comp_mod->conf->nocomp_fs))
(cfdata->nocomp_fs != _comp_mod->conf->nocomp_fs) ||
(cfdata->shadow_style != _comp_mod->conf->shadow_style) ||
(cfdata->max_unmapped_pixels != _comp_mod->conf->max_unmapped_pixels) ||
(cfdata->max_unmapped_time != _comp_mod->conf->max_unmapped_time) ||
(cfdata->min_unmapped_time != _comp_mod->conf->min_unmapped_time) ||
(cfdata->send_flush != _comp_mod->conf->send_flush) ||
(cfdata->send_dump != _comp_mod->conf->send_dump)
)
{
_comp_mod->conf->use_shadow = cfdata->use_shadow;
// _comp_mod->conf->lock_fps = cfdata->lock_fps;
_comp_mod->conf->lock_fps = cfdata->lock_fps;
_comp_mod->conf->smooth_windows = cfdata->smooth_windows;
_comp_mod->conf->grab = cfdata->grab;
_comp_mod->conf->keep_unmapped = cfdata->keep_unmapped;
_comp_mod->conf->nocomp_fs = cfdata->nocomp_fs;
_comp_mod->conf->max_unmapped_pixels = cfdata->max_unmapped_pixels;
_comp_mod->conf->max_unmapped_time = cfdata->max_unmapped_time;
_comp_mod->conf->min_unmapped_time = cfdata->min_unmapped_time;
_comp_mod->conf->send_flush = cfdata->send_flush;
_comp_mod->conf->send_dump = cfdata->send_dump;
if (_comp_mod->conf->shadow_style)
eina_stringshare_del(_comp_mod->conf->shadow_style);
_comp_mod->conf->shadow_style = NULL;
if (cfdata->shadow_style)
_comp_mod->conf->shadow_style = eina_stringshare_add(cfdata->shadow_style);
e_mod_comp_shadow_set();
}
if ((_comp_mod->conf->engine != cfdata->engine) ||
if ((cfdata->engine != _comp_mod->conf->engine) ||
(cfdata->indirect != _comp_mod->conf->indirect) ||
(cfdata->texture_from_pixmap != _comp_mod->conf->texture_from_pixmap) ||
(cfdata->efl_sync != _comp_mod->conf->efl_sync) ||

View File

@ -46,6 +46,7 @@ e_modapi_init(E_Module *m)
#define D mod->conf_edd
E_CONFIG_VAL(D, T, use_shadow, UCHAR);
E_CONFIG_VAL(D, T, shadow_file, STR);
E_CONFIG_VAL(D, T, shadow_style, STR);
E_CONFIG_VAL(D, T, engine, INT);
E_CONFIG_VAL(D, T, indirect, UCHAR);
E_CONFIG_VAL(D, T, texture_from_pixmap, UCHAR);
@ -58,6 +59,7 @@ e_modapi_init(E_Module *m)
E_CONFIG_VAL(D, T, send_flush, UCHAR);
E_CONFIG_VAL(D, T, send_dump, UCHAR);
E_CONFIG_VAL(D, T, nocomp_fs, UCHAR);
E_CONFIG_VAL(D, T, smooth_windows, UCHAR);
E_CONFIG_VAL(D, T, max_unmapped_pixels, INT);
E_CONFIG_VAL(D, T, max_unmapped_time, INT);
E_CONFIG_VAL(D, T, min_unmapped_time, INT);
@ -68,6 +70,7 @@ e_modapi_init(E_Module *m)
mod->conf = E_NEW(Config, 1);
mod->conf->use_shadow = 1;
mod->conf->shadow_file = NULL;
mod->conf->shadow_style = eina_stringshare_add("default");
mod->conf->engine = E_EVAS_ENGINE_SOFTWARE_X11;
mod->conf->indirect = 0;
mod->conf->texture_from_pixmap = 0;
@ -80,13 +83,12 @@ e_modapi_init(E_Module *m)
mod->conf->send_flush = 1; // implement
mod->conf->send_dump = 0; // implement
mod->conf->nocomp_fs = 0; // buggy
mod->conf->smooth_windows = 0;
mod->conf->max_unmapped_pixels = 32 * 1024; // implement
mod->conf->max_unmapped_time = 10 * 3600; // implement
mod->conf->min_unmapped_time = 5 * 60; // implement
}
mod->conf->lock_fps = 0; // OOOFFF!!!
_comp_mod = mod;
// if (e_init_count_get() <= 0)
@ -122,6 +124,7 @@ e_modapi_shutdown(E_Module *m)
mod->config_dialog = NULL;
}
if (mod->conf->shadow_file) eina_stringshare_del(mod->conf->shadow_file);
if (mod->conf->shadow_style) eina_stringshare_del(mod->conf->shadow_style);
free(mod->conf);
E_CONFIG_DD_FREE(mod->conf_edd);
free(mod);

View File

@ -9,6 +9,7 @@ struct _Config
{
unsigned char use_shadow;
const char *shadow_file;
const char *shadow_style;
int engine;
unsigned char indirect;
unsigned char texture_from_pixmap;
@ -21,6 +22,7 @@ struct _Config
unsigned char send_flush;
unsigned char send_dump;
unsigned char nocomp_fs;
unsigned char smooth_windows;
int max_unmapped_pixels;
int max_unmapped_time;
int min_unmapped_time;

View File

@ -1,9 +1,8 @@
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# Makefile.in generated by automake 1.10.2 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
# Inc.
# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@ -18,9 +17,8 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@ -55,66 +53,35 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES = module.desktop
CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
am__installdirs = "$(DESTDIR)$(pkgdir)" "$(DESTDIR)$(filesdir)"
pkgLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(pkg_LTLIBRARIES)
am_module_la_OBJECTS = e_mod_main.lo
module_la_OBJECTS = $(am_module_la_OBJECTS)
AM_V_lt = $(am__v_lt_$(V))
am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
am__v_lt_0 = --silent
module_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
module_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(module_la_LDFLAGS) $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_$(V))
am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
am__v_CC_0 = @echo " CC " $@;
AM_V_at = $(am__v_at_$(V))
am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
am__v_at_0 = @
LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_$(V))
am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
am__v_CCLD_0 = @echo " CCLD " $@;
AM_V_GEN = $(am__v_GEN_$(V))
am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
am__v_GEN_0 = @echo " GEN " $@;
LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
$(LDFLAGS) -o $@
SOURCES = $(module_la_SOURCES)
DIST_SOURCES = $(module_la_SOURCES)
filesDATA_INSTALL = $(INSTALL_DATA)
DATA = $(files_DATA)
ETAGS = etags
CTAGS = ctags
@ -126,7 +93,6 @@ ALSA_CFLAGS = @ALSA_CFLAGS@
ALSA_LIBS = @ALSA_LIBS@
ALSA_VERSION = @ALSA_VERSION@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
@ -225,7 +191,6 @@ MSGFMT = @MSGFMT@
MSGMERGE = @MSGMERGE@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
@ -238,7 +203,6 @@ PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_SYSCONF_DIR = @PACKAGE_SYSCONF_DIR@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
@ -445,9 +409,9 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/modules/everything-aspell/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu src/modules/everything-aspell/Makefile
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/modules/everything-aspell/Makefile'; \
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu src/modules/everything-aspell/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@ -465,30 +429,25 @@ $(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
module.desktop: $(top_builddir)/config.status $(srcdir)/module.desktop.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
install-pkgLTLIBRARIES: $(pkg_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(pkgdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdir)"
@list='$(pkg_LTLIBRARIES)'; test -n "$(pkgdir)" || list=; \
list2=; for p in $$list; do \
@list='$(pkg_LTLIBRARIES)'; for p in $$list; do \
if test -f $$p; then \
list2="$$list2 $$p"; \
f=$(am__strip_dir) \
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(pkgLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(pkgdir)/$$f'"; \
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(pkgLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(pkgdir)/$$f"; \
else :; fi; \
done; \
test -z "$$list2" || { \
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pkgdir)'"; \
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pkgdir)"; \
}
done
uninstall-pkgLTLIBRARIES:
@$(NORMAL_UNINSTALL)
@list='$(pkg_LTLIBRARIES)'; test -n "$(pkgdir)" || list=; \
for p in $$list; do \
$(am__strip_dir) \
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkgdir)/$$f'"; \
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkgdir)/$$f"; \
@list='$(pkg_LTLIBRARIES)'; for p in $$list; do \
p=$(am__strip_dir) \
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkgdir)/$$p'"; \
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkgdir)/$$p"; \
done
clean-pkgLTLIBRARIES:
@ -500,7 +459,7 @@ clean-pkgLTLIBRARIES:
rm -f "$${dir}/so_locations"; \
done
module.la: $(module_la_OBJECTS) $(module_la_DEPENDENCIES)
$(AM_V_CCLD)$(module_la_LINK) -rpath $(pkgdir) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
$(module_la_LINK) -rpath $(pkgdir) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@ -511,25 +470,22 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/e_mod_main.Plo@am__quote@
.c.o:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
@ -542,23 +498,20 @@ clean-libtool:
install-filesDATA: $(files_DATA)
@$(NORMAL_INSTALL)
test -z "$(filesdir)" || $(MKDIR_P) "$(DESTDIR)$(filesdir)"
@list='$(files_DATA)'; test -n "$(filesdir)" || list=; \
for p in $$list; do \
@list='$(files_DATA)'; for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(filesdir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(filesdir)" || exit $$?; \
f=$(am__strip_dir) \
echo " $(filesDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(filesdir)/$$f'"; \
$(filesDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(filesdir)/$$f"; \
done
uninstall-filesDATA:
@$(NORMAL_UNINSTALL)
@list='$(files_DATA)'; test -n "$(filesdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
test -n "$$files" || exit 0; \
echo " ( cd '$(DESTDIR)$(filesdir)' && rm -f" $$files ")"; \
cd "$(DESTDIR)$(filesdir)" && rm -f $$files
@list='$(files_DATA)'; for p in $$list; do \
f=$(am__strip_dir) \
echo " rm -f '$(DESTDIR)$(filesdir)/$$f'"; \
rm -f "$(DESTDIR)$(filesdir)/$$f"; \
done
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@ -572,7 +525,7 @@ tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
set x; \
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@ -580,34 +533,29 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$unique" \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
$$tags $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@ -628,17 +576,13 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
@ -668,7 +612,6 @@ clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@ -691,8 +634,6 @@ dvi-am:
html: html-am
html-am:
info: info-am
info-am:
@ -701,28 +642,18 @@ install-data-am: install-filesDATA install-pkgLTLIBRARIES
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
@ -765,7 +696,6 @@ uninstall-am: uninstall-filesDATA uninstall-pkgLTLIBRARIES
uninstall:
rm -rf $(DESTDIR)$(libdir)/enlightenment/modules/$(MODULE)
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -14,12 +14,13 @@
#Xephyr :1 -noreset -ac -br -dpi 183 -screen 960x400x16 -host-cursor &
Xephyr :1 -noreset -ac -br -dpi 284 -screen 480x800 -host-cursor &
#Xephyr :1 -noreset -ac -br -dpi 284 -screen 480x800 -host-cursor &
#Xephyr :1 -noreset -ac -br -dpi 284 -screen 480x640 &
#Xephyr :1 -noreset -ac -br -dpi 284 -screen 640x480 &
#Xephyr :1 -noreset -ac -br -dpi 181 -screen 320x320 &
#Xephyr :1 -noreset -ac -br -dpi 186 -screen 272x480 &
#Xephyr :1 -noreset -ac -br -dpi 142 -screen 240x320 &
Xephyr :1 -noreset -ac -br -dpi 142 -screen 240x320 &
#Xephyr :1 -noreset -ac -br -dpi 142 -screen 240x240 -host-cursor &
sleep 1
export DISPLAY=:1