Mike Blumenkrantz
5df53cec7b
process screen events in wl when using fake screens
2017-06-30 10:25:18 -04:00
Mike Blumenkrantz
75b473c4ef
don't crash in randr module when using fake xinerama screens
2017-06-30 10:25:18 -04:00
Mike Blumenkrantz
43dea93969
handle rotations with fake xinerama screens
2017-06-30 10:25:18 -04:00
Mike Blumenkrantz
789eccf12f
try redirecting failed clients again during resize
...
it seems like this is a good place to try, and this seems to resolve
some render updating issues on restart, such as with maximized chrome
windows
ref T5599
2017-06-30 10:25:18 -04:00
Mike Blumenkrantz
44693a1852
only unredirect clients during comp update after 3 failures
...
tfw your conditional is backwards
2017-06-30 10:25:18 -04:00
Mike Blumenkrantz
07d4f3bcf6
don't call comp object cleanup functions for clients without comp objects
2017-06-30 10:25:18 -04:00
Mike Blumenkrantz
1f0bed7e0b
check ec pointer before deref in luncher's E_EVENT_EXEC_DEL handler
...
a deleted exe is unlikely to have clients
fix T5599
2017-06-30 10:25:18 -04:00
Mike Blumenkrantz
9357ecc443
don't force shm for xwayland launch and enable gl
...
fix T5606
2017-06-30 10:25:18 -04:00
Mike Blumenkrantz
fea11b1621
don't run x11 focus (un)set callbacks for override clients
...
this is unnecessary in x11 and broken in xwayland
2017-06-30 10:25:18 -04:00
Mike Blumenkrantz
836845a615
use xwayland check for clients when checking whether to reset focus to root
...
checking base pixmap returns false for xwayland clients
2017-06-30 10:25:18 -04:00
Mike Blumenkrantz
69c85fc1aa
only set E_Client->want_focus for wl override clients if not popup client
...
do not attempt to focus popups as they are already child windows and thus
do not require keyboard focus
2017-06-30 10:25:17 -04:00
Mike Blumenkrantz
b183e001a1
make e_comp_object_frame_allowed() return false for ignored clients
2017-06-30 10:25:17 -04:00
Mike Blumenkrantz
d0accb8e52
block pointer warping on override clients
...
this is never okay
2017-06-30 10:25:17 -04:00
Mike Blumenkrantz
3fdcc92ab0
check exit status from auth subprocess
...
if the process doesn't exit then auth didn't succeed and this is a system issue
ref T5604
2017-06-30 10:25:17 -04:00
Mike Blumenkrantz
42523d27f0
multiply pointer axis values by 10 for wl clients
...
wayland clients expect this multiplier, so now scrolling speed should be
back to normal
2017-06-30 10:25:17 -04:00
Mike Blumenkrantz
89aa89f3a6
use event grabber for gadget editors to improve event detection
...
fixes some cases where clicking the background didn't dismiss the editor
and allows for clicking on non-gadget parts of the editor
2017-06-30 10:25:17 -04:00
Mike Blumenkrantz
1fe4555d7b
remove eeze init/shutdown calls from modules
...
this is unnecessary and was done with mismatched init/shutdowns in some cases
2017-06-30 10:25:17 -04:00
Mike Blumenkrantz
809a3492ae
unset gadget editor pointer on editor delete
2017-06-30 10:25:17 -04:00
Mike Blumenkrantz
4f77573e6c
perform move after resize during comp object show
...
in the case where an object is being shown before it has been moved or
resized, a move operation will trigger a series of callbacks which force the
compositor to attempt an illegal operation (recursive show before resize)
fix T5521
2017-06-30 10:25:17 -04:00
Derek Foreman
e26f2a12f5
Test dmabuf via native_surface_set even in software render
...
This is necessary to verify the the attributes struct is the same
version EFL can process, before we commit to displaying it.
@fix
2017-06-29 16:01:56 -05:00
Mike Blumenkrantz
bb1d7790b0
force shape queue when adding/deleting action client event grabber
...
ensure that this is normalized to provide consistent behavior before
and after actions begin/terminate
2017-06-26 14:48:03 -04:00
Mike Blumenkrantz
63f3fe949c
block "user" client resizes during comp client updating phase
...
resizing objects triggers clip resizes and further event feeding which
can propagate mouse events such that clients try to resize themselves
during the update phase, resulting in illegal compositor behavior
2017-06-24 12:34:12 -04:00
Mike Blumenkrantz
0a67a96df3
Revert "block client mouse move calls from comp object during move/resize"
...
This reverts commit 4464c681fd
.
on the right track but not 100%...
2017-06-24 12:10:43 -04:00
Mike Blumenkrantz
4464c681fd
block client mouse move calls from comp object during move/resize
...
this is now handled by the event grabber. many callbacks on this
object are due to clip changes instead of genuine mouse movements,
meaning that processing events can lead to further resizes during a
render cycle
2017-06-24 11:57:15 -04:00
Carsten Haitzler
a9cd60fb90
e - remove doofus-like code from mike with regards to making e crash or not
2017-06-24 13:27:16 +09:00
Mike Blumenkrantz
aad74ea341
do not enable abort on critical in development builds for raster only
...
let's dispense with the new environment variables and workarounds and
avoid future conflicts with this efl-style problem solving
2017-06-23 18:23:42 -04:00
Mike Blumenkrantz
46fc9c0988
freeze client action event grabber stacking
...
ensure event stacking does not get modified by external handlers
2017-06-23 17:49:44 -04:00
Mike Blumenkrantz
8b8703cfa6
use safe list iterating when clearing a gadget site during shutdown
...
demo gadgets are immediately removed when deleted, leading to list
corruption unless a safe iterator is used
2017-06-23 17:49:44 -04:00
Mike Blumenkrantz
9fa3fdfc78
always grab input when showing a gadget wizard
2017-06-23 17:49:44 -04:00
Mike Blumenkrantz
be0015a283
hide gadget editor when dragging/wizarding a new gadget
2017-06-23 17:49:44 -04:00
Mike Blumenkrantz
11a6d7ae35
Revert "e - allow env var to turn off aborting at any CRI issue"
...
This reverts commit 62feb358e6
.
set EINA_LOG_LEVELS=e:0 or comment out code locally if you aren't interested
in helping to de-bug development builds
this is meant to be as convenient for users as disabling "core"
features in efl builds in order to deter them from disregarding bug
reporting
2017-06-23 17:49:44 -04:00
Mike Blumenkrantz
fd2817df4a
use seat0 as default seat name instead of default
2017-06-23 17:49:44 -04:00
Mike Blumenkrantz
7e6a2a9064
update gadget position during a resize from top/left edge
2017-06-23 17:49:44 -04:00
Mike Blumenkrantz
099e6e019d
reset demo gadget id before deleting gadget object during drop operation
...
ref 75224784bd
2017-06-23 17:49:44 -04:00
Mike Blumenkrantz
446860b68a
if gadget wizard returns a zero id, remove gadget from site and destroy
2017-06-23 17:49:44 -04:00
Mike Blumenkrantz
4c58940291
force horizontal orient for all gadget editors with orientation
...
vertical orient does not fit well into any list/grid widgets, not sure
if this can be further improved yet
2017-06-23 17:49:44 -04:00
Mike Blumenkrantz
ebfb925a11
redo the gadget editor (again)
...
the list implementation had some issues with sizing and was also
inflexible and prevented a good display for desktop gadget sites
2017-06-23 17:49:43 -04:00
Mike Blumenkrantz
0180cef47d
do not attempt to pack cpumonitor into box in sysinfo mode
...
this causes an eo error
2017-06-23 17:49:43 -04:00
Mike Blumenkrantz
a441d4d22a
do not advertise luncher grid or sysinfo for gadget sites with orient
...
these are only feasible for non-bar sites
2017-06-23 17:49:43 -04:00
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
Mike Blumenkrantz
ffb402786b
remove uuid references from e_pixmap.c
...
I don't know what these are for?
2017-04-07 16:08:38 -04:00
Mike Blumenkrantz
174b0d040b
add cache for dead x11 manager windows
...
in the case where an app unmaps and maps its window very quickly, this
allows detection of the maprequest event which will occur with the just-deleted
manager window so that the window can be correctly managed again
fix T5348
2017-04-07 16:08:38 -04:00
Mike Blumenkrantz
a7cfbcd101
do not adjust unplaced transient client position on parent move/resize
...
this breaks placement
2017-04-07 16:08:38 -04:00
Mike Blumenkrantz
6a28856086
remove duplicated client stacking code from wl restack callback
...
this would always have resulted in double restacking since the client callback
already handles restacks
2017-04-07 16:08:37 -04:00
Mike Blumenkrantz
2ca599b317
apply transient stacking to wl clients when restack would not otherwise occur
...
ensure that transients are stacked consistently every time
2017-04-07 16:08:37 -04:00
Mike Blumenkrantz
b4be7040a6
break out client transient restacking into function
...
this is nontrivial and breaks things when incorrectly applied
2017-04-07 16:08:37 -04:00
Mike Blumenkrantz
c196ef110e
re-place transient wl clients when parent is first sized
...
this should ensure more reliable centering using a nonzero geometry
2017-04-07 16:08:37 -04:00
Mike Blumenkrantz
1a8207ce70
support clients as positioner objects in e_comp_object_util_center_on()
2017-04-07 16:08:37 -04:00
Mike Blumenkrantz
1bc600baba
do not arbitrarily center "lost" child windows, center them on the parent
...
if the parent is also lost, it will eventually be rescued and thus all children
will also be saved
#WeirdCommitLogs
2017-04-07 16:08:35 -04:00
Mike Blumenkrantz
d4b8404073
add a client's children to the skiplist during place routine
...
these should be ignored since they will be positioned relative to the parent
2017-04-07 16:07:25 -04:00
Mike Blumenkrantz
014db9469b
use e_client_parent_set() in wl *shell parent setting methods
2017-04-07 16:07:25 -04:00
Mike Blumenkrantz
d897f834ee
don't set wl xdg-foreign clients as modal
...
protocol says this should be the same as xdg_surface.set_parent which is
not the same as modal
2017-04-07 16:07:25 -04:00
Mike Blumenkrantz
53233ec53f
center child clients on parent in parent_set()
2017-04-07 16:07:25 -04:00
Mike Blumenkrantz
bab204bde1
explicitly stack child client above parent when calling parent_set
2017-04-07 16:07:25 -04:00
Mike Blumenkrantz
342bbee434
re-set backlight level when resuming from suspend
...
on some hw/systems, suspend sets brightness to maximum
2017-04-07 16:07:25 -04:00
Marcel Hollerbach
56246e0f08
mixer: be prepared for sinks without any volume
...
for the case that a sink does not have any volume we would access
NULL[0], which leads to a crash, this fixes that.
fix T5298
2017-04-07 11:53:56 +02:00
Marcel Hollerbach
8e3531648b
tiling: fix zero sized zone
...
when plugging a screen in and out, there is the case that a zone has a
usefull geometry of 0x0, which means all clients on this zone are
resized to 0x0. Which leads to a CRIT message in the compositor, which
leads (ref commit 5d875e6a3d
) to a abort()
which is really really annoying. Give here a short ERR about that case
so we are leaving out the compositor, since this really only strikes on
tiling, since in normal mode the client just keeps its size.
2017-04-05 10:08:21 +02:00
Carsten Haitzler
7ab621925f
e randr2 - fix freeing of stringshare by making it a stringshare
...
cs->id was strduped but freed as a stringshare... so actually add it
as a stringshare.
2017-03-31 17:45:57 +09:00
Carsten Haitzler
f47929c93a
e stacking support - enable beta api to get access as quick fix
...
so i made the stacking api's in efl beta/unstable so as a very quick
fix - enable efl beta api to access them until code syncs up and
stabilizes.
2017-03-28 13:50:23 +09:00
Carsten Haitzler
7557486ab3
fix crash in syscon when you press pr 2x in a row quickly to shutdown
...
not pretty but a fix... for now
2017-03-26 17:19:46 +09:00
Mike Blumenkrantz
e3faaf865e
do not set intermediate client geometry when doing fullscreen -> maximized
...
this provides a smoother experience for the transition as well as being a
more optimized operation
2017-03-24 13:17:24 -04:00
Mike Blumenkrantz
b223ed0981
add E_Client->saved.set
...
this indicates that saved geometry has been set and should not be
updated during maximize
currently only used to handle transition from fullscreen -> maximize
2017-03-24 13:17:24 -04:00
Mike Blumenkrantz
5c4f8a19a4
call "maximize" smart callback before "maximize_pre"
...
this callback induces ssd changes which affect the resulting geometry
and so it must be called before any size calculations are made
2017-03-24 13:17:24 -04:00
Mike Blumenkrantz
e3b3970b6e
adjust size for frame geometry in no-animation maximize path
...
this is based on window size, not surface size
also ignore coords if the size matches, animating just a positional
change looks dumb
2017-03-24 13:17:24 -04:00
Mike Blumenkrantz
ef3260a799
only center internal windows once
...
these shouldn't re-center on every resize
2017-03-24 13:17:24 -04:00
Mike Blumenkrantz
e1e9e68515
force animationless re-maximize when unfullscreening
...
animating here results in the window resizing to its original (smaller)
size, then growing back to its maximized size
2017-03-24 13:17:24 -04:00
Mike Blumenkrantz
e71524c7bd
check pixmap size before triggering maximize animation
...
if pixmap size matches animation size then avoid animation calls since
this will look stupid
2017-03-24 13:17:24 -04:00
Mike Blumenkrantz
6bb6f14b7c
add debug for xdg6 configure
2017-03-24 13:17:24 -04:00
Mike Blumenkrantz
7fe67cf187
slightly optimize maximize -> fullscreen protocol comms for wl clients
...
this is a no-op since a configure will be sent later
2017-03-24 13:17:24 -04:00
Mike Blumenkrantz
a0f7b03689
force e_client_unmaximize() to complete during fullscreen operation
...
it doesn't matter if the current client size doesn't match the unmax
size in this case since the size will be changed to fullscreen anyway
fixes maximize -> fullscreen transition
2017-03-24 13:17:24 -04:00
Mike Blumenkrantz
bfa3aacca3
always set E_Client->need_fullscreen when fullscreening
...
provide a method for determining whether a client is about to become
fullscreen during callbacks
2017-03-24 13:17:24 -04:00
Mike Blumenkrantz
d589e5217b
unset wl shell resource data on destroy
...
ensure that destroy cannot be called multiple times for the same resource
2017-03-24 13:17:24 -04:00
Mike Blumenkrantz
7e05eff3e3
only apply xdg-shell client del hooks to internal clients
...
ref 8173c06c4d
2017-03-24 13:17:24 -04:00
Mike Blumenkrantz
ad15822f27
disable client maximize anims when unmaximizing before a fullscreen
...
this ensures accurate positioning of windows about to be fullscreened
2017-03-24 13:17:24 -04:00
Mike Blumenkrantz
bc50b140c1
use compositor win object for client volume slider
...
ERR<elementary>lib/elementary/elm_widget.c:1159 You passed a wrong parent parameter (0x4000005c7a973cf5 edje). Elementary widget's parent should be an elementary widget
2017-03-24 13:17:24 -04:00
Mike Blumenkrantz
f6e332946c
add flag for wl clients to determine ssd mouse-in vs client mouse-in
...
better handling for moving mouse into ssd region with xwl clients
2017-03-24 13:17:24 -04:00
Marcel Hollerbach
f190a00f16
tiling: display the hint on the zone if there is no client below
2017-03-22 19:51:50 +01:00
Marcel Hollerbach
954e1a390e
tiling: update the indicator where the icons are dropped
2017-03-21 20:43:12 +01:00
Marcel Hollerbach
6732c37929
tiling: only start a drag when the cursor is really moved
...
otherwise a simple click on the header will init a completly drag, which
is often not desired.
2017-03-18 22:08:41 +01:00
Mike Blumenkrantz
e1ed56c327
account for late object setup when adding ssd mouse in/out callbacks
...
internal windows have a different setup order in which the frame is created
before any of the other internal objects in a comp object
2017-03-17 18:47:09 -04:00
Mike Blumenkrantz
e2be96901e
do not attempt to set window hidden hints on non-internal x11 windows
...
this causes a BadWindow error
2017-03-17 15:08:38 -04:00
Mike Blumenkrantz
58b66048f1
block x11 focus eventing under xwayland
...
ensure that focus changes come from the compositor and not from clients
2017-03-17 15:08:38 -04:00
Mike Blumenkrantz
1be8a5a590
always feed mouse events for wl client move events
...
better handling for xwayland case of moving pointer into ssd region
2017-03-17 15:08:38 -04:00
Mike Blumenkrantz
7f142f31f5
use even more accurate wl callbacks for detecting ssd mouse in/out events
...
ensure that any wl client with ssd hits the ssd mouse eventing path
2017-03-17 15:08:38 -04:00
Mike Blumenkrantz
a151ac30b8
do not send mouse events to ssd wl clients if mouse is within ssd region
2017-03-17 15:08:38 -04:00
Mike Blumenkrantz
f2ab232f3e
Revert "Stop sending wayland motion events when the mouse is grabbed"
...
This reverts commit 0a91a24573
.
this should be resolved in a more readable way now
2017-03-17 15:08:38 -04:00
Mike Blumenkrantz
8f197eba71
compare against e_client_action_get() for rejecting wl mouse events
...
signal actions do not set the cur_mouse_action pointer, but the return
of this function will still match the client for a more accurate heuristic
2017-03-17 15:08:38 -04:00
Mike Blumenkrantz
9e5bf813f9
set signal move/resize clients as action_client internally
...
technically action_client is used to indicate that an e_action is
active, but functionally it really just means "this client is moving or
resizing" and the compositor makes certain adjustments based on this
2017-03-17 15:08:38 -04:00
Mike Blumenkrantz
7052c66e74
force sending of last-used geometry when terminating a resize in wl shell send_configure
...
in the event that a client has not yet committed the changes from the
most recent resize event, it's legal for a client to have acked the previous
configure, ack this one, and then do nothing
this ensures that the last resize event(s) sizes are applied by the client
2017-03-17 15:08:38 -04:00
Mike Blumenkrantz
5a94a95e63
send wl client resize edges during focus-in/out send_configure
...
avoid prematurely terminating resize operations
2017-03-17 15:08:38 -04:00
Mike Blumenkrantz
3ca416cc0a
add wrappers for elm_win util create functions
...
avoid deadlocking in gl init by forcing sw
2017-03-17 15:08:29 -04:00
Mike Blumenkrantz
047f08a994
do not accidentally place unplaced clients during wl *shell configure
2017-03-17 13:16:59 -04:00
Mike Blumenkrantz
69936f74a5
set dialog and tooltip flags for internal clients
...
fixes handling of internal wl windows which are set as dialogs
2017-03-17 13:16:59 -04:00
Mike Blumenkrantz
89ea040222
only re-set comp object position during show if client has been placed
...
avoid accidentally placing an unplaced client
2017-03-17 13:16:59 -04:00
Mike Blumenkrantz
be5ef5e6c4
always get zone geometry when placing clients
...
previous codepaths relied on new_client being set, which would have
fetched the zone geometry earlier. this is no longer necessarily the
case
2017-03-17 13:16:59 -04:00
Mike Blumenkrantz
20dfb3c0df
use show instead of bring_in for xkbswitch layout add dialog
2017-03-17 13:16:59 -04:00
Mike Blumenkrantz
7be2167013
handle window icons from elm for internal wins
...
fixes appearance of icons set with elm_win_icon_name_set()
2017-03-17 13:16:59 -04:00
Mike Blumenkrantz
235bbc087e
rework how pulseaudio is started in mixer backend
...
calling `pulseaudio` starts a new daemon in the background. this is incorrect
behavior when a daemon already exists, so use --start. tracking the exe of
this process has no effect other than to determine when the fork()ing parent exits,
which is usually immediately
ref 35bb87529f
2017-03-17 13:16:59 -04:00
Mike Blumenkrantz
7191c45de5
slow down mixer's pulse reconnect rate
...
0.2s is way too fast and results in crazy cpu usage from attempting to
spawn invalid pulseaudio instances in some cases
ref 35bb87529f
2017-03-17 13:16:59 -04:00
Mike Blumenkrantz
e23bf0cf68
do not use animations for wl clients with initial maximize state
...
this looks fugly and breaks all kinds of things
2017-03-17 13:16:59 -04:00
Mike Blumenkrantz
0d8b33c15f
use maximized geometry for shell maximize calls on wl clients if !buffer_commit
...
this is for setting the initial state of a surface as maximized, so do not use
animation geometry here
2017-03-17 13:16:59 -04:00
Mike Blumenkrantz
638657f043
always use jobs to create bryce menus
...
ensure that menus can never be created during a post event callback in
order to avoid crashes
ref T3144
fix T5262
2017-03-17 13:16:59 -04:00
Mike Blumenkrantz
24feeaaf73
only set toolbar icon min size if icon exists
2017-03-17 13:16:59 -04:00
Mike Blumenkrantz
f11739230d
set title for buffer output canvas
2017-03-17 13:16:59 -04:00
Mike Blumenkrantz
118a70730f
handle nested compositor delete requests
...
the previous implementation of this using ee callbacks broke during
elm integration since elm overrides all of those callbacks
2017-03-17 13:16:59 -04:00
Mike Blumenkrantz
71c9cedfbf
only hide wl clients on surface destroy when surface is mapped
...
fixes some cases where hide animations would not be visible
2017-03-17 13:16:59 -04:00
Andy Williams
d99fe0e02a
luncher: Fix some wobble
2017-03-16 23:02:28 +00:00
Stephen 'Okra' Houston
d85617cda7
xkbswitch: Remove e_widgets from the add dialog and replacing them with elm
...
This greatly improves the speed and sizing problems with the add layout dialog.
2017-03-15 16:44:47 -05:00
Stephen 'Okra' Houston
d65945d1cd
Luncher: Show the preview popup based on icon placement.
2017-03-13 20:59:44 -05:00
Stephen 'Okra' Houston
8d07ad7845
Luncher: Don't try to perform aspect set on a deleted bar.
2017-03-13 17:40:43 -05:00
Al 'netstar' Poole
4e1d079aa8
Batman: Add multi-battery support for bsd based distros.
...
Differential was D4670
2017-03-13 14:59:39 -05:00
Stephen 'Okra' Houston
4549bf2f77
Luncher: Reset scale on mouse out or new effect.
2017-03-13 13:17:00 -05:00
Al Poole
955a21d5ef
E keyboard settings - use the same icon as the keyboard settings dialog
...
Reviewers: zmike!
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D4716
2017-03-13 12:33:38 -04:00
Al Poole
8bce604383
Fix compiler type warnings (snprintf)
...
Reviewers: zmike!
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D4715
2017-03-13 12:32:54 -04:00
Al Poole
ac5036af0f
Fix macro namings in relation to endianness.
...
Reviewers: zmike
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D4714
2017-03-13 12:32:23 -04:00
Andy Williams
f68b8f1567
luncher: Smoothing animations
2017-03-11 23:12:57 +00:00
Andy Williams
28e5b5e82b
luncher: update aspect ratio calculations
...
@fix
2017-03-10 22:16:49 +00:00
Mike Blumenkrantz
701e046b0b
clear luncher instance icons on bar deletion
...
==21266== 3,488 (96 direct, 3,392 indirect) bytes in 2 blocks are definitely lost in loss record 10,417 of 10,680
==21266== at 0xE1E5D49: _eina_chained_mempool_alloc_in (eina_chained_mempool.c:212)
==21266== by 0xE1E5FDC: eina_chained_mempool_malloc (eina_chained_mempool.c:324)
==21266== by 0xE1A016E: eina_mempool_malloc (eina_inline_mempool.x:90)
==21266== by 0xE1A03C2: _eina_list_mempool_list_new (eina_list.c:222)
==21266== by 0xE1A11C5: eina_list_append (eina_list.c:578)
==21266== by 0x2910B667: _bar_fill (bar.c:1565)
==21266== by 0x2910D1A5: _bar_recalculate_job (bar.c:2047)
==21266== by 0xC602C2C: _ecore_job_event_handler (ecore_job.c:98)
==21266== by 0xC5FBBCE: _ecore_call_handler_cb (ecore_private.h:317)
==21266== by 0xC5FCB5D: _ecore_event_call (ecore_events.c:518)
==21266== by 0xC605EEB: _ecore_main_loop_iterate_internal (ecore_main.c:2381)
==21266== by 0xC603C99: ecore_main_loop_begin (ecore_main.c:1289)
==21266== by 0x43DD0D: main (e_main.c:1089)
2017-03-10 15:55:42 -05:00
Mike Blumenkrantz
4fc6fcf1e3
don't set minw for keyboard layout dialog
...
somehow this causes the dialog to size crazily for a couple seconds
before growing to its final size
2017-03-10 15:55:42 -05:00
Mike Blumenkrantz
32c55ebc51
handle null E_Comp->screen during randr2 shutdown
...
some output modules have no screen iface (e.g., buffer, wl_wl, wl_x11)
and so this will always be null
2017-03-10 15:55:19 -05:00
Mike Blumenkrantz
05ef0b0280
call e_randr2_shutdown in comp shutdown
...
this should always be called, not just in comp_x
2017-03-10 15:55:06 -05:00
Mike Blumenkrantz
a064899511
move x11 iconic window init from e_hints -> comp_x initial fetch
...
this reflects the order in which the client passes through these functions
and fixes handling of iconic clients on startup
2017-03-10 15:55:06 -05:00
Mike Blumenkrantz
f253351f0a
force iconic state for iconic x11 clients during shutdown
...
this may or may not have been set previously if client mirrors are present,
but it should definitely be set during shutdown since there are no mirrors
2017-03-10 15:55:06 -05:00
Mike Blumenkrantz
cc434190ad
call wl/x compositor shutdown functions directly during comp shutdown
2017-03-10 15:55:06 -05:00
Mike Blumenkrantz
8b0eb9ad8e
do not start xwayland repeatedly
...
ref 0534c7ae6f
2017-03-10 15:55:06 -05:00
Mike Blumenkrantz
d17fe0614e
check changes.pos during client maximize/fullscreen and adjust window coords
...
using these coords when the changes.pos flag is set should result in more accurate
results for positioning when removing the state
2017-03-10 15:55:06 -05:00
Mike Blumenkrantz
5b9dec214e
only save client size info on maximize/fullscreen when protocol visible
...
a client which begins in one of these states must set its size again when
removing the state
2017-03-10 15:55:06 -05:00
Mike Blumenkrantz
5720338072
perform frame adjustments before applying wm spec hints during unmaximize
...
e_client_resize_limit removes frame adjustments before performing calcs,
so ensure that the geometry passed is pre-adjusted to account for this
2017-03-10 15:55:06 -05:00
Mike Blumenkrantz
e4b6494936
make e_remember_del() work with sr remembers
2017-03-10 15:55:06 -05:00
Mike Blumenkrantz
a7f708d568
add wl client flag to indicate status of xdg6 pre-buffer configure
...
ensure that initial configure is not sent more than once
ref T5044
2017-03-10 15:55:06 -05:00
Mike Blumenkrantz
fece2ab5bf
return during comp object pixels function if client was deleted during render
2017-03-10 15:55:06 -05:00
Mike Blumenkrantz
8f896b7862
show x11 parent windows during reparent only if not withdrawn
...
iconic windows are still shown
2017-03-10 15:55:06 -05:00
Mike Blumenkrantz
f2c1976e9a
do not force comp objects to render for their proxies if real_hid is set
...
this flag indicates that the object cannot be rendered
2017-03-10 15:55:06 -05:00
Mike Blumenkrantz
adaad812d3
run e_hints_window_init() on new_client eval and not during placement
...
these are not related
2017-03-10 15:55:06 -05:00
Mike Blumenkrantz
f93777181f
manually center pointer using compositor size on init when not restarting
...
when using fake screens this ensures that a viewported canvas will have
the expected mouse position
2017-03-10 15:55:06 -05:00
Mike Blumenkrantz
802136f5f2
do not use saved e_randr screens if fake screens have been added
2017-03-10 15:55:06 -05:00
Mike Blumenkrantz
5d62ec3cee
make E_COMP_SIZE a global comp resizing env var
2017-03-10 15:55:06 -05:00
Mike Blumenkrantz
7828db4575
track and delete xdg-shell client hooks
...
fix T5242
2017-03-10 15:55:06 -05:00
Marcel Hollerbach
1277ef9747
tiling: drop move requests from tiled clients
2017-03-10 21:44:08 +01:00
Marcel Hollerbach
2faf052f0d
tiling: handling dragging from desk to desk
...
There are a few cornercases when dragging clients between a tiled and a
untiled one.
2017-03-10 13:49:58 +01:00
Marcel Hollerbach
37be0cf885
tiling: handle the tiling state correctly when on multimonitor
...
there is no event that indicates that the mouse went to a other zone. To
solve this we simply update the current split type each time when
changing or using the type.
2017-03-10 13:49:44 +01:00
Marcel Hollerbach
d1e2d1068a
tiling: save the split type per desk
...
this allows you to have different types per virtual desktop
2017-03-09 23:06:23 +01:00
Marcel Hollerbach
44b5aec991
tiling: refactor the window tree
...
there are two functions to insert a client, they should perform the same
operations on the parameters.
2017-03-09 19:31:56 +01:00
Marcel Hollerbach
35e729f941
tiling: make windows placable by dragging them arround
...
If someone starts to drag a client arround, then the client will shrink
into a icon, that now is always at the position of the mouse cursor, if
the drag ends, the client will be placed in the client currently below
it. The client will be placed in a place where the mouse cursor was
currently closer to.
2017-03-09 13:59:48 +01:00
Stephen 'Okra' Houston
9b211b80c3
Luncher: Begin work to handle engage sizing correctly.
2017-03-08 18:21:15 -06:00
Stephen 'Okra' Houston
3ba67bbf3b
Sysinfo: Use the correct define for DragonFly.
2017-03-05 17:31:47 -06:00
Marcel Hollerbach
fe50e1edf0
tiling: do not pass parent as relative
...
otherwise the client does not get into the list of parent
2017-03-04 09:19:47 +01:00
Mike Blumenkrantz
2a8d593e8b
add handler for EFREET_EVENT_DESKTOP_CACHE_BUILD to e_order init
...
it's possible that during startup there will never be a CACHE_UPDATE
event, so ensure that an attempt to read occurs by watching this event too
2017-03-03 10:52:24 -05:00
Mike Blumenkrantz
3753586663
set ON_HOLD when activating start gadget
2017-03-03 10:49:33 -05:00
Mike Blumenkrantz
41476f8f3e
defer menu activation mouse-up feed
...
ensure that this is not triggered from an evas post event callback
ref T3144
2017-03-03 10:49:33 -05:00
Mike Blumenkrantz
d29fb6b0b5
do not unset E_Client->placed for fullscreen/maximize clients
...
these are already placed
2017-03-03 10:49:33 -05:00
Mike Blumenkrantz
b91d224a4d
add Return and Caps_Lock handling to wl key event generation
2017-03-03 10:49:33 -05:00
Mike Blumenkrantz
e3a5ab1457
Revert "e - wl mode - stop consuming 100 percent cpu"
...
This reverts commit cd3490f35c
.
this breaks many windows by preventing deferred resizing from occurring.
a window which is unable to resize at the time of this call must be queued
for a deferred resize, otherwise it may never resize at all and thus will
never be rendered
test case: screenshot dialog
2017-03-03 10:49:33 -05:00
Mike Blumenkrantz
9e54e62447
fix dangling pointers in xdg-shell deletion
...
partially caused by use of wrong hash, partially by failure to remove
list entries
fix T5235
2017-03-03 10:49:33 -05:00
Mike Blumenkrantz
156b8d434b
unset deskmirror client's client pointer upon client deletion
...
prevent invalid access after client deletion
2017-03-03 10:49:33 -05:00
Mike Blumenkrantz
cfb1fa41e6
add all wl client frame callbacks with priority AFTER
...
ensure that these occur after all other callbacks since they can affect
the lifetime of the client object
2017-03-03 10:49:33 -05:00
Mike Blumenkrantz
e618e00297
better protect comp object internals from dereferencing freed clients
...
animating comp objects persist after the lifetime of their client, so
ensure that functions which are likely to be called after the client's free
will not attempt to access client struct members
2017-03-03 10:49:33 -05:00
Mike Blumenkrantz
54dfcea3e0
comment out inlist member of E_Comp_Object struct
...
this was unused
2017-03-03 10:49:33 -05:00
Mike Blumenkrantz
504f88d24a
hide wl clients before deleting them on surface destroy
...
==13853== Invalid read of size 8
==13853== at 0x5C7C56: _e_comp_wl_surface_destroy (e_comp_wl.c:1804)
==13853== by 0xA999971: destroy_resource (wayland-server.c:611)
==13853== by 0xA9A06F4: for_each_helper (wayland-util.c:374)
==13853== by 0xA9A073F: wl_map_for_each (wayland-util.c:387)
==13853== by 0xA999C87: wl_client_destroy (wayland-server.c:763)
==13853== by 0xA999216: wl_client_connection_data (wayland-server.c:283)
==13853== by 0xA99C2B0: wl_event_source_fd_dispatch (event-loop.c:90)
==13853== by 0xA99CC11: wl_event_loop_dispatch (event-loop.c:423)
==13853== by 0xA787AC0: _cb_create_data (ecore_wl2_display.c:272)
==13853== by 0xDBE984D: _ecore_call_fd_cb (ecore_private.h:333)
==13853== by 0xDBEC01B: _ecore_main_fd_handlers_call (ecore_main.c:1992)
==13853== by 0xDBEC8A9: _ecore_main_loop_iterate_internal (ecore_main.c:2379)
==13853== by 0xDBEA672: ecore_main_loop_begin (ecore_main.c:1292)
==13853== by 0x441DA9: main (e_main.c:1089)
==13853== Address 0x30ba5d90 is 176 bytes inside a block of size 1,424 free'd
==13853== at 0x4C2ED4A: free (vg_replace_malloc.c:530)
==13853== by 0x4603D6: _e_client_free (e_client.c:588)
==13853== by 0x5475A8: e_object_free (e_object.c:119)
==13853== by 0x5477C4: e_object_unref (e_object.c:152)
==13853== by 0x5473D7: e_object_del (e_object.c:60)
==13853== by 0x5C7C51: _e_comp_wl_surface_destroy (e_comp_wl.c:1803)
==13853== by 0xA999971: destroy_resource (wayland-server.c:611)
==13853== by 0xA9A06F4: for_each_helper (wayland-util.c:374)
==13853== by 0xA9A073F: wl_map_for_each (wayland-util.c:387)
==13853== by 0xA999C87: wl_client_destroy (wayland-server.c:763)
==13853== by 0xA999216: wl_client_connection_data (wayland-server.c:283)
==13853== by 0xA99C2B0: wl_event_source_fd_dispatch (event-loop.c:90)
==13853== by 0xA99CC11: wl_event_loop_dispatch (event-loop.c:423)
==13853== by 0xA787AC0: _cb_create_data (ecore_wl2_display.c:272)
==13853== by 0xDBE984D: _ecore_call_fd_cb (ecore_private.h:333)
==13853== by 0xDBEC01B: _ecore_main_fd_handlers_call (ecore_main.c:1992)
==13853== by 0xDBEC8A9: _ecore_main_loop_iterate_internal (ecore_main.c:2379)
==13853== by 0xDBEA672: ecore_main_loop_begin (ecore_main.c:1292)
==13853== by 0x441DA9: main (e_main.c:1089)
==13853== Block was alloc'd at
==13853== at 0x4C2FA50: calloc (vg_replace_malloc.c:711)
==13853== by 0x5471A4: e_object_alloc (e_object.c:20)
==13853== by 0x467AD5: e_client_new (e_client.c:2596)
==13853== by 0x5C7F11: _e_comp_wl_compositor_cb_surface_create (e_comp_wl.c:1858)
==13853== by 0xADBDC57: ffi_call_unix64 (in /usr/lib64/libffi.so.6.0.2)
==13853== by 0xADBD6B9: ffi_call (in /usr/lib64/libffi.so.6.0.2)
==13853== by 0xA99EEED: wl_closure_invoke (connection.c:935)
==13853== by 0xA999581: wl_client_connection_data (wayland-server.c:371)
==13853== by 0xA99C2B0: wl_event_source_fd_dispatch (event-loop.c:90)
==13853== by 0xA99CC11: wl_event_loop_dispatch (event-loop.c:423)
==13853== by 0xA787AC0: _cb_create_data (ecore_wl2_display.c:272)
==13853== by 0xDBE984D: _ecore_call_fd_cb (ecore_private.h:333)
==13853== by 0xDBEC01B: _ecore_main_fd_handlers_call (ecore_main.c:1992)
==13853== by 0xDBEC8A9: _ecore_main_loop_iterate_internal (ecore_main.c:2379)
==13853== by 0xDBEA672: ecore_main_loop_begin (ecore_main.c:1292)
==13853== by 0x441DA9: main (e_main.c:1089)
2017-03-03 10:49:33 -05:00
Stephen 'Okra' Houston
2847c24e69
Luncher: Check popup status on the correct client.
2017-02-28 11:01:06 -06:00
Chris Michael
96e63d863f
Revert "reverse order of shell binding in wl_desktop_shell module"
...
Reverting the shell order commit in favor of a better approach as
discussed on IRC.
This reverts commit 9b457513e4
.
2017-02-28 11:36:23 -05:00
Chris Michael
9b457513e4
reverse order of shell binding in wl_desktop_shell module
...
Small patch to reverse order of shell binding so that we always
support the newest shell first and fallback to older ones.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-02-28 11:26:52 -05:00
Stephen 'Okra' Houston
3b3e2e9897
Merge branch 'master' of git+ssh://git.enlightenment.org/core/enlightenment
2017-02-28 10:09:31 -06:00
Stephen 'Okra' Houston
7d0cfacb80
Luncher: Check for popups when determining clients to add to the tasks.
2017-02-28 10:08:44 -06:00
Chris Michael
933814f3a9
fix wl_drm detection in e_signals.c
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-02-28 08:40:00 -05:00
Stephen 'Okra' Houston
2ef2c37062
Luncher: Add config options to function only as a launcher, only as a taskbar, or as both.
2017-02-27 20:57:18 -06:00
Marcel Hollerbach
fa0d585aa5
tiling: insert a client in the place where it is currently placed
...
With this patch we are inserting a client in the tiling tree where it is
currently placed in floating mode.
2017-02-25 17:02:06 +01:00
Mike Blumenkrantz
f2550ba326
typo--
2017-02-24 15:20:23 -05:00
Mike Blumenkrantz
cfc538ca55
remove all unnecessary efl version checks
...
the version of efl required by configure is already higher than these checks
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz
e39b6601b0
make 'after_restart' variable global
...
this allows the compositor to detect (accurately) whether it is a new
instance
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz
0ce43bd0dd
add E_Menu access from its comp object
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz
e56f689fad
show already-visible comp util objects when changing frame type
...
ensure internal clipper state matches object visibility state
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz
a32f7119e2
only move new bryces to zone on create, not existing ones
...
this resolves an issue where not changing any position-related attrs
would stick the bryce in the wrong location until restart
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz
e7c2d30a85
add function for printing debug info on an evas object
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz
e33c01cdce
add new explicit method for enabling backlight depending on output type
...
ensure that nested compositors don't mess with backlight
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz
5d875e6a3d
enable abort on critical error for non-release builds
...
this should help with debugging
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz
9934ccfbf0
free E_Remember->uuid on shutdown
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz
58f7d7e54e
do not shortcut wl surface commit unignore path for internal wins
...
this doesn't seem to do anything and therefor is not worthwhile
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz
b0cb4b38d6
redo wl client setting of E_Client->take_focus and E_Client->want_focus
...
this used to be set on show since the assumption was that show was the
first time the client would be seen, but this turns out to be incorrect
and results in focus being set too early (breaking policy)
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz
8952eb1add
set E_Client->remember before calling e_remember_update()
...
fix case where new remember was created but not immediately updated,
resulting in a blank remember which would be applied and break windows
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz
e7539003ba
unadjust wl surface coords before applying position during commit
...
this seems to fix some positioning issues with internal wins
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz
60213325fc
only attempt to place clients which are protocol-visible
...
unmapped clients have no geometry
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz
a117c977dd
e_menu_grab_window_get() -> e_menu_is_active()
...
0 is a valid canvas window id, and this function was no longer being used
for its original purpose
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz
ec601e49d1
register wl_buffer output canvas for input events
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz
e4a89cf0ed
save config when toggling option to disable startup splash
...
broken since 2013
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz
98ab29ea3c
add event for xwayland init
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz
18b452778a
block backlight changing for nested/buffer compositors
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz
c854f142dc
center pointer on wl_buffer output init
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz
1bf6c2d5c3
remove e_comp_wl->ptr.grab_x/y
...
unused
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz
2c7e91d38f
make e_comp_wl->ptr.x/y ints and fix usage to be consistent
...
sometimes these were treated as ints and sometimes wl_fixed
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz
981f2286d4
add client smart callback for post_render
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz
b228c95dce
make wl key input generator take keynames instead of keycodes
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz
5b5e3fa5db
fix wl_drm detection in e_mouse.c
2017-02-24 14:15:38 -05:00
Marcel Hollerbach
9745890a37
Revert "Revert "mixer: do not set back the value from emix once the drag is finished""
...
This reverts commit fba185798c
.
There is not even a description why you reverted it. This is a bugfix
that fixed a bug. So talk to me what the issue is, but please stop
reverting commits silently.
2017-02-23 09:08:24 +01:00
Michael Bouchaud
2e043e825d
e_client_volume: Don't set client volume to max after a mute.
...
Don't set client volume to max after a mute and unmute. Just check if the
volume is within the available limits.
2017-02-23 00:51:33 +01:00
Michael Bouchaud
cb6ea9f747
e_client_volume: check volume setted after a slider drag
2017-02-23 00:36:17 +01:00
Michaël Bouchaud (yoz)
fba185798c
Revert "mixer: do not set back the value from emix once the drag is finished"
...
This reverts commit 8724313b8e
.
2017-02-22 22:59:13 +01:00
Michaël Bouchaud (yoz)
dbdf411b48
mixer: use VOLSET macro in volume output set
2017-02-22 22:59:13 +01:00
Michael Bouchaud
f13d9dc8cd
e_askpass: fix a typo
2017-02-22 22:58:13 +01:00
Michael Bouchaud
31d3b5914f
e_askpass: compliant with GIT_ASKPASS for querying username
...
It isn't well documented but git could use SSH_ASKPASS env var for querying
username. So we use the argument passed to the command to know what to do.
2017-02-22 21:08:52 +01:00
Stephen 'Okra' Houston
3ce76c66d2
Luncher: Unify icon image file setting code.
2017-02-22 11:05:55 -06:00