Commit Graph

11599 Commits

Author SHA1 Message Date
Carsten Haitzler a1541f9a40 e bindings - fix warnings about possible use of undefined var 2016-12-28 20:16:29 +09:00
Carsten Haitzler 9ca5ea5817 efm - fix ifs to be ifdef as they should be 2016-12-28 19:55:24 +09:00
Carsten Haitzler 03d0f1d2dc e - fix float warnings cmp where they actually may cause issues 2016-12-28 19:55:20 +09:00
Carsten Haitzler a5faab4fa1 efm - warning - change invalid #if toe #ifdef as this is right 2016-12-28 19:15:58 +09:00
Mike Blumenkrantz 001e08c54a bump modapi
e_client.h changed
2016-12-19 11:04:02 -05:00
Mike Blumenkrantz 30b25f16d1 remove extra SLEEP prints during startup on non-release builds
this was useful for startup profiling, but there are better methods available now

partially reverts 2850c28167
2016-12-19 10:59:14 -05:00
Carsten Haitzler 8b6ba41a66 e window menu now skips stack windows except top one 2016-12-17 15:11:23 +09:00
Carsten Haitzler 652d7e113e e wl - fix build break with wl. 2016-12-16 22:03:17 +09:00
Carsten Haitzler e9de31249a stacks - fix crash for pointer warp when client is null 2016-12-16 19:03:21 +09:00
Carsten Haitzler c6fa2f6457 tasks - add stack "hiding" support and only show top stack item
this makes tasks behave like you'd expect with a stack - only show the
top one and track properly. tasks was simple and easiest to do first
as it has little fluff other than the tasks logic itself. other
elements of e next...
2016-12-16 18:59:56 +09:00
Carsten Haitzler 6540eddb96 e module - remove duplicate modules at load all time from config
ALSO dont remove dups from e_module_new as we may be walking at the
time. instead refuse to load a module alread loaded bu name. this
should solve things better.

@fix
2016-12-16 16:18:27 +09:00
Carsten Haitzler aead4d96b4 e config - don't keep adding lunchers until you burst. only if not found
so e config would add lunhcers forevert. i spotted 13 of them. no.
just one. also make them delayed because thats pretty much what we
always want. same with other config added modules. should be delayed
generally.
2016-12-16 16:18:27 +09:00
Carsten Haitzler 5c38609e0e client handling - add support for window stacks needed for views/manager
this adds core basic handling for window stacks where windows behave
correctly as a single unified stack something like what naviframe does
but out-of-window so you can including multiple processes. only on x11
right now as it's being supported/worked on.

as we dont plan to kepe naviframe in future, this is the way to go.
naviframe "pages" will be windows in a stack. the wm should do the
nice thing. in e this will be very nice. for now elsewhere we use
transient_for so a wm would treat this like a bunch of dialogs with a
single parent window. i guess in a desktop thats probably what you
might expect. e will be a little more "finesse" filled.

need to make ibar, tasks,m win menu and winlist (alt-tab) respect this
and only show the top member of a stack.

need to send messages to clients when they are "top" or "middle" or
"bottom" or "alone" in the stack or something so decorations can change.

should add soem new border signals in theme (for both SSD and CSD) to
make this look nice. will need some config additions for that and
ability for e comp to do the right thing

but this is a solid start
2016-12-16 16:17:10 +09:00
Derek Foreman d83e885673 Use a monotonic clock for frame callback times 2016-12-15 09:59:21 -06:00
Stephen 'Okra' Houston 30ba420c6d E_Config: Fix auto load of luncher
This fixes T5007 https://phab.enlightenment.org/T5007
2016-12-15 09:00:35 -06:00
Stephen 'Okra' Houston 46ae444069 E_Config: Auto load luncher if ibar is enabled and bump config. 2016-12-14 11:52:10 -06:00
Mike Blumenkrantz a73ad1b190 plug iterator leak in e_comp_object_render()
==13307== 96 bytes in 1 blocks are definitely lost in loss record 6,598 of 11,698
==13307==    at 0x4C2DA60: calloc (vg_replace_malloc.c:711)
==13307==    by 0xCECA287: eina_tiler_iterator_new (eina_tiler.c:1299)
==13307==    by 0x46D13D: e_comp_object_render (e_comp_object.c:3966)
==13307==    by 0x46DB42: e_comp_object_dirty (e_comp_object.c:3923)
==13307==    by 0x46017D: _e_comp_client_update (e_comp.c:343)
==13307==    by 0x46017D: _e_comp_cb_update (e_comp.c:400)
==13307==    by 0xB34D4BA: _ecore_job_event_handler (ecore_job.c:98)
==13307==    by 0xB34909C: _ecore_call_handler_cb (ecore_private.h:317)
==13307==    by 0xB34909C: _ecore_event_call (ecore_events.c:518)
==13307==    by 0xB350527: _ecore_main_loop_iterate_internal (ecore_main.c:2359)
==13307==    by 0xB3508A6: ecore_main_loop_begin (ecore_main.c:1287)
==13307==    by 0x43C88A: main (e_main.c:1093)
2016-12-14 11:44:58 -05:00
Derek Foreman 0493abf457 Fix wayland frame callback times
ecore_time_unix_get() * 1000 is too big to fit in a uint32, so take the
time we instantiate the wayland pixmap hash and use that as a base.
2016-12-13 13:54:21 -06:00
Mike Blumenkrantz e62423603a correctly set E_POINTER_RESIZE_BR mode for client keyboard resizing
typo from when this was refactored

fix T2452, T2579
2016-12-13 11:10:13 -05:00
Mike Blumenkrantz 485f250880 don't track gadget drop handler objects for deletion
the user should be managing this
2016-12-09 11:59:24 -05:00
Mike Blumenkrantz 4e3ea4f6b3 add some internal functions for triggering fake screen hotplug events
debugging is fun
2016-12-09 11:52:03 -05:00
Mike Blumenkrantz 3bae673848 null out bryce and site pointers when deleting bryce object
fixes handling of bryces when changing screen setup
2016-12-09 11:52:03 -05:00
Mike Blumenkrantz f1c70e626f null out animator pointers in efx stop() operations 2016-12-08 11:20:45 -05:00
Derek Foreman ae9d2904c7 test dmabuf pixmaps properly
If we can't handle a dmabuf format we now properly tell the client instead
of accepting it anyway and falling apart later.
2016-12-06 16:37:35 -06:00
Mike Blumenkrantz 0e4ddaffbe use better check for getting wl surface alpha from cursor pixmaps
ref 6ba85cf864
2016-12-05 11:05:24 -05:00
Mike Blumenkrantz b1037cbc5c Revert "Check for deleted client in e_pixmap_image_is_argb"
This reverts commit 6ba85cf864.

returning false here causes csd regions to become opaque (black) during
close animations
2016-12-05 11:05:24 -05:00
Mike Blumenkrantz 8f39054965 handle pass_event clients in e_comp_object_coords_inside_input_area
fix T4966
2016-12-05 11:05:24 -05:00
Mike Blumenkrantz ca7c77d05e fix internal wl windows to exit when border X is clicked 2016-12-05 10:49:06 -05:00
Mike Blumenkrantz e42b072f38 attempt to re-set wl surface pointer when popping back to "default" pointer type
this automatically handles the case where enlightenment has commandeered the
cursor temporarily and the active client has not unset+set a new cursor in the
meantime
2016-12-02 10:54:06 -05:00
Mike Blumenkrantz 5f246e079b set wl pointer surfaces to E_LAYER_CLIENT_PRIO during setup
these later get overridden onto the pointer layer, but setting a layer
here ensures that the pointer surface will always be the client
returned by e_client_top_get()
2016-12-02 10:54:06 -05:00
Mike Blumenkrantz 647e998b72 do not pop pointer types on client hide events if the client is pass_events
these clients cannot receive events and thus have no pointer to pop
2016-12-02 10:54:06 -05:00
Chris Michael 4aba7e7beb remove unused variables in e_comp_wl
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-12-02 10:41:46 -05:00
Derek Foreman 41e60d251e Stop sending key up/down events on focus change under wayland
We shouldn't be doing this, but there's a collective memory that
this was put in place to fix stuck modifier bugs.

If we run into stuck modifiers again because of this patch, then we
should be fixing them in a different way.

If anyone bisects to this point, I apologize - assign me a ticket.
2016-12-01 10:55:49 -06:00
Mike Blumenkrantz 08ee9293df feed mouse move and canvas mouse up upon breaking a wl surface grab
ensure that the hw pointer location and the cursor location match after grabs

fix T4939
2016-12-01 11:22:42 -05:00
Carsten Haitzler 8934ada4d8 e_util_defer_object_del - ensure order of deferred deletions are right
so since e_util_defer_object_del used a before idler this would
reverse deletion order vs the order submitted. this may cause issues.
not sure. chasing netstar's "animator stops" issue, but if defered
deletion if disabled seems to stop it from happening.

at least fix order if multiple deferred deletions are queued

@fix
2016-12-01 08:49:33 +09:00
Derek Foreman 60617c82d7 More aggressively prune keyboard focus list
Even if a client is deleted we still need to get its resources off the
keyboard focus list.
2016-11-30 14:48:54 -06:00
Derek Foreman ce34c550e7 Fix crash when exiting an xdg shell application
The focus in timer has been firing for deleted clients, this causes a
NULL pointer dereference.

Then again, maybe the timer should've been disabled by now...
2016-11-30 14:48:54 -06:00
Derek Foreman 8245c1eb7a Fix keyboard tracking when leaving an xdg shell window
_parent_client_contains_pointer() shouldn't return true if there is no
parent client.  This could result in leaving stale resources in the
keyboard focus list and crash the compositor.
2016-11-30 14:48:54 -06:00
Mike Blumenkrantz ca5176e6fa handle input detection for wl surface grabs more accurately using stacking
this should more accurately handle cases where mouse movements over grabbed
surfaces are intercepted by overlapping windows
2016-11-30 12:46:54 -05:00
Mike Blumenkrantz f83045dc62 move the comp canvas cursor object during wl surface grabs
the struct member is not guaranteed to be the visible object, so get
the ee cursor and move that
2016-11-30 12:34:30 -05:00
Mike Blumenkrantz a3a239c1d0 use correct coords for determining input region calcs on comp objects 2016-11-30 12:34:30 -05:00
Derek Foreman 6ba85cf864 Check for deleted client in e_pixmap_image_is_argb
Fixes a crash when closing Qt applications.
2016-11-29 11:13:50 -06:00
Mike Blumenkrantz 19a902ec09 stack subsurfaces above their parents upon creation
handles the case where no explicit stacking is set on the subsurface
2016-11-29 10:11:23 -05:00
Romain Naour c8f5f942d0 E: fix Wayland without xwayland build
When building enlightement without xwayland, we need to provide
MESA_EGL_NO_X11_HEADERS in the CFLAGS to avoid including X11/Xlib.h.

This define is provided by WAYLAND_EGL_CFLAGS, so add it for E modules
and e_fm build.

Fixes:
In file included from /usr/include/EGL/egl.h:39:0,
                 from ./src/bin/e.h:108,
                 from src/modules/mixer/lib/backends/pulseaudio/pulse.c:1:
/usr/include/EGL/eglplatform.h:119:22: erreur fatale : X11/Xlib.h

Signed-off-by: Romain Naour <romain.naour@gmail.com>
2016-11-28 10:43:28 -05:00
Mike Blumenkrantz b133dbd35d prevent divide by zero when calculating gadget aspect sizing 2016-11-28 10:43:28 -05:00
Chris Michael 96d517a6f2 use ecore_evas_screen_dpi_get when updating e_scale value
Now that the ecore_evas_drm code can return screen dpi, we can use
that rather than using a client API function (ecore_wl2) to get server
screen dpi.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-11-28 10:10:28 -05:00
Derek Foreman 9f3de5e346 Fix wayland deferred buffer free crash
We'd sometimes get a stale pointer when doing a deferred buffer free.
2016-11-25 11:14:38 -06:00
Mike Blumenkrantz 8f8b25ae7d make fake mouse-out upon focus-out conditional on pending pointer warp
in the case where warping would not occur and a mouse-based focus policy was
not in use, this would break mouse eventing on wayland when a window lost focus
but the cursor remained inside the window

ref 3e6d6b348f
2016-11-22 11:31:22 -05:00
Mike Blumenkrantz e95541635e clarify some wl surface checks to require elm wins
these should not apply to role-less surfaces
2016-11-22 11:31:22 -05:00
Mike Blumenkrantz 7b7e56af0c require an elm win to apply auto-visibility for internal wins in wl surface commit
other internal surfaces could be things like cursors, and these should not be made visible
before setting a role
2016-11-22 11:31:22 -05:00
Mike Blumenkrantz 5497fadce4 xdg6 support 2016-11-22 11:31:22 -05:00
Mike Blumenkrantz 232c73fe83 add e_comp_object_coords_inside_input_area() 2016-11-22 11:31:22 -05:00
Mike Blumenkrantz 5130935284 add e_client_util_top_parent_get() 2016-11-22 11:31:22 -05:00
Mike Blumenkrantz 506317e4ba make confirm dialogs autoselect the confirm option
esc is already used for cancel, having an easier confirm makes sense (tm)
2016-11-18 11:17:14 -05:00
Mike Blumenkrantz 02fc2fffa8 disable bindings during desklock
hopefully nobody noticed this before now...
2016-11-18 10:18:51 -05:00
Chris Michael 0a696f5fa3 fix missing definition of DRM_FORMAT_XRGB8888
As we do not compile-time link with libdrm inside Ecore_Drm2 anymore,
we need to include relivant bits of drm_fourcc header here in order to
define DRM_FORMAT_XRGB8888 else we fail to compile Enlightenment Wayland

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-11-16 09:17:15 -05:00
Mike Blumenkrantz 573035e262 focus confirmation option in efm delete dialog
fix T4797
2016-11-11 09:58:58 -05:00
Mike Blumenkrantz f7f0cc5b3e only unset cur_mouse_action on client menu delete for the right action
ref 50198ecdde

this still needs improving....
2016-11-10 11:55:10 -05:00
Mike Blumenkrantz 7d29dbf4ec send orientation signal to bryce scroller theme 2016-11-10 11:52:04 -05:00
Mike Blumenkrantz 50198ecdde unset cur_mouse_action upon deleting client menu
fix T4522
2016-11-10 11:14:36 -05:00
Mike Blumenkrantz 7911827a21 keep bryce starting size unscaled 2016-11-09 11:21:15 -05:00
Mike Blumenkrantz 464eded3a3 handle e_scale correctly in bryces 2016-11-09 10:48:47 -05:00
Mike Blumenkrantz c267535bfa unalias internal wl client pixmaps in elm win hide trap callback
this seems to be the best place to remove the alias since it is initially
added in the corresponding show callback
2016-11-08 12:49:24 -05:00
Mike Blumenkrantz 38e4e2b9a9 always free wl pixmap buffer list on non-cache image clear
this is only used when the pixmap is freed, after which point accessing
the list guarantees a crash
2016-11-08 12:49:23 -05:00
Mike Blumenkrantz 6f5feb99b2 remove wl client pixmap aliasing on del
not sure why I added this but it was wrong
2016-11-08 12:49:23 -05:00
Mike Blumenkrantz 886d29d5d5 unset wl client surface pointer on surface destroy
leaving this around after this point is dangerous and has a high probability
of crashing
2016-11-08 12:49:23 -05:00
Mike Blumenkrantz 1c4b11ef9f reset initial internal wl client states when hiding (but not deleting)
ensure that these windows are not able to be shown again until commits occur
2016-11-08 12:49:23 -05:00
Mike Blumenkrantz 7ef2098f2a add docs for e_place_desk_region_smart() calc code
hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
2016-11-07 13:06:50 -05:00
Mike Blumenkrantz 22add39474 break out repeated code from _e_place_desk_region_smart_area_calc() into separate function
no functional changes
2016-11-07 12:52:32 -05:00
Mike Blumenkrantz 65b6906614 break out e_place_desk_region_smart() area calcs into separate function
no functional changes
2016-11-07 12:40:51 -05:00
Mike Blumenkrantz 8df16724f7 clamp e_place calcs to zone geometry
fixes some cases where windows would place wrong due to placement code
checking offscreen coords
2016-11-07 12:27:34 -05:00
Mike Blumenkrantz 5930643de5 use only zone coords when moving bryce to its zone during editing
prevent coords from accidentally resulting in offscreen placement

fix T4826
2016-11-07 11:48:51 -05:00
Mike Blumenkrantz a08654f773 force bryce repositioning onto target zone during startup
ensure that subsequent operations do not accidentally the bryce's zone

fix T4784
2016-11-07 11:38:34 -05:00
Derek Foreman b5205a0ca3 Stop passing dimensions to _e_comp_wl_surface_state_init
The dimensions we passed were frequently wrong anyway, so let's stop
doing that.
2016-11-04 16:25:58 -05:00
Derek Foreman a9d710ab27 Fix wayland opaque regions
Similar set of changes to the recent input region changes.  They may not
have been quite so broken to begin with, but it's probably less confusing
to treat both types of region the same way.
2016-11-04 16:25:58 -05:00
Derek Foreman 404a23f7d3 Fix massive wayland input region brokenness
It was impossible to set an empty input region.

Input regions were being clipped to the size of whatever buffer was
previously attached when they should really be clipped at commit
time to whatever buffer was attached in the commit.

The intersection operation created round off errors and
e_comp_object_input_area_set is clipping anyway, so we can simplify this
and retain precision.
2016-11-04 16:25:58 -05:00
Derek Foreman e74f2a45af Increase area of tilers for regions
We don't have any idea at this point what the region will be used for,
and tilers clip to their area on ingress.  If we're going to use tilers
for wayland regions we need to make them huge and clip them later.
2016-11-04 16:25:58 -05:00
Mike Blumenkrantz 353ad6be11 move bryces to E_LAYER_DESKTOP_TOP when not above windows
moderately sure this won't conflict with anything important...

fix T4819
2016-11-03 12:54:53 -04:00
Mike Blumenkrantz 03ad3620c7 add special case for returning pixmap argb of unusable wl cursor pixmaps
this is usually called before the surface commits, so ensure that the
most likely case is returned as the default until the commit occurs

fixes black rect flickerings around the cursor
2016-11-03 12:28:24 -04:00
Mike Blumenkrantz 13f408f1e1 add more parens for previous pixmap commit 2016-11-03 12:28:06 -04:00
Mike Blumenkrantz 669f00e2e2 avoid crash when calling e_pixmap_image_exists on wl pixmaps without buffers 2016-11-03 12:24:25 -04:00
Mike Blumenkrantz e3590f6c3e determine wl pixmap argb solely based on image_argb flag
the existence of a buffer does not mean that the pixmap can stop being
argb

fixes random black rects
2016-11-03 12:07:46 -04:00
Mike Blumenkrantz 33740ca306 return correct values from bryce post event callbacks
I referenced elm scrollable for this when writing it. past me was a moron
for using reference code instead of reading the underlying implementation.

fixes scrolling
2016-11-03 11:45:35 -04:00
Derek Foreman 9c26487b37 Fix out of tree builds
I broke out of tree builds when I landed the wayland protocol autogen
patches.  This should fix it up.
2016-11-02 16:16:49 -05:00
Mike Blumenkrantz 46cad09e3e force gadget site recalc from style object if gadget's hints change
ensure that these intermediate objects trigger recalcs as expected

fix T4809
2016-11-02 11:31:59 -04:00
Mike Blumenkrantz 6723756d6b feed mouse-up when dropping a gadget site before enabling events on the site
prevents unintentional activation of gadget actions during moves
2016-11-02 10:20:04 -04:00
Mike Blumenkrantz 4e08ad17e8 add bool return for e_exec_phony_del() to return deletion success
CID 1181927
2016-11-02 10:11:02 -04:00
Mike Blumenkrantz 4d86c98ce7 do not return early from _bryce_position()
this causes the returned coords to be garbage values, likely leading to
the bryce being positioned or animating off to the upper-right corner
of the universe that exists beyond the canvas
2016-11-01 13:56:08 -04:00
Mike Blumenkrantz 6e39997ad1 add smart callback for when gadgets get reparented
this can be useful for gadgets which (inexplicably) need to set min size hints
2016-11-01 13:29:45 -04:00
Mike Blumenkrantz cea551578c do not apply efx anchoring to move effects if a resize effect is not active
this is useless without an animator

fix T4810
2016-11-01 11:12:26 -04:00
Chris Michael d6c6961ab4 check if a client is internal or not before deleting
This fixes a crash where mousing back into internal windows would
cause a crash (from efl wayland mouse pointers).

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-10-31 14:22:03 -04:00
Chris Michael 2970f4d76f Revert "don't crash is surface resource has no e_client"
This reverts commit fbb17af2d6.

This does not really fix the issue of crashes on internal windows :(
This was just a band-aid really...
2016-10-31 13:57:52 -04:00
Mike Blumenkrantz c3a01ba16c attempt to recalc gadgets which overflow their container 2016-10-31 13:07:21 -04:00
Mike Blumenkrantz 3d1334e883 delete current dragging gadget during edit if escape is pressed 2016-10-31 13:07:03 -04:00
Mike Blumenkrantz b0831d5f0d allow scaling gadgets using wheel events during initial placement 2016-10-31 13:06:18 -04:00
Mike Blumenkrantz 1f9801f922 attempt to handle non-orient gadget resizes based on anchor corners 2016-10-31 13:05:44 -04:00
Mike Blumenkrantz b9d59616e9 track desktop gadgets based on their zones
ensure positioning is accurate with multiple displays
2016-10-31 12:34:29 -04:00
Mike Blumenkrantz 35df03a596 center desktop gadget editor popups upon the zone they have activated 2016-10-31 12:34:29 -04:00
Mike Blumenkrantz 5d2028a300 do not modify bryce zone/name during startup
this breaks bryce init by moving all bryces to zone 0

fix T4784
2016-10-31 12:34:29 -04:00
Mike Blumenkrantz 349fc5e910 avoid potential divide by zero during bryce startup 2016-10-31 12:34:29 -04:00
Mike Blumenkrantz bf1075ff4b clamp bryce position to its parent zone
fixes case where large bryces could overflow their zones

ref T4784
2016-10-31 12:34:29 -04:00
Chris Michael fbb17af2d6 don't crash is surface resource has no e_client
wl_resource_get_user_data(surface_resource) could return NULL if the
surface resource has no user data set. This happens with Ecore_Wl2
Windows which are set to type 'None', so add check for valid e_client.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-10-31 09:25:51 -04:00
Stefan Schmidt c9e69e5176 e_client_colume: remove unused variables and add EINA_UNSED where needed 2016-10-31 11:37:47 +01:00
Stefan Schmidt cb51487c3d e_comp_object: remove unused variable 2016-10-31 11:37:16 +01:00
Stefan Schmidt 455935466f e_fm: remove unused variable 2016-10-31 11:36:53 +01:00
Stefan Schmidt 7bb858d2a3 e_fm: fix last commit to compile again with clang
Commit fd8d41a2a6 introduced a void return in a
non void function. On gcc this only produced a warnigns but it was a hard
error on clang and should be fixed.

00:25:24.906 src/bin/e_fm.c:1523:15: error: non-void function 'e_fm2_icon_file_get' should return a
value [-Wreturn-type]
00:25:24.950    if (!file) return;
2016-10-31 11:03:44 +01:00
Carsten Haitzler fd8d41a2a6 e fm - fix popup to not crash by referring to possibly deleted data
fm icon info is transient because fm icons are transient. files may
get deleted, added or removed on the fly. keeping icon info around for
things like the popup is asking for tyrouble and does create  trouble.

so look it up each time based on filename string. safe!

this fixes T4716 and fixes T4798 (they are the same bug basically).
2016-10-31 18:23:08 +09:00
Mike Blumenkrantz f8ddfd3245 fix use after free when renaming a bryce
fix T4784
2016-10-29 11:36:48 -04:00
Mike Blumenkrantz 6ab8c48892 use eina_streq for string comparison in e_zone_for_id_get()
zone->randr2_id is not guaranteed to be non-null

crash--
2016-10-29 11:00:49 -04:00
Stephen okra Houston e82ec31175 Luncher: Introduce Enlightenment's new launcher/taskbar/iconify manager: Luncher
You are required to update efl along with this update to have the luncher theme files.
2016-10-28 13:26:28 -05:00
Mike Blumenkrantz 41b861214a block remembers of e_sys windows
fix T2879
2016-10-28 10:45:22 -04:00
Mike Blumenkrantz 420b54a151 optimize out re-applying of borderless client theme 2016-10-28 10:36:21 -04:00
Mike Blumenkrantz c6b091980a allow client frame changes when switching from frame -> no frame
fix T4358
2016-10-28 10:19:01 -04:00
Mike Blumenkrantz c56cebe945 bump modapi 2016-10-28 10:19:00 -04:00
Michaël Bouchaud (yoz) 718ef898d7 e_client: add a volume control to the window theme
This commit brings 2 objects to the group "e/widgets/border/default/border", an
icon and a slider. If you click the icon the volume is muted.
The slider set the volume level.

Theme part added "e.swallow.volume_icon" and "e.swallow.volume"

@features
2016-10-27 22:34:13 +02:00
Michaël Bouchaud (yoz) 6e8070d226 e_remember: add e_client sound volume support
@features
2016-10-27 21:54:40 +02:00
Michaël Bouchaud (yoz) 06ea6cadbd E_Client: add an abstraction api to control volume by app
This api give the possibility to add sink to an E_Client and control the volume
or the mute state of the sinks associated with this E_Client.

@features
2016-10-27 21:54:39 +02:00
Mike Blumenkrantz f434891137 redo session recovery handling to use separate E_Remember
I tried to be too clever with the initial implementation of this and it was
a lot more complex and nonfunctional than expected
2016-10-27 11:22:27 -04:00
Mike Blumenkrantz 653e671bf5 Revert "prevent editing of session recovery remembers"
This reverts commit 890008cdf2.
2016-10-27 10:35:01 -04:00
Mike Blumenkrantz 6b7631d204 Revert "update secondary remembers when a session recovery remember is updated"
This reverts commit 10eb06b377.
2016-10-27 10:34:27 -04:00
Mike Blumenkrantz b640872edf Revert "only find the session recovery remember if ec->remember is not it"
This reverts commit 8e61889336.
2016-10-27 10:34:14 -04:00
Mike Blumenkrantz 98bc594299 Revert "correctly handle applying of non-SR remember in remember config"
This reverts commit 62068912e9.
2016-10-27 10:34:05 -04:00
Mike Blumenkrantz a9d0a27ea3 add generic handler for desktop gadget layers
...and a menu item for triggering basic editing
2016-10-26 13:59:29 -04:00
Mike Blumenkrantz 6c16988adc calc new gadget size based on ratio of size:target site size
no use case for this yet...
2016-10-26 13:58:15 -04:00
Mike Blumenkrantz edee519304 copy gadget position from pointer gadget -> drop gadget when executing drop
fixes desync which would cause gadgets to move offscreen
2016-10-26 13:57:07 -04:00
Mike Blumenkrantz 0b40aade50 force gadget site recalc on gadget object creation to ensure sizing
fixes initial sizing for no-orient gadget sites
2016-10-26 13:55:45 -04:00
Mike Blumenkrantz ef2cb47daf handle no-orient gadget visibility based on site->events visibility 2016-10-26 13:54:25 -04:00
Mike Blumenkrantz 87515abd2a force recalc on bryce scroller when doing recalc on gadget site
should have no functional change
2016-10-26 11:33:12 -04:00
Mike Blumenkrantz 3e6f2f1fa7 add workarounds for ctxpopup geometry for use in input shape tiling
ref T4687
2016-10-26 10:28:30 -04:00
Derek Foreman 2af066c97a Remove EVAS_CALLBACK_HIDE on shelf when freeing
Prevents a use after free when an evas callback fires later.
2016-10-25 14:12:15 -05:00
Derek Foreman 30e9f45dfc Block session recovery for internal windows 2016-10-25 14:12:15 -05:00
Mike Blumenkrantz 4251e12462 bump modapi 2016-10-25 12:02:15 -04:00
Mike Blumenkrantz ef33638c42 create substruct for E_Comp to put canvas objects into
allow adding/removing objects in the future without breaking abi
2016-10-25 12:01:17 -04:00
Chris Michael 2c096f685c Revert "reset elementary softcursor config on shutdown"
This reverts commit bdd290591c.

Reverting this as we need to find a better way to handle mouse
pointers on EFL Wayland Clients.
2016-10-25 11:06:07 -04:00
Chris Michael d4b9ad591e Revert "disable elementary softcursor mode for wayland compositing"
This reverts commit f7592166eb.

Reverting this as we need to find a better way to handle mouse
pointers for EFL Wayland Clients.
2016-10-25 11:06:07 -04:00
Chris Michael bdd290591c reset elementary softcursor config on shutdown
This is needed because if we shutdown E then try to run EFL apps in
Weston, the Elm Softcursor mode would have been saved as 'off' so we
should be sure to reset this.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-10-25 07:44:41 -04:00
Chris Michael f7592166eb disable elementary softcursor mode for wayland compositing
This commit disables elementary softcursor mode when running as a
wayland compositor. This stops any EFL Wayland Client apps from
creating their own mouse pointer and thus we do not have 2 mouse
pointers on EFL apps anymore.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-10-24 13:52:09 -04:00
Mike Blumenkrantz 21422fd256 trigger zone geometry events when updating zone/desk obstacles 2016-10-21 10:02:24 -04:00
Mike Blumenkrantz 3e186b1509 reject successive zone_geometry_dirty() calls
no point in thrashing the compositor if events are already pending
2016-10-21 10:01:50 -04:00
Mike Blumenkrantz 62068912e9 correctly handle applying of non-SR remember in remember config
fix T4512
2016-10-20 12:15:03 -04:00
Mike Blumenkrantz e365848406 apply non-session recovery remember to client when creating recovery remember
ensure that the attributes get applied before engaging SR mode

ref T4512
2016-10-20 12:14:16 -04:00
Mike Blumenkrantz 8e61889336 only find the session recovery remember if ec->remember is not it
ref T4512
2016-10-20 12:13:22 -04:00
Mike Blumenkrantz 41f5a3e1fd loop bryce autosize recalc when gadget site has not yet calculated its size
fixes moving of autosizing bryces
2016-10-20 12:12:27 -04:00
Mike Blumenkrantz fb94f1e069 rename bryces when changing anchors 2016-10-20 12:11:39 -04:00
Mike Blumenkrantz 8bf7999c31 add gadget site sizing workaround to avoid elm box sizing desync
ref T4747

fix T4732
2016-10-19 11:38:34 -04:00
Mike Blumenkrantz 2c4316633b avoid extra recalc when resizing a bryce on its oriented axis 2016-10-19 11:38:04 -04:00
Mike Blumenkrantz e690d70512 set ON_HOLD flag more accurately when activating gadget actions
fixes handling of actions which have same binding as gadget site's container bindings
2016-10-19 11:13:32 -04:00
Mike Blumenkrantz 39d561c8b4 fix bryce upgrade path from 0 -> 2 re:naming 2016-10-18 10:59:04 -04:00
Mike Blumenkrantz 7a06a6b661 trigger bryce menus from right click if event has not been consumed 2016-10-17 12:44:32 -04:00
Mike Blumenkrantz b9afecde41 remove unused attribute from used param 2016-10-17 12:44:08 -04:00
Mike Blumenkrantz 79b24ea884 handle gadget_popup smart callback on gadget's display object
fixes case where this signal was not accurately propagated

ref T4732
2016-10-17 11:57:05 -04:00
Mike Blumenkrantz d5847e8ca6 call gadget_popup smart callback when configuring gadgets
ensure visibility changes are received by containers

ref T4732
2016-10-17 11:56:32 -04:00
Mike Blumenkrantz d0e21c912a add gadget_site_(un)locked smart callbacks for forcing gadget site visibility
useful for cases where the gadget site has no popups to manage but visibility must
be maintained

ref T4732
2016-10-17 11:55:23 -04:00
Mike Blumenkrantz ae628b214b force bryce visibility during editor activity
ref T4732
2016-10-17 11:25:43 -04:00
Mike Blumenkrantz 7dc0930c8a add new flag for zone edge objects to allow shape cutting while repeating events
fixes case where edge binding would (possibly) trigger but then not allow input
to any canvas objects at the screen edge
2016-10-17 11:18:46 -04:00
Mike Blumenkrantz dece6a5514 also do full bryce rename when moving between zones 2016-10-14 08:10:43 -04:00
Mike Blumenkrantz b86efbe301 further improve bryce portability across zones
also fix typo from yesterday which broke everything and was definitely not
noticed by anyone
2016-10-14 08:03:43 -04:00
Mike Blumenkrantz ebefa49e4b do not check for shelf/bryce existence in opposing anchorages during bryce wizard
fixes false positives when detecting positions
2016-10-13 11:27:43 -04:00
Mike Blumenkrantz afa358fa9e add zone number to bryce names
fixes usage of bryces in identical setups on different zones
2016-10-13 11:27:40 -04:00
Mike Blumenkrantz d5ada5c1d5 fix bryce check for shelf existence on orientation/anchor to break when expected
restores missing anchor points when adding/moving bryces
2016-10-13 11:27:40 -04:00
Mike Blumenkrantz baa7e85e61 add EINTERN function for renaming gadget sites 2016-10-13 11:27:12 -04:00
Mike Blumenkrantz a9bab812ec enforce bryce resizing when orientation changes
screens are not square, so this would never have worked
2016-10-13 11:20:21 -04:00
Mike Blumenkrantz abb97ca0fb force zone useful geometry recalc on desk flip if prev/next desk has obstacles
ensure that this gets calculated accurately any time it's applicable
2016-10-04 09:22:05 -04:00
Mike Blumenkrantz 0354f8a5b1 remove unused variable
ref b83cfb858c
2016-10-04 09:22:05 -04:00
Mike Blumenkrantz e20b439020 handle "unmaximize" smart callback differently depending on fullscreen state
this is a bit hacky, but it seems to provide accurate results to fix more maximize bugs

ref c29157189f
2016-10-04 09:22:05 -04:00
Carsten Haitzler 1afddc3b5e explicitly use eina list types passing into EINA_LIST_FREE() 2016-10-03 11:55:55 +09:00
Mike Blumenkrantz 2642e8c95a clamp gadget util ctxpopups to E_LAYER_POPUP at the lowest
avoid having these be obscured by windows when the gadget is on a lower layer
2016-10-02 09:35:40 -04:00
Mike Blumenkrantz 7cbca19705 print object type in shape debug if name does not exist 2016-10-02 09:34:48 -04:00
Mike Blumenkrantz b47b3cd75f force shape queue when gadget util ctxpopups change visibility
fixes some input region issues in x11
2016-09-30 12:59:10 -04:00
Mike Blumenkrantz b83cfb858c remove x11 input window from desklock grab process
now the compositor canvas is grabbed, simplifying handling of grabs which
persist through the desklock activation
2016-09-28 10:40:38 -04:00
Mike Blumenkrantz 90fcc55f1e add e_util_open(), unify all callers of enlightenment_open
ref adbba1042b
2016-09-27 11:19:00 -04:00
Mike Blumenkrantz bb53d4606f do not consume key events in comp autoclose key callback if desklock is active
fix T4655
2016-09-27 10:59:52 -04:00
Derek Foreman e4da5ba56a Auto generate wayland protocol
Replaces any checked-in wayland protocol files with auto-generation.

In some cases this means renaming include files that didn't use "standard"
names, or adding missing xml files.  Any source edits are simple search and
replace, there should be no functional changes.
2016-09-26 15:23:50 -05:00
Derek Foreman b7d37e9d51 Add the capability to auto-generate protocol code and headers
We'd like to drop all the generated files and keep just the xml files.

This is a step in that direction but we've been naming things irregularly
and some of our checked in generated code doesn't have an associated xml
yet, so this'll be a bit of a process.
2016-09-26 15:23:50 -05:00
Carsten Haitzler adbba1042b 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-09-25 23:53:08 +09:00
Derek Foreman 494f76b0ab 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-09-21 16:45:57 -05:00
Cedric BAIL ff0b513daa Revert "protect against non-nul terminated string from mmap in filepreview"
This reverts commit 5861d9bef9.

T4543 was already fixed by ae23533b0d.
2016-09-21 09:34:31 -07:00
Carsten Haitzler 5861d9bef9 protect against non-nul terminated string from mmap in filepreview
this should address 2nd gdb bt and fix T4543

@fix
2016-09-21 20:19:01 +09:00
Mike Blumenkrantz 0074c1ca27 remove extraneous recalc trigger when deleting a gadget
CID 1362898
2016-09-21 07:12:49 -04:00
Mike Blumenkrantz 509443af55 do not update bryce layer when restacking to a higher layer than CLIENT_ABOVE 2016-09-20 12:46:48 -04:00
Mike Blumenkrantz f700a57baf clean up gadget drop handlers correctly
use drop_handler_del when deleting gadget drop handlers, also delete spacer rects
2016-09-20 12:46:46 -04:00
Mike Blumenkrantz 17909e4fb5 always delete gadget's display object and ensure gadget object is null
fixes some object errors during container deletion
2016-09-20 11:20:22 -04:00
Cedric BAIL ae23533b0d fix text preview to use eina_strbuf_append_length that doesn't call strlen and crash. 2016-09-19 14:50:57 -07:00
Mike Blumenkrantz a85d142b93 force bgpreview widget to resize after a wallpaper update
ref be1b11ca28

fix T4632
2016-09-19 16:18:48 -04:00
Mike Blumenkrantz 09cf90b05a add gadget doc note for gadget_destroyed callback re:object lifetimes 2016-09-19 16:18:47 -04:00
Mike Blumenkrantz d1953c2205 always use largest available size for free-oriented gadgets
ensure that gadgets don't unexpectedly clamp to minimum size
2016-09-19 15:50:55 -04:00
Mike Blumenkrantz 9439228816 add backspace/delete for clearing all lockscreen gadgets
this was turning into a total wasteland
2016-09-19 15:18:06 -04:00
Mike Blumenkrantz 682dd5f835 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-09-19 15:04:47 -04:00
Mike Blumenkrantz b5701bdb1b 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-09-19 14:55:53 -04:00
Mike Blumenkrantz d4450d8eb6 attempt to retain gadget size when executing move operations 2016-09-19 14:55:28 -04:00
Mike Blumenkrantz 8923415f8b force smart calc on gadget sites at key points during move operations
ensure that gadget info and visuals match up
2016-09-19 14:54:35 -04:00
Mike Blumenkrantz 4dd99ed669 add separate codepath for handling layout of moving gadgets
these get sized and positioned in a passthrough manner, so avoid doing any calc
2016-09-19 14:53:20 -04:00
Mike Blumenkrantz 42056009a5 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-09-19 14:32:20 -04:00
Mike Blumenkrantz 6ee205ec57 use same layer in bryce editor for "above window" setting 2016-09-19 09:56:38 -04:00
Mike Blumenkrantz 9313121e79 clamp bryces to a lower canvas layer
note to self: if you remember why you had these at POPUP, annotate the reason
here...
2016-09-19 09:54:21 -04:00
Mike Blumenkrantz f456215828 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-09-16 18:05:07 -04:00
Mike Blumenkrantz eea3bdfacf handle e_comp deref during e_dnd shutdown to avoid crash 2016-09-15 15:10:42 -04:00
Mike Blumenkrantz ca7bc28286 set the spacer rect as the drop handler base when creating gadget drop handlers
this provides layering info to dnd internals
2016-09-15 14:48:28 -04:00
Mike Blumenkrantz 2d9ee4233e use comp canvas win by default for any drop handler with an E_Object
this is always going to be the case anyway
2016-09-15 14:48:28 -04:00
Mike Blumenkrantz c29157189f 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-09-14 10:31:02 -04:00