Commit Graph

21609 Commits

Author SHA1 Message Date
JengHyun Kang 3cdc11a107 Add functionality for setting left handed mode in drm
Summary:
 - Change mouse button mapping for left handed mode
 - Change a mouse_hand config and save
 Currently e_mouse had e_mouse_update() API for support left_handed mode.
 But that API only for Xorg not support wayland and only for update mapping not change mapping.
 So I added new support for change mouse mapping for left handed mode and support wayland backend system.

Test Plan:
After set left handed mode,
           mouse button mapping is changed for left handed people.

Reviewers: raster, devilhorns, zmike

Subscribers: ohduna, input.hacker, cedric

Differential Revision: https://phab.enlightenment.org/D3433
2016-03-23 17:58:41 -04:00
Mike Blumenkrantz 5d27befe44 send resize edges to wl clients on resize start and end 2016-03-23 16:03:33 -04:00
Mike Blumenkrantz 5e3fb38f86 optimize compositor canvas updating when zone geometry is marked dirty
in many cases where a zone's useful geometry is marked dirty, the resulting
recalc ends up having the same useful geometry as before: this is the case
for things like tasks gadgets, which continually expand and contract along
a single axis and thus will never affect useful geometry while still forcing
a recalc

by ignoring these cases, a huge amount of compositor thrashing is avoided and
a number of related bugs can also be fixed
2016-03-23 15:43:34 -04:00
Mike Blumenkrantz 3dd8ce38e7 remove lots of impossible null checks from pager move callback
CID 1237302
2016-03-22 15:21:04 -04:00
Mike Blumenkrantz 1098abfb6e use snprintf for string handling in batget
CID 1039801
2016-03-22 15:10:50 -04:00
Mike Blumenkrantz 750aa4644a rework systray theme applying code
potentially the most overoptimized string handling code I've ever seen.

CID 1039843
2016-03-22 12:23:51 -04:00
Mike Blumenkrantz 403e86d67c use snprintf for string handling in batget
CID 1039801
2016-03-22 12:06:27 -04:00
Mike Blumenkrantz 41f98b96bb use eina_streq for e_util_binding_match() comparisons
optimizes what is likely a stringshare comparison as well as avoiding
null derefs

CID 1191998
2016-03-22 12:01:04 -04:00
Mike Blumenkrantz c82f9ca55a avoid null deref in during pager_plain dnd
CID 1237302
2016-03-22 11:55:38 -04:00
Mike Blumenkrantz 4237832b3c unset opaque region during comp object render if none exists
fixes case where opaque region has been unset after previously being set
2016-03-22 11:52:56 -04:00
Mike Blumenkrantz 3e15daabd1 cast eina_list_count() in flowlayout, not entire expression
CID 1267211
2016-03-22 11:51:09 -04:00
Mike Blumenkrantz e919734df7 extend wl extension macros to store globals into extension data 2016-03-21 17:24:24 -04:00
Mike Blumenkrantz a658c785c3 ignore xwayland clients in wl client delete request callback
this breaks the compositor!
2016-03-21 12:13:27 -04:00
Marcel Hollerbach f01b8d76e7 add skip event counter for xkb events
if we are setting the group or the set of groups in e we will receive a
XkbNotifyState Event from x, which will result in a
ECORE_X_EVENT_XKB_STATE_NOTIFY event. We are setting there again our
settings, since we need to reset the settings from a potential external
application. So we should only reset our settings when the event is not
expected by e.
2016-03-21 11:33:15 -04:00
Marcel Hollerbach 24487c5233 re-apply xkb layout groups whenever an xkb event occurs
If someone plugs in a external monitor, the notify event is set AND the
group is changed externally. This means enlightenment cannot configure a
new keyboard anymore. So we are flushing in our new config all the time,
setting the old group-index again.
2016-03-21 11:31:58 -04:00
Mike Blumenkrantz 7ce5f68b51 store (internal) elm win geometry when set prior to showing the win
this fixes the case where attempts to manipulate a window would fail
prior to showing the window
2016-03-18 13:53:28 -04:00
Mike Blumenkrantz 1c3b45e984 use zone geometry when clamping evry gadget popup to gadget's screen
fix T3238
2016-03-18 13:53:28 -04:00
Mike Blumenkrantz 510d05d8d3 remove wl selection hacks from f0ba92d39e
https://gfycat.com/ChiefDeafeningGull
2016-03-17 15:18:48 -04:00
Mike Blumenkrantz 952d2c1d25 hide wl clients before deleting them when surface is destroyed
clients without hide animations will fail to run cleanup operations during
hide if they are not marked as deleted
2016-03-17 14:09:08 -04:00
Mike Blumenkrantz 0d6f019bc6 ignore deleted clients when reapplying zone geometry policy in canvas update
this breaks the compositor!
2016-03-17 14:08:23 -04:00
Mike Blumenkrantz b366d8bfb1 use agent objects for maximize effects
this fixes maximize effects on csd windows by providing an object which
will return usable geometry with evas_object_geometry_get()
2016-03-17 13:40:17 -04:00
Mike Blumenkrantz 80595756b7 add e_comp_object_agent_add()
an agent object can be used when a client should be represented on the
canvas solely by its window geometry and not including any csd

this creates and manages a mutable object which maintains the same geom
as ec->x/y/w/h and can be operated upon to modify those values
2016-03-17 13:40:17 -04:00
Mike Blumenkrantz bd0f2595b3 do not update client coords on csd geom update if it would change the zone
in the case where a client is at 0,0 relative to a zone, changing the coords
in this case will result in the client moving out of the zone by the size of the
csd
2016-03-17 13:40:17 -04:00
Mike Blumenkrantz 959366076c always update saved coords for maximized/fullscreen clients on csd geom update
this was causing clients to position themselves wrongly in some cases after
removing the related states
2016-03-17 13:40:17 -04:00
Mike Blumenkrantz 39ce6e2d49 unify maximize animation checks+code 2016-03-17 13:40:17 -04:00
Mike Blumenkrantz 7c054f272b disable wizard mouse binding page's next button if all modifiers are disabled
this breaks the user experience!
2016-03-16 14:33:06 -04:00
Mike Blumenkrantz 9eba966126 reduce wizard connman timeout timer to 0.5s
dbus is not this slow.
2016-03-16 14:32:15 -04:00
Mike Blumenkrantz 604bf1ea4e fix stringshare usage in wizard language page (010)
lang is not stringshared, and if it were then add/ref should always
be called before del
2016-03-16 13:01:09 -04:00
Mike Blumenkrantz 160fb71af0 set wizard page names, print to stderr every time a page is advanced 2016-03-16 12:55:19 -04:00
Mike Blumenkrantz c0f7e4cb4d do not reset the wizard got_desktops flag when setting the default system lang
this does not trigger any efreet cache rebuilds and will result in the user
being forced to sit through the full duration of the wait timer: currently 7.0s

this gets triggered multiple times throughout the wizard.

embarrassing.jpg
2016-03-16 12:54:17 -04:00
Mike Blumenkrantz ffdc31a8c2 attempt to use left-aligned label text in wizard 2016-03-16 12:24:18 -04:00
Mike Blumenkrantz 9715b6cd7c add new wizard page to change default modifiers for global mouse bindings
this is a default feature of enlightenment which is not obvious to all new
users and, with the default modifier being Alt, may interfere with some
application behavior. this informs users of the feature's existence and
allows for easily changing the modifier(s)
2016-03-16 12:24:14 -04:00
Chris Michael ccd867e6ff destroy seat resource when we get a release request
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-03-16 08:40:41 -04:00
Mike Blumenkrantz d08abd43fd adjust wayland client coords by window_geometry during first surface commit
fixes first window positioning
2016-03-15 16:12:05 -04:00
Mike Blumenkrantz 04e3c383c4 unset solid drawing of opaque regions during comp object animations
this makes animations with transparency not look like giant black rectangles
2016-03-14 14:46:37 -04:00
Mike Blumenkrantz 5494ddd424 enforce bryce zone setting and clip setting
resolves issues where non-primary screens would have differing behaviors
2016-03-14 14:27:15 -04:00
Mike Blumenkrantz 1b9d152eeb do not attempt to resize clients to 0x0 during res restore
ACK--
2016-03-14 14:27:15 -04:00
Mike Blumenkrantz dbb63f890d improve time gadget screen positioning 2016-03-14 14:27:15 -04:00
Mike Blumenkrantz 885d24eeab unify client post_updates management code into single function 2016-03-14 14:27:15 -04:00
Chris Michael fd816230c4 make e_alert WBOD work in X11 even when built with wayland support
If enlightenment is built with support for wayland, then previously
the WBOD would not work if we were running the same binary with X11.
This was because the alert system would try to connect via drm by
default (due to wayland build option). We fix that by checking for the
existance of $DISPLAY (as this will not be present under drm), and
running the X11 codepath if it is found, running the drm codepath if
it is not found.

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-03-14 13:22:30 -04:00
Mike Blumenkrantz e5cf1fb215 add workaround for xwayland client bug
sighhhhhhhhhhhhhhhhh
2016-03-12 15:43:39 -05:00
Mike Blumenkrantz 8d7e55f4dc remove direct references to ec->comp_data in x11 compositor
this fixes a number of xwayland client issues
2016-03-12 15:41:50 -05:00
Mike Blumenkrantz abffe6b6d2 calling dirty() on a comp object for a deleted client should not print an error 2016-03-12 15:37:10 -05:00
Mike Blumenkrantz 1a91486083 always send wl key releases if surface still exists
fixes stuck keys for wl_clients with multiple surfaces
2016-03-12 12:40:39 -05:00
Mike Blumenkrantz b2107ae2b0 remove maximize_pre flag from wl client comp_data
this breaks modification of maximized size for surfaces as well as animations

fix T3297

partially reverts 0321fd690e
2016-03-12 11:18:10 -05:00
Mike Blumenkrantz 3413399b15 always move objects during efx_resize if position is provided
some objects (like clients) may lie about their geometries and report
wrong values
2016-03-12 11:17:32 -05:00
Mike Blumenkrantz 48b6d54966 don't increment position coords twice during efx move operations 2016-03-12 11:17:06 -05:00
Mike Blumenkrantz 1fd9d8eee5 break out xwl init/shutdown into static functions for reuse internally
calling modapi functions like this causes symbol collision and randomly
calls corresponding functions for other modules
2016-03-12 11:15:42 -05:00
Mike Blumenkrantz f1bccff8e1 Revert "fix xwayland compile with 1.18 eo"
This reverts commit 2ec02258ec.
2016-03-12 10:43:13 -05:00
Mike Blumenkrantz 965632fedc use object position for efx resize anchoring when no move effect is active
CIDs 1352902, 1352903
2016-03-12 10:42:19 -05:00