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