pager fixups...

1. dont use a livethumb resolution OF THE SCREEN! per pager desktop
that means u alloc width*height*4 bytes... u have 6 desktops,
1920x1080 screen... thats 48mb for the backing images at full res. no!
bad bad! so i cut it down to 1/16th of the screen res. ie 1920/16 x
1080/16 for the full rest "livethumb". at least its much more
managable (i woke up to find after an update my e was using an EXTRA
100mb of ram! (2560x1440*4desk + 1920x1200*4desk).
2. dont create the livethumbs at all unless you have the bg preview
on! (i had it off and i still paid the price of the mem usage).
3. make the live preview inverted in the cfg gui - ie enable the live
preview, not disable it.
4. fix theme to preview bg fills the pager base box correctly within
the border bounds.
5. dont enforce aspect handling in livethumb as pager is "master" of
aspect (taken from desktop anyway).



SVN revision: 75154
devs/princeamd/enlightenment-0.17-elive
Carsten Haitzler 11 years ago
parent c02739d6c0
commit 4ea769764a
  1. 13
      data/themes/default.edc
  2. 20
      src/modules/pager/e_mod_config.c
  3. 29
      src/modules/pager/e_mod_main.c

@ -10632,13 +10632,14 @@ collections {
clip_to: "bg_clip";
description {
state: "default" 0.0;
visible: 1;
color: 255 255 255 255;
rel1 {
to: "zoom";
offset: -1 -1;
to: "base";
offset: 3 3;
}
rel2 {
to: "base";
offset: -4 -4;
}
rel2.to: "zoom";
}
description {
state: "hidden" 0.0;
@ -10651,7 +10652,7 @@ collections {
type: RECT;
description {
state: "default" 0.0;
color: 200 200 200 200;
color: 255 255 255 200;
rel1.to: "e.background";
rel2.to: "e.background";
}

@ -29,7 +29,7 @@ struct _E_Config_Dialog_Data
Evas_Object *ob1, *ob2, *ob3;
Eina_List *popup_list, *urgent_list;
} gui;
int drag_resist, flip_desk, show_desk_names, disable_live_preview;
int drag_resist, flip_desk, show_desk_names, live_preview;
};
/* local function prototypes */
@ -104,7 +104,7 @@ _fill_data(E_Config_Dialog_Data *cfdata)
cfdata->btn.noplace = pager_config->btn_noplace;
cfdata->btn.desk = pager_config->btn_desk;
cfdata->flip_desk = pager_config->flip_desk;
cfdata->disable_live_preview = pager_config->disable_live_preview;
cfdata->live_preview = !pager_config->disable_live_preview;
cfdata->show_desk_names = pager_config->show_desk_names;
}
@ -131,8 +131,8 @@ _basic_create(E_Config_Dialog *cfd __UNUSED__, Evas *evas, E_Config_Dialog_Data
ow = e_widget_check_add(evas, _("Always show desktop names"),
&(cfdata->show_desk_names));
e_widget_framelist_object_append(of, ow);
ow = e_widget_check_add(evas, _("Disable live preview"),
&(cfdata->disable_live_preview));
ow = e_widget_check_add(evas, _("Live preview"),
&(cfdata->live_preview));
e_widget_framelist_object_append(of, ow);
e_widget_list_object_append(ol, of, 1, 0, 0.5);
@ -153,7 +153,7 @@ _basic_apply(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata)
{
pager_config->popup = cfdata->popup.show;
pager_config->flip_desk = cfdata->flip_desk;
pager_config->disable_live_preview = cfdata->disable_live_preview;
pager_config->disable_live_preview = !cfdata->live_preview;
pager_config->show_desk_names = cfdata->show_desk_names;
pager_config->popup_urgent = cfdata->popup.urgent_show;
_pager_cb_config_updated();
@ -166,7 +166,7 @@ _basic_check_changed(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfda
{
if ((int)pager_config->popup != cfdata->popup.show) return 1;
if ((int)pager_config->flip_desk != cfdata->flip_desk) return 1;
if ((int)pager_config->disable_live_preview != cfdata->disable_live_preview) return 1;
if ((int)pager_config->disable_live_preview != !cfdata->live_preview) return 1;
if ((int)pager_config->show_desk_names != cfdata->show_desk_names) return 1;
if ((int)pager_config->popup_urgent != cfdata->popup.urgent_show) return 1;
@ -189,8 +189,8 @@ _adv_create(E_Config_Dialog *cfd __UNUSED__, Evas *evas, E_Config_Dialog_Data *c
ow = e_widget_check_add(evas, _("Always show desktop names"),
&(cfdata->show_desk_names));
e_widget_list_object_append(ol, ow, 1, 0, 0.5);
ow = e_widget_check_add(evas, _("Disable live preview"),
&(cfdata->disable_live_preview));
ow = e_widget_check_add(evas, _("Live preview"),
&(cfdata->live_preview));
e_widget_list_object_append(ol, ow, 1, 0, 0.5);
ow = e_widget_label_add(evas, _("Resistance to dragging"));
e_widget_list_object_append(ol, ow, 1, 0, 0.5);
@ -300,7 +300,7 @@ _adv_apply(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata)
pager_config->popup = cfdata->popup.show;
pager_config->popup_speed = cfdata->popup.speed;
pager_config->flip_desk = cfdata->flip_desk;
pager_config->disable_live_preview = cfdata->disable_live_preview;
pager_config->disable_live_preview = !cfdata->live_preview;
pager_config->popup_urgent = cfdata->popup.urgent_show;
pager_config->popup_urgent_stick = cfdata->popup.urgent_stick;
pager_config->popup_urgent_focus = cfdata->popup.urgent_focus;
@ -321,7 +321,7 @@ static int
_adv_check_changed(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata)
{
if ((int)pager_config->popup != cfdata->popup.show) return 1;
if ((int)pager_config->disable_live_preview != cfdata->disable_live_preview) return 1;
if ((int)pager_config->disable_live_preview != !cfdata->live_preview) return 1;
if ((int)pager_config->show_desk_names != cfdata->show_desk_names) return 1;
if ((int)pager_config->popup_urgent != cfdata->popup.urgent_show) return 1;
if (pager_config->popup_speed != cfdata->popup.speed) return 1;

@ -357,9 +357,9 @@ _pager_desk_livethumb_setup(Pager_Desk *pd)
if (!pd->o_bg)
{
pd->o_bg = e_livethumb_add(e);
e_livethumb_vsize_set(pd->o_bg, pd->desk->zone->w, pd->desk->zone->h);
edje_extern_object_aspect_set(pd->o_bg, EDJE_ASPECT_CONTROL_NEITHER,
pd->desk->zone->w, pd->desk->zone->h);
e_livethumb_vsize_set(pd->o_bg, pd->desk->zone->w / 16, pd->desk->zone->h / 16);
// edje_extern_object_aspect_set(pd->o_bg, EDJE_ASPECT_CONTROL_NEITHER,
// pd->desk->zone->w / 16, pd->desk->zone->h / 16);
edje_object_part_swallow(pd->o_desk, "e.background", pd->o_bg);
}
@ -368,10 +368,6 @@ _pager_desk_livethumb_setup(Pager_Desk *pd)
bgfile = e_bg_file_get(pd->desk->zone->container->num, pd->desk->zone->num, pd->desk->x, pd->desk->y);
edje_object_file_set(o, bgfile, "e/desktop/background");
e_livethumb_thumb_set(pd->o_bg, o);
if (pager_config->disable_live_preview)
edje_object_signal_emit(pd->o_desk, "e,preview,off", "e");
else
edje_object_signal_emit(pd->o_desk, "e,preview,on", "e");
}
static Pager_Desk *
@ -403,7 +399,13 @@ _pager_desk_new(Pager *p, E_Desk *desk, int xpos, int ypos)
if (pager_config->show_desk_names)
edje_object_signal_emit(o, "e,name,show", "e");
_pager_desk_livethumb_setup(pd);
if (pager_config->disable_live_preview)
edje_object_signal_emit(pd->o_desk, "e,preview,off", "e");
else
{
_pager_desk_livethumb_setup(pd);
edje_object_signal_emit(pd->o_desk, "e,preview,on", "e");
}
edje_object_size_min_calc(o, &w, &h);
e_table_pack(p->o_table, o, xpos, ypos, 1, 1);
@ -914,9 +916,16 @@ _pager_cb_config_updated(void)
EINA_LIST_FOREACH(p->desks, ll, pd)
{
if (pager_config->disable_live_preview)
edje_object_signal_emit(pd->o_desk, "e,preview,off", "e");
{
if (pd->o_bg) evas_object_del(pd->o_bg);
pd->o_bg = NULL;
edje_object_signal_emit(pd->o_desk, "e,preview,off", "e");
}
else
edje_object_signal_emit(pd->o_desk, "e,preview,on", "e");
{
_pager_desk_livethumb_setup(pd);
edje_object_signal_emit(pd->o_desk, "e,preview,on", "e");
}
if (pd->current)
edje_object_signal_emit(pd->o_desk, "e,state,selected", "e");
else

Loading…
Cancel
Save