Mike Blumenkrantz
9cd6632904
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-04-28 15:41:56 -04:00
Mike Blumenkrantz
39f3215fe7
only center internal windows once
...
these shouldn't re-center on every resize
2017-04-28 15:41:56 -04:00
Mike Blumenkrantz
8920894de0
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-04-28 15:41:56 -04:00
Mike Blumenkrantz
00cf30470e
check pixmap size before triggering maximize animation
...
if pixmap size matches animation size then avoid animation calls since
this will look stupid
2017-04-28 15:41:56 -04:00
Mike Blumenkrantz
26e2a96d1f
slightly optimize maximize -> fullscreen protocol comms for wl clients
...
this is a no-op since a configure will be sent later
2017-04-28 15:41:56 -04:00
Mike Blumenkrantz
af66d18d88
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-04-28 15:41:55 -04:00
Mike Blumenkrantz
5049ab02b3
always set E_Client->need_fullscreen when fullscreening
...
provide a method for determining whether a client is about to become
fullscreen during callbacks
2017-04-28 15:41:55 -04:00
Mike Blumenkrantz
3483d045a6
disable client maximize anims when unmaximizing before a fullscreen
...
this ensures accurate positioning of windows about to be fullscreened
2017-04-28 15:41:55 -04:00
Mike Blumenkrantz
543666790f
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-04-28 15:41:55 -04:00
Mike Blumenkrantz
bd23b9c19b
do not attempt to set window hidden hints on non-internal x11 windows
...
this causes a BadWindow error
2017-04-28 15:41:55 -04:00
Mike Blumenkrantz
84091de515
block x11 focus eventing under xwayland
...
ensure that focus changes come from the compositor and not from clients
2017-04-28 15:41:55 -04:00
Mike Blumenkrantz
081ab309cd
always feed mouse events for wl client move events
...
better handling for xwayland case of moving pointer into ssd region
2017-04-28 15:41:55 -04:00
Mike Blumenkrantz
a47a9a73a1
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-04-28 15:41:55 -04:00
Mike Blumenkrantz
d23584856e
do not send mouse events to ssd wl clients if mouse is within ssd region
2017-04-28 15:41:55 -04:00
Mike Blumenkrantz
8bfbf90d13
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-04-28 15:41:55 -04:00
Mike Blumenkrantz
4354a94305
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-04-28 15:41:55 -04:00
Mike Blumenkrantz
9e06da7e75
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-04-28 15:41:55 -04:00
Mike Blumenkrantz
70d5ebb66e
send wl client resize edges during focus-in/out send_configure
...
avoid prematurely terminating resize operations
2017-04-28 15:41:55 -04:00
Mike Blumenkrantz
b6d90beee4
add wrappers for elm_win util create functions
...
avoid deadlocking in gl init by forcing sw
2017-04-28 15:41:55 -04:00
Mike Blumenkrantz
772738d944
set dialog and tooltip flags for internal clients
...
fixes handling of internal wl windows which are set as dialogs
2017-04-28 15:41:55 -04:00
Mike Blumenkrantz
fec6121b02
only re-set comp object position during show if client has been placed
...
avoid accidentally placing an unplaced client
2017-04-28 15:41:55 -04:00
Mike Blumenkrantz
fa1a17cefc
handle window icons from elm for internal wins
...
fixes appearance of icons set with elm_win_icon_name_set()
2017-04-28 15:41:55 -04:00
Mike Blumenkrantz
0b5f65d4a8
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-04-28 15:41:54 -04:00
Mike Blumenkrantz
5f0cf3d36b
only set toolbar icon min size if icon exists
2017-04-28 15:41:54 -04:00
Mike Blumenkrantz
73bc0bfc52
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-04-28 15:41:54 -04:00
Mike Blumenkrantz
451d1253fe
only hide wl clients on surface destroy when surface is mapped
...
fixes some cases where hide animations would not be visible
2017-04-28 15:41:54 -04:00
Al Poole
7e743918d9
E keyboard settings - use the same icon as the keyboard settings dialog
...
Reviewers: zmike!
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D4716
2017-04-28 15:41:54 -04:00
Al Poole
6501c42fd3
Fix compiler type warnings (snprintf)
...
Reviewers: zmike!
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D4715
2017-04-28 15:41:54 -04:00
Al Poole
9eb847977b
Fix macro namings in relation to endianness.
...
Reviewers: zmike
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D4714
2017-04-28 15:41:54 -04:00
Mike Blumenkrantz
cc0317ac71
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-04-28 15:41:54 -04:00
Mike Blumenkrantz
691fb103b3
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-04-28 15:41:54 -04:00
Mike Blumenkrantz
f958317bf5
call e_randr2_shutdown in comp shutdown
...
this should always be called, not just in comp_x
2017-04-28 15:41:54 -04:00
Mike Blumenkrantz
ad0b867aae
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-04-28 15:41:54 -04:00
Mike Blumenkrantz
bc5172b96b
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-04-28 15:41:54 -04:00
Mike Blumenkrantz
5870c75a77
call wl/x compositor shutdown functions directly during comp shutdown
2017-04-28 15:41:54 -04:00
Mike Blumenkrantz
1ab1d82904
do not start xwayland repeatedly
...
ref 0534c7ae6f
2017-04-28 15:41:54 -04:00
Mike Blumenkrantz
45683d3fcd
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-04-28 15:41:54 -04:00
Mike Blumenkrantz
db62cf1020
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-04-28 15:41:54 -04:00
Mike Blumenkrantz
171aebbff1
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-04-28 15:41:54 -04:00
Mike Blumenkrantz
804bf20c72
return during comp object pixels function if client was deleted during render
2017-04-28 15:41:08 -04:00
Mike Blumenkrantz
93b32faabd
show x11 parent windows during reparent only if not withdrawn
...
iconic windows are still shown
2017-04-28 15:41:08 -04:00
Mike Blumenkrantz
6e2d71f132
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-04-28 15:41:08 -04:00
Mike Blumenkrantz
012a7d492e
do not use saved e_randr screens if fake screens have been added
2017-04-28 15:12:05 -04:00
Mike Blumenkrantz
434a3c8d38
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-04-28 15:10:46 -04:00
Mike Blumenkrantz
7d77918f6c
set ON_HOLD when activating start gadget
2017-04-28 15:10:41 -04:00
Mike Blumenkrantz
dc3e882383
defer menu activation mouse-up feed
...
ensure that this is not triggered from an evas post event callback
ref T3144
2017-04-28 15:10:25 -04:00
Mike Blumenkrantz
de624b7ca4
unset deskmirror client's client pointer upon client deletion
...
prevent invalid access after client deletion
2017-04-28 15:09:25 -04:00
Mike Blumenkrantz
6b946c897f
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-04-28 15:07:31 -04:00
Mike Blumenkrantz
5d89a8a993
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-04-28 15:07:22 -04:00
Mike Blumenkrantz
2931d01523
comment out inlist member of E_Comp_Object struct
...
this was unused
2017-04-28 15:07:08 -04:00