path: root/src/lib/ecore_x (follow)
AgeCommit message (Collapse)Author
2018-10-18build - meson - fix ecore-x to detect xcursor to fix rgba cursorsCarsten Haitzler (Rasterman)
2018-10-11ecore_x - add nouveau into the whitelist and clean up so it's a listCarsten Haitzler (Rasterman)
it was a lot of if cases before now it's an array with min version parameters and globs for matching drivers etc. - much cleaner and neater to afdd things to the whtielist now.
2018-10-02here comes mesonMarcel Hollerbach
a new shiny buildtool that currently completes in the total of ~ 4 min.. 1 min. conf time 2:30 min. build time Where autotools takes: 1:50 min. conf time 3:40 min. build time. meson was taken because it went quite good for enlightenment, and is a traction gaining system that is also used by other mayor projects. Additionally, the DSL that is defined my meson makes the configuration of the builds a lot easier to read. Further informations can be gathered from the README.meson Right now, bindings & windows support are missing. It is highly recommented to use meson 0.48 due to optimizations in meson that reduced the time the meson call would need. Co-authored-by: Mike Blumenkrantz <> Differential Revision: Depends on D7011
2018-07-24ecore x - fix vsync to not block amdgpu driversCarsten Haitzler (Rasterman)
amdgpu vsync works so don't block is so those drivers get proper vsynced rendering as well. @fix
2018-01-24ecore-x: add some useful xkb function wrappersMike Blumenkrantz
2018-01-24ecore-x: re-add implementation of ecore_x_connection_get()Mike Blumenkrantz
this symbol has been missing since the removal of xcb @fix
2018-01-24ecore-x: filter XkbNewKeyboardNotifyEvent before emitting ecore-x eventMike Blumenkrantz
this is only relevant to watchers of the ecore-x event if there is a keycode change @fix
2018-01-24ecore-x: add more info to Ecore_X_Event_Xkb eventMike Blumenkrantz
this event corresponds to xkb state changes which are useful when working with xkb instances @feature
2018-01-22ecore-x: add more null checks for functionsMike Blumenkrantz
2018-01-22ecore-x: perform internal shutdown on io error if callback is setMike Blumenkrantz
avoid crashing in callback when referencing dead display or handling events @fix
2018-01-04efl: remove _MSC_VER (Visual Studio macro) usage in source codeVincent Torri
2017-12-19efl: Reset ecore event types on initJean-Philippe Andre
This fixes cycles of init/shutdown/init where ecore event types would become invalid, since they are now stored in a dynamic array rather than a statically stored array. The risk here is that if a module of EFL tends to init/shutdown in a "normal" scenario then the event type array will grow in a leaking manner. This could be fixed by resetting those event ID's only when the loop actually exits (EFL_EVENT_DEL on the main loop). I'm not using EFL_EVENT_DEL in this patch as this would add too many event callbacks to the main loop object, which may result in slightly slower event calls to it, affecting the overall performance.
2017-10-16ecore: removing assignment operation to avoid warning.Prince Kumar Dubey
Summary: assignment to local variable "ret" has no meaning as it is not used after assignment. So, removing assignment operation to avoid warning. Reviewers: raster, cedric Subscribers: jpeg, rajeshps Differential Revision: Signed-off-by: Cedric BAIL <>
2017-10-13efl: unsigned int/long never be less than zero. Fixed.Prince Kumar Dubey
Reviewers: raster, cedric Subscribers: rajeshps, jpeg Differential Revision: Signed-off-by: Cedric Bail <>
2017-09-22ecore-x: reject successive MappingNotify events if they are identicalMike Blumenkrantz
in some cases loading an xmodmap on enlightenment startup can trigger an infinite number of identical events which hard locks the xserver for a very, very long time @fix
2017-08-02ecore_x: Avoid crash on NULLJean-Philippe Andre
This happens in E with software compositing, since E's commit 5702f0975e890f07cfb. E should be fixed shortly but segv is not acceptable. Without segv E is still massively broken so it's not like the bug would be hidden (large black areas in windows, after switch vdesks with enough windows).
2017-08-01ecore_x: init XEvents before passing to xMarcel Hollerbach
it turns out that xlib is going to copy the complete struct into something internal. This might lead to the condition that a uninitalized value might be part of the struct, and when later the struct is read again the code might do wrong stuff since that value could be set now to a randomly other meaningfull value. This turned out on me in e as i could not write any letters like ßöäü, since that lead to a not returning call to _XReply internal of xlib. Dugging that showed that xlib was waiting on a reply of a call that never got executed, and the XEvent it is waiting on just contians a randomly correct value. @fix
2017-07-31ecore x - convert to using unsed instead of dummy state,ents after retCarsten Haitzler (Rasterman)
found by PVS studio
2017-07-29ecore-x - remove useless extra assignments of value to itselfCarsten Haitzler (Rasterman)
usless code that does nothing - not a bug though found by PVS studio
2017-07-04ecore-x - add ecore x dpms force apiCarsten Haitzler (Rasterman)
add api that allows us to force dpms on or off. needed to fix e support for non-suspend new systems that don't do S3 ... @feature
2017-06-09ecore-x: Minor formatting fixChris Michael
NB: No functional changes Signed-off-by: Chris Michael <>
2017-05-16ecore_x: Fix build warning (invalid enum used)Jean-Philippe Andre
2017-05-09ecore_x: add function to show and hide X cursor.thierry E
Signed-off-by: Cedric BAIL <>
2017-05-09ecore_x: handle DPMS state for a more accurate idling evaluation.thierry E
Signed-off-by: Cedric BAIL <>
2017-03-28window stacks - make these unstable bta api for nowCarsten Haitzler (Rasterman)
until settled, make these as beta for now.
2017-03-09ecore_x: avoid crash during shutdown due to Ecore_Event queue.Cedric BAIL
2017-02-14ecore_x: add singce tags for ecore_x_stack_* functions added during 1.19 cycleStefan Schmidt
2017-02-07cmake: add ecore_xMarcel Hollerbach
2017-02-07ecore_x: we dont need this version file anymoreMarcel Hollerbach
it indicated a while back which backend was used, we only have xlib left.
2016-12-22efl window stacks - implement pop to for x11 in the portable wayCarsten Haitzler (Rasterman)
2016-12-20efl stack wins - add base property/boolean to indicate win is a baseCarsten Haitzler (Rasterman)
part of adding stacks...
2016-12-16ecore-x - add missing atom fetches!Carsten Haitzler (Rasterman)
2016-12-16ecore-x - add e stack type atom and api's to set and get itCarsten Haitzler (Rasterman)
2016-12-15ecore-x: fix Mode_switch key mappingHannes Janetzek
- remove redundant XKeysymToString when sym == sym2 @fix
2016-11-23ecore_evas/x: Inform WM about borders and shadowsJean-Philippe Andre
This exploits the existing X Atom "GTK_FRAME_EXTENTS"
2016-11-21ecore_x_vsync: not using Ecore_Con.h anymore.Gustavo Sverzut Barbieri
2016-11-03remove xcb support in ecore_x and evas engines as per mailing listCarsten Haitzler (Rasterman)
as per mailing list discussion about dropping xcb support now. it hasn't been complete for a long time, thus not recommented for being turned on. as we are moving to a wayland world xcbmakes even less sense. as agreed, time to clean up a bit and remove a distraction as well as not well tested code. this also updates po's too. @feature
2016-10-28improve responsivness of timer sleeping threads for vsync with prctlCarsten Haitzler (Rasterman)
prctl allows us on some platforms to request a thread be woken up more agressively e.g. due to a timeout bu setting timerslack. since we use a dedicated thread just for vsync events, this is a very good idea to ask the kernel to be as exact as possible for this thread as it only wakes up once per frame (or should only) and accuracy is important. so use this. also improve prctl checks to be more explicit in and use these ifdefs in ecore exe too where prctl is used as well. @feature
2016-10-28ecore-animator allow for animator to skip queued animator ticksCarsten Haitzler (Rasterman)
set ECORE_ANIMATOR_SKIP to skip queued animtor ticks if multiple are in the pipeline. optional and not on by default. i would think its not a good idea to skip these animator ticks and skipping/deferring is a job higher up. @feature
2016-10-04ecore_x - remove ecore_x_vsync tool as it isnt enabled or used runtimeCarsten Haitzler (Rasterman)
so ecore_x_vsync as a tool uses glx for nvidia drivers plut "wait for vblank" extensions to try vsync "sync". the problem is this is flakey because the drivers may or may not continue vsyncing after screen off or syspend/resume or vt changes and all the workarounds dont seem to be reliable, so since this causes this to be disabled, no point keeping all the code and build stuff around, so remove this "unused junk" we have in the tree.
2016-08-26evas: Add normalized and window coordinates to axis eventsJean-Philippe Andre
This is for Wacom graphics tablets (with a pen). The raw data sent by ecore to evas (and then to apps) is pretty useless as it's not normalized, and apps have no way of knowing the dimensions of the tablet, without themselves opening the device (we don't know nor expose the path to the device). This is for Xi2 only for now, as Wayland support hasn't been done yet. The intent is to deprecate LABEL_X and LABEL_Y. I'm not sure yet if the normalized value is useful or not (it would seem we may not be able to provide this info in Wayland). The new WINDOW_X, WINDOW_Y labels will be used in the new event type (Efl.Event.Pointer). Normalized values are not exposed yet, let's decide if we want them or not first (based on what can be done in Wayland space). @feature
2016-08-26ecore xi2: Discard "axis" inputs from standard miceJean-Philippe Andre
Mice in X with xi2 send Axis events which are badly defined, and carry basically useless information, as we also receive proper mouse events. Notably, all mice input events are "Rel something" but in fact they are absolute values (even the wheel information is a counter increasing every time you scroll). This should not break any application as such axis events carried only values with label ECORE_AXIS_LABEL_UNKNOWN. This also fixes a leak when n == 0 (no "valuator" found in the list, this used to be unlikely, now happens at every mouse event).
2016-08-24ecore_x: Early check image bpp based on depthJean-Philippe Andre
This fixes argb windows transparency in E software compositor. My current problem is that I have no idea what changed, why this is needed now, and how things could actually work before. Fixes T4389 @fix
2016-07-29ecore: xcb: make sure length_name is always initializedStefan Schmidt
lib/ecore_x/xcb/ecore_xcb_icccm.c: In function ‘ecore_x_icccm_name_class_set’: lib/ecore_x/xcb/ecore_xcb_icccm.c:320:11: warning: ‘length_name’ may be used uninitialized in this function [-Wmaybe-uninitialized] s += length_name + 1; Looking at the code this is indeed possible so better play safe here.
2016-07-27efl - ecore-x - work around e's badness in makeing an x image for all winsCarsten Haitzler (Rasterman)
so e is being stupid and creating an ecore-x image forevery single window if in x11 mode if it needs it or not. this results in having ti allocate an actual x image and shm segments. work around this and get bit order from somewhere else than the x image itself thus avoiding the allocation until a real get or put is done. @fix
2016-07-26evas and ecore_x shm segment management - fix over allocation and permsCarsten Haitzler (Rasterman)
so our sysv shm segments were both over-permissive (nothing bad really, just other users could read and write to/from our pixel data destined for the screen... they could do this to x11 directly anyway so no real issue), but be more restrictive and use 0600 as xserver runs as root so can read/write anyway and we only want our own uid access. but even more - fix our shm segment flushing to not keep lots of segments floating about like a bad smell when we don't need them. we had a cache but it wasnt flushed when it should be since async rendering turned up. this fixes that and we're back to agressively flushing them out when idle. @fix
2016-07-11ecore x xrandr - fix possible divide by zeroCarsten Haitzler (Rasterman)
fixes CID 1039437 , 1039438
2016-07-11ecore_x: NULL derefs.Benjamin Jacobs
Reviewers: raster, devilhorns Subscribers: raster, cedric, jpeg Differential Revision:
2016-06-06ecore-xcb: Fix XCB to be usable againBenjamin Jacobs
Summary: Well mostly, it seems there is an issue with multi-key events and enlightenment. Let's merge this first before opening a ticket. Reviewers: devilhorns Subscribers: cedric, jpeg Differential Revision: @fix
2016-05-27efl - ecore c+ ecore-imf - fix odd case input when faking a real eventCarsten Haitzler (Rasterman)
so ibus module for ecore-imf likes to send an x event back to ourselves faking a key... this works unless we are looking at modifiers that make make for odd combos with keysyms turned into keycodes. so actualyl use the correct original keycode plus state unless we are having to explicitly send a keysym from ibus core. this fixes T3703 @fix