Commit Graph

20985 Commits

Author SHA1 Message Date
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
Chris Michael 1a35c7e8a2 Reenable building wl_wl module
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-01-05 13:18:18 -05:00
Chris Michael acb1875af0 Fix issue of nested compositors not working with Ecore_Wl2 library
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-01-05 13:18:13 -05:00
Mike Blumenkrantz d07f1ccd78 bump modapi to 18
E_Config abi broken
2016-01-05 13:10:36 -05:00
JengHyun Kang bdb462e19f Set cached xkb context/keymap
Summary:
Set xkb context and keymap to Ecore_Drm.
         In enlightenment (used in wayland with drm backend), keymap is used only one.
         So for avoid unnecessary open keymap files, set cached context and keymap.
         But for this, enlightenment must compile keymap before init ecore_drm.
         So I changed booting sequence also.

Test Plan: Distinguish time between before and after during add a keyboard device.

Reviewers: raster, devilhorns, zmike

Subscribers: cedric, input.hacker, ohduna

Differential Revision: https://phab.enlightenment.org/D3504
2016-01-05 13:07:27 -05:00
Yomi b50a94296a Update copyright year.
Summary: update copyright year.

Test Plan: none.

Reviewers: zmike

Subscribers: cedric

Projects: #enlightenment-git

Differential Revision: https://phab.enlightenment.org/D3516
2016-01-04 12:58:46 -05:00
Tom Hacohen 0381a7b06f Tiling: tile windows with "Static" gravity.
I can't find anything in the specs that would imply those shouldn't be
tiled. This may cause placement bugs, but I don't think that'd be the
case, as we ignore application placement when tiling anyway.

@fix
2016-01-04 14:06:13 +00:00
Mike Blumenkrantz 291f4404f7 test given coordinates in smart window placement algorithm
the coordinates passed to this function were never used or tested for
being a valid placement location, resulting in any clients which started
with a given position being moved to a pre-existing smart placement test
case, usually the upper-left or lower-right corners of the screen

fix T1106
2015-12-31 12:57:47 -05:00
Mike Blumenkrantz 95e133282e add special case for frame adjustment during first recalc of new clients
in the case where a new client already has coordinates from creation event,
the frame was never adjusted which resulted in the window being positioned
incorrectly

ref T1106
2015-12-31 12:56:06 -05:00
Mike Blumenkrantz c2b3b159f3 un-defer comp util object hiding if second hide occurs during animation
this should match expected behavior of normal comp objects
2015-12-29 13:24:29 -05:00
Mike Blumenkrantz 5c6db42a08 add shelf callback for hidden state and trigger extra hide-on-show if hiding
if shown while a hide animation is running, evas will prevent further show
intercept callbacks from being reached, resulting in a permanently hidden
shelf

this shortcuts the (current) hide animation in order to begin showing the object
2015-12-29 13:22:17 -05:00
Mike Blumenkrantz 495fa3a7ae unpopulate all gadcons during shutdown
failing to unpopulate at this time leaves gadcon clients alive until
a time after module shutdown has occurred, resulting in crashes when
gadcon clients destroy themselves and attempt to access module-global
data

ref T2811
2015-12-29 12:52:56 -05:00