platform/upstream/enlightenment.git
9 years agoforce adjustment of client geometry when changing csd frame size
Mike Blumenkrantz [Mon, 28 Sep 2015 18:02:02 +0000 (14:02 -0400)]
force adjustment of client geometry when changing csd frame size

fix T2750

9 years ago_GTK_FRAME_EXTENTS changes using a property, not a client message
Mike Blumenkrantz [Mon, 28 Sep 2015 18:01:28 +0000 (14:01 -0400)]
_GTK_FRAME_EXTENTS changes using a property, not a client message

9 years agoreject identical calls to e_comp_object_frame_geometry_set()
Mike Blumenkrantz [Mon, 28 Sep 2015 18:01:02 +0000 (14:01 -0400)]
reject identical calls to e_comp_object_frame_geometry_set()

9 years agoe - efm fix. fix eio error handler that is called after eio cancel
Carsten Haitzler (Rasterman) [Mon, 28 Sep 2015 07:49:53 +0000 (16:49 +0900)]
e - efm fix. fix eio error handler that is called after eio cancel

so you have to have an error cb - so make it empty as even after a
canel, it is called, and thus accesses an invalid icon we've freed.

9 years agoefm - handle cancel of async eio if icon is freed and eio still active
Carsten Haitzler (Rasterman) [Mon, 28 Sep 2015 07:29:12 +0000 (16:29 +0900)]
efm - handle cancel of async eio if icon is freed and eio still active

@fix

9 years agoforce pixmap clear when hiding an x11 window
Mike Blumenkrantz [Sat, 26 Sep 2015 03:41:29 +0000 (23:41 -0400)]
force pixmap clear when hiding an x11 window

failure to refetch this upon remapping the window will result in
a broken pixmap which cannot be rendered

9 years agodon't call e_client_unignore() when un-withdrawing an x11 window
Mike Blumenkrantz [Sat, 26 Sep 2015 02:37:16 +0000 (22:37 -0400)]
don't call e_client_unignore() when un-withdrawing an x11 window

these clients were not ignored on creation, so they've already triggered
all the relevant events

9 years agobump required efl version
Mike Blumenkrantz [Sat, 26 Sep 2015 02:25:02 +0000 (22:25 -0400)]
bump required efl version

9 years agomap/unmap x11 client windows when toggling iconic state
Mike Blumenkrantz [Sat, 26 Sep 2015 01:36:22 +0000 (21:36 -0400)]
map/unmap x11 client windows when toggling iconic state

ICCCM 4.1.4

9 years agoinitialize pixmap size vars in comp resize interceptor
Mike Blumenkrantz [Sat, 26 Sep 2015 01:32:08 +0000 (21:32 -0400)]
initialize pixmap size vars in comp resize interceptor

these are never uninitialized when they are used, but this
is not obvious to the reader

CID 1324956, 1324956

9 years agoset x11 supported atom array size correctly
Mike Blumenkrantz [Sat, 26 Sep 2015 01:30:00 +0000 (21:30 -0400)]
set x11 supported atom array size correctly

CID 1324958

9 years agofix handling of x11 ICCCM WithdrawnState
Mike Blumenkrantz [Fri, 25 Sep 2015 22:31:30 +0000 (18:31 -0400)]
fix handling of x11 ICCCM WithdrawnState

according to ICCCM 4.1.4:
Only the client can effect a transition into or out of the Withdrawn state

withdrawn windows cannot be shown under any circumstances. the best that can
be done is to try mapping the window and hope it decides to appear.

to prevent any inadvertent showing of the window before it leaves the
withdrawn state, we play games with the E_Client->ignored flag in order
to skip client evals until we get notified that maybe we want to stop
skipping those evals

ref T2745

9 years agocheck warp_client existence during pointer warp before dereferencing it
Mike Blumenkrantz [Fri, 25 Sep 2015 20:26:16 +0000 (16:26 -0400)]
check warp_client existence during pointer warp before dereferencing it

ref T2679

9 years agoRevert "Revert "Revert "Revert "deskmirror - fix dangling reference to mirror by...
Carsten Haitzler (Rasterman) [Thu, 24 Sep 2015 05:01:21 +0000 (14:01 +0900)]
Revert "Revert "Revert "Revert "deskmirror - fix dangling reference to mirror by refcounting it""""

This reverts commit 2373b69c61d7d6ab74675a4facff54601831ce9a.

stop crashing on restart

9 years agoadd csd case for compositor frame adjust messages
Mike Blumenkrantz [Thu, 24 Sep 2015 20:31:57 +0000 (16:31 -0400)]
add csd case for compositor frame adjust messages

not 100% perfect, but close enough

9 years agomove compositor frame adjust messages to pixels_get callback
Mike Blumenkrantz [Thu, 24 Sep 2015 20:30:11 +0000 (16:30 -0400)]
move compositor frame adjust messages to pixels_get callback

native surfaces don't call e_comp_object_render()

9 years agoset comp object client_inset.calc based on frame_object existence
Mike Blumenkrantz [Thu, 24 Sep 2015 20:04:29 +0000 (16:04 -0400)]
set comp object client_inset.calc based on frame_object existence

9 years agoblock border-affecting client functions for csd clients
Mike Blumenkrantz [Thu, 24 Sep 2015 20:02:44 +0000 (16:02 -0400)]
block border-affecting client functions for csd clients

9 years agoblock border-affecting entries from showing up in client menu with csd
Mike Blumenkrantz [Thu, 24 Sep 2015 20:00:10 +0000 (16:00 -0400)]
block border-affecting entries from showing up in client menu with csd

9 years agofix e_shelf_position_calc() to not set struct members before applying them
Mike Blumenkrantz [Thu, 24 Sep 2015 19:55:58 +0000 (15:55 -0400)]
fix e_shelf_position_calc() to not set struct members before applying them

fix T2743

9 years agoadd util function for determining if a client is allowed to have a frame
Mike Blumenkrantz [Thu, 24 Sep 2015 19:46:39 +0000 (15:46 -0400)]
add util function for determining if a client is allowed to have a frame

returns false if mwm borderless is set or if csd exists

9 years agofully support _GTK_FRAME_EXTENTS
Mike Blumenkrantz [Thu, 24 Sep 2015 19:29:37 +0000 (15:29 -0400)]
fully support _GTK_FRAME_EXTENTS

gtk apps set an atom which provides information about the area
where non-window content (eg. shadows) may be drawn; this area
must not be used in placement calculations.

the easiest method for implementing this functionality was to add
a case to the compositor geometry interceptors which effectively
flip the client struct geometry values such that the E_Client->client
is outside of the more commonly used E_Client->x/y/w/h

fix T2744

9 years agobroadcast support for _GTK_FRAME_EXTENTS
Mike Blumenkrantz [Thu, 24 Sep 2015 17:44:32 +0000 (13:44 -0400)]
broadcast support for _GTK_FRAME_EXTENTS

this is not actually supported yet, so behavior of windows using this
feature will be more wayland-like, eg. geometry determined by area
of window+shadow

fix T2744

9 years agoCreating wl_shm global object before creating other global objects
Boram Park [Wed, 23 Sep 2015 13:15:53 +0000 (09:15 -0400)]
Creating wl_shm global object before creating other global objects

Summary:
  It's more useful for client to bind wl_shm before receiving other global
  object's events. Then, App can quickly prepare some buffers. i.e. cursor,
  etc.

Signed-off-by: Boram Park <boram1288.park@samsung.com>
Reviewers: stefan_schmidt, gwanglim, raster, zmike, devilhorns

Reviewed By: devilhorns

Subscribers: cedric

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

9 years agoadd note for starting wl-x11
Mike Blumenkrantz [Wed, 23 Sep 2015 11:28:32 +0000 (07:28 -0400)]
add note for starting wl-x11

9 years agofix systray implementation of notifier watcher (StatusNotifierItem)
Mike Blumenkrantz [Tue, 22 Sep 2015 22:38:34 +0000 (18:38 -0400)]
fix systray implementation of notifier watcher (StatusNotifierItem)

previously, this would throw dbus errors (or not) and then do nothing in
many cases. now it manages bus/path names more effectively and falls back
to binary image data when an icon path is not available

fix T2626 and probably some others

9 years agoimprove client exe_inst creation
Mike Blumenkrantz [Tue, 22 Sep 2015 20:00:09 +0000 (16:00 -0400)]
improve client exe_inst creation

ref T2679

9 years agoadd weekeyboard edj files
Mike Blumenkrantz [Tue, 22 Sep 2015 19:03:39 +0000 (15:03 -0400)]
add weekeyboard edj files

9 years agoattempt to maintain currently-selected kbd layout when modifying kbd list
Mike Blumenkrantz [Tue, 22 Sep 2015 18:17:35 +0000 (14:17 -0400)]
attempt to maintain currently-selected kbd layout when modifying kbd list

the previous behavior would just set up the new layouts, resulting in
the first layout in the list being applied. now it should be the case
that if the current layout has not been deleted, it will continue to
remain in effect; alternatively if the current layout has been modified,
it's now more likely to be picked up and used

9 years agoonly init E_EVENT_XKB_CHANGED during xkb init if xkb init hasn't already occurred
Mike Blumenkrantz [Tue, 22 Sep 2015 18:16:20 +0000 (14:16 -0400)]
only init E_EVENT_XKB_CHANGED during xkb init if xkb init hasn't already occurred

allows xkb init to be called repeatedly

9 years agofix shot module compile without x11 support
Mike Blumenkrantz [Tue, 22 Sep 2015 17:54:28 +0000 (13:54 -0400)]
fix shot module compile without x11 support

9 years agoupdate xkb settings and send xkb update event when calling e_xkb_layout_set()
Mike Blumenkrantz [Tue, 22 Sep 2015 17:44:18 +0000 (13:44 -0400)]
update xkb settings and send xkb update event when calling e_xkb_layout_set()

resolves issue where setting a specific kbd would fail to make settings permanent
as well as not propagating the kbd change to the rest of enlightenment

fix T1810

9 years agocalculate comp object visibility regardless of pending damages
Mike Blumenkrantz [Tue, 22 Sep 2015 17:14:51 +0000 (13:14 -0400)]
calculate comp object visibility regardless of pending damages

in the case of clients on non-visible vdesks, this improves the reliability
of mirrored rendering

9 years agodo not emit client iconify signal when reapplying compositor theme
Mike Blumenkrantz [Tue, 22 Sep 2015 17:07:15 +0000 (13:07 -0400)]
do not emit client iconify signal when reapplying compositor theme

this has no effect other than breaking the animation counter for the
client and preventing it from being deleted

9 years agoRevert "Revert "Revert "deskmirror - fix dangling reference to mirror by refcounting...
Mike Blumenkrantz [Tue, 22 Sep 2015 16:54:10 +0000 (12:54 -0400)]
Revert "Revert "Revert "deskmirror - fix dangling reference to mirror by refcounting it"""

This reverts commit 6bef668a8fb37104f1e9e4bb1bb0dd379cb68ef5.

9 years agoredo client maximization when a non-overlap shelf changes geometry
Mike Blumenkrantz [Tue, 22 Sep 2015 16:42:39 +0000 (12:42 -0400)]
redo client maximization when a non-overlap shelf changes geometry

this fixes the annoying case of needing to remaximize all windows when
a shelf resizes in order to account for new geometry

9 years agoclamp client geometry to zone during geometry calc
Mike Blumenkrantz [Tue, 22 Sep 2015 16:37:14 +0000 (12:37 -0400)]
clamp client geometry to zone during geometry calc

somehow it was possible for client sizes to overflow the zone geometry here
which would end up breaking maximization limits and result in clients
not respecting various geometry boundaries

9 years agoonly unpopulate a shelf when applying new settings if the shelf won't be recreated
Mike Blumenkrantz [Tue, 22 Sep 2015 16:36:41 +0000 (12:36 -0400)]
only unpopulate a shelf when applying new settings if the shelf won't be recreated

9 years agoblock gadcon thaw on unpopulate when gadcon is deleted
Mike Blumenkrantz [Tue, 22 Sep 2015 16:36:12 +0000 (12:36 -0400)]
block gadcon thaw on unpopulate when gadcon is deleted

saves a huge amount of unnecessary calc time

9 years agounset E_Client->want/take_focus flags during client eval
Mike Blumenkrantz [Tue, 22 Sep 2015 16:02:13 +0000 (12:02 -0400)]
unset E_Client->want/take_focus flags during client eval

ref 4a33cd7ba0c51b911b1d7845411d2b70e01a3d55

9 years agoe config - cache sizes in config don't actually work, so remove
Carsten Haitzler (Rasterman) [Tue, 22 Sep 2015 05:06:40 +0000 (14:06 +0900)]
e config - cache sizes in config don't actually work, so remove

remove several config vars in advanced performance that frankly don't
work (unless you change them int he dialog). they are not set up on
startup or not even used at all. remove things that don't work anymore!

@fix

9 years agoe - fm - flush all evas caches to get rid of open file handles b4 umount
Carsten Haitzler (Rasterman) [Tue, 22 Sep 2015 04:17:10 +0000 (13:17 +0900)]
e - fm - flush all evas caches to get rid of open file handles b4 umount

this should fix open file handles on unmount by flushing caches first.
not great, but works. long-term have evas not keep file handles open
for 0 refcount cached items.

9 years agoapply vertical maximize algorithm for LEFT/RIGHT maximized windows
Mike Blumenkrantz [Mon, 21 Sep 2015 23:52:14 +0000 (19:52 -0400)]
apply vertical maximize algorithm for LEFT/RIGHT maximized windows

9 years agomove focus setting on restart into desk restore function
Mike Blumenkrantz [Mon, 21 Sep 2015 23:19:15 +0000 (19:19 -0400)]
move focus setting on restart into desk restore function

the focused client on restart needs to be set after desk states
have been restored in order to avoid focusing the wrong client

9 years agoonly set focus on clients which are visible during client eval
Mike Blumenkrantz [Mon, 21 Sep 2015 22:19:03 +0000 (18:19 -0400)]
only set focus on clients which are visible during client eval

focusing a client will automatically uniconify and desk flip, so
setting focus on a hidden client should be avoided during eval since
these focus-sets are not "user triggered"

this fixes issues where clients could randomly grab focus from other
desks and also restores expected behavior when restarting e on an
empty vdesk

9 years agodo not return non-visible clients for e_client_under_pointer_get()
Mike Blumenkrantz [Mon, 21 Sep 2015 21:50:48 +0000 (17:50 -0400)]
do not return non-visible clients for e_client_under_pointer_get()

a hidden client should not be considered "under the mouse" since its
geometry is undefined until it becomes visible again

fix T1069

9 years agoremove backlight update calls from backlight module
Mike Blumenkrantz [Mon, 21 Sep 2015 21:22:55 +0000 (17:22 -0400)]
remove backlight update calls from backlight module

these are no longer necessary since the backlight value should be
kept up-to-date by the core backlight infra

9 years agoadd eeze watch for backlight events
Mike Blumenkrantz [Mon, 21 Sep 2015 21:19:53 +0000 (17:19 -0400)]
add eeze watch for backlight events

when using "system" backlight mode, ensure that events are processed
as they occur so that the available backlight level is in sync with
the actual backlight level

fix T2255

9 years agoonly lower x11 layer windows for layers which have windows during init
Mike Blumenkrantz [Mon, 21 Sep 2015 20:53:29 +0000 (16:53 -0400)]
only lower x11 layer windows for layers which have windows during init

9 years agodecode .desktop link and directory uris in fileman menus
Mike Blumenkrantz [Mon, 21 Sep 2015 20:15:28 +0000 (16:15 -0400)]
decode .desktop link and directory uris in fileman menus

fix T1922

9 years agoalways set alpha for internal wins
Mike Blumenkrantz [Mon, 21 Sep 2015 19:16:30 +0000 (15:16 -0400)]
always set alpha for internal wins

due to the presence of color classes on internal windows, e must
ensure that users who set translucent colors for window base objects
get transparency as expected on those parts of the window. it's impossible
to determine in advance whether alpha is needed, so it's best to just
set alpha in all cases

fix T2050

9 years agomake bgpreview widget work with panoramic wallpapers
Mike Blumenkrantz [Mon, 21 Sep 2015 19:03:41 +0000 (15:03 -0400)]
make bgpreview widget work with panoramic wallpapers

9 years agosend FLOAT_SET edje messages during desk flip
Mike Blumenkrantz [Mon, 21 Sep 2015 18:56:54 +0000 (14:56 -0400)]
send FLOAT_SET edje messages during desk flip

panoramic wallpapers are created to expect this type of message

ref T2219

9 years agodistribute weekeyboard edj files
Mike Blumenkrantz [Mon, 21 Sep 2015 17:09:01 +0000 (13:09 -0400)]
distribute weekeyboard edj files

creating these during dist is problematic due to filename length limits
so they will need to be precompiled

9 years agoAdd initial module of weekeyboard as a wayland virtual keyboard.
Seunghun Lee [Mon, 21 Sep 2015 16:51:07 +0000 (12:51 -0400)]
Add initial module of weekeyboard as a wayland virtual keyboard.

Summary:
Depends on D2275

this module is a virtual keyboard used in wayland.

Test Plan:
<prerequisite>
- Configure with --enable-wl-weekeyboard.

1. run enlightenment as a wayland display server.
2. run weston-editor which has text entry using wayland protocol.

Reviewers: devilhorns, raster, ManMower, jonc, zmike

Subscribers: bryceharrington, jonc, jihoon, cedric, ManMower

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

9 years agoadd function to blank out a client's rendered image
Mike Blumenkrantz [Thu, 17 Sep 2015 20:48:43 +0000 (16:48 -0400)]
add function to blank out a client's rendered image

when working with Extremely Serious effects, it may be the case that
a user is rendering at such an advanced level that any attempt by
enlightenment to perform rendering will be like a child trying to
reproduce a masterpiece of art while using fingerpaints

https://www.youtube.com/watch?v=tY6qag5KFx0&hd=1

9 years agoalways send CLIENT_SHOW event when clients are shown
Mike Blumenkrantz [Thu, 17 Sep 2015 23:06:12 +0000 (19:06 -0400)]
always send CLIENT_SHOW event when clients are shown

I think it was the case for <E19 that uniconifying a client would
not send a show event, but this is not ideal and so the event should
still be sent

9 years agoremove unused variables in ilist widget
Mike Blumenkrantz [Thu, 17 Sep 2015 20:56:22 +0000 (16:56 -0400)]
remove unused variables in ilist widget

9 years agoset comp object mirror alpha flag more accurately on creation
Mike Blumenkrantz [Thu, 17 Sep 2015 20:48:02 +0000 (16:48 -0400)]
set comp object mirror alpha flag more accurately on creation

9 years agoadd smart callback for comp object damage calls
Mike Blumenkrantz [Thu, 17 Sep 2015 20:46:46 +0000 (16:46 -0400)]
add smart callback for comp object damage calls

related to the previous commit, this will allow api users to determine
when a client needs to re-render with the least amount of overhead

9 years agoadd function for overriding the native surface of a client's comp object
Mike Blumenkrantz [Thu, 17 Sep 2015 20:44:23 +0000 (16:44 -0400)]
add function for overriding the native surface of a client's comp object

it's a pretty trivial thing to hand-composite a client, so this will
allow someone to do something like render out a gaussian blur to an fbo
using a client's texture and then render the fbo onto the compositor
canvas with minimal overhead

9 years agoadd smart callback for comp object hiding animation begin
Mike Blumenkrantz [Thu, 17 Sep 2015 20:41:02 +0000 (16:41 -0400)]
add smart callback for comp object hiding animation begin

it's impossible to determine this at the time of calling without adding
some sort of callback here; edje signals are deferred, meaning that
an interested user will not be able to check the state of a client
when it begins to hide

9 years agocreate util function for enforcing comp object image alpha setting
Mike Blumenkrantz [Thu, 17 Sep 2015 20:39:42 +0000 (16:39 -0400)]
create util function for enforcing comp object image alpha setting

this can be set in a couple places, so move all the logic into a single
caller to ensure correct setting

9 years agoalias x11 pixmaps to parent windows during reparent
Mike Blumenkrantz [Thu, 17 Sep 2015 20:36:38 +0000 (16:36 -0400)]
alias x11 pixmaps to parent windows during reparent

failure to allow pixmaps/clients to be retrived by parent window will
result in api users being greatly inconvenienced after a reparenting has
occurred

9 years agoadd function for getting x11 pixmap from E_Pixmap
Mike Blumenkrantz [Thu, 17 Sep 2015 20:35:55 +0000 (16:35 -0400)]
add function for getting x11 pixmap from E_Pixmap

9 years agoadd pre-render callback list for compositor canvas
Mike Blumenkrantz [Thu, 17 Sep 2015 20:32:49 +0000 (16:32 -0400)]
add pre-render callback list for compositor canvas

someone doing fancy effects might want to add a callback to do various
tasks only when a render is about to occur

9 years agoenable depth+stencil bits for x11 gl compositor canvas creation
Mike Blumenkrantz [Thu, 17 Sep 2015 20:31:53 +0000 (16:31 -0400)]
enable depth+stencil bits for x11 gl compositor canvas creation

9 years agorename E_Comp_Grab_Cb to E_Comp_Cb
Mike Blumenkrantz [Thu, 17 Sep 2015 20:31:07 +0000 (16:31 -0400)]
rename E_Comp_Grab_Cb to E_Comp_Cb

this is a super generic global callback type which will never be used
elsewhere, so rename it to make it potentially useful in other places

9 years agoenforce gathering client moveinfo before beginning move/resize action
Mike Blumenkrantz [Thu, 17 Sep 2015 20:29:20 +0000 (16:29 -0400)]
enforce gathering client moveinfo before beginning move/resize action

9 years agoadd ilist method for setting disabled state
Mike Blumenkrantz [Tue, 15 Sep 2015 17:05:21 +0000 (13:05 -0400)]
add ilist method for setting disabled state

ilist widget adds items in a deferred queue, resulting in attempts to
immediately toggle the disabled state having no effect. now there is
a flag so that items added after the disabled flag have been set will
have the correct state

fix T2730

9 years agounset client hidden flag on config dialogs when activating from another vdesk
Mike Blumenkrantz [Tue, 15 Sep 2015 16:46:46 +0000 (12:46 -0400)]
unset client hidden flag on config dialogs when activating from another vdesk

fix T2731

9 years agodelete notification mirror objects upon deleting original popup
Mike Blumenkrantz [Mon, 14 Sep 2015 17:14:06 +0000 (13:14 -0400)]
delete notification mirror objects upon deleting original popup

fix T2722

9 years agoe winlist focus alt-tabbing - fix focus list changes while tabbing
Carsten Haitzler (Rasterman) [Sat, 12 Sep 2015 04:38:38 +0000 (13:38 +0900)]
e winlist focus alt-tabbing - fix focus list changes while tabbing

this should fix T2700

@fix

9 years agoensure that non-fullscreen nocomp clients have their layers re-set
Mike Blumenkrantz [Fri, 11 Sep 2015 17:04:02 +0000 (13:04 -0400)]
ensure that non-fullscreen nocomp clients have their layers re-set

in the case where a window is fullscreen without having the 'fullscreen'
flag set, the previously-used layer must be reapplied upon nocomp end
in order to avoid breaking the compositor

9 years agoset 'starting' flag for desk show in e_zone_desk_count_set()
Mike Blumenkrantz [Fri, 11 Sep 2015 16:57:15 +0000 (12:57 -0400)]
set 'starting' flag for desk show in e_zone_desk_count_set()

as a result of earlier changes which prevented recursive desk flips,
e_desk_show() now rejects some desk show calls which are invalid such as
a show where the "current" desk does not have the visible flag set. this
behavior is overridden in the case of startup, which is functionally the
same effect as changing the desk count

fix T2717

9 years agoe comp - set rects to null to silence compiler warning
Carsten Haitzler (Rasterman) [Thu, 10 Sep 2015 13:13:57 +0000 (22:13 +0900)]
e comp - set rects to null to silence compiler warning

even though n is 0 and we don't use rects, compiler doesn't know, so
to avoid noise - set to null so we can focus on warnings of real errors.

9 years agoe mixer - shut up coverity CID 1323098
Carsten Haitzler (Rasterman) [Wed, 9 Sep 2015 02:02:23 +0000 (11:02 +0900)]
e mixer - shut up coverity CID 1323098

9 years agoadd extreme hacks to enforce nocomp stacking policies
Mike Blumenkrantz [Tue, 8 Sep 2015 22:37:44 +0000 (18:37 -0400)]
add extreme hacks to enforce nocomp stacking policies

if windows set to "Always on Top" exist while the option to allow
windows over fullscreen windows is enabled, enabling nocomp will
result in the above windows being stuck over the nocomp window

instead, force the nocomp window to be the top-most window in all cases,
and then put it back if another object appears on the screen over it

fix T2703

9 years agoensure that normal clients are stacked below overrides when raising
Mike Blumenkrantz [Tue, 8 Sep 2015 21:47:48 +0000 (17:47 -0400)]
ensure that normal clients are stacked below overrides when raising

when a client is set to "Always on Top", it will be on the same layer
as override clients. this can cause strange stacking and mouse eventing
in cases where these windows occupy the same space and the normal client
is stacked over the override

9 years agounshade clients when activating
Mike Blumenkrantz [Tue, 8 Sep 2015 21:01:36 +0000 (17:01 -0400)]
unshade clients when activating

fixes issue where an activated client on another vdesk which was shaded
would appear to be unshaded but was, in fact, shaded

9 years agoforce-disable refocus during desk flip on client activation
Mike Blumenkrantz [Tue, 8 Sep 2015 20:55:21 +0000 (16:55 -0400)]
force-disable refocus during desk flip on client activation

this prevents an infinite focus loop where focus will be constantly
reapplied between multiple windows if the activated window is not the
refocus window

9 years agoblock forced mirror render for clients with native surfaces
Mike Blumenkrantz [Mon, 7 Sep 2015 17:15:25 +0000 (13:15 -0400)]
block forced mirror render for clients with native surfaces

9 years agowl_text_input: initializes input_method's context when destroy context.
Seunghun Lee [Mon, 7 Sep 2015 17:13:52 +0000 (13:13 -0400)]
wl_text_input: initializes input_method's context when destroy context.

Summary: input_method's context set to NULL when context is freed.

Test Plan: N/A

Reviewers: zmike, devilhorns

Reviewed By: devilhorns

Subscribers: cedric

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

9 years agowl_text_input: remove duplicated code.
Seunghun Lee [Mon, 7 Sep 2015 17:13:27 +0000 (13:13 -0400)]
wl_text_input: remove duplicated code.

Summary: remove redundant code.

Test Plan: N/A

Reviewers: zmike, devilhorns

Reviewed By: devilhorns

Subscribers: cedric

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

9 years agowl_text_input: initializes global handle after destroying.
Seunghun Lee [Mon, 7 Sep 2015 17:13:10 +0000 (13:13 -0400)]
wl_text_input: initializes global handle after destroying.

Summary: variable for handle should be initialized.

Test Plan: N/A

Reviewers: zmike, devilhorns

Reviewed By: devilhorns

Subscribers: cedric

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

9 years agoBinding input method will be allowed to wl_client that is created by enlightenment.
Seunghun Lee [Mon, 7 Sep 2015 17:12:53 +0000 (13:12 -0400)]
Binding input method will be allowed to wl_client that is created by enlightenment.

Summary:
Added code to check whether wl_client's pid is equal to enlightenment's.
this means, only enlightenment modules can bind wl_text_input interface.

Reviewers: zmike, devilhorns, ManMower

Reviewed By: devilhorns, ManMower

Subscribers: cedric

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

9 years agofix x11 compositor to use damage events
Mike Blumenkrantz [Mon, 7 Sep 2015 15:10:54 +0000 (11:10 -0400)]
fix x11 compositor to use damage events

it seems that since the first version of the enlightenment compositor
in e17, damage events in x11 have never been used correctly. using
the event struct members will only give the bounding box/area instead
of the damaged regions; the real regions must be explicitly fetched
from the server

this removes the need for a lot of hacks which were added over the years
to make override windows render correctly, and also probably reduces
rendering overhead slightly

9 years agodeskmirror: check if ec is not null before accessing it
Marcel Hollerbach [Mon, 7 Sep 2015 14:22:43 +0000 (10:22 -0400)]
deskmirror: check if ec is not null before accessing it

Summary: ec can be NULL

Reviewers: devilhorns, zmike

Projects: #enlightenment-git

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

9 years agoe mixer - save state when we get change events too
Carsten Haitzler (Rasterman) [Sun, 6 Sep 2015 11:04:22 +0000 (20:04 +0900)]
e mixer - save state when we get change events too

this plugs a gap where wrong state is saved.

9 years agoupdate mailmap
Boris Faure [Sat, 5 Sep 2015 11:55:50 +0000 (13:55 +0200)]
update mailmap

9 years agoenlightenment: Fix formatting of Wayland compositor code so it is easily readable...
Chris Michael [Thu, 3 Sep 2015 15:16:07 +0000 (11:16 -0400)]
enlightenment: Fix formatting of Wayland compositor code so it is easily readable in 80 columns

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoe mixer - fix up saving to save everything
Carsten Haitzler (Rasterman) [Wed, 2 Sep 2015 09:31:44 +0000 (18:31 +0900)]
e mixer - fix up saving to save everything

as pointed out by jackdanielsz and bu5hm4n - this doesnt save
everything. like all the outputs and ports and... so now it does.
everything is saved and restored is "remember" is enabled. now
everything should be fine.

9 years agoe mixer - discovered bug as a lack of feature - does not remember volume
Carsten Haitzler (Rasterman) [Wed, 2 Sep 2015 03:49:42 +0000 (12:49 +0900)]
e mixer - discovered bug as a lack of feature - does not remember volume

i have never seen this before until last night. on some systems audio
starts up volume 0 and muted (either or) and thus on login the volume
is not where you left it and you have to manually fix it every time.
this fixes this by having mixer remember the last volume and mute
state you set (option to enable/disable too) and handles "upgrading"
to remember by default if you have old config

@feature / @fix

9 years agoe - mixer - fix leak when seting volume
Carsten Haitzler (Rasterman) [Tue, 1 Sep 2015 15:03:57 +0000 (00:03 +0900)]
e - mixer - fix leak when seting volume

fixes a lieak i spotted in mixer after moving to epulse core. fix for
e20

9 years agoe pagers - fix full desktop ddnd (eg middle mouse) to finish the drag
Carsten Haitzler (Rasterman) [Fri, 28 Aug 2015 04:14:27 +0000 (13:14 +0900)]
e pagers - fix full desktop ddnd (eg middle mouse) to finish the drag

drag state was not properly shut down on mouse up

@fix

9 years agoe_comp_wl: create global and bind session_recovery interface
Stefan Schmidt [Tue, 25 Aug 2015 13:46:16 +0000 (15:46 +0200)]
e_comp_wl: create global and bind  session_recovery interface

Before we can use the session_recovery protocol extension we need to register
its global and bind the interface to our implementation.

The callback for the provide_uuid call from the client is just a stub for now.

9 years agoRevert "Revert "deskmirror - fix dangling reference to mirror by refcounting it""
Carsten Haitzler (Rasterman) [Mon, 24 Aug 2015 03:00:28 +0000 (12:00 +0900)]
Revert "Revert "deskmirror - fix dangling reference to mirror by refcounting it""

This reverts commit 466dd8d57db6f281e7faebc4d532d5bc77e02dd7.

sorry - this bug is still there and this tracks references - the
current code DOES NOT DO THIS RIGHT.

No symbol table info available.
No symbol table info available.
out>) at src/bin/e_deskmirror.c:336
        mb = 0x1ed7220
        #3  0x00007f0e3c864a8d in evas_object_smart_del
(eo_obj=0x8000039ae0101eb8) at lib/evas/canvas/evas_object_smart.c:1016
        obj = <optimized out>
        sobj = <optimized out>
        s = 0x220d540
        i = <optimized out>
        __FUNCTION__ = "evas_object_smart_del"
(eo_obj=0x8000039ae0101eb8, obj=0x21432e0) at
lib/evas/canvas/evas_object_main.c:739
        proxy = <optimized out>
        l = <optimized out>
        l2 = <optimized out>
        texture = <optimized out>
        __FUNCTION__ = "_evas_object_eo_base_destructor"
...

and EXACTLY as before p *(mb->m) shows that m is full of garbage.
mb->ec is a garbage pointer, w amd h arte garbage coordinates etc. m
is not tracked. pretty simple. open and close a few windows - mayeb
switch some desktops, THEN restart and see the crashes. its easy
enough to reproduce

9 years agoremove dirty callback for deskmirror clients upon creating visual
Mike Blumenkrantz [Fri, 21 Aug 2015 21:13:48 +0000 (17:13 -0400)]
remove dirty callback for deskmirror clients upon creating visual

if another callback triggered the creation of a deskmirror visual while
the dirty callback was in place, a second mirror object would be created
leading to an orphaned mirror object which retained references to the dm
client and eventually resulting in a crash

9 years agosimplify e_desk_show visibility unsetting, reject recursive desk flips
Mike Blumenkrantz [Fri, 21 Aug 2015 19:53:10 +0000 (15:53 -0400)]
simplify e_desk_show visibility unsetting, reject recursive desk flips

the currently visible desk for a zone is stored on the zone struct, so
iterating here is unnecessary. furthermore, at the time when a desk is hidden,
a client may begin receiving mouse events which could trigger a focus-set and
lead to another desk flip. at this time and only this time, the "current" desk
will be marked as not visible, and so this sort of desk show must be rejected

fix T2676

9 years agotrack focus time for x11 canvas focus, unset client focus on x11 canvas focus-in
Mike Blumenkrantz [Fri, 21 Aug 2015 19:50:10 +0000 (15:50 -0400)]
track focus time for x11 canvas focus, unset client focus on x11 canvas focus-in

in the case that the canvas window has just had focus set on it, apply this focus
and ensure that no client retains focus

this resolves a race condition where focusing the compositor canvas <-> client
extremely quickly would result in a client trying to steal focus when it was
not actually focused

a notable (but trivial) side effect is that now when flipping desks at high speed while using
mouse-based focus policies, the user is almost guaranteed to end on a desk which
has open windows on it