Commit Graph

20996 Commits

Author SHA1 Message Date
Mike Blumenkrantz 4d717df870 if available, use wl output (nested) for wayland compositor creation
this defaults to using a nested compositor as the first choice:
harmless if it fails to create an output
2016-01-18 14:52:53 -05:00
Mike Blumenkrantz 262b303984 use 2/3 screen size for wl output (nested) compositor size
1/4 screen size is a compositor for ants
2016-01-18 14:52:11 -05:00
Mike Blumenkrantz f8a0cbd534 unset WM_STATE for x11 clients upon unmapping them
icccm provides conflicting spec info regarding how this property should be set.
according to 4.1.3.1:

When the window is withdrawn, the window manager will either change the state
field's value to WithdrawnState or it will remove the WM_STATE property entirely.

however, 4.1.4 states:

Only the client can effect a transition into or out of the Withdrawn state

so to be on the safe(r) side, deleting the property seems to be the best choice here

ref 41daddeacc

fix T3011
2016-01-18 13:46:31 -05:00
Mike Blumenkrantz 1dd45a3cc1 do not unset comp object native surface during shape apply
due to efl changes, unsetting a native surface now clears existing image pixel
data, resulting in a guaranteed blank render

ref T3011
2016-01-18 13:36:17 -05:00
Mike Blumenkrantz 3057b34098 create comp object updates tiler in helper function from either show or damage
it's possible for damage to occur before the show interceptor is triggered,
and in this case damages would be lost despite it being a valid usage

ref T3011
2016-01-18 13:36:11 -05:00
Mike Blumenkrantz 45be3360d8 apply zone coords when calculating zone useful geometry
calculated coords in this case have not yet been normalized for the
zone which they correspond to

ref bdd175a47a

fix T3061
2016-01-16 15:00:46 -05:00
Marcel Hollerbach dcbf258a35 e_grabinput: do not pass a faulty time
Summary:
currently there is ecore_x_current_time passed, which is the time of the
last event. if this is passed to ecore_x_window_focus_at_time the request can be
ignored because the last event can be in the past. Instead using
ecore_x_window_focus fixes this, because current time is passed, which
means that x is just using this event at the time it is called.

@fix T2948

Test Plan: Try to run spotify and try to trigger the bug, I cannot anymore.

Reviewers: zmike, raster

Subscribers: raster, abyomi0, cedric, billiob

Maniphest Tasks: T2948

Differential Revision: https://phab.enlightenment.org/D3471
2016-01-16 12:20:43 +01:00
Mike Blumenkrantz ac809440e9 add function for creating a demo version of the lockscreen
this provides a simple way to (pre)view the current lockscreen without
fully locking down the compositor
2016-01-15 19:25:25 -05:00
Mike Blumenkrantz de59970690 set zone-based name on lokker comp objects
allows identification of desklock objects in events
2016-01-15 19:24:29 -05:00
Mike Blumenkrantz f12b6b9385 update existing shelf obstacle geometries on shelf move/resize
...instead of deleting and recreating the obstacles
2016-01-14 17:08:53 -05:00
Mike Blumenkrantz b1a0a91f83 only recalc shelf obstacles on desk count change if shelf uses desk_show_mode 2016-01-14 16:44:02 -05:00
Mike Blumenkrantz 297dbc6bdf use zone obstacles when generating list of obstacles in smart place
this should also fix an issue where shelves on other screens were not
blocking window placement in some cases
2016-01-14 16:16:57 -05:00
Mike Blumenkrantz a1576f2027 unify a large portion of repeated code in e_place
this is still a nonsensical nightmare, but at least now it's all in
one place
2016-01-14 16:12:21 -05:00
Mike Blumenkrantz 5d63b07ca3 enforce border_fix_on_shelf_toggle config option in shelf
shelf overlap can only take effect based on the state of this option:
specifically, overlap can only be enabled if border_fix_on_shelf_toggle
is enabled
2016-01-14 15:53:36 -05:00
Mike Blumenkrantz 5ec690512d use zone obstacles for window placement during shelf coverage calcs 2016-01-14 15:50:40 -05:00
Mike Blumenkrantz f033d5616a update shelf obstacles on move/resize 2016-01-14 15:20:13 -05:00
Mike Blumenkrantz bdd175a47a implement zone obstacles for calculating useful geometry
these are generic objects which can be added to indicate that there
is something blocking window placement at the edge of a screen/desk.
this replaces the traditional method of watching shelves to calculate
useful geometry with a managed object which will automatically trigger
a recalc whenever it is updated, and it allows non-shelf objects to
more easily register themselves as obstacles for window placement
2016-01-14 15:13:57 -05:00
Mike Blumenkrantz 4d55682362 make E_DESK_TYPE an int define
this was causing unsigned vs signed comparison warnings
2016-01-14 15:13:57 -05:00
Mike Blumenkrantz 78c6b4c234 make e_desk_at_xy_get() const 2016-01-14 15:13:57 -05:00
Mike Blumenkrantz 4b2e75176b improve menu hiding and autoclose
remove menu object from autoclose (if set) and ensure that only the
intended menu is deactivated in the autoclose callback

this fixes some cases where the wrong menu could be closed (or not closed)
due to race conditions with ecore and evas events
2016-01-14 15:13:57 -05:00
Mike Blumenkrantz 887ccb4f83 allow NULL object in e_comp_object_util_autoclose()
this can be used to unset the current autoclose object in the case
where the object is known to evade normal autoclose detection
mechanisms
2016-01-14 15:13:57 -05:00
Derek Foreman 3304ea7b6c Remove inappropriate usage of %m
Summary:
printf %m stringifies and prints errno.  This is actually hugely confusing
if used in error messages after failures that don't set errno.

You may get "Success", or you may get an errno that was harmless ages
ago.

Some of the functions followed by %m have only some error paths that
set errno, or make multiple system calls that can set errno
independently - knowing the errno at failure time is unlikely to be
useful in these cases.

Reviewers: devilhorns, zmike

Reviewed By: zmike

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D3571
2016-01-14 12:41:47 -05:00
Marcel Hollerbach 35ae02a524 e_xkb: implement keyboard setting on wayland.
this splits e_xkb_update into a update function for wayland and x. The
matching function to the compositor type is called.

@feature
2016-01-14 18:37:27 +01:00
Marcel Hollerbach b8dd1c5bcd e_main: init e_xkb before e_comp
otherwise e_xkb cannot guess what kind of compositor is running.
2016-01-14 18:37:27 +01:00
Mike Blumenkrantz b2138ad5ae remove configs for illume modules
these have been out of the tree for years but I forgot to remove the
corresponding configs, leading to error messages when the mobile profile
attempts to load them
2016-01-14 10:41:08 -05:00
Mike Blumenkrantz 19b87070f5 do full cleanup when overriding existing comp autoclose object
failing to trigger delete on existing autoclose object would result
in the object never closing and being "leaked"
2016-01-14 10:31:03 -05:00
Mike Blumenkrantz e31a3cc378 make ibar config pointer EINTERN 2016-01-14 10:31:03 -05:00
Chris Michael 542e44a445 Fix build break for non-wayland builds
This patch fixes an issue where implementing WBOD for wayland would
always (previously) require ecore-drm to build. We fix this by
adjusting the enlightenment_alert requirements based on if we are
building with wayland support or not.

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-01-14 08:56:50 -05:00
Chris Michael 3911b504cc Port e_alert to implement WBOD for drm/wayland
This patch makes e_alert_main (the enlightenment_alert binary) work
for crashes when running with wayland (via the drm backend).

ref T2926

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-01-13 14:17:13 -05:00
Chris Michael eec66f4fc5 Update dependencies for enlightenment_alert binary
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-01-13 14:17:08 -05:00
Carsten Haitzler 81d2596209 e randr - fix randr dialog to do restore right again
post e20 commit that allowe dradnr dialog to come up for a specifci
streen broke restore option - now this fixes it.
2016-01-11 09:01:55 +09:00
Mike Blumenkrantz 6b93a73d0c optimize zoomap recalc during recursion
in most cases, zoomap recalcs will trigger recursive calls to zoomap
recalc. these inner calls can be optimized to just do the object move,
allowing the outer-most call to perform the remainder of the recalc
operation
2016-01-08 15:51:35 -05:00
Marcel Hollerbach 79616d66dd xdebug: add clouseau_start 2016-01-08 19:19:06 +01:00
Mike Blumenkrantz d1d30029d1 select mixer popup sink after popup has been fully initialized
attempting to select too early results in callbacks being triggered
before various widgets are available
2016-01-08 12:05:41 -05:00
Mike Blumenkrantz 7334c65748 disable custom logging when eina backtrace is active
ref 2df0404226
2016-01-08 11:44:00 -05:00
Mike Blumenkrantz 6a8cbb53da Revert "e logs - the custom e log func breaks eina backtraces, so don't use it"
This reverts commit 2df0404226.

let's not do this in all cases
2016-01-08 11:43:36 -05:00
Chris Michael 370b6a03e3 Update wl_weekeyboard for ecore_evas_wayland_window_get2 function rename
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-01-08 10:37:42 -05:00
Carsten Haitzler 2df0404226 e logs - the custom e log func breaks eina backtraces, so don't use it
this fixes e's logs to include eina backtraces again. this is a
shortcoming of eina_log not being able to do multiple passes basically
(multiple outputs) per log.
2016-01-08 21:55:05 +09:00
Carsten Haitzler e1369a24bd per-desk profiles - move to per screen and use elm derived profiles
this removes the per desktop profile config and replaces it with a
per-screen one that is tied to a specific display so it is far more
logical than per desktop. this allows e to set up different scaling
per screen for apps that use elementary for example via this derived
profile.

this of course is slightly problematic for e itself since it now uses
elm - as this will cause e to go kind-of-crazy with differing profiles
as it fights with itself and elm if 2 screens have different profiles.
this requires elm to be fixed to allow custom profiles per window.

this also currently won't switch profile of a window when you
reconfigure screens.

@feature

xx
2016-01-08 21:54:31 +09:00
Carsten Haitzler 8215777848 randr - improve header indenting 2016-01-08 18:04:53 +09:00
Carsten Haitzler e183ffa748 e randr2 - provide lookup funcs for screen and dpi 2016-01-08 18:04:53 +09:00
Mike Blumenkrantz b6214b9846 check all corners of an object in e_comp_object_util_zone_get()
if the top left corner is offscreen, checking other corners is still
valid for returning a useful zone
2016-01-07 17:27:36 -05:00
Mike Blumenkrantz 96f1caeddb add back comp object data from typo in previous commit... 2016-01-07 17:20:05 -05:00
Mike Blumenkrantz 980135fc38 break out comp util object type setting into separate function
there was previously no way to change the type of one of these objects,
meaning that if an object with a dropshadow should no longer have a dropshadow,
it must be re-created
2016-01-07 17:12:30 -05:00
Mike Blumenkrantz 26ab47f679 simplify and clarify winlist directional selection action code
in the case where no prev/next direction is specified a navigational
direction will always be specified

CID 1347403
2016-01-07 15:19:20 -05:00
Mike Blumenkrantz ed51a3ea61 remove wayland function usage from grabinput methods
these never did anythng useful and no longer even compile
2016-01-06 13:02:41 -05:00
Mike Blumenkrantz 2381280cc2 remove defines for various beta api in other places 2016-01-06 13:01:38 -05:00
Mike Blumenkrantz c5f6d18b01 define EFL_BETA_API_SUPPORT explicitly in e.h if wayland support is enabled 2016-01-06 12:57:46 -05:00
Seunghun Lee a5bf9961e3 configure.ac: Remove ecore-x from wayland only build.
Reviewers: devilhorns, zmike

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D3538
2016-01-06 12:44:52 -05:00
Jean-Philippe Andre 2fcd589b3d Fix spelling in .pc file 2016-01-06 16:48:44 +09:00