Commit Graph

22536 Commits

Author SHA1 Message Date
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
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 20dfb3c0df use show instead of bring_in for xkbswitch layout add dialog 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 235bbc087e rework how pulseaudio is started in mixer backend
calling `pulseaudio` starts a new daemon in the background. this is incorrect
behavior when a daemon already exists, so use --start. tracking the exe of
this process has no effect other than to determine when the fork()ing parent exits,
which is usually immediately

ref 35bb87529f
2017-03-17 13:16:59 -04:00
Mike Blumenkrantz 7191c45de5 slow down mixer's pulse reconnect rate
0.2s is way too fast and results in crazy cpu usage from attempting to
spawn invalid pulseaudio instances in some cases

ref 35bb87529f
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