Mike Blumenkrantz [Mon, 5 Oct 2015 20:01:10 +0000 (16:01 -0400)]
repopulate app list dialogs when efreet deskop cache updates
should improve usage when installing/uninstalling apps
Mike Blumenkrantz [Mon, 5 Oct 2015 19:56:28 +0000 (15:56 -0400)]
attempt to load default e_bindings if initial load fails
Mike Blumenkrantz [Mon, 5 Oct 2015 19:56:04 +0000 (15:56 -0400)]
do not set frame geometry on frame-possessing wayland clients
Mike Blumenkrantz [Mon, 5 Oct 2015 19:55:44 +0000 (15:55 -0400)]
throw an ACK when trying to set comp frame geometry if frame exists
Mike Blumenkrantz [Mon, 5 Oct 2015 17:37:45 +0000 (13:37 -0400)]
clear menu cache when saving a menu file
force regeneration of menus after editing them
ref T2271
Mike Blumenkrantz [Mon, 5 Oct 2015 17:33:13 +0000 (13:33 -0400)]
make icon selection dialog resizable in .desktop editor
ref T2271
Mike Blumenkrantz [Mon, 5 Oct 2015 17:09:38 +0000 (13:09 -0400)]
move configure init after intl init has completed
gettext calls will not return the correct language string until after
setup has completed, leading to untranslatable strings
fix T2760
Seunghun Lee [Mon, 5 Oct 2015 16:47:29 +0000 (12:47 -0400)]
clear the tiler for input region after setting to comp object.
Summary:
there is no need to set repeatedly input region even if it's already applied.
and this patch remove the code to clear tiler from client's unmapped case.
this fixes that tiler for input region is removed before applying it to comp object in case client is unmmaped yet.
Reviewers: devilhorns, zmike
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D3076
Peter Kjellerstedt [Sun, 4 Oct 2015 16:56:46 +0000 (12:56 -0400)]
Add support for the ISO 8601 date format to the clock module
Reviewers: zmike
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D3129
Chidambar Zinnoury [Sun, 4 Oct 2015 16:44:38 +0000 (18:44 +0200)]
e fm: Use correct string length when copying path.
Sometimes, trying to go to the parent directory wouldn’t work and end up showing some garbage. Unfortunately, the code ended up not NULL-ending the path, which made searching for the path separator buggy.
Peter Kjellerstedt [Sun, 4 Oct 2015 15:53:31 +0000 (11:53 -0400)]
Add "(drag only)" to title for drag only edge bindings
Reviewers: zmike
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D3128
Chidambar Zinnoury [Sun, 4 Oct 2015 14:35:43 +0000 (16:35 +0200)]
e menus: Fix invalid comparisons.
Fixes CID 1267215 and 1267216.
Mike Blumenkrantz [Sun, 4 Oct 2015 12:41:07 +0000 (08:41 -0400)]
fix systray to work with spec-breaking apps, eg. steam
according to the StatusNotifierItem specification, applications
register "service org.freedesktop.StatusNotifierItem-PID-ID" on the
session bus, and then "must register the unique instance name
to the StatusNotifierWatcher".
some applications, such as steam, instead register the path that they
will run on (/org/ayatana/NotificationItem/steam) and then expect the
watcher to register the method call's send id bus: this is totally bogus.
to catch this, when registering the new item the enlightenment watcher must
first determine if the item is spec-conforming. if yes, proceed as normal.
if no, pretend the application knows what it's doing and try to make things
work as expected anyway
for more details, read the full spec here
http://www.freedesktop.org/wiki/Specifications/StatusNotifierItem
fix T2763
Mike Blumenkrantz [Fri, 2 Oct 2015 17:49:57 +0000 (13:49 -0400)]
move client post-update adding into render function
in some cases, it's possible for a client which expects to render on
the next frame to actually render on the frame after. in these cases,
the compositor must not clear the pixmap image until after the render
has occurred in order to avoid inaccuracies. for this reason, the best
place to flag a client for post-render work is at the time of the client's
render
ref T2762
ref D3120
Mike Blumenkrantz [Fri, 2 Oct 2015 17:44:37 +0000 (13:44 -0400)]
unify comp render returns for argb and non-argb clients
Mike Blumenkrantz [Fri, 2 Oct 2015 17:42:33 +0000 (13:42 -0400)]
fix comp render return value for failed draws of non-argb clients
Mike Blumenkrantz [Fri, 2 Oct 2015 17:41:17 +0000 (13:41 -0400)]
fix return value of comp render for wayland clients
Mike Blumenkrantz [Fri, 2 Oct 2015 17:40:55 +0000 (13:40 -0400)]
add RENDER_DEBUG for forced renders when setting dirty flag
Boram Park [Fri, 2 Oct 2015 16:38:30 +0000 (12:38 -0400)]
should remove a frame resource from pending.frames list also
Summary: Signed-off-by: Boram Park <boram1288.park@samsung.com>
Reviewers: stefan_schmidt, gwanglim, raster, zmike, devilhorns
Reviewed By: zmike, devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D3079
Amitesh Singh [Thu, 1 Oct 2015 20:20:23 +0000 (16:20 -0400)]
md5: fix wrong sizeof argument (SIZEOF_MISMATCH)
Summary: fixes CID: 222382
Reviewers: raster, zmike, cedric, devilhorns
Reviewed By: devilhorns
Subscribers: cedric, seoz, sachin.dev
Differential Revision: https://phab.enlightenment.org/D3125
Mike Blumenkrantz [Thu, 1 Oct 2015 17:52:35 +0000 (13:52 -0400)]
unset release mode
Mike Blumenkrantz [Thu, 1 Oct 2015 17:43:25 +0000 (13:43 -0400)]
20.0-alpha NEWS updates
Mike Blumenkrantz [Thu, 1 Oct 2015 17:42:45 +0000 (13:42 -0400)]
20.0-alpha release
Mike Blumenkrantz [Thu, 1 Oct 2015 17:13:08 +0000 (13:13 -0400)]
always apply all randr changes after a screen event
fixes case where plugging an external monitor would cause the screen
to expand onto that display without the display being effectively usable
until after a restart
Boram Park [Thu, 1 Oct 2015 12:43:19 +0000 (08:43 -0400)]
wl_desktop_shell: return void
Summary:
_e_input_panel_cb_surface_get() returns void.
Signed-off-by: Boram Park <boram1288.park@samsung.com>
Reviewers: zmike, stefan_schmidt, gwanglim, raster, devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D3119
Mike Blumenkrantz [Wed, 30 Sep 2015 20:31:20 +0000 (16:31 -0400)]
remove remote colorclass editor usage
match current elm function signatures
Mike Blumenkrantz [Wed, 30 Sep 2015 19:31:34 +0000 (15:31 -0400)]
merge E19 branch NEWS items
Mike Blumenkrantz [Tue, 29 Sep 2015 23:01:04 +0000 (19:01 -0400)]
update wayland readme
Mike Blumenkrantz [Tue, 29 Sep 2015 22:53:15 +0000 (18:53 -0400)]
redo wayland client buffer referencing
the previous methodology was effectively:
attach -> ref(new buffer) x2 / unref(old buffer) x2
...
...
attach -> ref(new buffer) x2 / unref(old buffer) x2
this resulted in buffer management failures and crashing. now the
buffer gets 1x ref before render and 1x unref after render, ensuring
that the lifetime is accurate (assuming evas doesn't lie to us)
now we still have random crashing during resize, but not as much as
before
Mike Blumenkrantz [Tue, 29 Sep 2015 22:50:03 +0000 (18:50 -0400)]
redo CSD for wayland clients to use comp object frame geometry
this fixes issues with client placement and is a more native solution
than the previous hacks
Mike Blumenkrantz [Tue, 29 Sep 2015 20:35:30 +0000 (16:35 -0400)]
never mark wl client pixmaps as dirty or refresh them
this has no meaning for a wl pixmap in the current implementation
Mike Blumenkrantz [Tue, 29 Sep 2015 17:03:35 +0000 (13:03 -0400)]
free x11 damage region rects
Mike Blumenkrantz [Tue, 29 Sep 2015 16:53:59 +0000 (12:53 -0400)]
do not roundtrip for x11 client message DBG if it will not be visible
also free fetched atom name
Mike Blumenkrantz [Tue, 29 Sep 2015 16:58:13 +0000 (12:58 -0400)]
unset E_Client->internal_elm_win before deleting the client in e_win
==24509== Invalid write of size 8
==24509== at 0x502D00: _e_elm_win_trap_del (e_win.c:39)
==24509== by 0x509BFC2: _elm_win_evas_object_smart_del (elm_win.c:1886)
==24509== by 0x91F4643: evas_obj_smart_del (in /usr/lib/libevas.so.1.15.99)
==24509== by 0x91F5B5C: evas_object_smart_del (evas_object_smart.c:1021)
==24509== by 0x91E9107: _evas_object_eo_base_destructor (evas_object_main.c:739)
==24509== by 0xE54A8A3: eo_destructor (in /usr/lib/libeo.so.1.15.99)
==24509== by 0x5086715: _elm_widget_eo_base_destructor (elm_widget.c:5744)
==24509== by 0xE54A8A3: eo_destructor (in /usr/lib/libeo.so.1.15.99)
==24509== by 0xE5443EC: _eo_del_internal (eo_private.h:221)
==24509== by 0xE5443EC: _eo_unref (eo_private.h:295)
==24509== by 0xE5443EC: _eo_do_end (eo.c:546)
==24509== by 0x4D5B1A: _e_obj_dialog_free (e_obj_dialog.c:125)
==24509== by 0x4D61FB: e_object_free (e_object.c:152)
==24509== by 0x4D61FB: e_object_unref (e_object.c:152)
==24509== by 0x4EDC54: _e_sys_logout_after (e_sys.c:750)
==24509== by 0x4ED7AC: _e_sys_action_do (e_sys.c:925)
==24509== by 0x4EE348: e_sys_action_raw_do (e_sys.c:311)
==24509== by 0x4EE43F: _e_sys_comp_done_cb (e_sys.c:66)
==24509== by 0x6097348: _edje_emit_cb (edje_program.c:1476)
==24509== by 0x6097348: _edje_emit_handle (edje_program.c:1405)
==24509== by 0x60924EE: _edje_message_queue_process (edje_message_queue.c:787)
==24509== by 0x60926A6: _edje_job (edje_message_queue.c:154)
==24509== by 0xCC5087A: _ecore_job_event_handler (ecore_job.c:121)
==24509== by 0xCC4B204: _ecore_call_handler_cb (ecore_private.h:390)
==24509== by 0xCC4B204: _ecore_event_call (ecore_events.c:565)
==24509== by 0xCC52AE7: _ecore_main_loop_iterate_internal (ecore_main.c:1927)
==24509== by 0xCC52CD6: ecore_main_loop_begin (ecore_main.c:983)
==24509== by 0x4383F4: main (e_main.c:1047)
==24509== Address 0x14fb1a28 is 1,176 bytes inside a block of size 1,352 free'd
==24509== at 0x4C2A65B: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==24509== by 0x4D61FB: e_object_free (e_object.c:152)
==24509== by 0x4D61FB: e_object_unref (e_object.c:152)
==24509== by 0x502CED: _e_elm_win_trap_del (e_win.c:37)
==24509== by 0x509BFC2: _elm_win_evas_object_smart_del (elm_win.c:1886)
==24509== by 0x91F4643: evas_obj_smart_del (in /usr/lib/libevas.so.1.15.99)
==24509== by 0x91F5B5C: evas_object_smart_del (evas_object_smart.c:1021)
==24509== by 0x91E9107: _evas_object_eo_base_destructor (evas_object_main.c:739)
==24509== by 0xE54A8A3: eo_destructor (in /usr/lib/libeo.so.1.15.99)
==24509== by 0x5086715: _elm_widget_eo_base_destructor (elm_widget.c:5744)
==24509== by 0xE54A8A3: eo_destructor (in /usr/lib/libeo.so.1.15.99)
==24509== by 0xE5443EC: _eo_del_internal (eo_private.h:221)
==24509== by 0xE5443EC: _eo_unref (eo_private.h:295)
==24509== by 0xE5443EC: _eo_do_end (eo.c:546)
==24509== by 0x4D5B1A: _e_obj_dialog_free (e_obj_dialog.c:125)
==24509== by 0x4D61FB: e_object_free (e_object.c:152)
==24509== by 0x4D61FB: e_object_unref (e_object.c:152)
==24509== by 0x4EDC54: _e_sys_logout_after (e_sys.c:750)
==24509== by 0x4ED7AC: _e_sys_action_do (e_sys.c:925)
==24509== by 0x4EE348: e_sys_action_raw_do (e_sys.c:311)
==24509== by 0x4EE43F: _e_sys_comp_done_cb (e_sys.c:66)
==24509== by 0x6097348: _edje_emit_cb (edje_program.c:1476)
==24509== by 0x6097348: _edje_emit_handle (edje_program.c:1405)
==24509== by 0x60924EE: _edje_message_queue_process (edje_message_queue.c:787)
==24509== by 0x60926A6: _edje_job (edje_message_queue.c:154)
==24509== by 0xCC5087A: _ecore_job_event_handler (ecore_job.c:121)
==24509== by 0xCC4B204: _ecore_call_handler_cb (ecore_private.h:390)
==24509== by 0xCC4B204: _ecore_event_call (ecore_events.c:565)
==24509== by 0xCC52AE7: _ecore_main_loop_iterate_internal (ecore_main.c:1927)
==24509== by 0xCC52CD6: ecore_main_loop_begin (ecore_main.c:983)
==24509== by 0x4383F4: main (e_main.c:1047)
Mike Blumenkrantz [Tue, 29 Sep 2015 16:53:59 +0000 (12:53 -0400)]
do not roundtrip for x11 client message DBG if it will not be visible
also free fetched atom name
Mike Blumenkrantz [Tue, 29 Sep 2015 16:51:36 +0000 (12:51 -0400)]
remove object event callback on notification popdown
==24509== Invalid write of size 8
==24509== at 0x2C5ED500: _notification_popup_del_cb (e_mod_popup.c:404)
==24509== by 0x91AAE93: _eo_evas_object_cb (evas_callbacks.c:92)
==24509== by 0xE54DDEA: _eo_base_event_callback_call (eo_base_class.c:715)
==24509== by 0xE54B67A: eo_event_callback_call (in /usr/lib/libeo.so.1.15.99)
==24509== by 0x91AB323: evas_object_event_callback_call (evas_callbacks.c:264)
==24509== by 0x91E8DE3: _evas_object_eo_base_destructor (evas_object_main.c:691)
==24509== by 0xE54A8A3: eo_destructor (in /usr/lib/libeo.so.1.15.99)
==24509== by 0x60A3019: _edje_object_eo_base_destructor (edje_smart.c:43)
==24509== by 0xE54A8A3: eo_destructor (in /usr/lib/libeo.so.1.15.99)
==24509== by 0xE5443EC: _eo_del_internal (eo_private.h:221)
==24509== by 0xE5443EC: _eo_unref (eo_private.h:295)
==24509== by 0xE5443EC: _eo_do_end (eo.c:546)
==24509== by 0x6091146: edje_match_callback_exec_check_finals (edje_match.c:556)
==24509== by 0x6091146: edje_match_callback_exec (edje_match.c:711)
==24509== by 0x60974AE: _edje_emit_cb (edje_program.c:1453)
==24509== by 0x60974AE: _edje_emit_handle (edje_program.c:1405)
==24509== by 0x60924EE: _edje_message_queue_process (edje_message_queue.c:787)
==24509== by 0x60926A6: _edje_job (edje_message_queue.c:154)
==24509== by 0xCC5087A: _ecore_job_event_handler (ecore_job.c:121)
==24509== by 0xCC4B204: _ecore_call_handler_cb (ecore_private.h:390)
==24509== by 0xCC4B204: _ecore_event_call (ecore_events.c:565)
==24509== by 0xCC52AE7: _ecore_main_loop_iterate_internal (ecore_main.c:1927)
==24509== by 0xCC52CD6: ecore_main_loop_begin (ecore_main.c:983)
==24509== by 0x4383F4: main (e_main.c:1047)
==24509== Address 0x23b3dcb0 is 16 bytes inside a block of size 80 free'd
==24509== at 0x4C2A65B: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==24509== by 0x2C5ED606: _notification_popdown (e_mod_popup.c:747)
==24509== by 0x2C5ED952: _notification_reshuffle_cb (e_mod_popup.c:700)
==24509== by 0x91AAE93: _eo_evas_object_cb (evas_callbacks.c:92)
==24509== by 0xE54DDEA: _eo_base_event_callback_call (eo_base_class.c:715)
==24509== by 0xE54B67A: eo_event_callback_call (in /usr/lib/libeo.so.1.15.99)
==24509== by 0x91AB323: evas_object_event_callback_call (evas_callbacks.c:264)
==24509== by 0x91E8DE3: _evas_object_eo_base_destructor (evas_object_main.c:691)
==24509== by 0xE54A8A3: eo_destructor (in /usr/lib/libeo.so.1.15.99)
==24509== by 0x60A3019: _edje_object_eo_base_destructor (edje_smart.c:43)
==24509== by 0xE54A8A3: eo_destructor (in /usr/lib/libeo.so.1.15.99)
==24509== by 0xE5443EC: _eo_del_internal (eo_private.h:221)
==24509== by 0xE5443EC: _eo_unref (eo_private.h:295)
==24509== by 0xE5443EC: _eo_do_end (eo.c:546)
==24509== by 0x504CEF: _e_zoomap_smart_del (e_zoomap.c:266)
==24509== by 0x91F5ABC: evas_object_smart_del (evas_object_smart.c:1019)
==24509== by 0x91E9107: _evas_object_eo_base_destructor (evas_object_main.c:739)
==24509== by 0xE54A8A3: eo_destructor (in /usr/lib/libeo.so.1.15.99)
==24509== by 0xE5443EC: _eo_del_internal (eo_private.h:221)
==24509== by 0xE5443EC: _eo_unref (eo_private.h:295)
==24509== by 0xE5443EC: _eo_do_end (eo.c:546)
==24509== by 0x458C7A: _e_comp_object_util_del (e_comp_object.c:2402)
==24509== by 0x91AAE93: _eo_evas_object_cb (evas_callbacks.c:92)
==24509== by 0xE54DDEA: _eo_base_event_callback_call (eo_base_class.c:715)
==24509== by 0xE54B67A: eo_event_callback_call (in /usr/lib/libeo.so.1.15.99)
==24509== by 0x91AB323: evas_object_event_callback_call (evas_callbacks.c:264)
==24509== by 0x91E8DE3: _evas_object_eo_base_destructor (evas_object_main.c:691)
==24509== by 0xE54A8A3: eo_destructor (in /usr/lib/libeo.so.1.15.99)
==24509== by 0x60A3019: _edje_object_eo_base_destructor (edje_smart.c:43)
==24509== by 0xE54A8A3: eo_destructor (in /usr/lib/libeo.so.1.15.99)
==24509== by 0xE5443EC: _eo_del_internal (eo_private.h:221)
==24509== by 0xE5443EC: _eo_unref (eo_private.h:295)
==24509== by 0xE5443EC: _eo_do_end (eo.c:546)
==24509== by 0x6091146: edje_match_callback_exec_check_finals (edje_match.c:556)
==24509== by 0x6091146: edje_match_callback_exec (edje_match.c:711)
==24509== by 0x60974AE: _edje_emit_cb (edje_program.c:1453)
==24509== by 0x60974AE: _edje_emit_handle (edje_program.c:1405)
==24509== by 0x60924EE: _edje_message_queue_process (edje_message_queue.c:787)
==24509== by 0x60926A6: _edje_job (edje_message_queue.c:154)
==24509== by 0xCC5087A: _ecore_job_event_handler (ecore_job.c:121)
==24509== by 0xCC4B204: _ecore_call_handler_cb (ecore_private.h:390)
==24509== by 0xCC4B204: _ecore_event_call (ecore_events.c:565)
==24509== by 0xCC52AE7: _ecore_main_loop_iterate_internal (ecore_main.c:1927)
==24509== by 0xCC52CD6: ecore_main_loop_begin (ecore_main.c:983)
==24509== by 0x4383F4: main (e_main.c:1047)
Mike Blumenkrantz [Tue, 29 Sep 2015 16:29:41 +0000 (12:29 -0400)]
reject client resize attempts for clients with dirty pixmaps
these clients will resize/render correctly only after the next
render loop, so defer until then to avoid #RenderFail
fix T2754
Mike Blumenkrantz [Mon, 28 Sep 2015 19:51:51 +0000 (15:51 -0400)]
s/EAPI/E_API/ ...again
Mike Blumenkrantz [Mon, 28 Sep 2015 19:38:13 +0000 (15:38 -0400)]
use client window coords for resize-moving without a frame_object
improves placement of csd windows
ref T2750
Mike Blumenkrantz [Mon, 28 Sep 2015 19:36:58 +0000 (15:36 -0400)]
do not set client window coordinates during a move until after resizing check
fixes case where values would be erroneously updated when they should instead
have been rejected
ref T2750
Mike Blumenkrantz [Mon, 28 Sep 2015 18:42:21 +0000 (14:42 -0400)]
use more accurate math to determine whether to apply a client maximize change
Mike Blumenkrantz [Mon, 28 Sep 2015 18:41:44 +0000 (14:41 -0400)]
unset the requested maximize state when receiving a client unmaximize request
not sure why it was always removing VERTICAL here but that's a bug
Mike Blumenkrantz [Mon, 28 Sep 2015 18:39:42 +0000 (14:39 -0400)]
allow client resizes on axes currently unrestricted by maximize state
if this isn't explicitly blocked by config options then allowing resizes
on the unmaximized axes is necessary in order to avoid accidentally
queuing a full unmaximize
Mike Blumenkrantz [Mon, 28 Sep 2015 18:37:57 +0000 (14:37 -0400)]
unset E_Client->changes.need_unmaximize after calling unmaximize
...just in case
Mike Blumenkrantz [Mon, 28 Sep 2015 18:36:59 +0000 (14:36 -0400)]
remove client maximize states during unmaximize only if they are active
do not accidentally remove untested states using bad math operations
Mike Blumenkrantz [Mon, 28 Sep 2015 18:02:02 +0000 (14:02 -0400)]
force adjustment of client geometry when changing csd frame size
fix T2750
Mike Blumenkrantz [Mon, 28 Sep 2015 18:01:28 +0000 (14:01 -0400)]
_GTK_FRAME_EXTENTS changes using a property, not a client message
Mike Blumenkrantz [Mon, 28 Sep 2015 18:01:02 +0000 (14:01 -0400)]
reject identical calls to e_comp_object_frame_geometry_set()
Carsten Haitzler (Rasterman) [Mon, 28 Sep 2015 07:49:53 +0000 (16:49 +0900)]
e - efm fix. fix eio error handler that is called after eio cancel
so you have to have an error cb - so make it empty as even after a
canel, it is called, and thus accesses an invalid icon we've freed.
Carsten Haitzler (Rasterman) [Mon, 28 Sep 2015 07:29:12 +0000 (16:29 +0900)]
efm - handle cancel of async eio if icon is freed and eio still active
@fix
Mike Blumenkrantz [Sat, 26 Sep 2015 03:41:29 +0000 (23:41 -0400)]
force pixmap clear when hiding an x11 window
failure to refetch this upon remapping the window will result in
a broken pixmap which cannot be rendered
Mike Blumenkrantz [Sat, 26 Sep 2015 02:37:16 +0000 (22:37 -0400)]
don't call e_client_unignore() when un-withdrawing an x11 window
these clients were not ignored on creation, so they've already triggered
all the relevant events
Mike Blumenkrantz [Sat, 26 Sep 2015 02:25:02 +0000 (22:25 -0400)]
bump required efl version
Mike Blumenkrantz [Sat, 26 Sep 2015 01:36:22 +0000 (21:36 -0400)]
map/unmap x11 client windows when toggling iconic state
ICCCM 4.1.4
Mike Blumenkrantz [Sat, 26 Sep 2015 01:32:08 +0000 (21:32 -0400)]
initialize pixmap size vars in comp resize interceptor
these are never uninitialized when they are used, but this
is not obvious to the reader
CID 1324956, 1324956
Mike Blumenkrantz [Sat, 26 Sep 2015 01:30:00 +0000 (21:30 -0400)]
set x11 supported atom array size correctly
CID 1324958
Mike Blumenkrantz [Fri, 25 Sep 2015 22:31:30 +0000 (18:31 -0400)]
fix handling of x11 ICCCM WithdrawnState
according to ICCCM 4.1.4:
Only the client can effect a transition into or out of the Withdrawn state
withdrawn windows cannot be shown under any circumstances. the best that can
be done is to try mapping the window and hope it decides to appear.
to prevent any inadvertent showing of the window before it leaves the
withdrawn state, we play games with the E_Client->ignored flag in order
to skip client evals until we get notified that maybe we want to stop
skipping those evals
ref T2745
Mike Blumenkrantz [Fri, 25 Sep 2015 20:26:16 +0000 (16:26 -0400)]
check warp_client existence during pointer warp before dereferencing it
ref T2679
Carsten Haitzler (Rasterman) [Thu, 24 Sep 2015 05:01:21 +0000 (14:01 +0900)]
Revert "Revert "Revert "Revert "deskmirror - fix dangling reference to mirror by refcounting it""""
This reverts commit
2373b69c61d7d6ab74675a4facff54601831ce9a.
stop crashing on restart
Mike Blumenkrantz [Thu, 24 Sep 2015 20:31:57 +0000 (16:31 -0400)]
add csd case for compositor frame adjust messages
not 100% perfect, but close enough
Mike Blumenkrantz [Thu, 24 Sep 2015 20:30:11 +0000 (16:30 -0400)]
move compositor frame adjust messages to pixels_get callback
native surfaces don't call e_comp_object_render()
Mike Blumenkrantz [Thu, 24 Sep 2015 20:04:29 +0000 (16:04 -0400)]
set comp object client_inset.calc based on frame_object existence
Mike Blumenkrantz [Thu, 24 Sep 2015 20:02:44 +0000 (16:02 -0400)]
block border-affecting client functions for csd clients
Mike Blumenkrantz [Thu, 24 Sep 2015 20:00:10 +0000 (16:00 -0400)]
block border-affecting entries from showing up in client menu with csd
Mike Blumenkrantz [Thu, 24 Sep 2015 19:55:58 +0000 (15:55 -0400)]
fix e_shelf_position_calc() to not set struct members before applying them
fix T2743
Mike Blumenkrantz [Thu, 24 Sep 2015 19:46:39 +0000 (15:46 -0400)]
add util function for determining if a client is allowed to have a frame
returns false if mwm borderless is set or if csd exists
Mike Blumenkrantz [Thu, 24 Sep 2015 19:29:37 +0000 (15:29 -0400)]
fully support _GTK_FRAME_EXTENTS
gtk apps set an atom which provides information about the area
where non-window content (eg. shadows) may be drawn; this area
must not be used in placement calculations.
the easiest method for implementing this functionality was to add
a case to the compositor geometry interceptors which effectively
flip the client struct geometry values such that the E_Client->client
is outside of the more commonly used E_Client->x/y/w/h
fix T2744
Mike Blumenkrantz [Thu, 24 Sep 2015 17:44:32 +0000 (13:44 -0400)]
broadcast support for _GTK_FRAME_EXTENTS
this is not actually supported yet, so behavior of windows using this
feature will be more wayland-like, eg. geometry determined by area
of window+shadow
fix T2744
Boram Park [Wed, 23 Sep 2015 13:15:53 +0000 (09:15 -0400)]
Creating wl_shm global object before creating other global objects
Summary:
It's more useful for client to bind wl_shm before receiving other global
object's events. Then, App can quickly prepare some buffers. i.e. cursor,
etc.
Signed-off-by: Boram Park <boram1288.park@samsung.com>
Reviewers: stefan_schmidt, gwanglim, raster, zmike, devilhorns
Reviewed By: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D3080
Mike Blumenkrantz [Wed, 23 Sep 2015 11:28:32 +0000 (07:28 -0400)]
add note for starting wl-x11
Mike Blumenkrantz [Tue, 22 Sep 2015 22:38:34 +0000 (18:38 -0400)]
fix systray implementation of notifier watcher (StatusNotifierItem)
previously, this would throw dbus errors (or not) and then do nothing in
many cases. now it manages bus/path names more effectively and falls back
to binary image data when an icon path is not available
fix T2626 and probably some others
Mike Blumenkrantz [Tue, 22 Sep 2015 20:00:09 +0000 (16:00 -0400)]
improve client exe_inst creation
ref T2679
Mike Blumenkrantz [Tue, 22 Sep 2015 19:03:39 +0000 (15:03 -0400)]
add weekeyboard edj files
Mike Blumenkrantz [Tue, 22 Sep 2015 18:17:35 +0000 (14:17 -0400)]
attempt to maintain currently-selected kbd layout when modifying kbd list
the previous behavior would just set up the new layouts, resulting in
the first layout in the list being applied. now it should be the case
that if the current layout has not been deleted, it will continue to
remain in effect; alternatively if the current layout has been modified,
it's now more likely to be picked up and used
Mike Blumenkrantz [Tue, 22 Sep 2015 18:16:20 +0000 (14:16 -0400)]
only init E_EVENT_XKB_CHANGED during xkb init if xkb init hasn't already occurred
allows xkb init to be called repeatedly
Mike Blumenkrantz [Tue, 22 Sep 2015 17:54:28 +0000 (13:54 -0400)]
fix shot module compile without x11 support
Mike Blumenkrantz [Tue, 22 Sep 2015 17:44:18 +0000 (13:44 -0400)]
update xkb settings and send xkb update event when calling e_xkb_layout_set()
resolves issue where setting a specific kbd would fail to make settings permanent
as well as not propagating the kbd change to the rest of enlightenment
fix T1810
Mike Blumenkrantz [Tue, 22 Sep 2015 17:14:51 +0000 (13:14 -0400)]
calculate comp object visibility regardless of pending damages
in the case of clients on non-visible vdesks, this improves the reliability
of mirrored rendering
Mike Blumenkrantz [Tue, 22 Sep 2015 17:07:15 +0000 (13:07 -0400)]
do not emit client iconify signal when reapplying compositor theme
this has no effect other than breaking the animation counter for the
client and preventing it from being deleted
Mike Blumenkrantz [Tue, 22 Sep 2015 16:54:10 +0000 (12:54 -0400)]
Revert "Revert "Revert "deskmirror - fix dangling reference to mirror by refcounting it"""
This reverts commit
6bef668a8fb37104f1e9e4bb1bb0dd379cb68ef5.
Mike Blumenkrantz [Tue, 22 Sep 2015 16:42:39 +0000 (12:42 -0400)]
redo client maximization when a non-overlap shelf changes geometry
this fixes the annoying case of needing to remaximize all windows when
a shelf resizes in order to account for new geometry
Mike Blumenkrantz [Tue, 22 Sep 2015 16:37:14 +0000 (12:37 -0400)]
clamp client geometry to zone during geometry calc
somehow it was possible for client sizes to overflow the zone geometry here
which would end up breaking maximization limits and result in clients
not respecting various geometry boundaries
Mike Blumenkrantz [Tue, 22 Sep 2015 16:36:41 +0000 (12:36 -0400)]
only unpopulate a shelf when applying new settings if the shelf won't be recreated
Mike Blumenkrantz [Tue, 22 Sep 2015 16:36:12 +0000 (12:36 -0400)]
block gadcon thaw on unpopulate when gadcon is deleted
saves a huge amount of unnecessary calc time
Mike Blumenkrantz [Tue, 22 Sep 2015 16:02:13 +0000 (12:02 -0400)]
unset E_Client->want/take_focus flags during client eval
ref
4a33cd7ba0c51b911b1d7845411d2b70e01a3d55
Carsten Haitzler (Rasterman) [Tue, 22 Sep 2015 05:06:40 +0000 (14:06 +0900)]
e config - cache sizes in config don't actually work, so remove
remove several config vars in advanced performance that frankly don't
work (unless you change them int he dialog). they are not set up on
startup or not even used at all. remove things that don't work anymore!
@fix
Carsten Haitzler (Rasterman) [Tue, 22 Sep 2015 04:17:10 +0000 (13:17 +0900)]
e - fm - flush all evas caches to get rid of open file handles b4 umount
this should fix open file handles on unmount by flushing caches first.
not great, but works. long-term have evas not keep file handles open
for 0 refcount cached items.
Mike Blumenkrantz [Mon, 21 Sep 2015 23:52:14 +0000 (19:52 -0400)]
apply vertical maximize algorithm for LEFT/RIGHT maximized windows
Mike Blumenkrantz [Mon, 21 Sep 2015 23:19:15 +0000 (19:19 -0400)]
move focus setting on restart into desk restore function
the focused client on restart needs to be set after desk states
have been restored in order to avoid focusing the wrong client
Mike Blumenkrantz [Mon, 21 Sep 2015 22:19:03 +0000 (18:19 -0400)]
only set focus on clients which are visible during client eval
focusing a client will automatically uniconify and desk flip, so
setting focus on a hidden client should be avoided during eval since
these focus-sets are not "user triggered"
this fixes issues where clients could randomly grab focus from other
desks and also restores expected behavior when restarting e on an
empty vdesk
Mike Blumenkrantz [Mon, 21 Sep 2015 21:50:48 +0000 (17:50 -0400)]
do not return non-visible clients for e_client_under_pointer_get()
a hidden client should not be considered "under the mouse" since its
geometry is undefined until it becomes visible again
fix T1069
Mike Blumenkrantz [Mon, 21 Sep 2015 21:22:55 +0000 (17:22 -0400)]
remove backlight update calls from backlight module
these are no longer necessary since the backlight value should be
kept up-to-date by the core backlight infra
Mike Blumenkrantz [Mon, 21 Sep 2015 21:19:53 +0000 (17:19 -0400)]
add eeze watch for backlight events
when using "system" backlight mode, ensure that events are processed
as they occur so that the available backlight level is in sync with
the actual backlight level
fix T2255
Mike Blumenkrantz [Mon, 21 Sep 2015 20:53:29 +0000 (16:53 -0400)]
only lower x11 layer windows for layers which have windows during init
Mike Blumenkrantz [Mon, 21 Sep 2015 20:15:28 +0000 (16:15 -0400)]
decode .desktop link and directory uris in fileman menus
fix T1922
Mike Blumenkrantz [Mon, 21 Sep 2015 19:16:30 +0000 (15:16 -0400)]
always set alpha for internal wins
due to the presence of color classes on internal windows, e must
ensure that users who set translucent colors for window base objects
get transparency as expected on those parts of the window. it's impossible
to determine in advance whether alpha is needed, so it's best to just
set alpha in all cases
fix T2050
Mike Blumenkrantz [Mon, 21 Sep 2015 19:03:41 +0000 (15:03 -0400)]
make bgpreview widget work with panoramic wallpapers
Mike Blumenkrantz [Mon, 21 Sep 2015 18:56:54 +0000 (14:56 -0400)]
send FLOAT_SET edje messages during desk flip
panoramic wallpapers are created to expect this type of message
ref T2219
Mike Blumenkrantz [Mon, 21 Sep 2015 17:09:01 +0000 (13:09 -0400)]
distribute weekeyboard edj files
creating these during dist is problematic due to filename length limits
so they will need to be precompiled
Seunghun Lee [Mon, 21 Sep 2015 16:51:07 +0000 (12:51 -0400)]
Add initial module of weekeyboard as a wayland virtual keyboard.
Summary:
Depends on D2275
this module is a virtual keyboard used in wayland.
Test Plan:
<prerequisite>
- Configure with --enable-wl-weekeyboard.
1. run enlightenment as a wayland display server.
2. run weston-editor which has text entry using wayland protocol.
Reviewers: devilhorns, raster, ManMower, jonc, zmike
Subscribers: bryceharrington, jonc, jihoon, cedric, ManMower
Differential Revision: https://phab.enlightenment.org/D2858