fix a bunch of fixme's in the todo for mini freeze found recently

SVN revision: 14107
This commit is contained in:
Carsten Haitzler 2005-04-05 14:47:49 +00:00
parent 2baa2918b3
commit 8af31e445f
10 changed files with 73 additions and 22 deletions

6
TODO
View File

@ -32,12 +32,6 @@ ISSUES:
* virtual desktops need an overhaul. hacked in waay too quickly.
* virtual desktops need fixing to work with zones properly
* gadman gadget menu needs icons :)
* if container/zone changes size pager does not change/adjust to match
* if u disable modules by right click->enabled (select to uncheck) the gadman objects for thsoe moduels dont go away
* if u disable a module by right clicking on it all sorts of bad things happen (cant re-enable from menu - still thinks its enabled)
* pager on other xinerama heads doesnt save position/size etc.
* restart with multiple zones is... buggy with vd'as and pager
* rm -rf or mv ~/.e/e/applications and things go bad...
<add more issues as they are found>

View File

@ -349,13 +349,13 @@ e_border_zone_set(E_Border *bd, E_Zone *zone)
if (bd->desk->zone != bd->zone)
{
E_Desk *desk;
int x, y;
// int x, y;
e_desk_xy_get(bd->desk, &x, &y);
desk = e_desk_at_xy_get(bd->zone, x, y);
if (desk)
e_border_desk_set(bd, desk);
else
// e_desk_xy_get(bd->desk, &x, &y);
// desk = e_desk_at_xy_get(bd->zone, x, y);
// if (desk)
// e_border_desk_set(bd, desk);
// else
e_border_desk_set(bd, e_desk_current_get(bd->zone));
}

View File

@ -920,11 +920,11 @@ static void
_e_gadman_client_geometry_to_align(E_Gadman_Client *gmc)
{
if (gmc->w != gmc->zone->w)
gmc->ax = (double)gmc->x / (double)(gmc->zone->w - gmc->w);
gmc->ax = (double)(gmc->x - gmc->zone->x) / (double)(gmc->zone->w - gmc->w);
else
gmc->ax = 0.0;
if (gmc->h != gmc->zone->h)
gmc->ay = (double)gmc->y / (double)(gmc->zone->h - gmc->h);
gmc->ay = (double)(gmc->y - gmc->zone->y) / (double)(gmc->zone->h - gmc->h);
else
gmc->ay = 0.0;
}

View File

@ -133,7 +133,9 @@ e_manager_manage_windows(E_Manager *man)
con = e_manager_container_number_get(man, id);
else
con = e_manager_container_current_get(man);
if (!con)
e_container_current_get(man);
ret = ecore_x_window_prop_card32_get(windows[i],
E_ATOM_ZONE,
&id, 1);
@ -141,7 +143,8 @@ e_manager_manage_windows(E_Manager *man)
zone = e_container_zone_number_get(con, id);
else
zone = e_zone_current_get(con);
if (!zone)
zone = e_zone_current_get(con);
ret = ecore_x_window_prop_card32_get(windows[i],
E_ATOM_DESK,
deskxy, 2);

View File

@ -550,12 +550,14 @@ _battery_face_menu_new(Battery_Face *face)
face->menu = mn;
/* Enabled */
/*
mi = e_menu_item_new(mn);
e_menu_item_label_set(mi, "Enabled");
e_menu_item_check_set(mi, 1);
if (face->conf->enabled) e_menu_item_toggle_set(mi, 1);
e_menu_item_callback_set(mi, _battery_face_cb_menu_enabled, face);
*/
/* Edit */
mi = e_menu_item_new(mn);
e_menu_item_label_set(mi, "Edit Mode");

View File

@ -298,12 +298,14 @@ _clock_face_menu_new(Clock_Face *face)
face->menu = mn;
/* Enabled */
/*
mi = e_menu_item_new(mn);
e_menu_item_label_set(mi, "Enabled");
e_menu_item_check_set(mi, 1);
if (face->conf->enabled) e_menu_item_toggle_set(mi, 1);
e_menu_item_callback_set(mi, _clock_face_cb_menu_enabled, face);
*/
/* Edit */
mi = e_menu_item_new(mn);
e_menu_item_label_set(mi, "Edit Mode");

View File

@ -545,12 +545,14 @@ _ibar_bar_menu_new(IBar_Bar *ibb)
ibb->menu = mn;
/* Enabled */
/*
mi = e_menu_item_new(mn);
e_menu_item_label_set(mi, "Enabled");
e_menu_item_check_set(mi, 1);
if (ibb->conf->enabled) e_menu_item_toggle_set(mi, 1);
e_menu_item_callback_set(mi, _ibar_bar_cb_menu_enabled, ibb);
*/
/* Edit */
mi = e_menu_item_new(mn);
e_menu_item_label_set(mi, "Edit Mode");

View File

@ -49,6 +49,7 @@ static int _pager_face_cb_event_border_lower(void *data, int type, void
static int _pager_face_cb_event_border_icon_change(void *data, int type, void *event);
static int _pager_face_cb_event_zone_desk_count_set(void *data, int type, void *event);
static int _pager_face_cb_event_desk_show(void *data, int type, void *event);
static int _pager_face_cb_event_container_resize(void *data, int type, void *event);
static void _pager_face_cb_menu_enabled(void *data, E_Menu *m, E_Menu_Item *mi);
static void _pager_face_cb_menu_edit(void *data, E_Menu *m, E_Menu_Item *mi);
@ -321,6 +322,9 @@ _pager_face_new(E_Zone *zone)
face->ev_handler_desk_show =
ecore_event_handler_add(E_EVENT_DESK_SHOW,
_pager_face_cb_event_desk_show, face);
face->ev_handler_container_resize =
ecore_event_handler_add(E_EVENT_CONTAINER_RESIZE,
_pager_face_cb_event_container_resize, face);
/* the bg */
o = edje_object_add(face->evas);
@ -337,9 +341,9 @@ _pager_face_new(E_Zone *zone)
edje_object_part_swallow(face->pager_object, "items", face->table_object);
evas_object_show(o);
face->gmc = e_gadman_client_new(zone->container->gadman);
_pager_face_zone_set(face, zone);
face->gmc = e_gadman_client_new(face->zone->container->gadman);
e_gadman_client_domain_set(face->gmc, "module.pager", _pager_count++);
e_gadman_client_zone_set(face->gmc, face->zone);
e_gadman_client_policy_set(face->gmc,
@ -383,6 +387,7 @@ _pager_face_free(Pager_Face *face)
ecore_event_handler_del(face->ev_handler_border_icon_change);
ecore_event_handler_del(face->ev_handler_zone_desk_count_set);
ecore_event_handler_del(face->ev_handler_desk_show);
ecore_event_handler_del(face->ev_handler_container_resize);
e_object_del(E_OBJECT(face->menu));
@ -401,12 +406,13 @@ _pager_face_menu_new(Pager_Face *face)
mn = e_menu_new();
face->menu = mn;
/*
mi = e_menu_item_new(mn);
e_menu_item_label_set(mi, "Enabled");
e_menu_item_check_set(mi, 1);
if (face->conf->enabled) e_menu_item_toggle_set(mi, 1);
e_menu_item_callback_set(mi, _pager_face_cb_menu_enabled, face);
*/
mi = e_menu_item_new(mn);
e_menu_item_label_set(mi, "Edit Mode");
e_menu_item_callback_set(mi, _pager_face_cb_menu_edit, face);
@ -470,6 +476,9 @@ _pager_face_zone_set(Pager_Face *face, E_Zone *zone)
if (pd) face->desks = evas_list_append(face->desks, pd);
}
}
// e_gadman_client_aspect_set(face->gmc,
// (double)(face->xnum * face->zone->w) / (double)(face->ynum * face->zone->h),
// (double)(face->xnum * face->zone->w) / (double)(face->ynum * face->zone->h));
}
static void
@ -1187,6 +1196,9 @@ _pager_face_cb_event_zone_desk_count_set(void *data, int type, void *event)
face->xnum = desks_x;
face->ynum = desks_y;
// e_gadman_client_aspect_set(face->gmc,
// (double)(face->xnum * face->zone->w) / (double)(face->ynum * face->zone->h),
// (double)(face->xnum * face->zone->w) / (double)(face->ynum * face->zone->h));
e_gadman_client_resize(face->gmc, face->fw + dw, face->fh + dh);
return 1;
}
@ -1206,6 +1218,40 @@ _pager_face_cb_event_desk_show(void *data, int type, void *event)
return 1;
}
static int
_pager_face_cb_event_container_resize(void *data, int type, void *event)
{
Pager_Face *face;
E_Event_Container_Resize *ev;
Evas_List *l;
Evas_Coord w, h, lw, lh;
face = data;
ev = event;
if (face->zone->container != ev->container) return 1;
for (l = face->desks; l; l = l->next)
{
Pager_Desk *pd;
pd = l->data;
e_layout_virtual_size_set(pd->layout_object,
face->zone->w,
face->zone->h);
}
// e_gadman_client_aspect_set(face->gmc,
// (double)(face->xnum * face->zone->w) / (double)(face->ynum * face->zone->h),
// (double)(face->xnum * face->zone->w) / (double)(face->ynum * face->zone->h));
w = face->fw;
h = face->fh;
evas_object_geometry_get(face->table_object, NULL, NULL, &lw, &lh);
if ((face->xnum * face->zone->w) > (face->ynum * face->zone->h))
w = face->xnum * ((face->zone->w * lh) / face->zone->h);
else
h = face->ynum * ((face->zone->h * lw) / face->zone->w);
e_gadman_client_resize(face->gmc, w, h);
return 1;
}
/*****/
static void

View File

@ -73,6 +73,7 @@ struct _Pager_Face
Ecore_Event_Handler *ev_handler_border_icon_change;
Ecore_Event_Handler *ev_handler_zone_desk_count_set;
Ecore_Event_Handler *ev_handler_desk_show;
Ecore_Event_Handler *ev_handler_container_resize;
};
struct _Pager_Desk

View File

@ -711,12 +711,13 @@ _temperature_face_menu_new(Temperature_Face *face)
face->menu = mn;
/* Enabled */
/*
mi = e_menu_item_new(mn);
e_menu_item_label_set(mi, "Enabled");
e_menu_item_check_set(mi, 1);
if (face->conf->enabled) e_menu_item_toggle_set(mi, 1);
e_menu_item_callback_set(mi, _temperature_face_cb_menu_enabled, face);
*/
/* Edit */
mi = e_menu_item_new(mn);
e_menu_item_label_set(mi, "Edit Mode");