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
Summary: remove EINA_UNUSED from used function parameters
Test Plan: N/A
Reviewers: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1173
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
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
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
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
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
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
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
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
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
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>
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>
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>
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>
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>
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>
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>
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