Commit Graph

22394 Commits

Author SHA1 Message Date
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 c5597f01c3 enlightenment_askpass: do not appear in a menu
there is no reason why someone should see it in a menu, its only usefull
if someone reads in the output of the application.
2017-04-05 10:08:21 +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
Al Poole 43d6b440f9 Add user to AUTHORS.
Summary:
Have been on phab > 1 1/4 yr and active since last March, with patches.

Hopefully this isn't too rude or presumptive.

Would be nice tho!?

Test Plan: Run EFL and E (git) on OpenBSD :-)

Reviewers: raster, cedric, zmike!

Differential Revision: https://phab.enlightenment.org/D4753
2017-03-31 11:04:39 +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