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