Commit Graph

18562 Commits

Author SHA1 Message Date
Mike Blumenkrantz 2ef318db8b do not show wireless gadget popups if desklock is active
this gadget may be allowed on lockscreen, but configuration should be disabled
2016-10-04 09:37:16 -04:00
Mike Blumenkrantz ed14a32590 remove (wrong) setting of layer for time's clock gadget popup
e_gadget_util_ctxpopup_place() already handles this correctly
2016-10-04 09:37:16 -04:00
Mike Blumenkrantz 07ceb2b92e add e_util_open(), unify all callers of enlightenment_open
ref adbba1042b
2016-10-04 09:37:16 -04:00
Mike Blumenkrantz 696974b6db do not consume key events in comp autoclose key callback if desklock is active
fix T4655
2016-10-04 09:37:16 -04:00
Carsten Haitzler c27e6ee3d4 e exec - fix exec of enlightenment_open to use actual e prefix
so this code path was using the COMPILED IN prefix like broken
old-school unix apps that cannopt be relocated. efl and e have runtime
prefix detection so use it properly. stop doing things the broken way
just because people have written broken code for 30+ years and
continue to. we don't do that in e/efl land.

@fix
2016-10-04 09:37:15 -04:00
Derek Foreman 271b361464 NULL out xwayland fd handlers after deleting them
This fixes a valgrind error that can happen when we accidentally
free these again later because they still had non-NULL values.
2016-10-04 09:37:15 -04:00
Derek Foreman fd78d05100 Don't kill self during shutdown
When Xwayland is running we end up with a client with the same pid
as the compositor in the client list.  We need to avoid killing that
client, as it will interrupt the proper shutdown procedure.

fix T4439
2016-10-04 09:37:15 -04:00
Mike Blumenkrantz a4a5b462f1 remove extraneous recalc trigger when deleting a gadget
CID 1362898
2016-10-04 09:37:15 -04:00
Mike Blumenkrantz 34d94929f8 do not update bryce layer when restacking to a higher layer than CLIENT_ABOVE 2016-10-04 09:37:15 -04:00
Mike Blumenkrantz 88f9f23ef1 always delete gadget's display object and ensure gadget object is null
fixes some object errors during container deletion
2016-10-04 09:37:15 -04:00
Cedric BAIL 8e90c421a3 fix text preview to use eina_strbuf_append_length that doesn't call strlen and crash. 2016-10-04 09:37:15 -04:00
Mike Blumenkrantz 473e77d016 force bgpreview widget to resize after a wallpaper update
ref be1b11ca28

fix T4632
2016-10-04 09:37:15 -04:00
Mike Blumenkrantz 3416640ca5 add gadget doc note for gadget_destroyed callback re:object lifetimes 2016-10-04 09:37:15 -04:00
Mike Blumenkrantz 1f12bdf6b9 always use largest available size for free-oriented gadgets
ensure that gadgets don't unexpectedly clamp to minimum size
2016-10-04 09:37:15 -04:00
Mike Blumenkrantz 520927f7e0 add backspace/delete for clearing all lockscreen gadgets
this was turning into a total wasteland
2016-10-04 09:37:15 -04:00
Mike Blumenkrantz 552d0550d3 check visibility of gadget site 'events' member to determine drop availability
the layout object of a gadget site does not need to be visible since it may be
used for desktop gadgets or a transparent overlay
2016-10-04 09:37:15 -04:00
Mike Blumenkrantz 33a396e74d adjust gadget drop coords for pointer offset
gadgets are centered on the pointer when moved, so the drop coord needs to
then be uncentered to avoid unintended movement
2016-10-04 09:37:15 -04:00
Mike Blumenkrantz 5211b4637a attempt to retain gadget size when executing move operations 2016-10-04 09:37:15 -04:00
Mike Blumenkrantz 69afd70c82 force smart calc on gadget sites at key points during move operations
ensure that gadget info and visuals match up
2016-10-04 09:37:14 -04:00
Mike Blumenkrantz ef5ba9f35e add separate codepath for handling layout of moving gadgets
these get sized and positioned in a passthrough manner, so avoid doing any calc
2016-10-04 09:37:14 -04:00
Mike Blumenkrantz 30b07c6558 set gadget added flag any time a gadget is created or wizarded
ensure that desktop gadget editor doesn't exit when attempting to add
subsequent gadgets
2016-10-04 09:37:14 -04:00
Mike Blumenkrantz 3ef09d6cc8 use same layer in bryce editor for "above window" setting 2016-10-04 09:37:14 -04:00
Mike Blumenkrantz b0c78ef37d clamp bryces to a lower canvas layer
note to self: if you remember why you had these at POPUP, annotate the reason
here...
2016-10-04 09:37:14 -04:00
Mike Blumenkrantz 3b2a1fa456 always use compositor object stacking when performing internal drags
attempting to use a client window for any internal drag operation will always
yield wrong results and broken behavior

ref 1a982fd72a
2016-10-04 09:37:14 -04:00
Mike Blumenkrantz 590a20fdd9 handle e_comp deref during e_dnd shutdown to avoid crash 2016-10-04 09:37:14 -04:00
Mike Blumenkrantz ade27e168a use comp canvas win by default for any drop handler with an E_Object
this is always going to be the case anyway
2016-10-04 09:37:14 -04:00
Mike Blumenkrantz 47059d3a67 move 'unmaximize' smart callback to after geom calc in client_unmaximize
fixes some cases where geometry wouldn't be accurately calculated, such as when
fullscreening a flash video in a browser
2016-10-04 09:37:14 -04:00
Marcel Hollerbach ca238d0a56 mixer: lock up the slider for the case a drag is in progress
if you click on the slider in the gadget the slider jumps a back to the
old volume and then to the new volume, this is because a pulseaudio
update is sent while the last changed event was called, but not the
drag_stop callback.
2016-10-04 09:37:14 -04:00
Derek Foreman 98d204ede7 Fix error print when wl_wl fails to start
Probably copypastad from wl_drm, very confusing.
2016-10-04 09:37:14 -04:00
Simon Lees (SUSE) 4a638c8643 Also set QT_STYLE_OVERRIDE
Qt 5.7 has introduced an extra enviornment var for getting Qt/KDE
apps to follow gtk theming so we will export that alongside the
one that we already support.

Thanks to AJSlye for finding reporting and figuring this out.
2016-10-04 09:37:14 -04:00
Marcel Hollerbach a2f4be720e ibar: multiply size with scale
This fixes T4544.
2016-10-04 09:37:14 -04:00
Mike Blumenkrantz 35d55dfa81 add docs for E_Comp struct members 2016-10-04 09:37:14 -04:00
Mike Blumenkrantz 9025732d39 do not attempt to populate gadgets during type_add if site has not yet been populated
mostly just fixes some ERRs on init
2016-10-04 09:37:14 -04:00
Mike Blumenkrantz e6361685cf add event handler for evry event type, not #define value
fix T4007
2016-10-04 09:37:14 -04:00
Chris Michael 96d12641cb add missing EINA_UNUSED for function parameter
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-10-04 09:37:14 -04:00
Chris Michael 874ab12b69 Remove unused variables from ibar_resize_handle function
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-10-04 09:37:14 -04:00
Marcel Hollerbach d3af359c0f mixer: introduce emix_max_volume_get
This lets the module decide what its maximum value is.
Everything over 100% is considered overloading. And is protected by the
mixer and the gadget.
2016-10-04 09:37:14 -04:00
Marcel Hollerbach 0f3bac53a5 mixer: introduce Barrier checks
in this barrier checks the module checks that the user is explicit going
over the value of 100%
2016-10-04 09:37:13 -04:00
Marcel Hollerbach 1e44f4d26b tiling: be more accurate on the description
As user reported, this could be a bit missleading.

fixes T4499
2016-10-04 09:37:13 -04:00
Marcel Hollerbach f574ccaa17 tiling: place popup on the current active zone
Otherwise the popup will be where you are not looking at.

This patch adds a new function to e_comp_object where you can pass the
zone where you want to place the e_comp_object on.

ref T4499
2016-10-04 09:37:13 -04:00
Flavio Ceolin 6d23aa2461 emix: when in alsa mode only operate on master 2016-10-04 09:37:13 -04:00
Marcel Hollerbach 644a53bce8 ibar: try to get a better min size
There are two cases, on a shelf and on the desktop.
If on a shelf we are using the height setting of the self, since max.w
max.h are only set after a few calcuations, and the gadget does not get
moved on a shelf which does not fade out, so the first min size
calculation must be correct.
If we are on the desktop max.w and max.h are not always 0.
There were some cases when none of this conditions are met. So this
patch enforces a mimum size of 40x40 pixels.
2016-10-04 09:37:13 -04:00
Derek Foreman 3964eae17d Don't send keyboard leave events to unfocused clients
This fixes a problem when focus moves between two xwayland clients.

My testing of gtk applications shows no regressions, bug if xdg_shell
popups start behaving oddly again, look here first.
2016-10-04 09:37:12 -04:00
Mike Blumenkrantz 8647f87199 ignore xwl clients when flagging wl surfaces as internal
fix T4430
2016-10-04 09:37:12 -04:00
Mike Blumenkrantz 0ab755fe81 another case of stringshare misuse re:efreet_mime_type_get()
ref 1cb47b1411
2016-10-04 09:37:12 -04:00
Mike Blumenkrantz 20de9d844b use stringshare_add() for evry files plugin mime types
the return of this function is not guaranteed to be stringshared
2016-10-04 09:37:12 -04:00
Romain Naour 6a33b79f72 e_xkb: add guard around skip_new_keyboard
skip_new_keyboard is not available if HAVE_WAYLAND_ONLY is defined.

Fixes:
src/bin/e_xkb.c: Dans la fonction ‘_e_x_xkb_reconfig’:
src/bin/e_xkb.c:216:4: erreur : ‘skip_new_keyboard’ undeclared (first use in this function)
    skip_new_keyboard ++;

Signed-off-by: Romain Naour <romain.naour@gmail.com>
2016-10-04 09:37:12 -04:00
Mike Blumenkrantz ec196f28e0 delete previous wireless popup when activating editor from connection list
fixes case where newly-created popup would be deleted upon show, breaking
interactions
2016-08-19 18:51:25 -04:00
Mike Blumenkrantz 16ae527c40 clean up some string leaks in wireless gadget popups 2016-08-19 18:51:23 -04:00
Mike Blumenkrantz 8140f8092c track current bryce geom, force recalc on gadget site upon change
elm scroller is very resistant to recalc, so it's necessary to trigger it
manually by resizing the scroller's contents

fix T4339
2016-08-19 18:51:22 -04:00
Mike Blumenkrantz bf35817287 Revert "track/manage size hints for zoomap child objects"
This reverts commit 7b07b03c21.

this seems to have been solving a problem in the wrong way and created
map issues in some corner cases

ref T4339
2016-08-19 18:51:20 -04:00
Carsten Haitzler 860802f5d3 e ipc - fix cleanup of ipc socket on shutdown
e never deleted its ipc dir or socket on shutdown. kind of bad. that
means every e rstart meant a new socket dir and file. a bit of a leak
when this happens to be often in a ramdisk. this should fix that and
have the socket dir and content nicely shut down on a clean shutdown

@fix
2016-08-19 18:51:16 -04:00
maxerba 8767834cc6 Updating italian translation 2016-08-18 14:52:07 +02:00
JengHyun Kang dce955a123 e_comp_wl: break from meaningless loop
Summary:
kbd.keys are only added from e_comp_wl_key_down().
         And in that function, duplicated keys are not add in the list.
         So only one key is going to be in the list.

Test Plan: Watch kbd.keys list during key press / release.

Reviewers: raster, devilhorns, zmike!, ManMower

Reviewed By: ManMower

Subscribers: duna.oh, input.hacker, cedric

Differential Revision: https://phab.enlightenment.org/D4230
2016-08-17 10:23:08 -04:00
Mike Blumenkrantz 057a1c2556 add xwayland compat for efl 1.19+ 2016-08-17 07:31:38 -04:00
Mike Blumenkrantz 0653cff5f0 clear wl subsurface data during delete only if subsurface is not also deleted
fix T4297
2016-08-17 07:31:38 -04:00
Romain Naour c20a32b8b8 E: include uuid.h only when Wayland support is enabled.
libuuid is checked only when Wayland support is enabled and
uuid_t uuid is guarded by HAVE_WAYLAND.

So move include uuid.h below a HAVE_WAYLAND.

Signed-off-by: Romain Naour <romain.naour@gmail.com>

fix T4298
2016-08-17 07:31:38 -04:00
Mike Blumenkrantz 95d193b515 move new version of e_comp_top_window_at_xy_get() to dnd, restore old version
this resolves pointer-based focus issues introduced while attempting to
fix dnd-related bugs

ref a4a2f6b09e
ref 1a982fd72a
2016-08-17 07:31:38 -04:00
Mike Blumenkrantz ec5cb806d9 improve quickaccess relaunch help dialog text
fix T4216
2016-08-17 07:31:38 -04:00
Marcel Hollerbach bd5c107e46 xwayland: show the dialog after ecore_wl2 is in sync
otherwise ecore_wl2 could produce crashes.
2016-08-17 07:31:38 -04:00
Marcel Hollerbach ae47f0bbb2 e_dnd: move the ungrab to the object free
otherwise there are cases where the ungrabbing is not executing, and
blocking input.
2016-08-17 07:31:38 -04:00
Marcel Hollerbach a63193a9e7 e_alert: define EFL_BETA_API_SUPPORT before any include
otherwise we can include half efl without api and the other parts with
beta api support, which leads to problems.

The current problem was that Eo.h was first included without the
EFL_BETA_API_SUPPORT, in Evas.h EFL_BETA_API_SUPPORT is defined, so the
header expects Eo_Callback_Priority to be defined.

@fix
2016-08-17 07:31:38 -04:00
Marcel Hollerbach 15eb6afa16 e_comp_wl: destroy e_drag when source disappears
Otherwise we are expecting a running dnd later, and accessing invalid
memory.
2016-08-17 07:31:38 -04:00
Carsten Haitzler 8a92d4b538 e comp - set alpha after setting native surface to avoid random crash
i noticed a crash on texture update with a previous garbage image data
ptr set before becoming a native suttface and so setting alpha would
cause a texture upload from a garbage pointer, so set native surface
then set alpha on or off so the data ptr is no longer used.

@fix
2016-08-17 07:31:38 -04:00
Mike Blumenkrantz 0eaca149c0 only check x11 configurerequest geometry changes when applicable
in some cases during a frame recalc this could lead to window positioning
being erroneously changed

fix T4097
2016-08-17 07:31:38 -04:00
Derek Foreman 0af35c2470 Fix wayland extension global creation
The globals are singletons, but the bindings are per wl_client.
2016-08-17 07:31:37 -04:00
Jean-Philippe Andre 00886ff0e4 bg: Fix bg with single jpeg images (no edj)
When selecting a jpeg file directly as wallpaper, it will look
very blurry, clearly loaded as a low-resolution image and then
scaled up. Solution: don't load at size 64x64!

For @OnlyHuman, thanks for the report.

@fix
2016-08-17 07:31:37 -04:00
Chris Michael db2f82185d add key_up and key_down methods to sreen interface
This patch adds new methods to the screen interface that we can use
inside wl_drm to determine if a key event is eaten or not. This fixes
an issue where VT-Switching would not work if an application was on
the screen (E-Wayland).

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-08-17 07:31:37 -04:00
Chris Michael 1087516f39 wl_fb: Check that e_comp_wl_init does not fail.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-08-17 07:31:37 -04:00
Chris Michael 3d94fefd57 remove need to create different dialog windows under wayland
NB: This hack is no longer needed.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-08-17 07:31:37 -04:00
Chris Michael df40bef557 e ibar - fix "old man" fat finger typo ;)
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-08-17 07:31:37 -04:00
Carsten Haitzler dc608ede51 e ibar - fix devilhorns fix to use the right widght and hight for separator 2016-08-17 07:31:37 -04:00
Chris Michael 15de3e6ac8 use proper variables to set size_hint_max on ibar
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-08-17 07:31:37 -04:00
Chris Michael a0f411a772 remove unused variables from _ibar_resize_handle
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-08-17 07:31:37 -04:00
Chidambar Zinnoury e66f0e5634 e fm: Don’t check every other line whether the location is writable when creating menu. 2016-08-17 07:31:37 -04:00
Chidambar Zinnoury 595e527a9a e fm: Add a separator only if there is something before.
Currently, the context menu will show a separator before the background and overlay items even if there is nothing before, such as on the favourites pane.

 @fix
2016-08-17 07:31:37 -04:00
Chidambar Zinnoury bef0bafda6 e: Don’t show two consecutive menu separators if there is no need in client menu.
This would happen if we don’t show some stacking settings.

 @fix
2016-08-17 07:31:37 -04:00
Derek Foreman 18cef43716 Fix wayland clients not deleting when they're hidden
We kept an extra reference for wayland clients and dropped it on their final
render to stop crashes.  However, if they're not on screen at the time of
their deletion this reference still needed to be dropped.

Fixes clients remaining on the deskmirror after dying on another desktop.
2016-08-17 07:31:37 -04:00
Carsten Haitzler 70c8fa7ae1 e temp module - kill tempget process not terminate to ensure death
it seems on openbsd sigterm doesnt kill things... sigkill does so move
to that. fixes T4121

@fix
2016-08-17 07:31:36 -04:00
Chris Michael 27917c26df Revert "e - fix major memory bloat when in gl mode - dont create shm segments"
This reverts commit ae6e09ec11.

This breaks resizing of windows inside Enlightenment. Evas_Engines
don't bind a pixmap permanently, they just bind during each render, so
on resize this caused a broken pixmap if we don't create a new one for
each size. This patch Would be correct IF engines worked differently
wrt x pixmap binding during render.
2016-07-26 10:51:44 -04:00
Carsten Haitzler a9d73c89ed e - fix major memory bloat when in gl mode - dont create shm segments
so e pixmap was ALWAYS creating an ecore_x_image EVERY time for EVERY
window. this means allocate all the sysv shared memory segments for
every window even if never used. this is bad. it litters systems
with unused shared memory segments (ipcs and see) and eats up shared
mem limits/quotas too. we just don't need them in gl unless a window
is shaped or texture from pixmap is off. so allocate the pixmap on
demand, and otherwise leave the ecore x image NULL. this fixes this
bloat.

@fix
2016-07-26 13:31:19 +09:00
Carsten Haitzler 6aa3de0425 e ibar/ibox port to elm box - fix assumption on resize
so... when ibar/ibox were ported to elm box they assumed elm box would
resize itself. this was wrong as it only should have set min size
hints. this has been fixed by 96fbea9daecf7040ac63203c4823722fa6d5d73f
and this addresses T3031. this requires we fix enlightenment too.

@fix
2016-07-25 19:21:25 +09:00
Carsten Haitzler bd3fb818ba e - fix dnd problems coming from getting top object in comp canvas
so getting top object was broken. it didnt account for repeat event
objects that would be included. so get the full l,ist and walk them
top to bottom for the first one thats a client. THAT is the correct
thing to do. this would affect both x11 and wayland.

@fix
2016-07-21 17:24:39 +09:00
Mike Blumenkrantz 4ca5f3f420 adjust xdg-shell window menu coords by client's coords
the coords passed in this method are relative to the window geometry
2016-07-19 14:19:09 -04:00
Chris Michael 858800389e add missing EINA_UNUSED for unused function params
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-07-19 14:19:09 -04:00
Mike Blumenkrantz e561a31fec set/unset smart parent as e_widget when adding sub-objects
in the case where there is no smart parent, this fixes the object tree
and resolves some stacking issues. if there is a parent or a parent is added
later, nothing is changed

fixes eg. screenshot preview visibility in wayland
2016-07-19 14:19:09 -04:00
Cedric Bail 22ebf5caaa filepreview: avoid race condition when destroying txt file preview with slow hard drive.
@fix T4119
2016-07-19 14:19:09 -04:00
Carsten Haitzler 8312f98f83 e ibar/ibox fix starrting/started signal emittion
i found this didn't emit signals correctly and multiple times when not
needed. this fixes that.

@fix
2016-07-18 15:52:33 +09:00
Al Poole 8377cf2d5d fwin: prevent segv when the vaarg abi messup with unused parameter.
Quite a hack overall, but if you don't need those parameter, just put
nothing and it will work.

@fix T4112

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2016-07-16 07:16:21 -04:00
Derek Foreman 4edf4476df Fix xdg_shell focus logic
Moves and resizes tripped up the new xdg focus logic, so test if the
focus is leaving the client entirely before trying to determine if it's
leaving into a parent surface.
2016-07-15 10:08:17 -04:00
Derek Foreman 8760579e25 Make sure the same keyboard resource doesn't end up on the focus list twice
This stops recent xdg_popup focus tracking changes from causing multiple
key events to be sent to the focused client.
2016-07-15 10:08:12 -04:00
Marcel Hollerbach 93808761d3 e_comp_data: NULL out source once it is freed
Otherwise the pointer is removed when the next drag starts, so this
makes debugging dnd problems easier.
2016-07-15 10:07:57 -04:00
Mike Blumenkrantz 5726fc6f88 set unmax flag for xdg shell unmaximize
ref b5576dbb8c
2016-07-15 10:07:50 -04:00
Mike Blumenkrantz 08c98213cf match wl_wl output sizing in wl_x11 when running in an existing wm session
global sizing policy++
2016-07-15 10:07:45 -04:00
Mike Blumenkrantz c948541460 set x11 randr iface for wl_x11 based on wm presence, not composited state
fixes usage in non-composited x11 environments (eg. openbox)
2016-07-15 10:07:38 -04:00
Mike Blumenkrantz 9487da476b handle e_comp_x init failure more effectively and perform cleanups
fixes autodetection for x11 wayland output without setting E_WL_FORCE
2016-07-15 10:07:29 -04:00
Derek Foreman 38227ba536 Properly send kbd focus to xdg_shell popups
Oops, a client can have multiple top level windows.

ref f391a0fb67
2016-07-15 10:07:04 -04:00
Chidambar Zinnoury 3b2d9a74c2 e desks config: Bring some flip settings back.
These were inadvertently removed by e1369a24bd.

 @fix
2016-07-15 10:06:56 -04:00
Mariusz Bialonczyk 71da3a7832 modules/temperature: cosmetics: typo fix (celcius -> celsius)
Reviewers: zmike!

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D4129
2016-07-15 10:06:52 -04:00
Derek Foreman f391a0fb67 Fix xdg_shell keyboard enter/leave events
On xdg_shell we should only ever send enter/leave to top level surfaces
or GTK becomes sad.
2016-06-29 16:23:41 -05:00
Derek Foreman ada8e2deac Don't send keyboard leaves to unmapped wayland surfaces
There are actually toolkits that create surfaces, do nothing with them,
and destroy them.  Sending keyboard leave events for this causes problems.

Fixes a bug in handling of some GTK popups.
2016-06-29 16:21:49 -05:00
Derek Foreman 1f44a593c2 Track whether a surface is an xdg one 2016-06-29 16:19:20 -05:00
Derek Foreman 7b470c402e Set up attributes properly for wl_shell transient windows
This fixes Qt sub-windows.
2016-06-29 13:20:45 -05:00
Derek Foreman 27e9845abd Only unignore a client on the first commit with a buffer
Otherwise, if a wayland client does its first commit without a buffer
attached it will confuse our focus logic.
2016-06-29 13:20:37 -05:00
Mike Blumenkrantz 033217c8e1 destroy evry's focus-out timer if focus-in occurs before timer triggers
fixes dismissal during comp input regrabs
2016-06-29 10:02:47 -04:00
Derek Foreman 124e59df6f Add a pixel get callback for mirrors
Mirrors can be rendered independently of what they're mirroring,
which (at least under wayland) can result in a situation where the
mirror is rendered before the parent sets up their image pointers
properly.

We give mirrors their own callback to prevent that from causing a
crash.
2016-06-28 15:44:00 -05:00
Derek Foreman a04ee8e253 Revert "Always clear the mirror image data pointer"
This reverts commit 326d638ba2.

This, for some reason, resulted in client surfaces being blacked out,
despite only ever changing mirror surfaces.
2016-06-28 15:43:54 -05:00
Derek Foreman ab5879b926 Fix wayland pixmap ids again
Wayland pixmap ids are a different data type for internal and
external windows.  cast them both to 64-bits so they're the same
size regardless of arch.

ref d3ba524a62
2016-06-28 15:43:45 -05:00
Marcel Hollerbach 4f0e3bce84 emix: update sink of sink_input when changed
this fixes none changing sinks in the app.
2016-06-25 17:12:35 +02:00
Marcel Hollerbach afeb588632 e_comp: silence warning, this time really
as said on the ML
2016-06-25 16:00:30 +02:00
Marcel Hollerbach a80bc13336 e_comp: silence warning
after talking to zmike, this is by intend.
2016-06-25 15:29:45 +02:00
Marcel Hollerbach 9c8b6a1c5d e_xkb: eval group before setted to wl
otherwise we are going to set 0 as default group.

This commit refactors out _eval_cur_group from the init timer, since wl
does not need a init timer.
2016-06-25 15:01:44 +02:00
Marcel Hollerbach 4bc61cfbd3 music-player: add spotify 2016-06-25 01:11:57 +02:00
Derek Foreman c22c140c2f Fix zone setup for wayland compositor on X
Both the X and WL code try to set up the output pointer for the
zone.  Make the WL output take precedence, since it's actually
used for events.
2016-06-24 14:19:36 -05:00
Mike Blumenkrantz cefcc5248f add some hacks to route mouse events to wl popups correctly while mouse is down
in a choice between fixing a corner case popup behavior and breaking dnd
or having functional dnd and adding hacks to fix corner case popup behavior,
adding more hacks was the obvious correct solution

ref 03a4ecbdb0
2016-06-24 11:31:02 -04:00
Mike Blumenkrantz 4852a6903b remove unused event info from _e_comp_wl_mouse_out() 2016-06-24 11:31:02 -04:00
Derek Foreman eb94710146 Don't try to send surface presence events for zones with no wayland output
Avoid that NULL pointer deref.
2016-06-24 10:05:18 -05:00
Mike Blumenkrantz 191e5180b5 Revert "set NOGRAB pointer mode on comp object event objects"
This reverts commit 03a4ecbdb0.

this should be correct, and yet it crashes xwayland and breaks dnd
2016-06-23 18:06:22 -04:00
Mike Blumenkrantz 03a4ecbdb0 set NOGRAB pointer mode on comp object event objects
fixes dragging off surfaces in wayland
2016-06-23 17:16:03 -04:00
Derek Foreman bdf1017f90 Don't send configure to wl_shell popups
This confuses Qt badly, and rightly so, because we shouldn't be
doing it.
2016-06-23 11:26:57 -05:00
Derek Foreman 453e6adc33 Use e_client_util_is_popup for checking wayland clients
All the different popup types are tested by the helper function,
the current wayland tests were missing some.
2016-06-23 11:22:47 -05:00
Mike Blumenkrantz 9a50f6b218 disallow pager window drags for popups and ignored windows 2016-06-23 12:13:24 -04:00
Mike Blumenkrantz 22aa63c4a3 Revert "do not change E_Client->saved values during maximize if need_maximize is set"
This reverts commit 9a9c09f514.

a better solution should be found at some point since this is broken in x11 too
2016-06-22 13:31:50 -04:00
Mike Blumenkrantz 99e4f8452b don't set need_maximize during wl commit maximize
this breaks the maximize!

partially reverts b5576dbb8c
2016-06-22 12:30:01 -04:00
Mike Blumenkrantz da7e7d19fb freeze events on comp object input rects during deletion
prevents some event propagation which would cause flickering
2016-06-22 12:28:48 -04:00
Derek Foreman 326d638ba2 Always clear the mirror image data pointer
Under wayland evas will sometimes use the old one, I have no idea why.
Fixes a crash bug when mousing out of menus in a GTK app under wayland.

fix T3576
2016-06-21 17:53:16 -05:00
Marcel Hollerbach a45bbe3d35 e_xkb: init the keyboard on init
we need to flush in the first group here. For wayland currently each
keyboard configuration needs to be flushed each time.
2016-06-21 21:43:57 +02:00
Derek Foreman 11796c8b88 Update some wl_shell window handling logic
Our xdg_shell implementation has received some fixes that are also
applicable to wl_shell.  Qt still uses wl_shell, so we do have a test
case, and do need to keep it up to date.

This copies some window attributes, clamping logic, and diagnostic prints
from the xdg_shell implementation.
2016-06-21 12:33:49 -05:00
Derek Foreman 19817b47de Send wayland surface enter and leave events
These events are supposed to be sent to clients that have bound wl_output
and manipulate surfaces.
2016-06-21 12:33:49 -05:00
Derek Foreman 11cb74a288 Track X outputs for zones
We needed this for wayland, so we add the same tracking for X to be
consistent - though we have no users yet.
2016-06-21 12:33:49 -05:00
Derek Foreman 3ff5e8dff4 Track wayland outputs for zones 2016-06-21 12:33:49 -05:00
Derek Foreman fc37423c2e Add new API for finding a zone by its id string 2016-06-21 12:33:49 -05:00
Mike Blumenkrantz 36c486906d apply client size for session recovery remember
fixes maximize restoring
2016-06-20 16:04:11 -04:00
Mike Blumenkrantz b5576dbb8c use separate flag for pending wl client unmaximize
also set flag to prevent saved geometry from being overwritten
2016-06-20 16:04:10 -04:00
Mike Blumenkrantz 9a9c09f514 do not change E_Client->saved values during maximize if need_maximize is set
this is indicative of a deferred maximize, so don't re-set it and screw up
previously-set values
2016-06-20 16:04:10 -04:00
Mike Blumenkrantz b5ef8766f4 store maximize property from E_Remember to disk 2016-06-20 16:04:10 -04:00
Mike Blumenkrantz c5266515ba set need_maximize flag on remembered client when applying maximize
causes maximize to be applied
2016-06-20 16:04:10 -04:00
Mike Blumenkrantz 0f022976e0 use pending wl maximize value to determine maximize flag in xdg configure
fixes some cases where fast configures would break maximizing
2016-06-20 16:04:10 -04:00
Mike Blumenkrantz 12bcf7ecea match deskmirror client opacity with original object
fix T3911
2016-06-20 16:04:10 -04:00
Mike Blumenkrantz 10eb06b377 update secondary remembers when a session recovery remember is updated
the session recovery remember may block updates for the user-created
remember, creating continuity issues when a new instance is launched
2016-06-20 16:04:10 -04:00
Mike Blumenkrantz e8e6ada2e1 prevent E_Remember->used_count from going negative 2016-06-20 16:04:10 -04:00
Mike Blumenkrantz 890008cdf2 prevent editing of session recovery remembers
find/create new ones in this case
2016-06-20 16:04:10 -04:00
Mike Blumenkrantz a93aadfe01 replace wireless connection error #warning with notification
this needs a more robust infrastructure than I'm prepared to write at
the moment, but errors do need to be seen
2016-06-20 12:37:28 -04:00
Mike Blumenkrantz aa1768a9d9 enforce mouse grabs and block client/compositor event propagation while active
fixes cases where mouse events could filter to objects and cause unwanted effects,
such as evry hiding randomly under wayland
2016-06-18 10:56:14 -04:00
Derek Foreman 4bd97bfd5c Fix eo object use after deletion in evry
On window hide the focus out callback is triggering and causing a new
timer to be set up.  This timer fires when the window no longer exists.

Remove the focus_out callback when we hide the window.
2016-06-17 16:40:20 -05:00
Mike Blumenkrantz 6fd2d4487f force unset override and do reshadow on evry when switching to normal win mode
fixes window movement and close animations
2016-06-17 17:19:02 -04:00
Derek Foreman b6819e5a77 Fix wl_shell popup livelock
Trying to put wl_shell popups in the popup layer results in stacking
problems later and a never ending loop.

Just don't.

fix T3433
2016-06-16 14:37:15 -05:00
Mike Blumenkrantz 6b081d1d44 do not mouse-out of clients on focus out when focusing a popup
popups are transient in nature and do not interfere with mouse-based focus
policies

ref 3e6d6b348f
2016-06-16 14:48:51 -04:00
Derek Foreman 4f8dd3f1e5 Fix wl_shell clamping rules
The current clamping logic clamps submenus so that they're contained
within their parent instead of adjacent to them.
2016-06-15 16:39:08 -05:00
Derek Foreman 2463ce8b43 Fix crash in wl_shell surface destroy
wl_shell doesn't set up shell.data, but this destructor is shared
with xdg_shell which does.
2016-06-15 15:19:32 -05:00
Mike Blumenkrantz 771f71e6a9 add separate mouse in/out handlers for internal wins
internal wayland windows are windows with ssd, meaning they can only receive
pointer events on the contents of the window and not the entire window including
decoration regions

ref T3819
2016-06-13 12:00:09 -04:00
Mike Blumenkrantz a6bed1841a use focused client for window actions if passed object is not a client object
in the case where an action is triggered from the compositor or manager contexts
the passed object will not be a client, causing actions to fail when they should
succeed

fix T3854
2016-06-09 11:26:17 -04:00
Al Poole 4f1f29ae35 fix openbsd battery calc on amd64 2016-06-09 11:15:09 -04:00
Mike Blumenkrantz 0e416648df optimize e_client_res_change_geometry_restore()
performing the entire unfullscreen/unmaximize routine causes a significant
amount of overhead, and it also breaks window geometries in wayland due to
synchronization
2016-06-07 11:24:27 -04:00
Derek Foreman 573df39c17 Allow pixmap argb state to override window state for wayland clients
Wayland argb state depends entirely on the attached buffer, so we
should use that for determining object argb state on wayland.

ref 6d397e313b
ref 60da58d8ad
2016-06-06 14:06:00 -05:00
Mike Blumenkrantz e95098fedb add tooltip for unloadable teamwork links, make ctrl suppress tw activation
fix T2995
2016-06-02 13:08:52 -04:00
Mike Blumenkrantz 07ed7a1433 force mouse-in again during comp ungrab if client previously had mouse-in
unfocus performs a mouse-out, so this is necessary in order to allow events
to reach the client again after a grab ends
2016-06-01 13:11:20 -04:00
Mike Blumenkrantz 492f9bcf4e unset comp_grabbed flag before action client compositor ungrab
this flag was blocking accurate event propagation in some cases
2016-06-01 13:11:20 -04:00
Mike Blumenkrantz 48ee824c63 only block mouse-out callback for wl action clients if the mouse is grabbed 2016-06-01 13:11:20 -04:00
Mike Blumenkrantz 3c9013eeb0 protect against crash when deleting wl session recovery remember 2016-06-01 13:11:19 -04:00
Mike Blumenkrantz ffbf4235dd Revert "eo_del -> eo_unref in xwayland"
This reverts commit 1eddd375d8.
2016-06-01 09:57:17 -04:00
Mike Blumenkrantz 859b1b989f handle shaded state when receiving x11 configure requests
previously this would resize the window without unshading it, leading to
a confusing state for the window and the user
2016-05-31 12:31:50 -04:00
Mike Blumenkrantz 68c93a1adf use current zone when activating a client's menu with the mouse
the mouse defines position of a mouse-activated menu

fix T3701
2016-05-31 12:23:50 -04:00
Mike Blumenkrantz 1fef7d04dc delete x11 mouse-in job when hiding the job's client
spurious x11 mouse events will be received when activating a mouse binding which
flips the active desk

fix T3716
2016-05-31 12:21:09 -04:00
Hannes Janetzek b3561d7641 just a small patch to make sure evry_hide does not get called synchronously from an Evry_Action 2016-05-31 11:42:27 -04:00
Mike Blumenkrantz 3e7f8284cd set x11 maximized window hint correctly on resize end
fix T3702
2016-05-27 12:15:26 -04:00
Chris Michael 0d2b6b047c port enlightenment to use drm2
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-05-27 09:53:41 -04:00
Chris Michael c21bced4f8 change 'if' clause to make gcc-6 happy
Gcc 6 was spitting a nasty little compiler warning here:

src/bin/e_fm.c: In function ‘e_fm2_icon_geometry_get’:
src/bin/e_fm.c:2354:4: warning: this ‘if’ clause does not guard...
[-Wmisleading-indentation]
if (x) *x = 0; if (y) *y = 0; if (w) *w = 0; if (h) *h = 0;
^~
src/bin/e_fm.c:2354:19: note: ...this statement, but the
latter is misleadingly indented as if it is guarded by the ‘if’
if (x) *x = 0; if (y) *y = 0; if (w) *w = 0; if (h) *h = 0;

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-05-24 15:48:18 -04:00
Mike Blumenkrantz b40857b9f0 use current zone for shelf config dialog
fix T3683
2016-05-24 11:59:56 -04:00
Mike Blumenkrantz c58a3919e9 update client remember on opacity change
fix T3681
2016-05-24 11:52:31 -04:00
Mike Blumenkrantz b6b89256e1 use correct indexing for x11 teamwork server atom array
CID 1355933
2016-05-23 11:34:32 -04:00
Mike Blumenkrantz 361bcd9bcd upgrade teamwork module to use teamwork v2: teamwork++
use display protocol and add wayland support
2016-05-20 15:06:09 -04:00
Davide Andreoli 107872af91 enlightenment_open: correctly return the exist status code of the executed command
@fix and close T3555
2016-05-20 19:25:42 +02:00
Derek Foreman e5e875ded8 Fix dmabuf breakage of non wayland builds.
#IWearTheHatOfShame
2016-05-19 10:23:22 -05:00
Chris Michael bd1847162e remove unused variables in _dmabuf_add function
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-05-19 08:57:43 -04:00
Mike Blumenkrantz c53a6efc8d add client util function for detecting popups, block popups in ibar/tasks
mainly a wayland issue where popup menus would cause the tasks gadget to
grow and shrink uncontrollably
2016-05-18 14:43:21 -04:00
Derek Foreman 402c56e1f2 clean up warnings in dmabuf code 2016-05-18 12:34:23 -05:00
Mike Blumenkrantz 1eddd375d8 eo_del -> eo_unref in xwayland 2016-05-18 13:26:59 -04:00
Derek Foreman 2d1802375d Add DMABuf support for wayland
This adds compositor handling of DMABuf buffers.  DMAbuf capabilities
are advertised for the drm back-ends, and DMAbuf buffers are handled
as native surfaces.
2016-05-18 12:05:34 -05:00
Derek Foreman da23b852e7 Disable wayland dmabuf for the X11 backend
This is just too hard to get right and nobody will notice its
absence, so let's not bother for now (or ever, I hope)
2016-05-18 12:05:34 -05:00
Derek Foreman 6b0c55dd96 Track parent compositor dmabuf capabilities on wayland on wayland
When running as a wayland compositor connected to another wayland
compositor, we don't want to advertise dmabuf capabilities if the
parent compositor doesn't support them.

If it does, we'll want to proxy dmabuf requests to it instead of handling
them ourselves.

Expose this as new bools in e_comp_wl.
2016-05-18 12:05:34 -05:00
Derek Foreman f6d99980ba Remove GL presence test from native surface set on dirty objects
This test has been pushed into e_comp_object_native_surface_set() and
will be done as appropriate.

Upcoming wayland DMAbuf buffers need native surfaces even if GL isn't
present.
2016-05-18 12:05:34 -05:00
Derek Foreman 50a3f84191 Move the test for resetting no native surface to after caps checks
This is supposed to be functionally equivalent, but is a little tricky to
prove.

The benefit of this is a simplification to the callers, which no longer
have to consider gl capabilities in the call, as that is now tested for
internally.
2016-05-18 12:05:33 -05:00
Derek Foreman 57f0150b73 Break native surface test criteria into explicit wayland and X cases
Until now it's been reasonable to consider these together as the
criteria have been similar.  With the upcoming introduction of wayland
DMAbuf buffers, they diverge.

We don't need to test for GL in the wayland case because we don't
advertise GL capabilities to clients when we don't support it, so they
can't create GL buffers unless we can display them.
2016-05-18 12:05:33 -05:00
Derek Foreman 1774b59923 Add e_pixmap API for testing if a pixmap is a native surface
DMAbuf for wayland will complicate determining whether a pixmap can use
a native surface or not, so we add an API here to check this.

Note that this doesn't take compositor capabilities into account - for
example, X pixmaps need GL enabled to use native surfaces.  This is
already tested elsewhere.
2016-05-18 12:05:33 -05:00
Mike Blumenkrantz 91d16899b1 fix e_place_zone_region_smart_cleanup()
this function was adding the same client multiple times, failing to cleanup
windows effectively, and misusing the skiplist functionality of e_place functions

fix T3654
2016-05-18 12:32:27 -04:00
Mike Blumenkrantz 366193f2d2 remove pulse sinks/sources from list before running cbs which access the list
this guarantees a crash any time the default sink gets removed since it will
always re-set the about-to-be-deleted default sink as the default sink

fix T3277 probably
2016-05-17 15:05:18 -04:00
Carsten Haitzler 62bcd72eef e - suspend.hibernat intelligently - dont account for ac power
this means only lid/screen status affects intelligent suspending. it's
not what people expect and doesnt rely on ecore getting mains power
stuff right too.
2016-05-17 00:33:47 +09:00
Chris Michael b5e47665bb stop filling logs with buffer transform/scale spam
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-05-15 10:47:53 -04:00
Carsten Haitzler 59e2eb40f8 warnings - silence some theoreitcal wranings in build
a bunch of "potentially uninitialized variable" warnings fixed.
2016-05-15 23:14:15 +09:00
Mike Blumenkrantz ec9a888fcf more tweaks for manual window placement in client eval 2016-05-13 11:38:17 -04:00
Mike Blumenkrantz 685aafcd41 prevent double emission of E_EVENT_CLIENT_SHOW 2016-05-13 11:28:27 -04:00
Mike Blumenkrantz 030d083c73 ensure that client eval correctly handles retries on visibility-pending clients
ref 2854352bc8
fix T3636
2016-05-13 11:24:08 -04:00
Marcel Hollerbach 1aea5ab079 e_xkb: reconfig when we have set a new set of layouts
When in the config dialog a new set of layouts is created, this set has
to be told to the displayserver. Like at the startup of e, so calling
e_xkb_reconfig().

fix T3072
2016-05-12 21:02:40 +02:00
Marcel Hollerbach ce6d2285f1 e_xkb: split up e_xkb_update
before the function had the semantics that -1 flushes the set of layouts
back to the displayservice. Now its done with e_xkb_reconfig.
2016-05-12 20:54:22 +02:00
Mike Blumenkrantz 189dce81f9 force cursor placement to obey useful zone geometry 2016-05-12 12:10:48 -04:00
Mike Blumenkrantz 2854352bc8 adjust some client eval parts to make manual placement work again
activating the window_move action doesn't require the client to successfully
be shown, and failing this check would cause the window_move action to be
deleted until the next restart
2016-05-12 12:05:59 -04:00
Mike Blumenkrantz 55c83134c1 use parent windows for x11 binding grabs
ensure that internal windows do not receive mouse events before the compositor

fix T3347
2016-05-12 11:23:20 -04:00
Mike Blumenkrantz 60da58d8ad only check pixmap argb state for non-X11 clients
non-argb windows can have argb pixmaps.

ref 6d397e313b
2016-05-11 18:34:49 -04:00
Mike Blumenkrantz ada13539bf avoid infinitely looping when applying x11 window grouping
#ThatTimeKainXFoundABug
2016-05-11 18:29:38 -04:00
Mike Blumenkrantz d3ba524a62 use window id for internal window pixmaps again on wayland
this was breaking internal windows when more than one was open, and
especially if any were open which had a parent-child relationship, by
using the same id for all internal window pixmaps
2016-05-11 15:40:10 -04:00
Mike Blumenkrantz 45e872ddf1 set E_Client->override flag for internal wins as needed 2016-05-11 15:40:10 -04:00
Mike Blumenkrantz 8d4a75575c remove some cruft from _e_comp_wl_client_cb_new() 2016-05-11 15:40:10 -04:00
Mike Blumenkrantz 2d85b8f111 ensure int64_t is used in all cases for wl pixmap ids 2016-05-11 15:40:10 -04:00
Mike Blumenkrantz 4a47f74b3a enforce setting alpha on comp objects only after image data has been set
setting alpha can trigger a render sync, crashing if the old data is no
longer valid
2016-05-11 15:40:10 -04:00
Mike Blumenkrantz 6d397e313b also check pixmap argb state when setting comp object alpha
more accurate for wayland
2016-05-11 15:40:09 -04:00
Mike Blumenkrantz 5d300bcb46 fix usage of e_object_unref in xkbswitch when managing new kbd dialog
probably harmless?
2016-05-11 15:40:09 -04:00
Mike Blumenkrantz f25b2ab434 toggle compositor canvas focus during init
this sets the toplevel focus flag in elm, allowing widgets on the compositor
canvas to receive focus in wayland compositors
2016-05-11 13:33:31 -04:00
Mike Blumenkrantz 89deb898ad change efm icon entry to only toggle focus in x11 compositors (runtime) 2016-05-11 13:32:52 -04:00
Mike Blumenkrantz 280a29cc95 Revert "add SA_NOCLDWAIT to SIGCHLD flags when xwayland module loads"
This reverts commit 66a3fcb013.

fix T3599
2016-05-11 12:49:53 -04:00
Mike Blumenkrantz f2ad686fc3 handle positioning of x11 overrides with csd accurately
when first applying the csd region to this type of window the coords must
be adjusted in order to account for the shadow

fix T2934, T2931
2016-05-10 16:04:57 -04:00
Mike Blumenkrantz e2390bebff only load wayland-specific modules on startup if they have been built 2016-05-10 14:18:09 -04:00
Mike Blumenkrantz e4f3179731 block keyboard sending for wl clients if a compositor grab is active
fix T3599
2016-05-10 13:00:01 -04:00
Mike Blumenkrantz f37590209d disable focus effects for windows with csd
fix T3408
2016-05-10 12:35:06 -04:00
Mike Blumenkrantz 16797009c0 ensure child windows are placed on screen
when centering a child over its parent, checks were not made to ensure that
by centering the child it had not gone offscreen
2016-05-10 12:13:12 -04:00
Mike Blumenkrantz ac86429a2c manage pending state list more effectively in wl shell
fix T3433
2016-05-10 11:34:48 -04:00
Mike Blumenkrantz 240561fda1 do not add ignored clients to ibar menu
fix T3603
2016-05-09 13:56:56 -04:00
Mike Blumenkrantz 7ebaa1ffb3 make init fail if a dbus session connection cannot be created
typically this indicates a broken session manager or someone trying to run
a wayland session without using dbus-launch
2016-05-09 13:30:40 -04:00
Mike Blumenkrantz c286fe48c0 prune uuid remembers on clean startup
ensure that stale sessions are destroyed regularly
2016-05-06 14:35:16 -04:00
Mike Blumenkrantz 411f378998 flag wl surfaces as internal during create() based on pid matching
fix T3596
2016-05-06 13:52:10 -04:00
Mike Blumenkrantz 66a3fcb013 add SA_NOCLDWAIT to SIGCHLD flags when xwayland module loads
pulseaudio uses waitpid internally and will deadlock if ecore-audio
performs a deferred connect
2016-05-06 13:43:47 -04:00
Mike Blumenkrantz 3178064d30 ensure xwayland module init does not fail due to early startup
comp_type may not be set at the time of init
2016-05-06 13:42:20 -04:00
Mike Blumenkrantz 01c261e9f7 unset DISPLAY during mixer's pulse backend startup
fixes more xwayland deadlocks
2016-05-06 13:40:03 -04:00
Mike Blumenkrantz ed25a5005f clean up mixer includes
config.h needs to be included. always.
2016-05-06 13:38:09 -04:00
Mike Blumenkrantz 720074e926 add configure flag for xwayland binary 2016-05-06 13:37:10 -04:00
Mike Blumenkrantz ef1772b8cb implement wl client session recovery
another small feature patch brought to you by insomnia

 #SamsungFeatures
2016-05-05 15:47:55 -04:00
Mike Blumenkrantz e0d1a572a1 bad copy/paste in _e_place_desk_region_smart_obstacle_add()
CID 1354988
2016-05-05 09:36:42 -04:00
Mike Blumenkrantz 4639062133 uninitialized vars in e_client_maximize_geometry_get()
CID 1354989, 1354990
2016-05-05 09:35:51 -04:00
Mike Blumenkrantz 9451f22d6c evry null deref
CID 1355061
2016-05-05 09:33:55 -04:00
Chris Michael 9e3b8b7528 disable option for mouse to use Application theme if we are running in Wayland
Small patch to disable selecting Application themed mouse pointers
when running in wayland as this option is currently broken when
running in wayland (gives no mouse cursor at all)

e_pointer calls _e_pointer_x11_setup (from _e_pointer_type_set) which
only sets the cursor via ecore_x_cursor_shape_get calls...

essentially you end up with no mouse cursor because e_pointer is
missing codepaths to lookup system mouse cursor images when running in
wayland.

ref T3585

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-05-04 14:55:26 -04:00
Mike Blumenkrantz 768252740b don't revert focus to desktop fileman during compositor grab
grabs indicate an action is already occurring and focus shouldn't be altered
2016-05-03 20:27:03 -04:00
Mike Blumenkrantz ecf22d6787 hide evry on focus-out
handles case where focus is lost due to compositor grab
2016-05-03 20:27:03 -04:00
Mike Blumenkrantz 32cf7162ed ensure lifetime for wl client focus timer
fixes some focus-out crashing
2016-05-03 20:27:02 -04:00
Mike Blumenkrantz 69370250d1 don't refocus deleted clients during wl compositor grab 2016-05-03 20:27:02 -04:00
Mike Blumenkrantz 53e0bf08bc further optimize window smart placement by reducing obstacle calcs
previously the obstacle list would build from the bottom up, skipping
fullscreen and maximized windows. this would lead to cases where windows
would be moved to avoid windows which were fully obscured, and also cases
where unnecessarily large amounts of looping would occur related to the
existence of maximized windows
2016-05-02 18:37:17 -04:00
Mike Blumenkrantz 049deb2c12 directly load extra wl modules during compositor init
speed++++++++
2016-04-28 17:58:45 -04:00
Mike Blumenkrantz 01ac84035f ensure that the startup apps cache handler has run before trying to start apps
fixes timing issues when running startup apps
2016-04-28 17:58:45 -04:00
Mike Blumenkrantz 20f1aa8727 feed mouse up events to internal wins before mouse out during action exec
ref 609276e12d

fix T3347
2016-04-28 12:00:17 -04:00
Mike Blumenkrantz 33503babc8 apply xdg-shell activated state based on popup surface focus hierarchy
if a popup is activated, the originating toplevel surface should also remain
focused
2016-04-27 11:28:07 -04:00
Mike Blumenkrantz 502662456f Revert "handle recursion more effectively in e_menu_hide_all()"
This reverts commit 5764bf680e.

this was a workaround for a behavior change in efl
2016-04-27 11:27:56 -04:00
Andy Williams bcefcdf50c Only set the icon theme in elm on change
Avoid forcing config changes when they're not needed
2016-04-26 22:55:16 +01:00
Mike Blumenkrantz 5764bf680e handle recursion more effectively in e_menu_hide_all()
there were recent changes to evas object deletion mechanics which caused
this to begin crashing due to recent changes to evas object deletion mechanics
2016-04-26 10:43:07 -04:00
Mike Blumenkrantz 008a3a8152 distribute all weekeyboard edj files
fixes a build failure in packaging
2016-04-26 10:43:07 -04:00
Mike Blumenkrantz 2c1e864fbc move wayland surface E_Client del check to a place where it's more useful
completely breaks wayland on first commit? off to an auspicious start!

ref d9679f765f
2016-04-26 08:58:50 -04:00
Andy Williams 90b1bf63b7 Set the fdo theme to Elementary as well
If the user has specified that applications should
have the same icons then push the value to elm's
new icon lookup configuration.
2016-04-26 00:18:59 +01:00
Eduardo Lima (Etrunko) 677adbbc2e Revert "Bluez 5"
This reverts commit 767df72a75.
2016-04-25 19:56:22 -03:00
Eduardo Lima (Etrunko) 8acbf5d013 Fix warnings about uninitialized use of variables
src/bin/e_zone.c: In function ‘_e_zone_useful_geometry_calc’:
src/bin/e_zone.c:1272:14: warning: ‘geom.h’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    if (h) *h = geom.h;
              ^
src/bin/e_zone.c:1271:14: warning: ‘geom.w’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    if (w) *w = geom.w;
              ^
src/bin/e_zone.c:1270:23: warning: ‘geom.y’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    if (y) *y = geom.y + zy;
                       ^
src/bin/e_zone.c:1269:23: warning: ‘geom.x’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    if (x) *x = geom.x + zx;
                       ^
src/bin/e_client.c: In function ‘e_client_maximize_geometry_get’:
src/bin/e_client.c:3754:16: warning: ‘y’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    if (my) *my = y;
                ^
src/bin/e_client.c:3753:16: warning: ‘x’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    if (mx) *mx = x;
                ^
src/bin/e_client.c: In function ‘e_client_fullscreen’:
src/bin/e_client.c:4032:21: warning: ‘h’ may be used uninitialized in this function [-Wmaybe-uninitialized]
         ec->saved.h = h;
                     ^
src/bin/e_client.c:4031:21: warning: ‘w’ may be used uninitialized in this function [-Wmaybe-uninitialized]
         ec->saved.w = w;
                     ^
src/bin/e_client.c:4030:21: warning: ‘y’ may be used uninitialized in this function [-Wmaybe-uninitialized]
         ec->saved.y = y;
                     ^
src/bin/e_client.c:4029:21: warning: ‘x’ may be used uninitialized in this function [-Wmaybe-uninitialized]
         ec->saved.x = x;
                     ^
Signed-off-by: Eduardo Lima (Etrunko) <eblima@gmail.com>
2016-04-25 19:40:42 -03:00
Eduardo Lima (Etrunko) 767df72a75 Bluez 5
Signed-off-by: Eduardo Lima (Etrunko) <eduardo.lima@intel.com>
2016-04-25 19:29:01 -03:00
Derek Foreman d9679f765f wayland: Fix crash when attempting to create surfaces for deleted clients
Internal clients can be deleted by keybind before the surface create
callback fires resulting in a NULL pointer dereference.
2016-04-25 16:40:32 -05:00
Mike Blumenkrantz 53320330c6 protect xdg-shell functions from accessing deleted client data
this is mostly an issue for internal windows since they get deleted by
the compositor before the client is aware
2016-04-25 14:11:24 -04:00