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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Carsten Haitzler
a534433a91
e client volume - use the overall state of all sinks for display
...
improve mixer volume display in titlebar now to show a unified
display. average volume of all non-muted sinks for volume display and
if at least 1 sink is non-muted display as not muted as some sound is
coming from that app... somwhere...
2017-02-22 09:50:42 +09:00
Stephen 'Okra' Houston
4510e474f6
Revert "Bryce: Don't proceed to process the mouse down event structure if it is null in the post callback."
...
This reverts commit 25950ccfa9
.
Rever this commit to allow a more proper fix.
2017-02-21 11:27:52 -06:00
Stephen 'Okra' Houston
25950ccfa9
Bryce: Don't proceed to process the mouse down event structure if it is null in the post callback.
2017-02-21 11:06:45 -06:00
Marcel Hollerbach
57b8f3e093
e_sys: bring back system actions after resume was called
...
when resume is called we are just notifing the theme that e is back
there. There is no E_Sys_Action for it, so its enough for now to just
call the backlight to fade back in and emit the signal to the theme.
This should fix e blocking sys actions
2017-02-21 17:01:13 +01:00
Michael Bouchaud
0a73905895
e_client_volume: add E_EVENT_CLIENT_VOLUME_SINK handler
...
This commit introduce 3 new handlers to e_client_volume API. These allow to
catch event about sink add, del and update
2017-02-20 02:21:14 +01:00
Michael Bouchaud
939ac0b93d
e_client_volume: add sink_name_get API to e_client_volume
2017-02-20 00:46:59 +01:00
Carsten Haitzler
718f0fe0f4
e client mixer - stop messing with mute + volume state just for display
...
so add a new sink or get an update on state and e will SEt volume/mute
settings, not just passively disdplay them. this has been messing up
rage's winlist (mouse over on right) for several months now... and e
is/was wrong.
this doesnt fix all. if an app has multiple streams really this client
mixer needs to display a control per stream, not a single one - eg in
a popup. in fact volume shoud likely be done in a popup instead of
inside titlebar anyway :)
but this fixes the most annoying problem where withotu users doing
anything, the audio starts to play from streams explicitly muted by
the app...
2017-02-19 21:15:35 +09:00
Chris Michael
37e84e1b40
remove unused variable in e_exec.c
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-02-16 13:46:20 -05:00
Marcel Hollerbach
6becc2b179
e_exec: split up the free of the instance
...
otherwise two calls to that free would not sent the event, but free the
instance, undependend of the event beeing emitted or not.
fix T4963
2017-02-14 22:10:26 +01:00
Carsten Haitzler
8211a6f0e1
e thumb - fix alignment warning nuisance
2017-02-12 17:59:47 +09:00
Carsten Haitzler
fd139068e1
efm - fix nuisance warning about enlightenment
2017-02-12 17:59:17 +09:00
Carsten Haitzler
d72815747a
efx - fix unaligned ptr fill that is actually a bug
...
warning found a bug - filling in chr fileds with an api that expects
ptrs to ints - this is doing really bad things like unaligned writes
and it's overiting adjacent memory. fix
2017-02-12 16:25:35 +09:00
Carsten Haitzler
ccf3a6f5fe
e comp - quiet some warnings for casts that are ok
...
add soem void 8 casts for casts that are ok alignment-wise but that
generate warnings
2017-02-12 16:25:35 +09:00
Carsten Haitzler
eb8f2a68b0
e comp - fix stupid cast to from eina rect* to char* to eina rect* again
...
just causes warnings and makes no sense...
2017-02-12 16:25:35 +09:00
Carsten Haitzler
d8e639a9ea
e comp object - fix warning where a void cast is as goos as the old one
...
we did cast to Evas_Native_Surface * but this just causes warnings due
to the input ptr being char * from memcup. as this will be aligned due
to allocation, we're ok, so use a void * cast instead
2017-02-12 16:25:35 +09:00
Carsten Haitzler
f91086be7d
evry module - fix warning about comparing signed to unsigned
...
harmless warning - use a cast to keepit quiet.
2017-02-12 16:25:35 +09:00
Carsten Haitzler
7b0891a743
e desklock logging - fix types for critical error logs
...
the critical error log expects unsigned long so cast to exactly that
so it's correct and doesn't break/display incorrect values
2017-02-12 16:25:35 +09:00
Carsten Haitzler
3e95380edb
efm - fix warnings for progress time display
...
the code is right - data is aligned, but gcc doesn't know this, so
silence it with void * cast
2017-02-12 16:25:35 +09:00
Carsten Haitzler
7d5db07a75
e notification - silence alignment warning
...
the code is ok - it's aligned data from evas and we can address it by
int ptrs, but the warning is noise, so simply add a void * cast in there
2017-02-12 16:25:35 +09:00
Carsten Haitzler
dd4cd1ce73
e thumb - silence alignment warning - valid code
...
the code is right as the int array is at the start of the allocation
that should be aligned to all types anyway. but it's noise that
distracts.
2017-02-12 16:25:35 +09:00
Carsten Haitzler
8c87fe514d
e comp - wl - add void cast to reduce warnings
...
we're pointer playing anyway so types here are not really useful. we
have to get our ptrs right - including alignment, and these warnings
are not useful and just noise.
2017-02-12 16:25:35 +09:00
Carsten Haitzler
8c70210ee6
e xsettings - fix warnings about unaligned ptr access
...
this moves access to byte by byte memcpy's to avoid potential
unaligned access.
2017-02-12 16:25:35 +09:00
Carsten Haitzler
b40fd20fbc
e comp x - fix property fetch to use int ptr from the start
...
this clears up soem warnings and do the cast on providing the pointer
to ecore_x_window_prop_property_get() which since it has to allocate
the data will be fine for alignment anyway, so a void * cast will do.
2017-02-12 16:25:35 +09:00
Carsten Haitzler
16131b14f0
efm ipc - fix unaligned int read on ipc decode
...
warning was right - this is an unaligned read. fix.
2017-02-12 16:25:35 +09:00
Carsten Haitzler
9c984ea9cf
e ptr cast via void fix to reduce warnings
...
so we cast a lot of ptrs to other types as that is then the actual
type of the object. all these objects are allocated by malloc nad
friends so this is ok. but gcc on arm is not happy and warns. maybe it
assume this ptr could be to an element in an array of structs of this
type and so on thus will have specific alignment enforced by compiler
but our casting may disturb it? anyway. cast via void first fixes it.
we can focus on other real warnings and errors instead.
2017-02-12 16:25:35 +09:00
Mike Blumenkrantz
4e1cbab3ff
ignore all non-NORMAL type wl windows in e_place
...
this catches subsurfaces, drags, and popups, which were erroneously being
handled like obstacles during placement
2017-02-10 17:24:13 -05:00
Mike Blumenkrantz
8f3c9dd796
do not use new_client to determine placement-related paths during wl client commit
...
this is a remnant from xdg5-only code where new_client meant "first buffer". with
xdg6, this is no longer the case since a surface can receive infinite commits
without ever having a buffer attached
ref 9a82f7bcb0
2017-02-10 17:24:13 -05:00
Mike Blumenkrantz
476305563c
always set E_Client->placed when successfully moving a comp object
...
enforce this for all cases
2017-02-10 17:24:13 -05:00
Mike Blumenkrantz
63b7111a1f
make client placement eval not dependent on new_client flag
...
this should just run if placed is not set for a valid window
2017-02-10 17:24:13 -05:00
Mike Blumenkrantz
964640d9ae
never return remembers which apply uuid if not looking for sr remembers
...
avoid collision between sr remembers and user remembers
2017-02-10 17:24:13 -05:00
Mike Blumenkrantz
a8e7ca98cc
allow new_clients to update their remembers
...
this might cause a little more event spam but it's pretty harmless
2017-02-10 17:24:13 -05:00
Mike Blumenkrantz
743a57f572
watch UNIGNORE hook for hooking window remembers
...
ref d9cc4f887828b620cd114e85b89589cbe929ea50
2017-02-10 17:24:13 -05:00
Mike Blumenkrantz
d6052cbbfd
unignore wl clients on first commit regardless of buffer attachment
...
this allows for things to begin catching "new" clients as soon as possible
in the compositor
2017-02-10 17:24:13 -05:00
Mike Blumenkrantz
7c118eb272
use E_Client->changes.size for validating wl client geom during configure
...
xdg6 allows for clients without buffers to be configured such that the
first buffer will match the configured state
if a client is sized before this point, the changes.size flag will be set
2017-02-10 17:24:13 -05:00
Mike Blumenkrantz
2f6f31f2a7
add client hook for UNIGNORE
...
UNIGNORE is the hook to watch for wl clients as they are added; the
ignore mechanism prevents most of the compositor from processing
clients. this is a stupid method from an api perspective since it's
different in x11 and wl, so it should probably be improved on in the future
2017-02-10 17:24:13 -05:00
Mike Blumenkrantz
25240fb86d
future-proof client hook inlist initialization
...
manually initializing this meant it needed to be kept in sync with the
header, something that I'm unlikely to check every time client hooks are
added/removed
2017-02-10 17:24:13 -05:00
Mike Blumenkrantz
51782fd5ee
Revert "e - wayland - fix double-resize if e wants a different initial size"
...
This reverts commit e1c3120689
.
this commit revealed a number of issues with the xdg6 implementation related
to unconfigured buffer management: see subsequent patches for a less
sledgehammer-y solution
ref 5497fadce4
2017-02-10 17:24:13 -05:00
Mike Blumenkrantz
0d4a52a240
fix return code checking for errors when generating wl key events
2017-02-10 17:24:13 -05:00