ECORE_X_ATOM_E_ILLUME_SLIDING_WIN_STATE
ECORE_X_ATOM_E_ILLUME_SLIDING_WIN_GEOMETRY
ECORE_X_ATOM_E_KEYROUTER_SUPPORTED
ECORE_X_ATOM_E_KEYROUTER_WINDOW_KEYTABLE
all had no atom fetches! fix..
@fix
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
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 configure.ac and use
these ifdefs in ecore exe too where prctl is used as well.
@feature
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
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.
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
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).
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
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.
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
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
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: https://phab.enlightenment.org/D4017
@fix
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
Summary:
To ensure initialize all fields of Ecore_Event_Mouse_XXX,
use calloc() instead of malloc().
Test Plan: N/A
Reviewers: gwanglim, cedric, raster, devilhorns, ManMower, zmike
Subscribers: jpeg, input.hacker, JHyun
Differential Revision: https://phab.enlightenment.org/D3906
Summary:
the event XkbNewKeyboardNotify was never selected with
XkbSelectEventDetails so the event type could never occur.
The event is now each time emitted when a new event to the keyboard
happens. To clarify a bit: A new keyboard is always detected in x when
the set of keymaps changes.
@fix
Reviewers: raster, devilhorns, zmike
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D3867
This patch adds an xcb implementation for missing
ecore_x_randr_crtc_panning_area_set function
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This patch adds an xcb implementation for missing
ecore_x_randr_edid_display_interface_type_get function
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This patch adds an xcb implementation for missing function
ecore_x_randr_screen_backlight_level_set
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This patch adds an xcb implementation for missing API function
ecore_x_randr_edid_dpms_off_available_get
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This patch adds an xcb implementation for missing
ecore_x_randr_edid_dpms_standby_available_get function
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This patch adds an xcb implementation for missing
ecore_x_randr_edid_display_serial_get function
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This patch adds an xcb implementation for missing
ecore_x_randr_edid_display_ascii_get function
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This patch adds an xcb implementation for missing API function
ecore_x_randr_edid_dpms_standby_available_get
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This patch adds an xcb implementation for missing function
ecore_x_randr_edid_dpms_available_get
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This patch adds an xcb implementation for missing API function
ecore_x_randr_edid_manufacturer_serial_number_get
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This patch adds an xcb implementation for ecore_x_randr_edid_model_get
function which was missing from ecore-xcb.
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This patch adds an xcb implementation for
ecore_x_randr_edid_manufacturer_model_get function
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
ecore_x_randr_edid_manufacturer_name_get
This patch adds an implementation inside ecore-xcb for missing API
function ecore_x_randr_manufacturer_name_get
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This patch adds an implementation for
ecore_x_randr_edid_info_has_valid_checksum which was missing in the
ecore-xcb codebase.
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This patch adds definition of missing API function
ecore_x_randr_output_crtc_set.
NB: This function also has no code in the xlib implementation
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This patch implements missing API functions (in ecore xcb) for
ecore_x_window_keygrab_set, ecore_x_window_keygrab_unset,
ecore_x_e_keyrouter_set, ecore_x_e_keyrouter_get. These
were missing from the initial commit of keygrab/keyrouter code.
Fixes T3377
ref 5c3a08433a
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
As Ecore_X_Window is an 'int' type, we should not be initializing it
to NULL. This causes compiler warnings about initialization makes
integer from pointer without a cast.
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
xlib immediately crashes upon being passed a null DISPLAY object,
so every function in ecore-x should likely have safety checks such as these.
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
xlib immediately crashes upon being passed a null DISPLAY object,
so every function in ecore-x should likely have safety checks such as these.
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
xlib immediately crashes upon being passed a NULL display object,
so every function in ecore-x should likely have safety checks such as these.
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
xlib immediately crashes upon being passed a NULL display object,
so every function in ecore-x should likely have safety checks such as
these.
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
xlib immediately crashes upon being passed a null DISPLAY object,
so every function in ecore-x should likely have safety checks such
as these.
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
xlib immediately crashes upon being passed a null DISPLAY object,
so every function in ecore-x should likely have safety checks such
as these.
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
xlib immediately crashes upon being passed a null DISPLAY object,
so every function in ecore-x should likely have safety checks such
as these.
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This is an "oopsie" fix from my previous commit wrt adding EINA_SAFETY
checks. I made an oopsie and didn't realize that these 2 functions
were expecting int returns.
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
xlib immediately crashes upon being passed a null DISPLAY object,
so every function in ecore-x should likely have safety checks such
as these.
@ref 210b3e6c62
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
xlib immediately crashes upon being passed a null DISPLAY object,
so every function in ecore-x should likely have safety checks such as
these. an easy project for anyone who has some free time
@fix
Summary:
Without this, selection can get cleared when changing focus.
For example, if we have 2 entries:
The first entry is focused and has a selection.
When we focus the second entry, we want to select all the text.
But the old selection gets unfocused and sends a clear signal
to the new focused entry and it gets unselected.
This should fix T2739.
Reviewers: raster, tasn, devilhorns
Subscribers: herdsman, thiepha, cedric
Maniphest Tasks: T2739
Differential Revision: https://phab.enlightenment.org/D3127
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
i found that intel drm device gives BROKEN timestamps vs system clock
- it is off by about 0.3 to 0.4ms - this means the vsync event is in
the future vs when we actually wake up and do processing - this leads
to bizare timelines and likely odd event and animation handling.
fix this by detecting it and figuring out an average delay and
offsetting events by that in future, but until then, use "now" when
the drm thread wakes up as the timestamp.
@fix
Summary:
Assigning to NULL has no effect in the function calling this. So changed it to void.
Some compiler complain about this kind of construct. It is better to use the (void)
construct for silencing unused parameter with different kind of configure option.
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: cedric
Differential Revision: https://phab.enlightenment.org/D3180
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
The assigned value has no effect outside the function. So removing it.
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: cedric
Differential Revision: https://phab.enlightenment.org/D3181
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
If realloc fails, lst would be NULL. So handling it.
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: cedric
Differential Revision: https://phab.enlightenment.org/D3182
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
The assignment to size has no effect on the caller and compiler
complain about it. Do shutdown compiler complain in a more reliable
way.
Signed-off-by:
Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D3156
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
_ecore_x_modifiers_get() causes multiple XGetModifierMapping requests to the
server through _ecore_x_key_mask_get() function. _ecore_x_key_mask_get()
requests XModifierKeymap pointer every time it gets executed.
This can be optimized by a single XGetModifierMapping request in the
_ecore_x_modifiers_get() function itself and then passing the XModifierKeymap
pointer thus retrieved to the _ecore_x_key_mask_get() function.
Reviewers: raster, Hermet, tasn, zmike
Subscribers: yashu21985, alok25, sachin.dev, singh.amitesh, cedric
Differential Revision: https://phab.enlightenment.org/D3166
Summary:
xcb_get_modifier_mapping_reply_t *reply is obtained from
xcb_get_modifier_mapping_reply and should be freed after use.
Reviewers: raster, Hermet, tasn, zmike
Subscribers: singh.amitesh, yashu21985, alok25, sachin.dev, cedric
Differential Revision: https://phab.enlightenment.org/D3167
@fix
Summary:
The assignment of NULL will have no effect on the caller. So removed that statment.
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: cedric
Reviewed By: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D3153
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
realwin is uninitialized and is being checked against 0 at 384. It is set at 377 only if win2 == win, else it remains uninitialized. So initializing it to NULL.
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D3154
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
If realloc fails, then lst would be NULL, so assigning lst[i] only if realloc is successful, else assigning lst to previous memory location.
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: cedric
Reviewed By: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D3155
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Xprint has been deprecated since 2008.
It's recently (August 2015) been removed from debian.
Reviewers: zmike, devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D3150
Summary:
The assignment of NULL will have no effect on the caller. So removed that statment.
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D3095
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
If realloc fails, it returns NULL. Then whatever the memory the ignore_list was pointing to would be leaked. So freeing it now.
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: stefan_schmidt, cedric
Reviewed By: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D3012
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
this is a less invasive solution for retrieving a keysym. X keysyms are
not portable, and so this function should not be used for any code which
is meant to run on other platforms.
@feature
Summary:
Previous implementation used mouse_handler to create mouse events from touch
events if the device was grabbed and no emulated mouse events were emitted by X server.
However the same functionality could be achieved by using multi_handler with
additional condition on grabbed devices.
Test Plan: elementary_test -> Multitouch
Reviewers: cedric, raster, devilhorns
Subscribers: seoz, cedric
Differential Revision: https://phab.enlightenment.org/D2700