pager screwup should be fixed now. i cant test as no xserver i have can do

the xrandr stuff that has the bug.. either way... :) (well i do have 1... but
its a pita to test it)


SVN revision: 15536
This commit is contained in:
Carsten Haitzler 2005-06-27 07:10:42 +00:00
parent 49cec7c77c
commit aa387ae380
2 changed files with 19 additions and 10 deletions

9
TODO
View File

@ -9,21 +9,16 @@ Some of the things (in very short form) that need to be done to E17...
-------------------------------------------------------------------------------
* BUG: sometimes unshade fails. Must be the wrong order of some events.
* BUG: on drag and drop of icon from border, when dragged over pager, the
pager hilights, but on drop it stays hilighted - doesnt reset to normal
until a virtual desktop switch
* FIX: need to hide other windows while doing fullscreen.
* BUG: on font apply borders need to be adjuted for size changes
* BUG: on font apply borders need to be adjusted for size changes
* BUG: font apply doesnt seem to keep working (edje problem?) unless you
restart
* BUG: if i downlock my machine to like 400mhz (make it sloooow) or load it
* BUG: if i downclock my machine to like 400mhz (make it sloooow) or load it
down with lots of load and then hold down ctrl+alt+right for a while
windows on desktops vanish... there must be a race condition with a
map/unmap event and something else... they still are around in x- just e
hides them and never shows them again
fullscreen. is this correct?
* BUG: pager doesnt handle container/zone resize properly (and goes a weird
size)??? (try resize screen to like 480x640 (new aspect))
* BUG: sometimes the mouse gets locked to a window with a mouse grab of some
sort in x (it gets the down event and not the up?) so e thinks its down but
it isn't - happens a lot in click to focus.

View File

@ -1246,11 +1246,18 @@ _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;
Evas_Coord w, h, lw, lh, dw, dh, padw, padh;
face = data;
ev = event;
if (face->zone->container != ev->container) return 1;
evas_object_geometry_get(face->table_object, NULL, NULL, &lw, &lh);
if (face->xnum > 0) dw = lw / face->xnum;
else dw = 0;
if (face->ynum > 0) dh = lh / face->ynum;
else dh = 0;
for (l = face->desks; l; l = l->next)
{
Pager_Desk *pd;
@ -1266,10 +1273,17 @@ _pager_face_cb_event_container_resize(void *data, int type, void *event)
w = face->fw;
h = face->fh;
evas_object_geometry_get(face->table_object, NULL, NULL, &lw, &lh);
padw = w - lw;
padh = h - lh;
if ((face->xnum * face->zone->w) > (face->ynum * face->zone->h))
w = face->xnum * ((face->zone->w * lh) / face->zone->h);
{
w = (face->xnum * ((face->zone->w * dh) / face->zone->h)) + padw;
}
else
h = face->ynum * ((face->zone->h * lw) / face->zone->w);
{
h = (face->ynum * ((face->zone->h * dw) / face->zone->w)) + padh;
}
e_gadman_client_resize(face->gmc, w, h);
return 1;
}