Bryce Harrington [Sat, 14 Mar 2015 00:04:16 +0000 (20:04 -0400)]
wayland: whitespace cleanup
Reviewers: cedric, devilhorns, zmike
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2154
Bryce Harrington [Sat, 14 Mar 2015 00:26:24 +0000 (20:26 -0400)]
uuid: Check error on ftruncate call
Summary:
Fixes warning:
src/bin/e_uuid_store.c:71:4: warning: ignoring return value of
‘ftruncate’, declared with attribute warn_unused_result
[-Wunused-result]
ftruncate(store->shmfd, TABLE_SIZE);
^
Signed-off-by: Bryce Harrington <bryce@osg.samsung.com>
Reviewers: zmike
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2156
Mike Blumenkrantz [Sat, 14 Mar 2015 00:09:54 +0000 (20:09 -0400)]
wl compile fixes
Bryce Harrington [Sat, 14 Mar 2015 00:06:01 +0000 (20:06 -0400)]
wayland: Handle failure to init a display screen
Summary:
e_comp_wl_output_init will fail (silently) under a couple of
conditions. Instead, make it propagate the error so it can be handled
at a higher level. For now just issue an error message.
Signed-off-by: Bryce Harrington <bryce@osg.samsung.com>
Reviewers: cedric, devilhorns, zmike
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2155
Mike Blumenkrantz [Sat, 14 Mar 2015 00:03:21 +0000 (20:03 -0400)]
bump modapi version to 15
Mike Blumenkrantz [Fri, 13 Mar 2015 21:50:04 +0000 (17:50 -0400)]
e_util_comp_desk_count_get() -> e_desks_count()
also wtf is this double loop counting
Mike Blumenkrantz [Fri, 13 Mar 2015 21:47:56 +0000 (17:47 -0400)]
remove e_util_zone_current_get()
Mike Blumenkrantz [Fri, 13 Mar 2015 21:47:36 +0000 (17:47 -0400)]
remove e_util_zone_current_get() usage
Mike Blumenkrantz [Fri, 13 Mar 2015 21:44:24 +0000 (17:44 -0400)]
remove E_Zone->comp member
Mike Blumenkrantz [Fri, 13 Mar 2015 21:29:34 +0000 (17:29 -0400)]
use correct wayland ifdef for E_Client uuid generation
Mike Blumenkrantz [Fri, 13 Mar 2015 21:19:17 +0000 (17:19 -0400)]
e_zone functions no longer require E_Comp param
Mike Blumenkrantz [Fri, 13 Mar 2015 20:48:29 +0000 (16:48 -0400)]
e_client functions no longer require E_Comp param
Mike Blumenkrantz [Fri, 13 Mar 2015 20:31:22 +0000 (16:31 -0400)]
e_comp functions no longer require E_Comp param
Mike Blumenkrantz [Fri, 13 Mar 2015 20:28:49 +0000 (16:28 -0400)]
remove e_util_comp_current_get()
Mike Blumenkrantz [Fri, 13 Mar 2015 20:28:08 +0000 (16:28 -0400)]
remove e_util_comp_current_get() usage
Mike Blumenkrantz [Fri, 13 Mar 2015 20:24:27 +0000 (16:24 -0400)]
remove e_comp_evas_find()
Mike Blumenkrantz [Fri, 13 Mar 2015 20:23:37 +0000 (16:23 -0400)]
remove e_comp_evas_find() usage
Mike Blumenkrantz [Fri, 13 Mar 2015 20:14:48 +0000 (16:14 -0400)]
remove E_Drag->comp and E_Comp param from e_drag_new()
Mike Blumenkrantz [Fri, 13 Mar 2015 20:12:35 +0000 (16:12 -0400)]
remove E_Event_Compositor_Resize struct
corresponding event no longer sends event info
Mike Blumenkrantz [Fri, 13 Mar 2015 19:54:51 +0000 (15:54 -0400)]
comp canvas functions no longer require an E_Comp param
Mike Blumenkrantz [Fri, 13 Mar 2015 19:49:04 +0000 (15:49 -0400)]
remove unnecessary E_Comp references in comp object callbacks
Mike Blumenkrantz [Fri, 13 Mar 2015 19:45:07 +0000 (15:45 -0400)]
E_CLIENT_*FOREACH() macros no longer take a E_Comp param
Mike Blumenkrantz [Fri, 13 Mar 2015 19:41:21 +0000 (15:41 -0400)]
remove E_Client->comp
Mike Blumenkrantz [Fri, 13 Mar 2015 19:28:42 +0000 (15:28 -0400)]
remove E_Comp_Object->comp member
Mike Blumenkrantz [Fri, 13 Mar 2015 19:24:33 +0000 (15:24 -0400)]
remove e_comp_util_evas_object_comp_get()
Mike Blumenkrantz [Fri, 13 Mar 2015 19:24:13 +0000 (15:24 -0400)]
remove e_comp_util_evas_object_comp_get() usage
Mike Blumenkrantz [Fri, 13 Mar 2015 19:20:41 +0000 (15:20 -0400)]
remove e_util_comp_zone_id_get() and e_util_comp_zone_number_get()
Mike Blumenkrantz [Fri, 13 Mar 2015 19:18:16 +0000 (15:18 -0400)]
e_util_comp_zone_number_get() -> e_comp_zone_number_get()
Mike Blumenkrantz [Fri, 13 Mar 2015 19:13:01 +0000 (15:13 -0400)]
remove e_comp_get() function
Mike Blumenkrantz [Fri, 13 Mar 2015 19:12:20 +0000 (15:12 -0400)]
de-e_comp_get()ify e
mrw I remember how to regex http://i.giphy.com/dC9dujPVeAfIY.gif
Mike Blumenkrantz [Fri, 13 Mar 2015 19:03:13 +0000 (15:03 -0400)]
fix wl shell client borders for internal, borderful clients...again
Yomi [Thu, 12 Mar 2015 22:52:13 +0000 (18:52 -0400)]
change DESKTOP env setting on startup
Summary:
From Enlightenment 17 to Enlightenment.
Seems e17 keeps popping up...
rEdb6aeef2b1a9c831fa0901e499dd8f73ff733836
rEec1cd25cfe666665b9e5641c91d3ad1fd2f9f11c
Reviewers: zmike
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2147
Mike Blumenkrantz [Thu, 12 Mar 2015 19:19:52 +0000 (15:19 -0400)]
send client sizes for wl configure events when fullscreening/maximizing
Mike Blumenkrantz [Thu, 12 Mar 2015 19:15:40 +0000 (15:15 -0400)]
remove unused wl variables
Mike Blumenkrantz [Thu, 12 Mar 2015 19:14:27 +0000 (15:14 -0400)]
don't reset placement of internal wl clients on first commit
fixes placement of evry et al
Mike Blumenkrantz [Thu, 12 Mar 2015 18:53:46 +0000 (14:53 -0400)]
don't crash when creating external shell surface clients
sadconditionals.jpg
Mike Blumenkrantz [Thu, 12 Mar 2015 18:48:46 +0000 (14:48 -0400)]
correctly apply wl shell client border states only for non-internal clients
Mike Blumenkrantz [Thu, 12 Mar 2015 18:42:00 +0000 (14:42 -0400)]
don't create new wl shell clients for internal windows
Mike Blumenkrantz [Thu, 12 Mar 2015 18:28:18 +0000 (14:28 -0400)]
conditionally compile elm win trap wayland functionality
Mike Blumenkrantz [Thu, 12 Mar 2015 18:23:22 +0000 (14:23 -0400)]
Revert "e - fix build when wayland not enabled"
This reverts commit
413ca8046e44786d086816a94d60492b92f6fac6.
broke wayland runtime: wrong define names, wrong usage
Mike Blumenkrantz [Thu, 12 Mar 2015 17:44:34 +0000 (13:44 -0400)]
wl drm output module must set comp gl state more pedantically
Mike Blumenkrantz [Thu, 12 Mar 2015 17:24:42 +0000 (13:24 -0400)]
disable wl client hide animations even with gl
broken until we start making textures for rendering clients
Mike Blumenkrantz [Thu, 12 Mar 2015 17:13:55 +0000 (13:13 -0400)]
don't identify all wl shell clients as internal...you crackhead
Mike Blumenkrantz [Wed, 11 Mar 2015 20:00:58 +0000 (16:00 -0400)]
fix ibar drop calc to not unexpectedly trigger epileptic seizures in users
when attempting to drop on an icon, the drop area geometry was never included
in the calc, resulting in the drop changing between positions on every frame
Mike Blumenkrantz [Wed, 11 Mar 2015 20:00:34 +0000 (16:00 -0400)]
slight ibar dnd optimization when checking taskbar apps for drop site
maxerba [Wed, 11 Mar 2015 18:04:42 +0000 (19:04 +0100)]
Updating italian translation
Carsten Haitzler (Rasterman) [Wed, 11 Mar 2015 09:34:38 +0000 (18:34 +0900)]
e clients - make sure we handle client with a NULL zone
Mike Blumenkrantz [Tue, 10 Mar 2015 22:29:09 +0000 (18:29 -0400)]
don't modify pixmap hash when changing pixmap parent window
moderately certain I originally wrote this to work in the other direction
and then failed to remove it when I switched to setting parents instead of
children. regardless, pixmap hash should not be changed here
Mike Blumenkrantz [Tue, 10 Mar 2015 22:28:18 +0000 (18:28 -0400)]
CRI on attempting to change a pixmap's client when pixmap already has client
this should never occur, so do something if it does since it means there's a big problem
Mike Blumenkrantz [Tue, 10 Mar 2015 22:27:08 +0000 (18:27 -0400)]
always create new client for wl shell surfaces
this should be a more correct way of handling (shell) surfaces since
there's never a time when we won't want to create a new client
Mike Blumenkrantz [Tue, 10 Mar 2015 20:37:57 +0000 (16:37 -0400)]
don't reuse wl surface pixmaps without adding a ref
Mike Blumenkrantz [Tue, 10 Mar 2015 20:37:30 +0000 (16:37 -0400)]
don't attempt to find wl shell E_Client when one cannot exist
Derek Foreman [Tue, 10 Mar 2015 20:24:45 +0000 (16:24 -0400)]
Wayland: more checks to avoid consuming serials needlessly
Reviewers: devilhorns, zmike
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2135
Mike Blumenkrantz [Tue, 10 Mar 2015 20:11:57 +0000 (16:11 -0400)]
fix invalid eina list usage when merging wl surface frame list
Derek Foreman [Tue, 10 Mar 2015 19:52:31 +0000 (15:52 -0400)]
Wayland: Don't consume serials when not sending events
Reviewers: zmike, devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2134
Bryce Harrington [Tue, 10 Mar 2015 06:07:38 +0000 (15:07 +0900)]
wayland: Check for potential OOM from wl_array_add()
Summary:
wl_array_add() returns NULL if it can't malloc/realloc. This
is probably unlikely but check for it and issue a meaningful error if it
occurs.
Reviewers: cedric, devilhorns, zmike, raster
Reviewed By: raster
Subscribers: raster, cedric
Differential Revision: https://phab.enlightenment.org/D2054
Derek Foreman [Mon, 9 Mar 2015 20:37:02 +0000 (16:37 -0400)]
Send modifiers to wayland clients on focus in
Summary:
If we don't update the modifiers on focus in we can end up with stuck
modifiers if a modifier is held when starting a client.
Reviewers: zmike, devilhorns
Reviewed By: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2124
Derek Foreman [Mon, 9 Mar 2015 19:49:08 +0000 (15:49 -0400)]
Break e_comp_wl_input_keyboard_modifiers_update into two functions
Summary:
Separate the state serialization from the send so we can use the
serialization function elsewhere.
Reviewers: zmike, devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2123
Derek Foreman [Fri, 6 Mar 2015 23:55:39 +0000 (18:55 -0500)]
Don't update xkbstate when no app has focus
Summary:
We still update the keyboard array. focus_in adds everything in the
array to xkbstate anyway, so adding it when there's no focus results
in a double update of state and potentially stuck modifiers.
Reviewers: zmike, devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2111
Mike Blumenkrantz [Fri, 6 Mar 2015 23:54:31 +0000 (18:54 -0500)]
redo ibar icon label position signalling to emit left/center/right
also calc based on icon position, not icon orientation
Mike Blumenkrantz [Fri, 6 Mar 2015 22:59:43 +0000 (17:59 -0500)]
fix crash when using e_comp_object_util_center_pos_get() with non comp_objects
Mike Blumenkrantz [Fri, 6 Mar 2015 22:16:24 +0000 (17:16 -0500)]
fix horizontal/vertical smart maximize
fix T2170
Mike Blumenkrantz [Fri, 6 Mar 2015 22:06:43 +0000 (17:06 -0500)]
use current zone for shelf cfd setup
fix T2168
Mike Blumenkrantz [Fri, 6 Mar 2015 21:05:27 +0000 (16:05 -0500)]
Revert "disable fileman popups in wl-only mode"
This reverts commit
e6c47e8d90e75182cffd1d8cbdbb9e3821a4dbf1.
these no longer crash so reenable them
Mike Blumenkrantz [Fri, 6 Mar 2015 21:02:49 +0000 (16:02 -0500)]
remove unnecessary wl client pixmap checks
these are direct object callbacks so they will only be triggered on wl clients
Mike Blumenkrantz [Fri, 6 Mar 2015 20:00:52 +0000 (15:00 -0500)]
use stderr messages when failing to init X compositor
can't show error dialogs when we're about to exit, may as well print something useful
fix T2182
Mike Blumenkrantz [Fri, 6 Mar 2015 19:57:58 +0000 (14:57 -0500)]
exit immediately if any unrecognized arg is passed on startup
ref T2182
Mike Blumenkrantz [Fri, 6 Mar 2015 19:52:12 +0000 (14:52 -0500)]
disable wl clients in X
this is untested and undeveloped, no point in leaving it around to crash randomly
Derek Foreman [Fri, 6 Mar 2015 18:08:24 +0000 (13:08 -0500)]
Fix stuck modifiers on client exit
Summary:
We still need to remove the active keys when focus_out happens, even
if the pixmap is already gone. If we don't and a modifier was held
down during exit then the xkb state will have that modifier stuck
forever.
Reviewers: zmike, devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2110
Mike Blumenkrantz [Thu, 5 Mar 2015 19:57:49 +0000 (14:57 -0500)]
don't require client mirror object existence to hide dead comp object mirrors
Mike Blumenkrantz [Thu, 5 Mar 2015 17:44:27 +0000 (12:44 -0500)]
only hide comp object images for dead clients on smart hide
Mike Blumenkrantz [Thu, 5 Mar 2015 17:18:27 +0000 (12:18 -0500)]
flag non-internal wl shm clients as dead and delete mirrors on hide
no more crashing?
Mike Blumenkrantz [Thu, 5 Mar 2015 17:18:06 +0000 (12:18 -0500)]
trivial move comp object function
Mike Blumenkrantz [Thu, 5 Mar 2015 17:16:53 +0000 (12:16 -0500)]
add E_Client->dead to mark clients that should immediately be removed from the compositor
theme_shadow was unused
Mike Blumenkrantz [Thu, 5 Mar 2015 16:59:29 +0000 (11:59 -0500)]
force non-internal wl clients to hide when gl is not available
Mike Blumenkrantz [Thu, 5 Mar 2015 16:56:26 +0000 (11:56 -0500)]
hide comp object image on smart hide
ensure that this is not being rendered anywhere at the time of hide
Mike Blumenkrantz [Thu, 5 Mar 2015 16:41:43 +0000 (11:41 -0500)]
Revert "when we get a request to close client app, defer resource deletion"
This reverts commit
1cf7c1f1511c446413fdc6fae35d17870bdd1c4e.
didn't fix the issue and obfuscated the code unnecessarily
Mike Blumenkrantz [Thu, 5 Mar 2015 16:27:23 +0000 (11:27 -0500)]
re-setting same cursor object updates hotspot as expected
Mike Blumenkrantz [Wed, 4 Mar 2015 22:07:39 +0000 (17:07 -0500)]
never resize client clip object
Mike Blumenkrantz [Wed, 4 Mar 2015 20:52:16 +0000 (15:52 -0500)]
set ec->fullscreen before applying fullscreen geometry
Mike Blumenkrantz [Wed, 4 Mar 2015 20:36:23 +0000 (15:36 -0500)]
reapply wl surface focus during commit when necessary
Mike Blumenkrantz [Tue, 3 Mar 2015 21:48:25 +0000 (16:48 -0500)]
grab wl shell surface geom and use for adjusting resize operations
I think this still may not be 100% perfect,
but it's more like 95% perfect now instead of 50%
Chris Michael [Tue, 3 Mar 2015 16:59:52 +0000 (11:59 -0500)]
enlightenment: Implement support for wl_data_device_interface "release" event
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Tue, 3 Mar 2015 16:59:02 +0000 (11:59 -0500)]
enlightenment: Bump required Wayland version to 1.7.0
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Tue, 3 Mar 2015 14:54:23 +0000 (09:54 -0500)]
don't install SIGBUS handler if we are running wayland-only
Wayland shm sets up a sigbus handler for catching invalid shm region
access. If we setup our sigbus handler here, then the wl-shm sigbus
handler will not function properly
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Mon, 2 Mar 2015 20:41:46 +0000 (15:41 -0500)]
when we get a request to close client app, defer resource deletion
until After close animation has been run
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Mike Blumenkrantz [Mon, 2 Mar 2015 19:27:29 +0000 (14:27 -0500)]
remove ec->awaiting_hide_event
no longer used
Mike Blumenkrantz [Sat, 28 Feb 2015 21:48:07 +0000 (16:48 -0500)]
improve wl grab resize calcs
Mike Blumenkrantz [Sat, 28 Feb 2015 20:46:16 +0000 (15:46 -0500)]
update+clamp wl surface client size to buffer size during commit
this is the same as the X render loop behavior, just in a different place
Mike Blumenkrantz [Sat, 28 Feb 2015 20:43:12 +0000 (15:43 -0500)]
send different values to wl clients for configure when performing a resize action
the calculated values here seem to not be sufficiently accurate to manage a calculated resize.
instead, calc relative pointer coords and send them
#barrel
Chris Michael [Sat, 28 Feb 2015 16:36:42 +0000 (11:36 -0500)]
set output->scale to e_scale, and when we wl_output_send_scale
actually send output->scale
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Bryce Harrington [Sat, 28 Feb 2015 00:45:24 +0000 (19:45 -0500)]
wayland: Make sure we're initializing output scale sensibly
Summary:
By default the E_NEW() will create our output objects with a 0.0 scale,
which doesn't make any sense and if anything will lead to crashes.
Instead use a scale factor of 1.0.
When updating output details, if the scale setting is invalid then set
it to 1.0 as a sensible value.
Note this doesn't actually enable scaling, just helps make sure we're
not injecting invalid scale parameters from the start.
Reviewers: zmike, devilhorns, cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2078
Bryce Harrington [Sat, 28 Feb 2015 00:23:11 +0000 (19:23 -0500)]
wayland: Refactor output initialization code
Summary:
The code to initialize outputs has duplicate stanzas for updating the
data members of the output structure. This set of refactoring steps
shuffles things around to eliminate the redundant code. I think this
also makes the code easier to follow too.
This also breaks out a new internal routine for looking up outputs by
id. I suspect this will have general usefulness later.
Reviewers: devilhorns, cedric, zmike
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2077
Mike Blumenkrantz [Fri, 27 Feb 2015 20:55:41 +0000 (15:55 -0500)]
remove wl client resize idler, send ec->w/h instead of ec->client.w/h on resize
this idler makes sense in X where there is a third party display server but not in wl
Mike Blumenkrantz [Fri, 27 Feb 2015 20:07:24 +0000 (15:07 -0500)]
noop when setting pointer object if re-setting same object
Mike Blumenkrantz [Fri, 27 Feb 2015 19:44:27 +0000 (14:44 -0500)]
disable fileman popups in wl-only mode
these crash for now and I'm annoyed
Chris Michael [Fri, 27 Feb 2015 15:59:59 +0000 (10:59 -0500)]
remove missed use of E_COMP_WL_PIXMAP_CHECK macro
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Bryce Harrington [Fri, 27 Feb 2015 14:24:59 +0000 (09:24 -0500)]
wayland: Document the public API
Summary: Add doxygen comments for public API members
Reviewers: zmike, cedric, devilhorns
Reviewed By: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2067
Bryce Harrington [Fri, 27 Feb 2015 14:21:55 +0000 (09:21 -0500)]
wayland: Eliminate extraneous E_COMP_WL_PIXMAP_CHECK macro
Summary:
Many of the functions in the compositor do some preliminary checks, to
ensure objects are valid and the right type. Most of the checks follow
a consistent pattern, for example:
if (!(ec = data)) return;
if (e_object_is_del(E_OBJECT(ec))) return;
if (ec->iconic) return;
This style makes it pretty straightforward to review the pre-conditions
of the function.
The one exception is the check to see if an object is a wayland pixmap;
this is implemented as a C macro.
E_COMP_WL_PIXMAP_CHECK;
The name of the macro is descriptive enough, but it conceals what is
actually being checked. I think that it is clearer and fits better with
the style of the rest of the pre-condition checks for this check to just
be shown as regular C code:
if (e_pixmap_type_get(ec->pixmap) != E_PIXMAP_TYPE_WL) return;
Reviewers: zmike, cedric, devilhorns
Reviewed By: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2066
Bryce Harrington [Fri, 27 Feb 2015 14:18:27 +0000 (09:18 -0500)]
wayland: Fix missing check on E_NEW return
Summary:
All other E_NEW calls in this file check the return value, except this
one place. In this function, other calls are being checked for NULL and
handled so this one should as well. The other handlers in this function
follow the style of issuing an error message, freeing objects, and
returning false; we don't need to free anything so just do the error
message and return.
Reviewers: zmike, cedric, devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2065