Commit Graph

15809 Commits

Author SHA1 Message Date
Chris Michael 201918eca8 Add ERR messages for EINTERN & EAPI functions.
Remove NULL checks ... let the crashing begin !!

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:38 -04:00
Chris Michael d1e4cf0be8 Add error messages in EINTERN & EAPI functions.
Remove NULL checks ... let the crashing begin !!

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:38 -04:00
MinJeong Kim 6b808e2f3f Remove unwanted NULL check in internal function
Summary: Remove unwanted NULL check in internal function.

Reviewers: gwanglim, devilhorns, zmike

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1250
2014-08-26 10:10:38 -04:00
Seunghun Lee 89b2881476 clear parent's list of transients, when set parent to NULL.
Summary: we also need to clear parent's resource.

Test Plan: N/A

Reviewers: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1238
2014-08-26 10:10:38 -04:00
Chris Michael 814b50f7e6 wl-desktop-shell: Avoid runtime ERR noise for something that is not
really an error.

When we call shell_surface_parent_set with a NULL parent resource,
then there is No reason to try and find the pixmap window of a NULL
parent. Avoid that function call and just set the appropriate
properties and get out.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:38 -04:00
Mike Blumenkrantz 3b649534c9 Fix building Enlightenment for X11-only, Wayland-Only, and X11 with Wayland clients.
Signed-off-by: Chris Michael <cp.michael@samsung.com>

Additional authors: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:38 -04:00
Chris Michael 5448f0a1ac handle setting any pending opaque regions during surface commit and
cleanup the input region code also

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:38 -04:00
Chris Michael bb64229ae9 fix return variable type from e_pixmap_window_get function
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:38 -04:00
Chris Michael 0ba4fecd76 change client transient_for id to uint64_t
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:38 -04:00
Chris Michael 07b6052db1 wl_drm: Add short block to mark setup for drm egl rendering
When the new drm hw accel engine is ready, we can replace this little
bit of code and have hardware-accelerated drm.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:38 -04:00
MinJeong Kim f0ba92d39e Add simple clipboard based on wayland protocol
Summary:
Whenever any client requests new selection_set,
the data is saved to server-side clipboard directly on this revision.
So data device is able to keep data which is copied from client app have closed already
and is able to provide those data to new focused surface before coming new selection_set request.

Reviewers: devilhorns

Subscribers: cedric, gwanglim

Differential Revision: https://phab.enlightenment.org/D1165
2014-08-26 10:10:38 -04:00
Seunghun Lee 1370d6bd32 Implement wayland subsurface support based on E_Client.
Summary: Support subsurface interface of wayland.

Test Plan:
1. Build enlightenment on devs/devilhorns/e_comp_wl branch.
2. Run enlightenment.
3. Run weston-subsurfaces
   - should be built after removing code of gl surface (not yet implemented)
   - just comment out the line egl_state_create in function of demoapp_create()

Reviewers: gwanglim, devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1182
2014-08-26 10:10:38 -04:00
Gwanglim Lee a96d7290f5 Add missing wl_resource_destroy
Summary:
There are no resource free codes in xdg shell destroy handler
and xdg popup destroy handler. e should delete wayland resource as
client requested.

Test Plan:
1. run e as wayland server
2. run weston-stacking in e
3. click with right mouse button to create xdg popup surface
4. click main surface area to delete xdg popup surface

Reviewers: devilhorns, zmike, raster

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1196
2014-08-26 10:10:38 -04:00
Chris Michael 7418547f76 Don't run xrdb or xmodmap when we are wayland only
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:38 -04:00
Seunghun Lee e5f293214d move the part of code for fetch transient_for in eval time to _e_shell_surface_parent_set().
Summary:
we need to set ec->parent before eval time.
that's because client can request to commit surface calling shell.configure() before eval time.
in this case, ec->parent isn't set yet, configure(move) will be failed.

in order to fix it, we have to set ec->parent in _e_shell_surface_parent_set() before eval time,
but we should check if ec already have parent, and if so, remove its parent's transients before change the value of ec->parent.

Test Plan: N/A

Reviewers: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1177
2014-08-26 10:10:38 -04:00
Gwanglim Lee 6248f11b80 remove EINA_UNUSED in move and resize callbacks
Summary: remove EINA_UNUSED from used function parameters

Test Plan: N/A

Reviewers: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1173
2014-08-26 10:10:38 -04:00
MinJeong Kim 2799388093 Fixed trying to create damage area with 0x0 size
Summary:
This revision fixed failure to create damage area using Eina_Tiler on surface damage callback.
It was caused by trying to create Eina_Tiler with 0x0 size which is from size of E_Client.

Test Plan:
1. Run elementary_test.
2. Select one of the test apps.(no more magic fail message)

Reviewers: zmike, devilhorns

Reviewed By: devilhorns

Subscribers: cedric, gwanglim

Differential Revision: https://phab.enlightenment.org/D1171
2014-08-26 10:10:38 -04:00
Seunghun Lee 4152e1e2dd remove setting ec->parent before evaluation.
Summary:
the value of "ec->parent" should be set in evaluation time,
therefore ec->parent->transients will be reset automatically.

Reviewers: devilhorns

CC: cedric

Differential Revision: https://phab.enlightenment.org/D1155
2014-08-26 10:10:37 -04:00
MinJeong Kim ed16127395 Add focus surface setting of keyboard for copy and paste between clients
Summary:
To enable copy and paste between clients,
wayland data device requires to know what surface is focused.
So this revision have make keyboard get focused surface when client is focused or unfocused,
and create data_offer for new focused surface in order to let new focused surface be able to get data from current selection data_source.

Test Plan:
1. Run wayland server
2. Run elementary_test -to entry5 on wayland server.
3. Run elementary_test -to entry5 on wayland server again. (preparing two clients)
4. Copy text on one of clients, and paste to the other.

Reviewers: devilhorns

CC: gwanglim, cedric

Differential Revision: https://phab.enlightenment.org/D1157
2014-08-26 10:10:37 -04:00
Seunghun Lee 97c39e74cc fix crash when client in wayland request to set parent to null.
Summary: Clear the E_Client's parent if client request to set parent to null.

Test Plan: run weston-stacking.

Reviewers: devilhorns

CC: cedric

Differential Revision: https://phab.enlightenment.org/D1154
2014-08-26 10:10:37 -04:00
Seunghun Lee 2b21742a91 Added conversion for image format to ARGB from XRGB for wayland. evas_object_image_data_set will be used instead of evas_object_image_data_copy_set.
Summary: this patch will provide to launch the application based on XRGB8888 like weston-simple-shm.

Test Plan: launch weston-simple-shm

Reviewers: devilhorns, zmike, raster

CC: cedric

Differential Revision: https://phab.enlightenment.org/D1137
2014-08-26 10:10:37 -04:00
Seunghun Lee 0667d4ce34 Change time unit to milli-second from second when send event of frame done for wayland client.
Summary: that's because weston sample client supposed that the time passed by frame callback is milli-second.

Reviewers: devilhorns, zmike, raster

CC: cedric

Differential Revision: https://phab.enlightenment.org/D1133
2014-08-26 10:10:37 -04:00
Seunghun Lee 6a1ef8b846 map/unmap surface in committing surface should be valid, only when buffer is newly attached. check if buffer is newly attached, when do map/unmap surface.
Summary:
There is a case that client do commit twice after one wl_surface_attach.
In this case, even if no buffer attached, unmapping the surface.
Because server already clear the buffer in first commit.

This patch fixes it.

Reviewers: devilhorns, zmike, raster

CC: cedric

Differential Revision: https://phab.enlightenment.org/D1115
2014-08-26 10:10:37 -04:00
MinJeong Kim b9caebbf7b Add missing function
Summary:
Added missing function _e_comp_wl_data_find_for_client.
@fix

Reviewers: devilhorns

CC: cedric

Differential Revision: https://phab.enlightenment.org/D1102
2014-08-26 10:10:37 -04:00
Chris Michael 5481440c75 Fix formatting.
Rename data_resource_list to data_resources.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:37 -04:00
MinJeong Kim 450206b599 Implement selection copy & paste using data interfaces of wayland
Summary: It supports selection copy & pasete with wl_data_device_manager, wl_data_device, wl_data_offer and wl_data_source.

Test Plan:
1. Build enlightenment on devs/devilhorns/e_comp_wl branch.
2. Run enlightenment.
3. Run elementary_test -to entry5 (or any entry samples).
4. Select any block of text.
5. Do copy the block and Copy anywhere you want.

Reviewers: gwanglim, devilhorns

CC: cedric

Differential Revision: https://phab.enlightenment.org/D1094
2014-08-26 10:10:37 -04:00
Chris Michael 8bd30c9b98 pass the compositor ecore_evas to e_pointer_canvas_new
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:37 -04:00
Chris Michael 488ffacc39 pass the ecore_evas to e_pointer_canvas_new and use Eina_Bool for
true/false values

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:37 -04:00
Chris Michael eafb4ce000 use Eina_Bool for true/false values
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:37 -04:00
Chris Michael 8c90407ce7 use the pointer from the compositor for e_win and don't free the pointer when the window closes
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:37 -04:00
Chris Michael 20e17c97ac create the compositor e_pointer on the ecore_evas
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:37 -04:00
Chris Michael 01fd44e485 add new e_pointer files
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:37 -04:00
Seunghun Lee e402e2363a fix crash and memory leak when press and release any key repeatedly.
Summary:
since the size of wl_array is determined based on one byte,
so in order to compare with uint32_t, the size of wl_array should be divided by uint32_t's size.
and when calculate the size of wl_array by difference between two address,
address should type cast char* as one byte.

Test Plan:
(1) run terminology
(2) input any key several time.

Reviewers: devilhorns, zmike, raster

CC: cedric

Differential Revision: https://phab.enlightenment.org/D1089
2014-08-26 10:10:37 -04:00
Chris Michael f1bf03e87b remove old e_pointer code
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:37 -04:00
Chris Michael d6254f4634 flush clients Before we dispatch main loop events as clients may queue
events onto the loop.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:37 -04:00
Chris Michael d52e926a32 add EGL headers for wayland compositor
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:37 -04:00
Chris Michael b2e2219235 fix define check for shutting down wayland compositor.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:37 -04:00
Chris Michael 165cf8db81 enable checking of windows going outside of e_config->screen limits
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:37 -04:00
Chris Michael 2ab2a9a36f re-enable checking of current client geometry when get a configure
message.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:37 -04:00
Chris Michael 832cfa8f3d add support for mouse wheel events and pass them to wayland
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:37 -04:00
Chris Michael 581975d255 check if client is getting destroyed before we try to unmap it.
NB: This is done for wayland clients where e_client delete function
has already freed the client wl_comp_data Before we get a shell
surface destroy message from wayland. (occurs due to async nature).

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:37 -04:00
Chris Michael 5b581d88c3 check for valid comp_data before trying to use it.
Don't set pointer to 'k' in keydown event (we don't need it).

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:37 -04:00
Chris Michael 379799e903 unify surface parent setting code for use with wl_shell and xdg_shell.
When setting transient, tell the compositor that we need to reset the
window type for this surface.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:37 -04:00
Chris Michael 894d147844 update some fixme/notes
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:37 -04:00
Chris Michael b38f37f0e6 fix building theme module with wayland-only
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:37 -04:00
Chris Michael 024caabef9 Fix state of popup windows to skip taskbar, pager, etc, etc.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:36 -04:00
Chris Michael 2ed054a669 wl-desktop-shell: Unify popup_parent code and fix placement of popup
windows.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:36 -04:00
Chris Michael 46f34ace54 fix compiler warning about unused variables when building for X11 or Wayland.
NB: Each different build (x11/wl-only) had various unused variables.
This is a squash of the commits to fix all that.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:36 -04:00
Chris Michael c308904e9b fix formatting
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:36 -04:00
Chris Michael 8d720e4b04 remove debug/warning message
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:36 -04:00
Chris Michael d278de2d76 e-comp-wl: Handle setting window parent for internal dialogs.
Move parent->modal setting from the shell module to the compositor.
Support setting of various window types (dialogs, menus, etc).
Handle setting of internal properties (min size, max size, etc).

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:36 -04:00
Chris Michael 08a98cdb87 wl-desktop-shell: Simplify transient_set functions and move the
client->parent->modal code to the compositor side.
Also, after setting netwm.type, change the set_win_type in the
compositor data field so that the compositor will handle parent->modal
on next property fetch.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:36 -04:00
Chris Michael 0d7eb396bd remove dead comments
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:36 -04:00
Chris Michael f92644446a Implement focus_down_set function to grab mouse & wheel bindings.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:36 -04:00
Chris Michael aac748dcdc Implement focus_check function and call on delete_request.
Don't try to ping clients that we are forceably killing.
Implement e_grabinput calls during focus_set.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:36 -04:00
Chris Michael 86ca279327 Fix defines for building with wayland-only or wayland-client support.
NB: This fixes internal dialogs not having frames

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:36 -04:00
Chris Michael 2a44c2717e Release array of keyboard keys when we shutdown input
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:36 -04:00
Chris Michael 92bbc30710 Implement client stacking.
Ungrab mouse & wheel bindings when we delete the client.

Signed-off-by: Chris Michael <cp.michael@samsung.com>

remove client stacking code (apparently handled in e_client already)

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:36 -04:00
Chris Michael fc21ca524c fix define check for wayland client uuid store
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:36 -04:00
Chris Michael b7e263bf12 Implement setting of client priority during focus events.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:36 -04:00
Chris Michael 118f4eb05e fix formatting
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:36 -04:00
MinJeong Kim 4a5387df60 Resize input/damage/opaque pending tilers when client is resized
Summary: When the client resized, it need to resize tilers for surface region also.

Reviewers: devilhorns, zmike, raster, gwanglim

CC: cedric

Differential Revision: https://phab.enlightenment.org/D1020
2014-08-26 10:10:36 -04:00
Chris Michael dca596c611 remove debug noise
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:36 -04:00
Gwanglim Lee d86b5816e8 add support for xdg_shell surface transient_for
Summary: add support for xdg_shell surface transient_for

Test Plan:
1. run e wayland server
2. run weston-stacking and set focus it
3. press 't' for creating transient_for surface

Reviewers: devilhorns, zmike, raster

CC: cedric

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

@feature
2014-08-26 10:10:36 -04:00
Gwanglim Lee faf44b7a8a add client property event into wayland eval fetch handler
Summary: add client property event for wayland client

Reviewers: devilhorns, zmike, raster

CC: cedric

Differential Revision: https://phab.enlightenment.org/D1015
2014-08-26 10:10:36 -04:00
Seunghun Lee 2cc4a1cf80 use calloc to allocate memory of E_Comp_Wl_Buffer which is set to zero, instead of malloc.
Summary: E_Comp_Wl_Buffer's busy value should be updated after initialization as zero.

Reviewers: devilhorns, zmike, raster

Reviewed By: devilhorns

CC: cedric

Differential Revision: https://phab.enlightenment.org/D1011
2014-08-26 10:10:36 -04:00
Seunghun Lee 9f81abb729 use eina_hash_int64_new to create hash table "clients_win_hash" in case wayland, instead of eina_hash_int32_new.
Summary:
since the data as a key of hash is 64bit integers, clients_win_hash should be created to int64.
if not, loss of data can occur when add or delete data from hash table.

Test Plan:
(1) run any application. (added ec to hash table)
(2) close the application. (try to delete ec from hash table, but couldn't)
(3) after that, if _e_comp_wl_cb_render_post is called, since refer to ec which was already freed, enlightenment had been crashed.

Reviewers: devilhorns, zmike, raster

CC: cedric

Differential Revision: https://phab.enlightenment.org/D1006
2014-08-26 10:10:36 -04:00
Gwanglim Lee a13179dc9d fix geometry restore for maximized and fullscreen windows
Summary:
there are no geometry restore codes in handler of
wl_shell_surface toplevel_set.

Test Plan:
1. run e wayland only server with devilhons's branch source (devs/devilhorns/e_comp_wl)
2. run terminology
3. make terminlogy surface to be maximized
4. make terminlogy surface to be un-maximized
5. move terminlogy surface

Reviewers: devilhorns, zmike, raster, stefan_schmidt

CC: cedric

Differential Revision: https://phab.enlightenment.org/D965
2014-08-26 10:10:36 -04:00
Chris Michael 57b3c40ad1 cleanup unused code
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:36 -04:00
Chris Michael 6717b77001 Switch Wayland Compositor to use Eina_Tiler for damages, opaque, input, etc.
Add code to hold references to 'buffers'.
 - Release 'buffers' After they have been rendered by the compositor.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:36 -04:00
Chris Michael c6a3d4cfca Add structures for a buffer and reference to a buffer.
Switch client_data structure to use eina_tiler for input, opaque,
damage regions.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:36 -04:00
Chris Michael 1d1d82ea12 fix botched 'git merge' from desktop_window_profile patch
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:36 -04:00
Chris Michael 4ab5c6deb5 fix up formatting of gwanglim's D966 patch
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:35 -04:00
Gwanglim Lee ae76232c2c add fullscreen_set handler for wl_shell_surface
Summary: fullscreen_set handler for wl_shell_surface

Test Plan:
1. run e wayland only server with devilhons's branch source (devs/devilhorns/e_comp_wl)
2. run elementary_test -to "window states"
3. select fullscreen check box on elementary_test surface

Reviewers: devilhorns, zmike, raster, stefan_schmidt

Reviewed By: devilhorns

CC: cedric

Differential Revision: https://phab.enlightenment.org/D966
2014-08-26 10:10:35 -04:00
Gwanglim Lee 93669a4db1 resource parameter is used in _e_shell_surface_cb_move
Summary: remove EINA_UNUSED of resource parameter in _e_shell_surface_cb_move

Test Plan: N/A

Reviewers: devilhorns, zmike, raster, stefan_schmidt

CC: cedric

Differential Revision: https://phab.enlightenment.org/D967
2014-08-26 10:10:35 -04:00
Chris Michael 5e7d2ce5d4 fix potential crash with e_comp_get.
e_manager_current_get Can return NULL so we should check that.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:35 -04:00
Chris Michael 2e24cc5760 cleanup e_pixmap code (remove debugging statements)
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:35 -04:00
Chris Michael 7a201e24da add support for wl_shell surface move & resize
@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:35 -04:00
Chris Michael 1238686136 set client shape rectangle properly based on input area
- fix wl client crashses (patch from gwanglim)

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:35 -04:00
Chris Michael dc4e619dea fix building for wayland-only when --enable-wayland-clients is not
specified

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:35 -04:00
Chris Michael 8c64e5c208 remove unncessary variable
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:35 -04:00
Chris Michael 0e643b36f7 only declare certain variables if we are building for X
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:35 -04:00
Chris Michael 7499b51b68 fix include of comp_wl header to work with wayland_only option
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:35 -04:00
Chris Michael 92fd5b4be1 add missing EINA_UNUSED
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:35 -04:00
Chris Michael 84f5c2f608 add checks for pixmap type being X before accessing the image (for
cases where we are running wayland clients)

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:35 -04:00
Chris Michael 79599394da update various files for compositor structure changes
- X compositor
  - shell module
  - drm module
  - x11 module
2014-08-26 10:10:35 -04:00
Chris Michael 1b7103323d fix e_pixmap for compositor structure change.
remove memcpy of wl_buffer data.

NB: This Is REALLY not needed in ANY compositor !!!
NB: This DOES cause lots of current Failures within the existing X Compositor ... ie: Wayland Clients inside X do NOT work at this point :(

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:35 -04:00
Chris Michael a6ed5677b2 update X compositor code for structure rename
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:35 -04:00
Chris Michael df278c9a74 Several fixes for Wayland Compositor:
- post a wl_buffer release After rendering is completed.
  - change code to follow compositor structure name
  - when creating compositor (inside X), set input keymap
  - don't set "reparent" for all new clients

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:35 -04:00
Chris Michael 0b0c464efd fix e_client sructure for running wayland client applications inside X.
update compositor structure for ability to run X and Wayland Clients.
update wayland compositor data & input file(s) for data structure rename.

NB: Both the X compositor and the Wayland compositor have different
"client data" to store, so e_client structure needs different fields

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:35 -04:00
Chris Michael ff06207d9c make keymap match what drm uses by default
NB: this is all in the process of getting fixed...

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:35 -04:00
Chris Michael 4da7f486fa don't need to e_pixmap_ref here.
fix wayland client application resizing.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:35 -04:00
Chris Michael 9f56b2aafc set delete_request for internal e_clients and add giant FIXME note for
internal windows

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:35 -04:00
Chris Michael e35dba6caf fix destroying pointer & keyboard resources on shutdown
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:35 -04:00
Chris Michael c40d085ccf check for existing pixmap when showing a window so we don't create a
new pixmap if we don't need to.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:35 -04:00
Chris Michael 61a08390b3 update wl_desktop_shell module
- Add support for xdg_shell
 - rework to function with new wayland compositor

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:35 -04:00
Chris Michael f031705442 update wl_x11 and wl_desktop_shell for new compositor
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:35 -04:00
Chris Michael 434219f758 rewrite wayland compositor:
- reduce memory usage
 - remove duplicated pixmaps
 - remove duplicated pointer images

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:35 -04:00
Chris Michael 5ea94188f5 remove EINA_UNUSED for parameter that is actually used
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:35 -04:00
Chris Michael adf559a850 Add wayland compositor data & input files to build order
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:34 -04:00
Chris Michael 6fded4853d rewrite e_pixmap code:
- reduce variable usage for non-x
  - remove need to memcpy wayland buffer image data
  - add function for setting pixmap buffer resource
  - add shm_buffer access calls around getting wl_buffer data

Signed-off-by: Chris Michael <cp.michael@samsung.com>

Additional authors: zmike
2014-08-26 10:10:34 -04:00
Chris Michael 688c5303f6 fix unused variables if building for wayland only
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:34 -04:00
Chris Michael 217d5a95bc remove old wayland compositor and old shell files
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:34 -04:00
Mike Blumenkrantz cef6ebd2db fix post-effect stacking BITCH and post-effect transient stacking 2014-08-26 09:45:04 -04:00
Mike Blumenkrantz e0125a483a fix internal transient clients 2014-08-26 00:27:08 -04:00
Carsten Haitzler 525b963133 transient client windows - improve behavior
* if unplaced, place centered on transient-for on initial placement
  rather that screen centered
* if transient.move and transient.resize options follow options are on
  make transients floow as intended
2014-08-25 20:56:08 +09:00
Mike Blumenkrantz 21da3ed343 use comp object api function for shape cutting to prevent mirrors from getting shapes cut 2014-08-22 18:14:23 -04:00
Mike Blumenkrantz 462d79e147 redo/simplify PRESENT usage in compositor to no longer use PRESENT
keith said no
2014-08-22 09:56:11 -04:00
Chris Michael 2ef8c50a09 conf_intl: Fix disbling of language list box and configure button
This fixes ticket T1526 - Selecting no input method would still allow
the configure button to be pressed, and items selected from the
language list.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-21 14:15:49 -04:00
Wonguk Jeong 08c35a7934 teamwork: pause media on closing
Due to stupid_obj_del_workaround_hack, sound comes out during 3sec
even if media has been disappeared. Although the 3sec workaround should be gone,
pause media on close to fix the side effect.
2014-08-21 18:58:34 +02:00
Mike Blumenkrantz 22c4f68d65 fix ibox eo errors 2014-08-20 18:05:34 -04:00
Mike Blumenkrantz 7c55f465dd fix ibox eo errors 2014-08-20 18:03:07 -04:00
Tom Hacohen 4b24177b4c Tiling: Fix applying tiling on enable with a new config.
Tiling wasn't being applied when enabling it with a new config because
we were comparing with the old config instead of just always applying.

This fixes T974.
2014-08-20 11:02:20 +01:00
Mike Blumenkrantz 164d1506bd properly return done in tw download cbs 2014-08-19 17:49:55 -04:00
Wonguk Jeong d44d042645 teamwork: fix shadow frame during previewing .ogg
if the frame size is invalid on "frame_decode", stop previewing.
It will filter out audio or invalid video previewing

Fixes T1400
2014-08-19 16:21:22 +02:00
Wonguk Jeong 162ad41656 teamwork: remove multiple delete of livethumb, icon, video
Since icon/video will be drawn into livethumb's image canvas,
icon/video would be deleted on livethumb's deletion.
Therefore, don't register icon/video as comp object's del list.(duplicated deletion)

"frame_decode" callback shouldn't be invoked multiple time.
2014-08-19 16:06:26 +02:00
Carsten Haitzler 9251440867 fix evrything shift+tab crash
fixes T1548
2014-08-19 18:44:47 +09:00
Carsten Haitzler 3d006676fb e comp settings - dont need version checks for partial render mode
we need far newer efl versions already long after this feature went
in, so no need for code checks
2014-08-18 12:59:32 +09:00
Wonguk Jeong 2da663a001 efm: clarify function name which is getting selected icons
_e_fm2_uri_icon_list_get() ->  _e_fm2_uri_selected_icon_list_get()
2014-08-17 23:35:41 +02:00
Wonguk Jeong b481c124c8 efm: bug fix in source icons finding logic on dnd
Summary:
There were a few crash cases during drag and drop.
- move file in Desktop using efm,
- move file in same directory using differnt efm

The root cause is icon finding logic. efm finds icons based on URI string.
But, the found icon could be different with selected one since there could be multiple efm in same directory.

Therefore, this patch filter out icon which is not selected icon.

Fixes T1364

Test Plan:
case 1. open efm -> goto desktop -> move file from ~/Desktop to ~/Desktop/folder
case 2. open two efm -> goto same directory in two efm -> move file to {currentdirectory}/folder in any efm

Reviewers: raster, zmike

Subscribers: cedric, seoz

Maniphest Tasks: T1364

Differential Revision: https://phab.enlightenment.org/D1331
2014-08-17 17:04:15 -04:00
Mike Blumenkrantz c006bbf247 systray xembed handles nocomp interactions more reliably 2014-08-16 09:47:28 -04:00
Mike Blumenkrantz 62023bc722 nocomp enforcing is now more accurate 2014-08-16 09:46:56 -04:00
Mike Blumenkrantz 6bf8e24320 nocomp checks more correctly skip comp_skip objects 2014-08-16 09:46:21 -04:00
Mike Blumenkrantz 8669d68db3 simplify systray handler code 2014-08-16 09:12:48 -04:00
Mike Blumenkrantz 45906bdf20 fix infinite stacking loop when enforcing nocomp 2014-08-15 19:17:33 -04:00
Sebastian Dransfeld b6032b1fbd e_randr: position unknown monitors far right 2014-08-14 12:46:31 +02:00
Sebastian Dransfeld 0cb5704016 e_randr: better initial loading of x config
On first creation of randr config, get output position from crtc and
save config afterwards.
2014-08-14 09:55:02 +02:00
Sebastian Dransfeld 4a59642438 e_randr: update TODO 2014-08-14 09:54:10 +02:00
Sebastian Dransfeld fd5f178c21 e_randr: narrower scoping of variables 2014-08-14 09:51:40 +02:00
Sebastian Dransfeld 81e5bac915 e_randr: remove debug 2014-08-14 09:50:29 +02:00
Mike Blumenkrantz 369ff9c2b9 use_shaped_win can indeed be removed entirely! 2014-08-11 20:30:59 -04:00
Gwanglim Lee ec8a6b829e fix crash after moving gadget between two zones
Summary:
add check new_gcc into the gadman's gadget add handler to prevent invalid ref_count increase
while moving between two zones. and also add object clean code for new_gcc and drag_gcc
when gadget is dropped.

Fixes T722

Test Plan:
1. create clock module on gadcon desktop (settings->gadgets, select "background" under layers, click "configure layer" and add a clock gadget).
2. drag clock gadget from one screen to the other. drop it there.
3. drag clock back to first screen
4. right click on clock and select "clock->remove".

Reviewers: raster, devilhorns, zmike

Subscribers: cedric

Maniphest Tasks: T722

Differential Revision: https://phab.enlightenment.org/D1256
2014-08-11 19:35:37 -04:00
Davide Andreoli d5cbe23bd2 Music-control: added epymc to the list of supported players :) 2014-08-11 21:55:20 +02:00
Carsten Haitzler d6e99dc409 connman gadget - dont display config button unless econnman is installed
this has been just way too confusing. i her user problems all the time
and they just cant see differences between connman module+gadget and
python econnman app.

we do need to have these settings in e in the end anyway... but until
then - disable
2014-08-11 23:45:58 +09:00
Carsten Haitzler 3eb8330144 remove performance - engine cfg dialog as its obsolete
this dialog had a singl option in it - use shaped windows... and we
don't even use it anymore. remove the dialog to avoid confusion and
set use shaeped window to 0 - maybe config val could go entirely?
2014-08-11 10:56:35 +09:00
q66 8293711fc6 use a bit more standard ULLONG_MAX rather than ULONG_LONG_MAX 2014-08-07 23:05:44 +01:00
Carsten Haitzler 4e7c44d534 econnman launch from connman gadget - fix desktop file finding
this fixes T1472
2014-08-07 12:13:13 +09:00
Carsten Haitzler 6367207150 put pager_plain in approved module list 2014-08-07 07:46:38 +09:00
Mike Blumenkrantz 1080b3d5d7 bump config version, update p16 module users to regular p
come on.
2014-08-06 14:18:54 -04:00
Carsten Haitzler 0bb9acc75d comp - with sw comp tell apps to also use sw - disable accel requests
this addresses a vbox gl asccel issue where gl client apps can cause
al of vbox to crash and users find it unexpected that e is set to
software compositing but apps go and use opengl, so it's more
consistent for users
2014-08-06 12:04:27 +09:00
Igor Murzov 1f6ff4deb7 e_icon: Fix typo 2014-08-05 14:08:47 +04:00
Igor Murzov cf37ec604b syscon: Fix inconsistency between e_config_dialog_new() and _get() params 2014-08-05 12:01:45 +04:00
Igor Murzov 21a7370a4d Fix text markup in mouse binding config popup 2014-08-05 12:01:44 +04:00
Carsten Haitzler e2ec390021 rename pager16 to pager and pager to pager_plain
this will mean all users upgrading from e18 to e19 get the new preview
pager. thoose wanting the older plain pager can switch ti pager_plain.
anyon using git will find pager16 remove (or if still installed not
updated) so switch back to pager from pager16. :)
2014-08-05 12:01:22 +09:00
Mike Blumenkrantz 6d0ef37821 fix client struct alignment when using x + wl 2014-08-04 18:00:55 -04:00
Mike Blumenkrantz fd0a5bc934 add silent null check to e_pixmap_is_x() 2014-08-04 18:00:55 -04:00
Gwanglim Lee bb7173be6c fix gadcon client del event typos
Summary: fix E_Event_Gadcon_Client_Del typos

Test Plan: N/A

Reviewers: zmike, raster, devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1260
2014-08-04 10:04:12 -04:00
Wonguk Jeong e2daed5177 conf_display: NULL check before strdup 2014-08-02 15:00:54 +02:00
Mike Blumenkrantz 290e2369d3 s/sumary/summary/g 2014-07-30 19:18:24 -04:00
Mike Blumenkrantz 4d9646b40e unref composite submenu after setting 2014-07-30 18:37:38 -04:00