Mike Blumenkrantz
6a1d0226ed
allow gadgets to return a null object for demo objects
...
this indicates the gadget should not be advertised for the given demo
purpose
2017-06-23 17:49:43 -04:00
Mike Blumenkrantz
97c3db5ab1
ensure flag to preserve gadget editor is unset after setup
...
the first click on the desktop should always dismiss the editor if
a gadget is not being dragged
2017-06-23 17:49:43 -04:00
Mike Blumenkrantz
1b15a85d74
print object type if name is null during shape debug
2017-06-23 17:49:43 -04:00
Mike Blumenkrantz
2716802ec9
set pass events on shape debug rects
2017-06-23 17:49:43 -04:00
Mike Blumenkrantz
62e1027509
try only 1 reconnect to pulse when mixer fails to init
...
this causes huge lag on failure with no termination case. if it fails
on the reconnect attempt then odds are it's never going to succeed
2017-06-23 17:49:43 -04:00
Derek Foreman
4879b340a2
Initialize the Evas_Native_Surface to 0 for dmabuf tests
...
ref e6f17dee5d
Should probably clear this one too, though the recent native surface api
changes won't cause any breakage here, future ones might.
2017-06-23 11:55:37 -05:00
Derek Foreman
5de9f0f8a3
Allow enabling experimental hardware plane support
...
Hardware plane support is inactive unless a scanout handler is set, this
patch adds a scanout handler and uses it when the env var
E_USE_HARDWARE_PLANES is set.
In the future this env var will go away when hardware plane support is
stable enough to enable it everywhere.
2017-06-23 11:54:08 -05:00
Derek Foreman
18fbd1da32
Don't delete busy E_Comp_Wl_Buffers
...
Hardware planes are going to make E_Comp_Wl_Buffer lifetimes harder to
manage, so we need to let the E_Comp_Wl_Buffer object outlive the
resource attached to it.
We already track a busy count, so we just have to use it to prevent
deleting a busy buffer.
2017-06-23 11:52:04 -05:00
Derek Foreman
acd0e4b036
Refactor wayland buffer releasing
...
This code should've been common but wasn't, so this might fix some
resource leaks.
2017-06-23 11:52:01 -05:00
Derek Foreman
e6f17dee5d
Clear the native surface structure before initializing it
...
Since the native surface "API" is isomorphic with pain and suffering, we
should be extra careful when we touch it.
2017-06-22 14:05:24 -05:00
Carsten Haitzler
62feb358e6
e - allow env var to turn off aborting at any CRI issue
...
some of these CRI logs are not wirth an abort... but mike seems to
think so... so i'm going to turn it off for me...
2017-06-22 10:34:16 +09:00
Carsten Haitzler
3e3b48478b
Revert "e comp object - stop being cricical where pixmap and win size dont match"
...
This reverts commit e288852393
.
Mike likes e to crash. :)
2017-06-22 09:23:14 +09:00
Carsten Haitzler
e288852393
e comp object - stop being cricical where pixmap and win size dont match
...
now i resize some windows and am in a white box of death each time...
this is really unfriendly... so downgrade to an err ad this is a
recoverable error.
2017-06-21 11:31:24 +09:00
Carsten Haitzler
655a8f3218
e start - remove mtrack ... no one using it (not even me)
...
:)
2017-06-21 11:27:50 +09:00
Mike Blumenkrantz
dae4bd6576
feed mouse-up to action client from event grabber, then attempt to end actions
...
signal actions don't pass through the same init methods as other actions, and
so it becomes possible for the mouse-up to fail to terminate the action
2017-06-19 15:26:34 -04:00
Mike Blumenkrantz
339cbde731
reject client mouse move if coords match previous position
...
ensure that random event feeds don't accidentally trigger unwanted
move/resize attempts which can break the compositor
2017-06-16 15:00:12 -04:00
Mike Blumenkrantz
bc175b0d7b
send version edje signal to ssd theme
...
allow enabling new theme features based on version
2017-06-16 15:00:12 -04:00
Mike Blumenkrantz
b58e380b19
simplify drm output update event by using randr screen refresh queuing
...
also moves all the output add/del into e_comp_wl
2017-06-16 15:00:12 -04:00
Mike Blumenkrantz
773122db66
store output subpixel value to randr2 screen data during drm init
2017-06-16 15:00:12 -04:00
Mike Blumenkrantz
d9c03f1059
use fake xinerama screens when initializing wl outputs
...
always ignore physical screens if fake ones are present
2017-06-16 15:00:12 -04:00
Mike Blumenkrantz
9f5a07d788
hook client object unref callback to cleanup comp object internals
...
ensure cleanup occurs before client object is freed
2017-06-16 15:00:12 -04:00
Mike Blumenkrantz
4933569bc1
don't null pointer after deleting internal win during wl delete request
...
this is invalid during a logout
2017-06-16 15:00:12 -04:00
Mike Blumenkrantz
5e7ca478d0
route all mouse movements to action_client during action grab
...
ensure client receives all necessary mouse events
2017-06-16 15:00:12 -04:00
Mike Blumenkrantz
b48419c577
only remove left/right maximize when removing vertical if left/right is set
...
avoid accidentally removing horizontal maximizes
2017-06-16 15:00:12 -04:00
Mike Blumenkrantz
c2e891bbf4
update wl_drm for recent efl_input_device api changes
...
@jpeg plz http://i1.kym-cdn.com/photos/images/original/000/312/563/05d.jpg
2017-06-12 05:48:32 -04:00
Mike Blumenkrantz
b4e96a0aea
feed mouse up during window maximize if the current window is being dragged
...
prevent window from accidentally toggling its maximize state repeatedly
2017-06-09 20:18:14 -04:00
Mike Blumenkrantz
7d39be8c4a
send nograb signal to ssd theme on creation
...
disable pointer grabs on ssd borders
edge bindings can now be triggered during window drags
fix T5552
2017-06-09 20:18:14 -04:00
Mike Blumenkrantz
f396d3fe42
re-enable zone edges during window_move action
...
this can now be sensibly handled without accidentally sending input to
every object on the canvas
ref T5552
2017-06-09 20:18:14 -04:00
Mike Blumenkrantz
d0f45a48a4
use event_grabber to simulate explicit grab during window move/resize actions
...
this grabs the client's frame as well as any existing edge objects during drags
ref T5552
2017-06-09 20:18:14 -04:00
Mike Blumenkrantz
b0a7c98faf
do not trigger events/bindings on zone object events with timestamp==0
...
these are internal event feeds and should not trigger additional actions
2017-06-09 20:18:14 -04:00
Mike Blumenkrantz
41a5fe2708
delete client raise timer when beginning a move/resize operation
...
this breaks things in subtle ways
2017-06-09 20:18:14 -04:00
Mike Blumenkrantz
9f48fd5a9c
perform client raise before triggering move/resize BEGIN client hook
...
hooks may further modify stacking, so ensure any changes are done before
that point
2017-06-09 20:18:13 -04:00
Mike Blumenkrantz
b98854b17b
remove client callback from luncher icon when necessary
...
==20443== Invalid read of size 8
==20443== at 0x28CED526: _bar_exec_new_show (bar.c:980)
==20443== by 0x819D78D: _eo_evas_object_cb (evas_callbacks.c:184)
==20443== by 0xDFB6FED: _event_callback_call (eo_base_class.c:1496)
==20443== by 0xDFB7373: _efl_object_event_callback_legacy_call (eo_base_class.c:1569)
==20443== by 0xDFB743A: efl_event_callback_legacy_call (eo_base_class.c:1572)
==20443== by 0x81DC562: _efl_canvas_object_efl_object_event_callback_legacy_call (evas_object_main.c:993)
==20443== by 0xDFB743A: efl_event_callback_legacy_call (eo_base_class.c:1572)
==20443== by 0x819E1F8: evas_object_event_callback_call (evas_callbacks.c:404)
==20443== by 0x81E6B23: evas_object_inform_call_show (evas_object_inform.c:13)
==20443== by 0x81DECA2: _show (evas_object_main.c:1689)
==20443== by 0x81DF0E7: _efl_canvas_object_efl_gfx_visible_set (evas_object_main.c:1810)
==20443== by 0xDD670B9: efl_gfx_visible_set (efl_gfx.eo.c:21)
==20443== by 0x81DEA93: evas_object_show (evas_object_main.c:1639)
==20443== by 0x483706: _e_comp_intercept_show_helper (e_comp_object.c:1754)
==20443== by 0x483761: _e_comp_intercept_show (e_comp_object.c:1768)
==20443== by 0x81E7536: evas_object_intercept_call_show (evas_object_intercept.c:71)
==20443== by 0x81E7ED2: _evas_object_intercept_call_internal (evas_object_intercept.c:103)
==20443== by 0x81E88B0: _evas_object_intercept_call_evas (evas_object_intercept.c:236)
==20443== by 0x81DF0CA: _efl_canvas_object_efl_gfx_visible_set (evas_object_main.c:1807)
==20443== by 0xDD670B9: efl_gfx_visible_set (efl_gfx.eo.c:21)
==20443== by 0x81DEA93: evas_object_show (evas_object_main.c:1639)
==20443== by 0x4A6793: _e_desk_show_begin (e_desk.c:821)
==20443== by 0x4A4E39: e_desk_show (e_desk.c:312)
==20443== by 0x537C2E: _e_int_menus_clients_item_cb (e_int_menus.c:1624)
==20443== by 0x548D3F: _e_menu_active_call (e_menu.c:2056)
==20443== by 0x54ABFB: _e_menu_cb_mouse_up (e_menu.c:2789)
==20443== by 0xC636B66: _ecore_call_handler_cb (ecore_private.h:325)
==20443== by 0xC637B3F: _ecore_event_call (ecore_events.c:518)
==20443== by 0xC641158: _ecore_main_loop_iterate_internal (ecore_main.c:2397)
==20443== by 0xC63EC7E: ecore_main_loop_begin (ecore_main.c:1299)
==20443== by 0x43DE81: main (e_main.c:1081)
==20443== Address 0x20 is not stack'd, malloc'd or (recently) free'd
2017-06-09 20:18:13 -04:00
Mike Blumenkrantz
b76972b162
remove misleading null checks from _bar_cb_client_remove()
...
client events cannot be triggered without a client
2017-06-09 20:18:13 -04:00
Mike Blumenkrantz
f16df40d2b
use correct event struct in luncher's _bar_cb_client_remove()
2017-06-09 20:18:13 -04:00
Mike Blumenkrantz
ca1638c672
simplify handling of new exec clients when adding luncher icons
2017-06-09 20:18:13 -04:00
Mike Blumenkrantz
afcf6c6073
simplify _bar_check_for_duplicates() in luncher
2017-06-09 20:18:13 -04:00
Mike Blumenkrantz
79ed10927e
preserve cursor state in drm output during vt switch
...
#wew
ref T5483
2017-06-09 20:18:13 -04:00
Mike Blumenkrantz
58226266fd
store current pointer client into pointer struct
2017-06-09 20:18:13 -04:00
Mike Blumenkrantz
bf157e03dc
another fix for e_comp_wl->ptr.x/y coords being wl_fixed instead of ints
...
ref 2c7e91d38f
2017-06-09 20:18:13 -04:00
Stephen 'Okra' Houston
16c05faabd
Luncher: Allow the size of previews to be configurable.
2017-06-09 14:21:12 -05:00
Stephen 'Okra' Houston
7ff0e585ac
Gadgets: Remove the word "Gadget" from the name of gadgets.
2017-06-08 15:27:24 -05:00
Derek Foreman
2bd4a9dc85
clean up some code
...
remove write-only variable in the pixmap struct
2017-06-07 12:12:16 -05:00
Derek Foreman
71f70ad8a5
Fix unused var compiler warning in wl_drm
...
Unused variable after my session activation cleanup
2017-06-07 12:11:59 -05:00
Derek Foreman
b37acd6e39
Revert "Stop misuing EVAS_NATIVE_SURFACE_VERSION macro"
...
This reverts commit 4a40614f2f
.
Apparently this macro is unlike similar macros in other libraries
that have more sensible semantics.
2017-06-06 16:42:01 -05:00
Derek Foreman
4a40614f2f
Stop misuing EVAS_NATIVE_SURFACE_VERSION macro
...
We should be stating the version the code supports, not the version
that the EFL version we compiled against supports.
2017-06-06 16:28:20 -05:00
Derek Foreman
52c379f4b2
Remove some duplicate operations
...
the native surface version was set outside of the switch statement,
so we don't need to re-set it to the same thing here.
2017-06-06 16:28:20 -05:00
Mike Blumenkrantz
1f2b95ae4f
use FOREACH_SAFE when walking client list during logout
...
internal clients can be instantly destroyed and removed from the list
2017-06-02 15:46:26 -04:00
Derek Foreman
239101d95f
Fix wl_drm session (de)activation callback
...
I missed this in my last commit - we probably shouldn't be calling
e_comp_render_queue or e_comp_shape_queue_block() after hiding the
ecore_evas anyway - and by removing the e_comp_shape_queue_block()
in the activation callback I made things asymmetrical. Ungood.
2017-06-02 13:59:42 -05:00
Derek Foreman
5ce8bf3992
Fix wl_drm session activation callback
...
The code intended to force evas to redraw when we switch back from
another virtual console is failing to do so. Remove it and replace
it with simpler code that successfully forces a redraw.
2017-06-02 13:49:06 -05:00
Derek Foreman
4fca111eb5
Don't require dmabuf buffers to be writeable
...
Compositor doesn't need to write to this buffer, and most clients won't
allocate them in a way that the compositor can. Relax the test criteria.
2017-05-30 11:58:32 -05:00
Mike Blumenkrantz
15ea942ab8
update wl input to use new keyboard context/keymap api
...
fix keymap changes on compositor canvas
2017-05-25 18:37:25 -04:00
Mike Blumenkrantz
556bc10121
remove unnecessary comparison when applying new keyboard layout in gadget
2017-05-25 15:03:28 -04:00
Mike Blumenkrantz
f11aeaa8d0
do not perform zone updates on ignored clients during evas callbacks
...
ignored clients should not have a zone or a desk
2017-05-25 12:15:42 -04:00
Mike Blumenkrantz
c6a0abc763
force client pixmap refresh immediately during resize if nocomp is active
...
in the case where this path was reached during x11 nocomp, the client's pixmap
refresh would be deferred until the end of nocomp, even when the refresh would
otherwise end the nocomp. instead, force the refresh immediately.
fix T4887
2017-05-24 10:10:07 -04:00
Mike Blumenkrantz
9701588cc8
add error messages when symbols fail to resolve in xwl init
...
ref T5258
2017-05-24 10:10:07 -04:00
Mike Blumenkrantz
c21c0d64eb
always run client icon update path when creating xdg6 role surface
...
ensure that the client gets a desktop associated with it so that it
can be matched to exec instances
2017-05-24 10:10:07 -04:00
Stephen 'Okra' Houston
456e899b44
Luncher: make sure all global handlers get created -- check for different luncher types in the callbacks.
2017-05-22 13:28:51 -05:00
Stephen 'Okra' Houston
3b39279dfb
Pager Gadget: Fix potential crash on screen changes such as screen size change.
2017-05-22 13:14:55 -05:00
Stephen 'Okra' Houston
171686f0a9
Luncher Improvements: Don't add multiple global handlers for the same events and don't show preview immediately for iconic.
...
This fixes T5377
2017-05-22 13:01:12 -05:00
Stephen 'Okra' Houston
e5c337abfb
Mixer/Backlight: Set correct levels on creation.
...
This fixes T5500
2017-05-19 10:52:18 -05:00
Stephen 'Okra' Houston
7d095c3fe3
Sysinfo: Fix use for non linux/bsd os's.
...
This fixes T5485
2017-05-15 10:43:05 -05:00
Stephen 'Okra' Houston
9d0bcd9ce2
Gadgets: Send proper theme strings, and set aspect/size correctly.
2017-05-12 15:38:45 -05:00
Mike Blumenkrantz
e110f912e2
don't dup fds during xwl bridged selection transfer, this happens in libwayland
2017-05-12 12:08:37 -04:00
Mike Blumenkrantz
9df31011c8
unset wl selection target client if that client is deleted
...
the frame deletion callback would trigger far too late, allowing
crashes to occur if the selection target client exited between the
time of the drop event and the selection send event
2017-05-12 12:08:37 -04:00
Mike Blumenkrantz
b75f0d2be2
unset wl button mask when beginning a move/resize operation
...
ensure that clients do not receive a release event for any pressed
buttons
2017-05-12 12:08:37 -04:00
Mike Blumenkrantz
fbca4fa5e4
check efm path existence before using it during dnd selections
...
CID 1374484
2017-05-12 12:08:37 -04:00
Mike Blumenkrantz
effbb81722
remove check for desklock in comp object autoclose handler
2017-05-12 12:08:37 -04:00
Mike Blumenkrantz
203507fa22
add desklock interface handler for key press
...
key presses during desklock should only be received by the lock implementation
and not by any other handler. this ensures that nothing unexpected can happen
with focus and simplifies overall key handling
2017-05-12 12:08:37 -04:00
Stephen 'Okra' Houston
ac2c9a220f
Backlight Gadget: Properly set on hold events.
2017-05-12 09:57:48 -05:00
Stephen 'Okra' Houston
20f94cec74
Bryce/Gadgets: Add backlight, xkbswitch, and mixer gadgets. This should round out the core gadget ports.
...
All three of these gadgets are ports of the existing modules of the same name and are contained within those directories. Once the move from shelves -> bryce and gadcon->gadgets is complete, backlight and mixer will likely need to go into the sysinfo gadget.
2017-05-11 17:13:15 -05:00
Carsten Haitzler
8ea03a039f
e cpufreq - stop checking status nullness - silence coverity
...
status is a msg from the child thread. it's never null. checks before
sending should guarantee that.
fix CID 1365406
2017-05-11 17:14:28 +09:00
Carsten Haitzler
69f757edad
further fixes to screensaver/banking with window states like fullscreen
...
this is a further fix for T5464 to actually make the intended option
work at all. what was there was broken. now it works. init order was
wrong - screensaver was relying on event id's from e_client socde that
were not initted yet AND the handlers didnt account for "dont blank
when fullscreen window is there" at all. @fix
2017-05-07 14:35:14 +09:00
Carsten Haitzler
f6a92a5753
fix fullscreen no blank logic in e's dpms code
...
while this is still the wrong place and has other bugs, this fixes
T5464 ... but different things to fix now. @fix
2017-05-07 14:35:14 +09:00
Andy Williams
3c7c797e14
Add Change Wallpaper item in Desktop menu.
...
Also re-arrange Desktop menu to be more frequently used order
2017-05-05 22:34:21 +01:00
Mike Blumenkrantz
d81818b309
do not show iconic x11 clients on on icccm hint change
...
this is supposed to handle the case of state changing from withdrawn
to normal, but attempting to show an iconic client in this case results
in dead windows on screen
fix T5444
2017-05-01 13:26:11 -04:00
Mike Blumenkrantz
de0b9edee0
better handling for iconify during comp object show/hide
...
in the case where effects are disabled, no animation is started for iconify
operations, so this should fall through to the normal hide/show paths
ref T5444
2017-05-01 13:26:11 -04:00
Stephen 'Okra' Houston
b539171077
Luncher: Make transitions such as engage smoother by including the icon spacers in events.
2017-04-28 15:15:22 -05:00
Al 'netstar' Poole
89feae2b86
Sysinfo: Fix interger overflow on BSD.
...
This commits D4810
2017-04-27 15:19:44 -05:00
Stephen 'Okra' Houston
b302f1047c
Luncher: Make current preview tracking per instance.
2017-04-27 15:14:30 -05:00
Stephen 'Okra' Houston
c470a4fc33
Luncher: Improve sizing, animations (including engage), and the functionality of a bar on the desktop.
2017-04-27 15:02:47 -05:00
Stephen 'Okra' Houston
b09e17baae
Luncher - Set an icon to inactive when the preview is dismissed as well as on mouse out.
2017-04-26 13:21:08 -05:00
Stephen 'Okra' Houston
33bc90da6a
Luncher: Improve mouse in/preview management and fix luncher bar on the desktop.
2017-04-26 13:10:55 -05:00
Stephen 'Okra' Houston
2ef7a12441
Luncher: Show previews on client creation if the point is inside of the corresponding icon. Pass events on popups once they are deleted.
...
This fixes the issue where you will have to mouse out then mouse in again to be able to see previews on icons that you just clicked to start.
2017-04-26 11:53:27 -05:00
Mike Blumenkrantz
8c621db693
check image load error when checking dmabuf viability in gl
...
ref T5418
2017-04-21 16:16:38 -04:00
Mike Blumenkrantz
2297427514
remove unused struct members
2017-04-21 16:16:38 -04:00
Mike Blumenkrantz
e1093c87ea
set initial x11 window geometry for windows which do not have wm hints
...
fixes case where a non-override window has no hints and must be shown on
startup
2017-04-21 16:16:37 -04:00
Marcel Hollerbach
79996f9bdb
tiling: fix compile warning
...
item got set but never used
2017-04-19 17:31:47 +02:00
Marcel Hollerbach
b5ad46b33b
tiling: extra can be NULL here
...
Which is the case when the client is not tiled. So better checking for
it.
fixes CID 1373271
2017-04-19 17:31:47 +02:00
Stephen 'Okra' Houston
43ebf4a011
Xkbswitch: Use E_Dialog (which uses elm) instead of elm_win directly to make use of built in extra features.
2017-04-17 14:08:03 -05:00
Carsten Haitzler
86532962b5
e thumb - extend extension that might have media metadata image thumbs
2017-04-17 12:07:53 +09:00
Al Poole
82f1b8a1c1
E -> Enlightenment_thumb -> Media -> Thumbnail Creation.
...
Summary:
E -> Enlightenment_thumb -> Media -> Thumbnail Creation.
@feature
Add thumbnail creation to ethumb rather than in the image loaders.
See:
https://www.enlightenment.org/ss/display.php?image=e-58e93eef5e8b58.22514685.jpg
Test Plan: View directory with mp4 video in efm and see thumbnail.
Reviewers: zmike!, raster
Reviewed By: raster
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D4779
2017-04-17 12:06:11 +09:00
Mike Blumenkrantz
1cbddb6d8f
avoid refocusing deleted wl clients during comp input ungrabbing
...
this is an error
2017-04-14 11:48:43 -04:00
Mike Blumenkrantz
c37ce1cccd
explicitly set nested wl output canvas as a toplevel window
...
this is not an elm win so it needs to be set by the module
2017-04-14 11:48:43 -04:00
Mike Blumenkrantz
4eb60da0b3
make SHAPE_DEBUG activate with E_SHAPE_DEBUG env var
...
this is useful for debugging and the option to recompile is not always
available
2017-04-14 11:48:43 -04:00
Mike Blumenkrantz
7172239c0c
make RENDER_DEBUG activate with E_RENDER_DEBUG env var
...
this is useful for debugging and the option to recompile is not always
available
2017-04-14 11:48:43 -04:00
Al 'netstar' Poole
c282341ed8
Sysinfo: Make memusage and cpumonitor work better on BSD.
...
This commits D4749
2017-04-11 16:34:37 -05:00
Mike Blumenkrantz
a5cc19bd1a
remove unused struct members from wl E_Comp_Wl_Client_Data
2017-04-07 16:08:38 -04:00
Mike Blumenkrantz
53d0f98c50
set pass events on efm icons when deleting files
...
ensure that if a delete op is executing the icon cannot be clicked
probably fix T5340
2017-04-07 16:08:38 -04:00
Mike Blumenkrantz
3b12f89ebe
re-set list of default desklock bgs when changing to custom bg in config
...
this list of bgs gets freed a lot, including in this case, which results in
the apply() function failing later after the bg has been changed
fix T5288
2017-04-07 16:08:38 -04:00