Commit Graph

367 Commits

Author SHA1 Message Date
Marcel Hollerbach bcdde959e6 cmake: add ecore_x 2017-02-07 09:24:52 +01:00
Marcel Hollerbach e34f36be12 ecore_x: we dont need this version file anymore
it indicated a while back which backend was used, we only have xlib
left.
2017-02-07 09:24:52 +01:00
Carsten Haitzler cc5dd2bd87 efl window stacks - implement pop to for x11 in the portable way 2016-12-22 15:17:43 +09:00
Carsten Haitzler 39af0d88aa efl stack wins - add base property/boolean to indicate win is a base
part of adding stacks...
2016-12-20 10:57:55 +09:00
Carsten Haitzler 56b0b6490d ecore-x - add missing atom fetches!
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
2016-12-16 16:16:53 +09:00
Carsten Haitzler 90be06df9e ecore-x - add e stack type atom and api's to set and get it 2016-12-16 16:16:53 +09:00
Hannes Janetzek 1b0690dd9a ecore-x: fix Mode_switch key mapping
- remove redundant XKeysymToString when sym == sym2

@fix
2016-12-15 11:35:41 -05:00
Jean-Philippe Andre 4722b685cf ecore_evas/x: Inform WM about borders and shadows
This exploits the existing X Atom "GTK_FRAME_EXTENTS"
2016-11-23 13:04:12 +09:00
Gustavo Sverzut Barbieri 010b14bc37 ecore_x_vsync: not using Ecore_Con.h anymore. 2016-11-21 19:47:35 -02:00
Carsten Haitzler 4ed2e01591 remove xcb support in ecore_x and evas engines as per mailing list
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-11-03 22:22:54 +09:00
Carsten Haitzler 973eaedf51 improve responsivness of timer sleeping threads for vsync with prctl
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
2016-10-28 22:58:36 +09:00
Carsten Haitzler da04400c5d ecore-animator allow for animator to skip queued animator ticks
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-28 13:58:56 +09:00
Carsten Haitzler 177e6e1486 ecore_x - remove ecore_x_vsync tool as it isnt enabled or used runtime
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-10-04 10:04:39 +09:00
Jean-Philippe Andre 60526528a6 evas: Add normalized and window coordinates to axis events
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-26 10:18:01 +09:00
Jean-Philippe Andre 7b25619213 ecore xi2: Discard "axis" inputs from standard mice
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-26 10:18:01 +09:00
Jean-Philippe Andre c507f56110 ecore_x: Early check image bpp based on depth
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-08-24 14:42:16 +09:00
Stefan Schmidt 461c5d2787 ecore: xcb: make sure length_name is always initialized
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-29 14:20:16 +02:00
Carsten Haitzler bd91ebbbd7 efl - ecore-x - work around e's badness in makeing an x image for all wins
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-27 10:32:41 +09:00
Carsten Haitzler 93a683daad evas and ecore_x shm segment management - fix over allocation and perms
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-26 13:21:50 +09:00
Carsten Haitzler 1e6375cbe3 ecore x xrandr - fix possible divide by zero
fixes CID 1039437 , 1039438
2016-07-11 21:17:39 +09:00
Benjamin Jacobs e03d4142ef ecore_x: NULL derefs.
Reviewers: raster, devilhorns

Subscribers: raster, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4018
2016-07-11 14:20:00 +09:00
Benjamin Jacobs 109d040e3d ecore-xcb: Fix XCB to be usable again
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
2016-06-06 15:46:24 -04:00
Carsten Haitzler 072674dbe2 efl - ecore c+ ecore-imf - fix odd case input when faking a real event
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
2016-05-27 23:57:30 +09:00
Mike Blumenkrantz 7510e42c1b elm_win: implement v2 of teamwork api using window-based display protocol
this adds support for wayland and makes teamwork integration trivial for any
application

@feature
2016-05-20 14:54:06 -04:00
Cedric BAIL 0c4880e99d efl: everyone should now rely on Eina MIN/MAX redefinition. 2016-05-09 16:58:53 -07:00
Duna Oh fbe4e4b6ad Ecore: Use calloc() to initialize Ecore_Event_Mouse_XXXX
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
2016-04-20 08:33:20 -04:00
Marcel Hollerbach 8400c9d3d2 ecore_x: fix emission of ECORE_X_EVENT_XKB_NEWKBD_NOTIFY
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
2016-04-07 14:02:29 +02:00
Chris Michael aba46af602 ecore-xcb: Add implementation for missing API function
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>
2016-04-05 11:43:14 -04:00
Chris Michael ca8e13712f ecore-xcb: Add implementation for missing API function
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>
2016-04-05 10:14:19 -04:00
Chris Michael ef15639e33 ecore-xcb: Add implementation for missing API function
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>
2016-04-05 09:58:11 -04:00
Chris Michael bb8011a637 ecore-xcb: Add implementation for missing API function
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>
2016-04-05 09:46:57 -04:00
Chris Michael a19756be38 ecore-xcb: Add implementation for missing API function
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>
2016-04-05 09:45:20 -04:00
Chris Michael 760fb0326c ecore-xcb: Add implementation for missing API function
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>
2016-04-05 09:43:04 -04:00
Chris Michael 48bfcd106f ecore-xcb: Add implementation for missing API function
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>
2016-04-05 09:39:33 -04:00
Chris Michael 25b0dced34 ecore-xcb: Add implementation for missing API function
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>
2016-04-05 09:34:59 -04:00
Chris Michael 4d048e5725 ecore-xcb: Add implementation for missing API function
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>
2016-04-05 09:23:22 -04:00
Chris Michael 84149511da ecore-xcb: Add implementation for missing API function
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>
2016-04-05 09:20:53 -04:00
Chris Michael 66b8698be2 ecore-xcb: Add implementation for missing Ecore_X API
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>
2016-04-05 09:18:10 -04:00
Chris Michael 6ce9ab87e8 ecore-xcb: Add implementation for missing API function
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>
2016-04-05 09:16:49 -04:00
Chris Michael 7c2e5a0c3e ecore-xcb: Add missing API function
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>
2016-04-05 09:11:41 -04:00
Chris Michael debc4da837 ecore-xcb: Add missing API function ecore_x_randr_edid_info_has_valid_checksum
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>
2016-04-05 09:06:06 -04:00
Chris Michael b89d219093 ecore-xcb: Add missing ecore_x_randr_output_crtc_set API function
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>
2016-04-05 08:59:24 -04:00
Chris Michael 0ed9d246e5 ecore-xcb: Implement missing keyrouter and keygrab functions for xcb
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>
2016-04-04 11:01:48 -04:00
Chris Michael 0482c38131 ecore-xcb: Fix wrong initialization
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>
2016-04-04 08:41:27 -04:00
Chris Michael da0b4d4850 ecore-x: add safety checks for _ecore_x_disp in some functions
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>
2016-02-23 08:43:50 -05:00
Chris Michael a0ad57bb16 ecore-x: add safety checks for _ecore_x_disp in some functions
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>
2016-02-22 14:50:35 -05:00
Chris Michael 2be9bfc2a8 ecore-x: Add safety checks for NULL display in dpms functions
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>
2016-02-17 08:16:29 -05:00
Chris Michael 5b2580b62e ecore-x: Add safety checks for NULL _ecore_x_disp in dnd functions
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>
2016-02-16 15:51:58 -05:00
Chris Michael 3bc6a4bedf ecore-x: Add EINA_SAFETY checks for missing display
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>
2016-02-12 08:28:10 -05:00
Chris Michael ef13b57948 ecore-x: Add EINA_SAFETY checks for missing display
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>
2016-02-12 08:28:10 -05:00