platform/upstream/enlightenment.git
9 years agoimprove readability of E_FIRST_FRAME environment variable detection
Mike Blumenkrantz [Thu, 12 Nov 2015 20:06:09 +0000 (15:06 -0500)]
improve readability of E_FIRST_FRAME environment variable detection

functionality remains the same, but this is more clear for readers

9 years agoinstall emixer icon to $(datadir)/pixmaps instead of /icons
Mike Blumenkrantz [Thu, 12 Nov 2015 17:42:13 +0000 (12:42 -0500)]
install emixer icon to $(datadir)/pixmaps instead of /icons

fix T2834

9 years agounset release mode
Mike Blumenkrantz [Wed, 11 Nov 2015 19:01:22 +0000 (14:01 -0500)]
unset release mode

9 years ago20.0-rc NEWS updates
Mike Blumenkrantz [Wed, 11 Nov 2015 18:40:07 +0000 (13:40 -0500)]
20.0-rc NEWS updates

9 years ago20.0-rc release
Mike Blumenkrantz [Wed, 11 Nov 2015 18:39:54 +0000 (13:39 -0500)]
20.0-rc release

9 years agonull efm icon eio handle in error callback
Mike Blumenkrantz [Wed, 11 Nov 2015 17:25:56 +0000 (12:25 -0500)]
null efm icon eio handle in error callback

ref T2829

9 years agoensure that all mixer volumes resolve to the appropriate gadget icon
Mike Blumenkrantz [Wed, 11 Nov 2015 16:50:51 +0000 (11:50 -0500)]
ensure that all mixer volumes resolve to the appropriate gadget icon

reported by Jef91 in #e

9 years agoe screens/zones/randr - store randr2 id in xinerama and zones for lookup
Carsten Haitzler (Rasterman) [Wed, 11 Nov 2015 12:22:30 +0000 (21:22 +0900)]
e screens/zones/randr - store randr2 id in xinerama and zones for lookup

so e has a bit of a problem. we mostly deal with zones, BUt these
zones come from our old xinerama code (this likely should just die
some time) and THIS code gets fed info from e's randr code. we
re-fill/modify as randr finds new screens or things get reconfigured.
thus zones adapt. the problem is now all our zone code really has a
hard time reverse mapping the zone back to where it came from -eg the
randr screen data. you literally can't do a whole bunch of things like
know if that zone was an internal laptop lid or an external screen, or
if it was rotated or even what the dpi is... as you ave no deasy way
to map it back other than by guessing geometry matches.

this fixes that by storing the randr screen id (which should be
unique) fromt he original src randr screen in the xinerama screen and
then in the zone. with this you can do a quick lookup in the e randr
data should you ever need to find the info. this should pave the way
for some other fixes/improvements, but without this they cannot be done.

@fix

9 years agouse unsigned int for client focus tracking freeze state
Mike Blumenkrantz [Tue, 10 Nov 2015 19:32:53 +0000 (14:32 -0500)]
use unsigned int for client focus tracking freeze state

there's no reason why this should ever be negative

9 years agoRevert "clamp client to ABOVE layer when ending nocomp"
Mike Blumenkrantz [Tue, 10 Nov 2015 18:32:02 +0000 (13:32 -0500)]
Revert "clamp client to ABOVE layer when ending nocomp"

This reverts commit 8c6bbe0d44e7355a43e40062baed73ac013c03a6.

This Breaks Everything™.

9 years agoclamp client to ABOVE layer when ending nocomp
Mike Blumenkrantz [Tue, 10 Nov 2015 17:59:26 +0000 (12:59 -0500)]
clamp client to ABOVE layer when ending nocomp

should fix case where an "Always on Top" window toggles fullscreen

9 years agoFix null dereference issue
Vivek Ellur [Tue, 10 Nov 2015 17:26:48 +0000 (12:26 -0500)]
Fix null dereference issue

Summary:
@Fix
possible null dereference issue while referencing cs2->id. So added a condition
to check it

Signed-off-by: Vivek Ellur <vivek.ellur@samsung.com>
Reviewers: zmike

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D3309

9 years agoFix memory leak issue
Vivek Ellur [Tue, 10 Nov 2015 17:26:40 +0000 (12:26 -0500)]
Fix memory leak issue

Summary:
@Fix

Signed-off-by: Vivek Ellur <vivek.ellur@samsung.com>
Reviewers: zmike

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D3307

9 years agoe: Fix realloc issue in e font module
Vivek Ellur [Tue, 10 Nov 2015 17:26:14 +0000 (12:26 -0500)]
e: Fix realloc issue in e font module

Summary:
@Fix

Signed-off-by: Vivek Ellur <vivek.ellur@samsung.com>
Reviewers: zmike

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D3306

9 years agoe deskmirror - fix loss of mirror object from deskmirror
Carsten Haitzler (Rasterman) [Tue, 10 Nov 2015 10:06:06 +0000 (19:06 +0900)]
e deskmirror - fix loss of mirror object from deskmirror

this fixes T2830

@fix

9 years agoibar - fix shutdown if ibar client menu is up
Carsten Haitzler (Rasterman) [Tue, 10 Nov 2015 09:51:56 +0000 (18:51 +0900)]
ibar - fix shutdown if ibar client menu is up

valgrind pointed out a referencing issue with the ibar client menu on
hover and if e is shut down while this is up. it ends up referencing
an already deleted ibar icon, so delete the menu objects that
reference the icon if icon is deleted.

@fix

9 years agocheck client comp data existence in x11 mirror visibility callbacks
Mike Blumenkrantz [Mon, 9 Nov 2015 19:29:23 +0000 (14:29 -0500)]
check client comp data existence in x11 mirror visibility callbacks

9 years agoenforce fullscreen client stacking during nocomp end IFF client is fullscreen
Mike Blumenkrantz [Mon, 9 Nov 2015 18:20:50 +0000 (13:20 -0500)]
enforce fullscreen client stacking during nocomp end IFF client is fullscreen

previous behavior would result in the nocomp window becoming stuck at a fullscreen
layer when ending nocomp, even if the client was no longer fullscreen

fix T2827

9 years agodisable client menu stacking functions for unstackable windows
Mike Blumenkrantz [Mon, 9 Nov 2015 18:11:26 +0000 (13:11 -0500)]
disable client menu stacking functions for unstackable windows

any client stacked higher than E_LAYER_CLIENT_ABOVE should never be
user-stacked

9 years agoe/desk_wallpaper: Fix setting wallpaper from within Virtual Desk dialog
Stafford Horne [Sun, 8 Nov 2015 03:52:21 +0000 (22:52 -0500)]
e/desk_wallpaper: Fix setting wallpaper from within Virtual Desk dialog

Summary:
It seems this was missed when doing the manager/container id removal
back in march.  The param validation was failing and causing the "Set"
button to not work in "Screen > Virtual Desktops > Click to Change
wallpaper".

Test Plan:
1. Open "Screen > Virtual Desktops > Click to Change wallpaper"
2. Click "Set"
  - Expect that a wallpaper dialog be shown
  - Before this patch nothing happens

Reviewers: zmike

Subscribers: cedric, seoz

Differential Revision: https://phab.enlightenment.org/D3298

9 years agoRevert "force a software render in all cases when finalizing x11 client iconify"
Mike Blumenkrantz [Sat, 7 Nov 2015 18:12:14 +0000 (13:12 -0500)]
Revert "force a software render in all cases when finalizing x11 client iconify"

This reverts commit 1a87463083fa9e343aa38b4c8824db0c92645b8e.

no longer necessary

9 years agotoggle x11 client iconic/mapped state based on mirror visibility
Mike Blumenkrantz [Sat, 7 Nov 2015 18:10:02 +0000 (13:10 -0500)]
toggle x11 client iconic/mapped state based on mirror visibility

in order to continue rendering an iconic client without breaking icccm,
it's necessary to map the client's window again and unset iconic state
whenever rendering is needed, then re-set states when rendering
stops

ref T2788

9 years agoadd e_comp_object_mirror_visibility_check()
Mike Blumenkrantz [Sat, 7 Nov 2015 18:09:23 +0000 (13:09 -0500)]
add e_comp_object_mirror_visibility_check()

can be used to check whether visible mirrors exist for a comp object

9 years agoadd counter and smart callbacks for comp object visible mirrors
Mike Blumenkrantz [Sat, 7 Nov 2015 18:08:12 +0000 (13:08 -0500)]
add counter and smart callbacks for comp object visible mirrors

ref T2788

9 years agoemit ibox icon signals to the internal edje object of the e_icon
Mike Blumenkrantz [Sat, 7 Nov 2015 18:07:07 +0000 (13:07 -0500)]
emit ibox icon signals to the internal edje object of the e_icon

9 years agomove client iconic hint setting into x11 hide function
Mike Blumenkrantz [Sat, 7 Nov 2015 18:06:23 +0000 (13:06 -0500)]
move client iconic hint setting into x11 hide function

e_hints should probably be merged into the x11 compositor entirely
at some point

9 years agobreak out x11 client visibility setting into util functions
Mike Blumenkrantz [Sat, 7 Nov 2015 18:05:18 +0000 (13:05 -0500)]
break out x11 client visibility setting into util functions

9 years agoset e_comp->gl for wayland compositors based on gl display bind success
Mike Blumenkrantz [Sat, 7 Nov 2015 17:23:04 +0000 (12:23 -0500)]
set e_comp->gl for wayland compositors based on gl display bind success

9 years agoe/ilist: Fix issue with multiselect returning wrong index
Stafford Horne [Sat, 7 Nov 2015 17:11:53 +0000 (12:11 -0500)]
e/ilist: Fix issue with multiselect returning wrong index

Summary:
I noticed this because the description dialog in "Apps > Startup Application"
was never getting properly populated.

Test Plan:
When selecting items in the "Apps > Startup Applications" config the
description should update if a "Comment" field is available in the
.desktop file.

Reviewers: zmike

Subscribers: cedric, seoz

Differential Revision: https://phab.enlightenment.org/D3297

9 years agoe/conf_apps: Fix resizing of "Startup Application" dialog
Stafford Horne [Sat, 7 Nov 2015 17:11:49 +0000 (12:11 -0500)]
e/conf_apps: Fix resizing of "Startup Application" dialog

Summary:
Currently the config dialog in Apps > Startup Applications does not properly
resized as one of the objects is not set to horizontal fill.

Test Plan: 1. Resize "Apps > Startup Applications", it should resize the list with the window

Reviewers: zmike

Subscribers: cedric, seoz

Differential Revision: https://phab.enlightenment.org/D3296

9 years agoadjust efm multi-icon drag positioning by the current pan coords
Mike Blumenkrantz [Thu, 5 Nov 2015 20:29:34 +0000 (15:29 -0500)]
adjust efm multi-icon drag positioning by the current pan coords

fixes positioning when dragging multiple icons after scrolling

9 years agoaccount for window position in efm window drag initial positioning
Mike Blumenkrantz [Thu, 5 Nov 2015 20:28:50 +0000 (15:28 -0500)]
account for window position in efm window drag initial positioning

fix T2819

9 years agoe/win_config: allow content of some dialogs to resize with the window
shorne [Thu, 5 Nov 2015 07:03:26 +0000 (16:03 +0900)]
e/win_config: allow content of some dialogs to resize with the window

Summary:
Currently the dialogs in Winows > Window List Menu and Window Display are
resizable the their content does not resize.  This patch fixes that.

Test Plan: Open windows in window config dialog and ensure they can resize propertly

Reviewers: zmike

Subscribers: raster, cedric, seoz

Differential Revision: https://phab.enlightenment.org/D3275

9 years agoremove note about window close crashing
Mike Blumenkrantz [Wed, 4 Nov 2015 23:26:06 +0000 (18:26 -0500)]
remove note about window close crashing

fixed courtesy of the majestic compiler #warning for shm buffers

9 years agocheck for wayland egl extensions before starting a gl compositor
Mike Blumenkrantz [Wed, 4 Nov 2015 17:18:36 +0000 (12:18 -0500)]
check for wayland egl extensions before starting a gl compositor

when running in software mode, evasgl performs no checking to determine
whether gl is available, leading to a crash due to missing extensions

9 years agoRevert "Adds eglfs to Enlightenment"
Nicolas Aguirre [Tue, 3 Nov 2015 07:01:58 +0000 (08:01 +0100)]
Revert "Adds eglfs to Enlightenment"

This reverts commit ff1e7b50834e183f336fd427298981c6a9ebf7e8.

9 years agoRevert "configure.ac: fixes wayland-only build"
Nicolas Aguirre [Tue, 3 Nov 2015 07:01:48 +0000 (08:01 +0100)]
Revert "configure.ac: fixes wayland-only build"

This reverts commit 829a12ef86c6ab32b3f42a6440a5ed584a4fe10b.

9 years agoRevert "e_signals.c: Inclues Ecore_DRM only if WL_DRM is built and not only if WAYLAN...
Nicolas Aguirre [Tue, 3 Nov 2015 07:01:42 +0000 (08:01 +0100)]
Revert "e_signals.c: Inclues Ecore_DRM only if WL_DRM is built and not only if WAYLAND is built"

This reverts commit 96e304bc904c49df406b34108d7442835025349d.

9 years agoRevert "wl_eglfs: enable gl acceleration, mouse, touchscreen and keyboard"
Nicolas Aguirre [Tue, 3 Nov 2015 07:01:35 +0000 (08:01 +0100)]
Revert "wl_eglfs: enable gl acceleration, mouse, touchscreen and keyboard"

This reverts commit c99d46ae666a753c36313826747ef1f72dab07ca.

9 years agoRevert "[HACK??] Fixes wayland-only build"
Nicolas Aguirre [Tue, 3 Nov 2015 07:01:26 +0000 (08:01 +0100)]
Revert "[HACK??] Fixes wayland-only build"

This reverts commit bc3464e98c94638cb4cbe0065fa512413ac51c91.

9 years agoRevert "Fixes build complaining about missing ABOUT-NLS"
Nicolas Aguirre [Tue, 3 Nov 2015 07:01:18 +0000 (08:01 +0100)]
Revert "Fixes build complaining about missing ABOUT-NLS"

This reverts commit b39ec87150c9ccb06b3ab934a52ffa8b08cb29bf.

9 years agoRevert "Don't load xwayland if it isn't compiled"
Nicolas Aguirre [Tue, 3 Nov 2015 06:57:56 +0000 (07:57 +0100)]
Revert "Don't load xwayland if it isn't compiled"

This reverts commit 496ae3746f94e2fab2c40d6bdf16e7f953ddba1a.

9 years agoDon't load xwayland if it isn't compiled
Florent Revest [Wed, 29 Jul 2015 13:26:41 +0000 (15:26 +0200)]
Don't load xwayland if it isn't compiled

9 years agoFixes build complaining about missing ABOUT-NLS
Florent Revest [Mon, 27 Jul 2015 15:52:48 +0000 (17:52 +0200)]
Fixes build complaining about missing ABOUT-NLS

9 years ago[HACK??] Fixes wayland-only build
Florent Revest [Mon, 27 Jul 2015 15:40:13 +0000 (17:40 +0200)]
[HACK??] Fixes wayland-only build

9 years agowl_eglfs: enable gl acceleration, mouse, touchscreen and keyboard
Florent Revest [Mon, 27 Jul 2015 15:21:57 +0000 (17:21 +0200)]
wl_eglfs: enable gl acceleration, mouse, touchscreen and keyboard

9 years agoe_signals.c: Inclues Ecore_DRM only if WL_DRM is built and not only if WAYLAND is...
Florent Revest [Mon, 27 Jul 2015 15:21:04 +0000 (17:21 +0200)]
e_signals.c: Inclues Ecore_DRM only if WL_DRM is built and not only if WAYLAND is built

9 years agoconfigure.ac: fixes wayland-only build
Florent Revest [Mon, 27 Jul 2015 15:20:16 +0000 (17:20 +0200)]
configure.ac: fixes wayland-only build

9 years agoAdds eglfs to Enlightenment
Florent Revest [Tue, 21 Jul 2015 16:09:04 +0000 (18:09 +0200)]
Adds eglfs to Enlightenment

9 years agoadd wayland egl client support
Mike Blumenkrantz [Mon, 2 Nov 2015 21:23:20 +0000 (16:23 -0500)]
add wayland egl client support

definitely not a feature, I promise™

9 years agouse e_comp->gl flag to set native surface state
Mike Blumenkrantz [Mon, 2 Nov 2015 20:54:38 +0000 (15:54 -0500)]
use e_comp->gl flag to set native surface state

e_comp_gl_get() is for determining if gl exists, not if it's being used

9 years agofix comp object native surface config checking for non-x11 compositors
Mike Blumenkrantz [Mon, 2 Nov 2015 20:54:13 +0000 (15:54 -0500)]
fix comp object native surface config checking for non-x11 compositors

9 years agoadd native surface (gl) clients to post render list
Mike Blumenkrantz [Mon, 2 Nov 2015 20:53:04 +0000 (15:53 -0500)]
add native surface (gl) clients to post render list

forgot to add this when I was redoing it for sw

ref 4d30674ab87001d6a1515908341d756d75a22a89

9 years agoRevert "queue pending buffers for wayland shm clients"
Mike Blumenkrantz [Mon, 2 Nov 2015 19:53:15 +0000 (14:53 -0500)]
Revert "queue pending buffers for wayland shm clients"

This reverts commit 1ee825d29c2ca6d35da5f0860838d57019bca3f2.

this was fixing the wrong problem and was not functioning accurately
in any case

9 years agoe exec tracker - fix tracking to update desktop files on efreet change
Carsten Haitzler (Rasterman) [Mon, 2 Nov 2015 03:28:27 +0000 (12:28 +0900)]
e exec tracker - fix tracking to update desktop files on efreet change

efreet will send change events meaning out desktop file icons are
invalid now. we have refs but content is junk. update these to new
desktop ptr handles by using the exec key to look up new ones on the
change event. this fixes ibar gainign a bunch of blank unknown icons
when any desktop files are touched on the system or user dirs

@fix

9 years agosimplify client SMART/EXPAND maximize
Mike Blumenkrantz [Fri, 30 Oct 2015 19:03:29 +0000 (15:03 -0400)]
simplify client SMART/EXPAND maximize

calling e_client_resize_limit() here was misleading since the values
were never used

9 years agoadjust non-x11 client's saved frame geometry when changing csd
Mike Blumenkrantz [Thu, 29 Oct 2015 18:33:15 +0000 (14:33 -0400)]
adjust non-x11 client's saved frame geometry when changing csd

this seems to be a more comprehensive solution for retaining previous
window sizes after toggling various csd-affecting window states in wayland

9 years agoRevert "when maximizing a wayland client with csd, use window geometry"
Mike Blumenkrantz [Thu, 29 Oct 2015 18:21:42 +0000 (14:21 -0400)]
Revert "when maximizing a wayland client with csd, use window geometry"

This reverts commit 6e5e51c2b8647a41f156e2854be409780492a679.

not a complete solution, makes client code somewhat unreadable

9 years agoadd E_COMP_ENGINE env var to determine sw/gl
Mike Blumenkrantz [Wed, 28 Oct 2015 16:55:09 +0000 (12:55 -0400)]
add E_COMP_ENGINE env var to determine sw/gl

accepted values are 1, 2, sw, gl

toggling config options is a hassle when debugging

9 years agoclean up some systray leaks
Mike Blumenkrantz [Mon, 26 Oct 2015 17:11:32 +0000 (13:11 -0400)]
clean up some systray leaks

9 years agoalways unalias x11 client parent window <-> pixmap relation during delete
Mike Blumenkrantz [Mon, 26 Oct 2015 17:02:34 +0000 (13:02 -0400)]
always unalias x11 client parent window <-> pixmap relation during delete

deleted state is not relevant, this should always be removed during deletion
to prevent further referencing of a deleted client

fix T2803

9 years agomodules:mixer: Avoid pa backend from crash
Flavio Ceolin [Sat, 24 Oct 2015 02:22:48 +0000 (00:22 -0200)]
modules:mixer: Avoid pa backend from crash

Check the pulseaudio's context error and if info is not null before
get server's information.

9 years agoe - ibar - fix clash when 2 icons of the same path get added somehow
Carsten Haitzler (Rasterman) [Sat, 24 Oct 2015 02:01:56 +0000 (11:01 +0900)]
e - ibar - fix clash when 2 icons of the same path get added somehow

i encontered a situation where the icon_hash contained a garbage entry
- had been freed already. the only way i can see this happening is if
the desktop file changed path during runtime thus the icon was never
removed from hash on free as string didnt match. store string used
when adding to hash so removal is guarannteed to work and also for
good measure protect against double-adding (and generate a new string
for storage using timestamp which should be unique).

so this fixes a crash i was just looping on.

@fix

9 years agounset release mode
Mike Blumenkrantz [Fri, 23 Oct 2015 18:04:42 +0000 (14:04 -0400)]
unset release mode

9 years ago20.0-beta NEWS updates
Mike Blumenkrantz [Fri, 23 Oct 2015 17:32:29 +0000 (13:32 -0400)]
20.0-beta NEWS updates

9 years ago20.0-beta release
Mike Blumenkrantz [Thu, 1 Oct 2015 17:42:45 +0000 (13:42 -0400)]
20.0-beta release

9 years agoadd NEWS from 19.12 release
Mike Blumenkrantz [Fri, 23 Oct 2015 17:28:15 +0000 (13:28 -0400)]
add NEWS from 19.12 release

9 years agowhen maximizing a wayland client with csd, use window geometry
Mike Blumenkrantz [Fri, 23 Oct 2015 16:56:56 +0000 (12:56 -0400)]
when maximizing a wayland client with csd, use window geometry

wayland clients which have csd must be resized according to window geometry,
not client (surface) geometry. this is somewhat tricky to handle because x11
clients which have csd work the exact opposite way and must continue to be
managed using client geometry

this is not my ideal solution for this issue, but I can't think of a
better one at this time which fully fixes wayland client maximization

9 years agoreject frame theme changes for clients which have CSD
Mike Blumenkrantz [Thu, 22 Oct 2015 23:27:01 +0000 (19:27 -0400)]
reject frame theme changes for clients which have CSD

9 years agoonly apply frame geometry deltas for CSD if the CSD region exists
Mike Blumenkrantz [Thu, 22 Oct 2015 23:25:07 +0000 (19:25 -0400)]
only apply frame geometry deltas for CSD if the CSD region exists

ref e931e86161d7f419e44652b533fea4dc9b16241b

9 years agoset client input rects more accurately, accounting for SSD
Mike Blumenkrantz [Thu, 22 Oct 2015 23:24:11 +0000 (19:24 -0400)]
set client input rects more accurately, accounting for SSD

9 years agoenforce cw->obj pass_events state more accurately
Mike Blumenkrantz [Thu, 22 Oct 2015 23:22:48 +0000 (19:22 -0400)]
enforce cw->obj pass_events state more accurately

changing the edje file of cw->shobj can change the pass_events state
of its child object, cw->obj

9 years agoclip client input rect to client geometry, not window geometry
Mike Blumenkrantz [Thu, 22 Oct 2015 22:44:51 +0000 (18:44 -0400)]
clip client input rect to client geometry, not window geometry

when using csd, the window geometry will be smaller than the surface,
resulting in an unusually small input region

9 years agodefer all module error dialogs
Mike Blumenkrantz [Thu, 22 Oct 2015 18:14:20 +0000 (14:14 -0400)]
defer all module error dialogs

due to the (current) synchronous creation of wayland surfaces in efl,
creating these dialogs during startup will result in a crash. the only
way to prevent this and still display the dialogs is to wait a bit and
show the dialogs after init has completed

9 years agocompletely remove access module
Mike Blumenkrantz [Thu, 22 Oct 2015 17:50:18 +0000 (13:50 -0400)]
completely remove access module

as promised almost a year ago, this module has been unmaintained to
the point where it cannot function in any way, and attempting to keep
it in the tree is a futile effort

this module can now be found at devs/discomfitor/e_module-access.git

ref 77717523f3e6c327ddd797ad064a97c467e6f90b

9 years agoremove dead modules from whitelist
Mike Blumenkrantz [Thu, 22 Oct 2015 17:18:14 +0000 (13:18 -0400)]
remove dead modules from whitelist

9 years agounconditionally show opengl option in compositor settings
Mike Blumenkrantz [Thu, 22 Oct 2015 16:49:51 +0000 (12:49 -0400)]
unconditionally show opengl option in compositor settings

enlightenment is not always running in x11, so making this option
dependent on xlib will break other environments

9 years agoadd hacks to work around pulseaudio+xwayland integration deadlocks
Mike Blumenkrantz [Wed, 21 Oct 2015 21:17:49 +0000 (17:17 -0400)]
add hacks to work around pulseaudio+xwayland integration deadlocks

enlightenment is (I think) the first wayland compositor to run with
in-process pulseaudio integration for audio playback and not just mixer
support. hooray.

this results in a fun issue: if DISPLAY is set, as it must be for x11
clients to function, pulseaudio will unconditionally attempt to use a
blocking socket connection to create a connection to the running xserver.
the only exception here is if x11 support has been compiled out of pulseaudio,
but probably no distro will do that ever.

so, what happens when the compositor thread tries to create a socket connection
to the xserver that the compositor thread has not yet started? absolutely nothing.
forever.

the easiest solution which continues to provide the key press sounds that everyone
loves is to ensure that the pulseaudio connection is created before DISPLAY is ever
set, namely in the xwayland module init.

this will now occur automatically now in the case when the mixer module detects
pulseaudio support.

TL;DR: don't disable mixer module if you use xwayland

9 years agorequire efl >= 1.16 for wayland support
Mike Blumenkrantz [Wed, 21 Oct 2015 19:58:07 +0000 (15:58 -0400)]
require efl >= 1.16 for wayland support

the fact is that nobody developing this has tested with 1.15.x recently,
and almost none of the changes have been backported to that branch. better
to require a newer version than to present a failing user experience

9 years agomake comp config unresizable...again
Mike Blumenkrantz [Wed, 21 Oct 2015 19:17:25 +0000 (15:17 -0400)]
make comp config unresizable...again

ref 5178197f602da6cff94e03f20c522d5b1a631ae7

9 years agodo not use ecore-x functions in scale config while running in wayland
Mike Blumenkrantz [Wed, 21 Oct 2015 18:20:24 +0000 (14:20 -0400)]
do not use ecore-x functions in scale config while running in wayland

9 years agoappend new keyboard resources for wayland focused-client to the focused list
Mike Blumenkrantz [Wed, 21 Oct 2015 18:05:02 +0000 (14:05 -0400)]
append new keyboard resources for wayland focused-client to the focused list

fixes all cases where applications would fail to receive focus initially
and then be permanently broken

9 years agofix typo in wayland keyboard resource unbind list management
Mike Blumenkrantz [Wed, 21 Oct 2015 17:49:13 +0000 (13:49 -0400)]
fix typo in wayland keyboard resource unbind list management

9 years agodo not use x11 input windows for grab dialogs when running in wayland
Mike Blumenkrantz [Wed, 21 Oct 2015 16:23:44 +0000 (12:23 -0400)]
do not use x11 input windows for grab dialogs when running in wayland

9 years agoFix e_menu trying to swallow an object from a different canvas
Chris Michael [Wed, 21 Oct 2015 14:26:18 +0000 (10:26 -0400)]
Fix e_menu trying to swallow an object from a different canvas

_e_menu_realize was trying to swallow the menu->container_object into
the menu->bg_object, but the menu->bg_object was being created on the
compositor canvas, and the container object was being created on the
e_comp->elm_win.

With recent EFL changes, this causes an abort inside Evas.

To fix this, set the menu->evas to be the Evas from the e_comp->elm_win.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoupdate csd using deltas of previous values
Mike Blumenkrantz [Mon, 19 Oct 2015 21:19:32 +0000 (17:19 -0400)]
update csd using deltas of previous values

when applying new csd to a window which already has csd, the previous
csd must be removed in order to apply any new csd offsets in order to
avoid unwanted moving/resizing

9 years agoe-comp-wl-input: don't leak the initial keymap.
Seunghun Lee [Mon, 19 Oct 2015 15:43:07 +0000 (11:43 -0400)]
e-comp-wl-input: don't leak the initial keymap.

Summary: remove xkb_map_ref() for keymap in _e_comp_wl_input_keymap_update().

Test Plan: N/A

Reviewers: devilhorns, zmike

Subscribers: ManMower, cedric

Differential Revision: https://phab.enlightenment.org/D3173

9 years agomouse_config: fix accel threshold and numerator limits.
Thierry [Fri, 16 Oct 2015 20:29:19 +0000 (13:29 -0700)]
mouse_config: fix accel threshold and numerator limits.

man xset =>  If the `threshold' parameter is provided and 0, the
`acceleration' parameter will be used in the exponent of a more
natural and continuous formula, giving precise control for slow motion
but big reach for fast motion, and a progressive transition for motions
in between.  Recommended `acceleration' value in this case is 3/2 to 3,
but not limited to that range.

9 years agoqueue pending buffers for wayland shm clients
Mike Blumenkrantz [Fri, 16 Oct 2015 19:45:23 +0000 (15:45 -0400)]
queue pending buffers for wayland shm clients

due to how deferred rendering works, it's possible for a client to
send a second buffer before enlightenment has rendered the first one.
in this situation, it seems that the best solution is to queue successive
buffers (frames) and pop the queue after each render

ref T2784

9 years agoforce a software render in all cases when finalizing x11 client iconify
Mike Blumenkrantz [Thu, 15 Oct 2015 19:33:28 +0000 (15:33 -0400)]
force a software render in all cases when finalizing x11 client iconify

since ICCCM requires that clients be unmapped while iconified, it's necessary
for the compositor to perform one last render prior to the unmap in order to
ensure that mirror objects will still appear as expected. this render must use
the pixmap buffer data in order to avoid timing issues due to async/deferred
rendering, and it is only necessary for the case of clients rendering with a
native surface

fix T2788

9 years agoclear x11 client pixmap when returning from iconic
Mike Blumenkrantz [Thu, 15 Oct 2015 19:32:38 +0000 (15:32 -0400)]
clear x11 client pixmap when returning from iconic

ensure pixmap remains usable during the entire hide process

9 years agocheck systray dbus name existence before attempting to recover session
Mike Blumenkrantz [Thu, 15 Oct 2015 17:10:58 +0000 (13:10 -0400)]
check systray dbus name existence before attempting to recover session

in the case that a system error occurs the dbus method for returning the
session name can fail, leading to a null return

CID 1327399

9 years agouse dbus unique name for tracking systray sessions
Mike Blumenkrantz [Thu, 15 Oct 2015 16:58:32 +0000 (12:58 -0400)]
use dbus unique name for tracking systray sessions

the env var DBUS_SESSION_BUS_ADDRESS may not be set for all platforms
where enlightenment+dbus are usable, so it's necessary to get the dbus
id to ensure that this value exists and is properly tracked

9 years agoreject deleted clients from x11 sync alarm event callback
Mike Blumenkrantz [Thu, 15 Oct 2015 16:40:00 +0000 (12:40 -0400)]
reject deleted clients from x11 sync alarm event callback

E_Client->comp_data is null after a client has been deleted, so
attempting to handle events which require the dereferencing of this
pointer after a client has been deleted will result in a crash

these events should be rejected after delete regardless, since at this
time the compositor has stopped handling events for the client

ref f42c6aa1871cca6c6ffb39b65e2bfa3815bff35c

9 years agoe - comps sync - ec client was null - i think, so protect against crash
Carsten Haitzler (Rasterman) [Thu, 15 Oct 2015 10:26:00 +0000 (19:26 +0900)]
e - comps sync - ec client was null - i think, so protect against crash

i got a crash here and the bt was broken and i couldnt check if
_e_comp_x_client_data_get() returned null, but it's the only thing
that would make sense, so protect against this to avoid a crash. as
this was a one-off, i can't find out more,

@fix

9 years agosystray: search for the best available resolution of a icon
Marcel Hollerbach [Wed, 14 Oct 2015 10:18:41 +0000 (12:18 +0200)]
systray: search for the best available resolution of a icon

For example in telegram the first icon which was transmitted was in a
pretty bad resolution, the new code searches the best res.

9 years agocache systray items for each dbus session
Mike Blumenkrantz [Wed, 14 Oct 2015 20:30:41 +0000 (16:30 -0400)]
cache systray items for each dbus session

the current spec does not directly require any behavior from clients
when a systray host, leading to an issue where clients do not re-register
their items when a new host appears

when using an in-process systray watcher, as the current implementation does,
the best choice for maintaining consistency for systray items across restarts
is to cache them according to the current dbus session. the process of setting
up the item will validate it on subsequent restarts, and changes to the session
will clear the cache

fix T2786

9 years ago e_flowlayout: typecast return value to int
Amitesh Singh [Wed, 14 Oct 2015 18:02:07 +0000 (14:02 -0400)]
 e_flowlayout: typecast return value to int

Summary:
return value is small enough, so there is no risk in casting from unsigned int to signed int.

CID: 1267211

Reviewers: devilhorns, raster, cedric, zmike

Subscribers: seoz, sachin.dev

Differential Revision: https://phab.enlightenment.org/D3179

9 years agotrap shaped x11 clients and prevent compositor blocking with high rect count
Mike Blumenkrantz [Wed, 14 Oct 2015 16:51:45 +0000 (12:51 -0400)]
trap shaped x11 clients and prevent compositor blocking with high rect count

in the case where a shaped window with many rects exists, there is a high
probability of the damage rect count being huge, leading to massive blocking for
each frame as the compositor attempts to fetch all of these rects from the xserver.

instead, the compositor can shortcut this by forcing a full-window damage any time
the rect count is sufficiently high, trading a blocking socket operation for some
amount of (potential) overdraw.

testing in affected scenarios has shown huge improvements: where previously the entire
compositor would lock up, things work as expected now

see https://bugzilla.mozilla.org/show_bug.cgi?id=1214746 for a sample case

9 years agodo not return when x11 damage event returns no rects
Mike Blumenkrantz [Wed, 14 Oct 2015 16:50:17 +0000 (12:50 -0400)]
do not return when x11 damage event returns no rects

ensure first_damage flag is set in all cases