path: root/src/lib/ecore_x (follow)
AgeCommit message (Collapse)Author
2019-09-26ecore-x: protect against accidentally "un-managing" the root windowMike Blumenkrantz
Summary: block calls to XSelectInput with the root window if the root window is currently being "managed" in-process in order to avoid breaking the running wm Depends on D10013 Reviewers: devilhorns Reviewed By: devilhorns Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision:
2019-09-26ecore-x: add internal function for selecting just properties of root windowMike Blumenkrantz
Summary: this is just a shortcut for watching properties in the case where no wm is active in the process Depends on D10012 Reviewers: devilhorns Reviewed By: devilhorns Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision:
2019-09-26ecore-x: track whether ecore-x is internally "managing" the root windowMike Blumenkrantz
Summary: when ecore_x_window_manage is called, this is probably only for the case of managing the root window, i.e., running a window manager. store this state internally so that we can avoid calling additional XSelectInput later and fucking up the expected eventing Depends on D9899 Reviewers: devilhorns Reviewed By: devilhorns Subscribers: devilhorns, cedric, #reviewers, #committers Tags: #efl Differential Revision:
2019-09-26ecore-x: fix null derefs in window prop codeMike Blumenkrantz
Summary: handle cases where null params could be passed and cause crashes @fix Reviewers: devilhorns Reviewed By: devilhorns Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision:
2019-07-10events: don't check for zeroed event types before registering themMike Blumenkrantz
Summary: this handles the case of reinitializing a component, but it's totally broken in the case of doing a full ecore restart Depends on D9253 Reviewers: bu5hm4n Reviewed By: bu5hm4n Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision:
2019-06-18ecore_x - restore move event skipper that was removed long agoCarsten Haitzler (Rasterman)
so i've been wondering what is going on for a few days... and i've figured it out finally... my mouse seems ot like to generate 1000 events per second. not your usual 100 or 200. it only happened on this one machine so i was wondering what on earth was up. this machine was different in other ways like an arm cpu, differing gpu (rx550), different distro and so on. this is creating a storm of motion events.. and this is causing all sorts of overhead in just trying to deal with them all like generate more internal events, emit signals for every one of them and so on. there is no attempt to play catch-up or anything - just build up a bigger and bigger queue of them to deal with. this is NOT GOOD. this restores our old commented out event skipper that got commented out during some xcb work actually - not on its own. it was a huge xcb patch that commented it out. this restores it and makes it a little cleaner with a bool and now the perf issues i was seeing are gone. this is such a major performance fix that this deserves a backport. @fix @optimize
2019-05-29ecore-x: protect ecore_x_shutdown from creating a negative init countMike Blumenkrantz
Summary: @fix Depends on D8972 Reviewers: devilhorns Reviewed By: devilhorns Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision:
2019-04-17build: use only BUILD_ECORE_IMF_XIM as a defineMike Blumenkrantz
Summary: meson and autotools were a bit out of sync with this, resulting in unexpected behavior Reviewers: billiob Reviewed By: billiob Subscribers: billiob, cedric, #reviewers, #committers Tags: #efl Differential Revision:
2019-04-02docs: Fix common misspellings in H filesXavi Artigas
Fixed all appearances of words from this list in H files:
2019-02-13ecore-x: only modify _ecore_key_grabs when key is toggledThierry
A New entry is added to _ecore_key_grabs even when no key was grabbed. Summary: The key grab and ungrab functions should return which keycode was used. Proposed by Reviewers: zmike Reviewed By: zmike Subscribers: zmike, cedric, #reviewers, #committers Tags: #efl Differential Revision:
2018-12-20cmake: remove!Marcel Hollerbach
This build was never complete and also was not maintained probebly. It is also dropped in favour of meson which is cool, merged, works & is fast. Differential Revision:
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