forked from enlightenment/enlightenment
987192c54d
I found strange behavior in my configuration (xinerama - two screens with two zones). When i select a Enlightenment->Restart from menu the popups for gadgets on desktop doesn't appear or appear wrongly. After some time i've found that this depends on on from what screen i am choosing this enlightenment->restart :) After some debugging i figured it out: When restarting enlightenment some gadgets (i.e. calendar) are calling e_gadgon_popup_new(). Inside that function, zone for popup window (this zone was used later in ecore_evas_move_resize) is calculated like that: {{{ zone = e_util_zone_current_get(e_manager_current_get()); and in e_manager_current_get is: ecore_x_pointer_xy_get() }}} ... so - i have my answer why restaring from one screen (cursor was on that screen) and from second screen i have different results... In other words: during initializing module like calendar - created zone for popup is assigned depending on current cursor position. In my patch i've chage this to obtain zone using the gadget position instead. But it solves the problem partialy. Next thing - in function: e_gadget_popup_show() (which is called later) when calculating popup position coordinates was calculated using zone: {{{ pop->gcc->gadcon->zone }}} which in my case was always the first (initial) zone - (of course it was wrong, because i put a gadgets on different screens for testing). so i changed it to zone of popup window (which was calculated before, in e_gadgon_popup_new()) and after that everythings works ok :) Zones for popups are correctly assigned and popups calculation are also ok - even after restaring enlightenment (tested with cursor on both screens). By: manio SVN revision: 40927 |
||
---|---|---|
config | ||
data | ||
debian | ||
doc | ||
intl | ||
lib | ||
m4 | ||
po | ||
src | ||
.cvsignore | ||
AUTHORS | ||
BUGS | ||
COPYING | ||
COPYING-PLAIN | ||
ChangeLog | ||
INSTALL | ||
Makefile.am | ||
NEWS | ||
README | ||
autogen.sh | ||
configure.ac | ||
enlightenment.pc.in | ||
enlightenment.spec.in | ||
netwm.txt | ||
x-ui.sh | ||
xnest.sh |
README
Enlightenment 0.17.0 - IN DEVELOPMENT... not a RELEASE. Requirements: ------------- Must: libc libm libX11 libXext evas ecore ecore-evas ecore-file ecore-ipc ecore-con ecore-job ecore-imf ecore-img-evas edje eet embryo efreet efreet-mime edbus ecore-txt [png loader in evas, jpeg loader in evas, eet loader in evas, software_x11 engine in evas, buffer engine in evas] Recommended: libpam [xrender engine in evas] NOTE: Users of DR16 will need to rename the $prefix/bin/enlightenment file prior to installing DR17 or it will be overwritten. You can also use the configure --prefix option to put e17 in a separate tree of its own (recommended) like: ./configure --prefix=/usr/local/e17 You will, as usual need to add the subsequent bin dir to your $PATH etc. NOTES: * do NOT use -mfpmath=sse in CFLAGS - we are not sure, but it may have bugds and screws up things in edje, evas and e17. if your gcc uses this by default (which apparently gcc4.x does on amd64), turn it off with a -fpmath=387 in your CFLAGS. * your freetype2 version must be > 2.1.7 * i remember hearing of bugs with later versions of freetype on some distributions (2.1.9 and 2.1.10) with certain patches or missing certain patches. be aware of this as a possible font problem.