Commit Graph

115 Commits

Author SHA1 Message Date
Mike Blumenkrantz 36e4eff943 clarify wl shell errors when failing to create clients 2015-01-28 17:01:16 -05:00
Mike Blumenkrantz a8bd9df733 Revert "simplify/fix wl client borderless setting"
This reverts commit 1b3d89c4c0.

I suck too much to fix this right now, maybe later
2015-01-23 16:30:28 -05:00
Mike Blumenkrantz 1b3d89c4c0 simplify/fix wl client borderless setting 2015-01-23 16:22:02 -05:00
Chris Michael fba5de7d6a Revert "only set wl client borderless state as necessary, don't overwrite existing states"
This reverts commit 5c80ce8e0e.

Revert this as it causes ALL internal windows to not have any borders
anymore.
2015-01-23 14:57:04 -05:00
Mike Blumenkrantz 5c80ce8e0e only set wl client borderless state as necessary, don't overwrite existing states 2015-01-23 14:31:35 -05:00
Mike Blumenkrantz 03c5915245 force server borders on internal wl wins again
this goes back to previous behavior before elm win conversion
2015-01-23 14:10:58 -05:00
Mike Blumenkrantz 1b321567bf simplify wl xdg/shell configure functions
setting changes.XYZ is generally bad and shouldn't be done. in this case, it was obscuring an infinite render resize loop

 #barrel
2015-01-22 23:45:11 -05:00
Mike Blumenkrantz 01b0f4a85d set wl client geometry before showing in desktop shell
bad things (tm) can happen if geometry doesn't get updated before the show

 #barrel
2015-01-22 23:45:08 -05:00
Chris Michael e8c7b82dab Ignore checking size of client and just always send new size. This
fixed basic-->advanced dialogs here

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-22 14:31:03 -05:00
Chris Michael cf675ad688 wl-desktop-shell: Fix issue where internal elm windows were not
borderless

This fixes the issue of elementary windows having 2 borders, however
it does expose a new issue where those same internal elm windows now
have a black shadow border around them.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-09 12:48:04 -05:00
Chris Michael f2e7bd7204 wl-desktop-shell: Remove use of deprecated e_comp_get function
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-06 09:30:30 -05:00
Chris Michael dd983b2e79 wl-desktop-shell: Always set netwm.ping on the client
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-11-03 12:27:13 -05:00
Chris Michael 1fd35b0636 wl_desktop_shell: Remove silly debug message
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:08 -04:00
Chris Michael 1203b36635 wl_desktop_shell: Remove resize.width/height compositor data fields.
Add some debugging print outs.
Don't check client size compared to new size.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:08 -04:00
Chris Michael 7cb087238d wl-desktop-shell: Don't call e_client_ping here.
Summary: As pointed out by shiin, this causes an infinite loop due to
e_client_ping already been called in the pre_frame callback. Thanks
for spotting this !! :)

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 08:41:04 -04:00
vivek bcd3c6de49 wl_desktop_shell: Fixed the issue to check if wl surface is active or hung up
Summary:
The patch will setup e_client_cb_ping_poller and as long as wl_surface is
active it will unset hung

Signed-off-by: vivek <vivek.ellur@samsung.com>

Reviewers: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1608
2014-10-29 10:38:06 -04:00
Chris Michael 9ad13e4fcc wl_desktop_shell: Fix formatting
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-29 10:35:24 -04:00
vivek 0a60b1c553 wl_desktop_shell: Fixed the issue to check if client is active or hung up
Summary:
The patch will setup e_client_cb_ping_poller and as long as surface is
active it will unset hung

Signed-off-by: vivek <vivek.ellur@samsung.com>

Reviewers: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1607
2014-10-29 10:34:26 -04:00
vivek 5f57c472b2 wl_desktop_shell: Implemented function to show xdg shell surface menu
Summary:
Implemented _e_xdg_shell_surface_cb_window_menu_show internal function
to show window menu.

Signed-off-by: vivek <vivek.ellur@samsung.com>

Reviewers: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1606
2014-10-29 09:51:28 -04:00
Chris Michael 7498dbac99 don't crash when closing internal dialog boxes
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-12 10:08:05 -04:00
Chris Michael 40935c3c45 send xdg surface configure message when we maximize/unmaximize.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-06 15:57:36 -04:00
Chris Michael 6a07c9f99d wl-desktop-shell: Update module code for new xdg shell protocol
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-01 16:15:00 -04:00
Chris Michael 44168b4a36 wl-desktop-shell: Bump xdg protocol version
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-01 16:15:00 -04:00
vivek 3999e39962 wl_desktop_shell: Added shell_surface_destroy API for destroying all surfaces
Summary:
shell_surface_destroy function is a common destroy function to destroy all type of surfaces and to remove redundancy in code

Signed-off-by: vivek <vivek.ellur@samsung.com>

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1421
2014-09-08 08:15:22 -04:00
vivek 992f999301 bugfix: Check for parent surface before creating popup
xdg_shell requires a parent surface in order to create a popup, so we
should check the validity of the parent resource and error out
accordingly

Summary: Signed-off-by: vivek <vivek.ellur@samsung.com>

Reviewers: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1388
2014-09-02 08:35:50 -04:00
Chris Michael d9cdcdbef4 Fix elm apps crashing from invalid e_remember
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
2014-08-26 10:10:38 -04:00
Chris Michael 8fa7e4f59d Fix inproper setting of window type during transient_set.
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>
2014-08-26 10:10:38 -04:00
Chris Michael c93ea90edf Simplify both transient_set functions (wl_shell and xdg_shell).
Remove debugging noise.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
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 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
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
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
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
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
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 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 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 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 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 118f4eb05e fix formatting
Signed-off-by: Chris Michael <cp.michael@samsung.com>
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 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 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 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