This fix floats all the windows that don't fit because of their min size
restrictions.
It can be made better, at the moment it is very simple. An example
broken case would be the following:
Assume we have 3 windows, A, B and C.
B and C both hand a min width of half the screen.
First we create A, then B. Everything works as they share the screen,
but when we add C, both B's and C's restrictions "fail" so they are both
set to float although in reality, floating C is enough. This can be
fixed by doing a live scan of the tree every time a window is floated,
though it's not essential at the moment.
Fixes T952.
Summary:
Because attached buffer can be NULL for removing surface content,
check of pending.buffer should be done before getting resource value of the buffer.
Reviewers: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1370
This fixes an issue where internal dialogs were not using the e
cursors but would default back to an x cursor
Signed-off-by: Chris Michael <cp.michael@samsung.com>
If we don't do this, then when we run in X11 with wl client support,
we crash in various places (iconify, etc) when trying to work with
normal X clients.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Don't set changes.icon during surface creation. There are functions
that get called when icccm.class changes and That is the place to set
changes.icon.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Additional authors: zmike
This fixes the issue of some wayland applications always showing up
with the e_border visible.
If we get a transient_set from wl_shell or xdg_shell, don't reset the
client's netwm.type. Some wayland applications are sending us
transient_set with parent to NULL....so don't explicitly set the
netwm.type to dialog.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Lock subsurface border type to borderless.
Remove commented out code.
Don't mark border.changed during pre_frame callback.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
- When we are doing client eval, don't check for Just changes in
property OR fetching. Rather we will check using an AND.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: we also need to clear parent's resource.
Test Plan: N/A
Reviewers: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1238
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>
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>
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
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
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
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