Commit Graph

167 Commits

Author SHA1 Message Date
Seunghun Lee 26d352f219 Add module "wl_text_input" for supporting *wl_text_input* and *wl_input_method* protocol in wayland.
Summary:
this patch allow to use virtual keyboard such as weston-keyboard.
it was tested in wayland verion 1.6.

Test Plan:
<prerequisite>
- Configure with --enable-wl-text-input
- edit configuration file, e.cfg to enable module wl_text_input.

1. run enlightenment as a wayland display server.
2. run weston-keyboard.
3. run weston-editor.

Reviewers: raster, Sergeant_Whitespace, devilhorns, zmike

Reviewed By: zmike

Subscribers: ManMower, Sergeant_Whitespace, cedric, jihoon

Differential Revision: https://phab.enlightenment.org/D2275
2015-08-20 14:55:55 -04:00
Mike Blumenkrantz 3f13b6889d replace existing usage of x/wl_comp_data with corresponding globals 2015-08-13 16:05:57 -04:00
Chris Michael d4f9ee417d wl_desktop_shell: Formatting
NB: No functional changes

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-07-28 14:37:26 -04:00
Mike Blumenkrantz 0d19a5914b apply csd sizing transform for wayland configure events
when not resizing, the sizes passed to configure should be based on the
window size and not the surface size. in order to calculate this, it's
necessary to keep track of the last-known window geometry for non-maximized
states and create offsets with which to calculate new sizes

this fixes directional maximizes as well as unmaximizing
2015-07-24 16:35:21 -04:00
Mike Blumenkrantz 0321fd690e do not send duplicate configures for wayland clients during maximize
this seems to not have caused any real issues, but it made debugging
more of a pain and is unnecessary connection noise
2015-07-24 16:33:33 -04:00
Mike Blumenkrantz 7aea28a86b do not attempt to remove wl xdg popup clients from focus stack
these have never been added to the focus stack, so removing them is useless
2015-07-21 14:19:39 -04:00
Mike Blumenkrantz bd776b157f add e_client_unignore() for triggering events when unignoring a client
mainly for use in wayland compositing since all surfaces are ignored
until they get a shell surface or a commit
2015-07-17 15:30:30 -04:00
Mike Blumenkrantz d7c58215f4 set wl client surface pointer in surface create method
remnant from when clients were created by the shell
2015-06-25 20:04:31 -04:00
Mike Blumenkrantz eec5cf6a67 remove E_Comp_Data typedef, use backend-specific typedefs unconditionally
this turned into a bit of a charlie-foxtrot due to constant pointer aliasing
in the wl compositor codebase

no functional changes
2015-06-25 20:04:31 -04:00
Chris Michael a57ce9ca85 wl-desktop-shell: Don't crash when trying to place popup menus in QT apps
This is a partial fix for T2517. It fixes the crash, but does not
address popup menu placement.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-25 12:05:05 -04:00
Chris Michael 475a246ea9 wl-desktop-shell: Remove useless return at end of function
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-25 09:45:28 -04:00
Chris Michael 609fa7100d wl-desktop-shell: Fix formatting
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-25 09:30:59 -04:00
Chris Michael d73b3d1e70 wl-desktop-shell: Fix popup menu placement for xdg surfaces
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-09 09:43:34 -04:00
Chris Michael db66433374 wl-desktop-shell: Fix T2357: Update xdg_shell for version 5
Summary: This fixes the Enlightenment wayland desktop shell by
updating it to support xdg_shell version 5. Fixes T2357 where gtk apps
would not work. Confirmed working now.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-08 12:23:40 -04:00
Boram Park 5c46de06c6 e_comp_wl: fix not sending a mouse enter event to client.
Summary:
First of all, currently cdata->ptr.x,y contains e_client related pos.
But, cdata is owned by e_comp, not per e_client. So cdata->ptr.x,y should contain
absolute pos.
And, when a pointer resource is created, enter event should be sent to client.

Change-Id: I21cb031e293fe281e35ba89f3a96116a28a48856
Signed-off-by: Boram Park <boram1288.park@samsung.com>

Test Plan:
1. run e as wayland server
2. move cursor to around 50,50
3. run elementary_test
4. click the mouse left button on slide toggle widget.
   (Don't move a cursor out of elementary_test. If you do, you can't find bug)

Reviewers: gwanglim, raster, devilhorns, ManMower, zmike

Reviewed By: zmike

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2330
2015-05-18 11:53:05 -04:00
Chris Michael 646db93b53 add missing EINA_UNUSED for function paramater
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-18 09:20:16 -04:00
Derek Foreman 7f6f4b6966 wayland: Remove a lot of E_Comp_Data pointers
Summary: We should just use e_comp->wl_comp_data everywhere we can.

Reviewers: devilhorns, zmike

Reviewed By: zmike

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2507
2015-05-18 09:08:52 -04:00
Chris Michael 829c9ffc73 wl-desktop-shell: Quiet debug output
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-13 14:50:40 -04:00
Chris Michael 0a94e8ba71 enlightenment: Make E build again with EFL from git
sed -i 's/EAPI/E_API/g'

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-07 15:13:10 -04:00
Mike Blumenkrantz f843b48eb2 update wl shell parent setting code to use clients instead of pixmaps
ref T2354
2015-04-22 14:55:45 -04:00
Mike Blumenkrantz 96f07bff8a wl client pixmaps now use a different method for creating the pixmap id 2015-04-21 15:19:20 -04:00
Mike Blumenkrantz 617c2d96ff move wl E_Client creation to same place as E_Pixmap creation
ensure that surface manipulation functions will succeed even with no shell surface
2015-03-30 12:13:04 -04:00
Mike Blumenkrantz 2810a4802a remove E_Comp usage from wl desktop shell 2015-03-18 17:34:16 -04:00
Mike Blumenkrantz 0ddedd09a4 wl compile fixes 2015-03-13 20:09:54 -04:00
Mike Blumenkrantz 1736d1ecb9 e_client functions no longer require E_Comp param 2015-03-13 16:53:19 -04:00
Mike Blumenkrantz 091142b032 remove E_Client->comp 2015-03-13 15:41:21 -04:00
Mike Blumenkrantz d42586869e fix wl shell client borders for internal, borderful clients...again 2015-03-13 15:03:13 -04:00
Mike Blumenkrantz b688ddbeb0 don't crash when creating external shell surface clients
sadconditionals.jpg
2015-03-12 14:53:46 -04:00
Mike Blumenkrantz bb77ddf22c correctly apply wl shell client border states only for non-internal clients 2015-03-12 14:48:46 -04:00
Mike Blumenkrantz f1b47ca2af don't create new wl shell clients for internal windows 2015-03-12 14:42:00 -04:00
Mike Blumenkrantz 3f5d25a535 don't identify all wl shell clients as internal...you crackhead 2015-03-12 13:13:55 -04:00
Mike Blumenkrantz 3e4d5ddfc3 always create new client for wl shell surfaces
this should be a more correct way of handling (shell) surfaces since
there's never a time when we won't want to create a new client
2015-03-10 18:27:08 -04:00
Mike Blumenkrantz 4140fb728a don't attempt to find wl shell E_Client when one cannot exist 2015-03-10 16:37:30 -04:00
Derek Foreman 9ef66f7fae Wayland: Don't consume serials when not sending events
Reviewers: zmike, devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2134
2015-03-10 15:52:31 -04:00
Mike Blumenkrantz b069009a16 grab wl shell surface geom and use for adjusting resize operations
I think this still may not be 100% perfect,
but it's more like 95% perfect now instead of 50%
2015-03-03 16:48:25 -05:00
Derek Foreman d576c58bd7 clamp to parent height, not parent y co-ordinate.
Summary:
Clamping to Y makes pop ups get shifted up if a window is
near the top of the screen.

Reviewers: devilhorns, zmike

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2060
2015-02-26 15:27:52 -05:00
Bryce Harrington 89dbb9bd27 cosmetic: Whitespace cleanup of wayland client files
Summary:
cosmetic: Cleanup whitespace for wayland compositor

There is excess trailing whitespace in several of the files for the
wayland implementation.  These patches attempt to apply the spacing
rules for Enlightenment as documented at:
https://phab.enlightenment.org/w/coding_convention/

The whitespace rules are applied using the following emacs tabbing
settings:

 (defun start-efl-c-mode ()
  "C mode with adjusted defaults for use with Enlightenment
  development."
  (interactive)
  (c-mode)
  (c-set-style "gnu")
  (setq tab-width 8)
  (setq indent-tabs-mode nil)
  (setq c-basic-offset 3)
  (setq defun-block-intro 3)
  (setq statement-block-intro 3)
  (setq case-label 1)
  (setq statement-case-intro 3)
 )

This patchset also eliminates all tabs in favor of whitespace, as per
the coding style rules.

Reviewers: zmike, cedric, devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2048
2015-02-24 17:34:20 -05:00
Chris Michael 9e585e3f79 remove unused variable
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-02-24 15:36:34 -05:00
Bryce Harrington 40998b8a6e Code cleanup and check for OOM condition with wl_array_add
Summary:
wayland: Check wl_array_add return for OOM condition
cosmetic: Make error return check syntax consistent with rest of code
wayland: Reuse use_adj to track child-forced adjust
wayland: Refactor to collapse if chain
wayland: Refactor _e_comp_wl_client_priority_adjust to collapse if chain
 + This uses early returns to unwrap a couple if clauses to make the code a bit less nesty.
wayland: Refactor if statements for consistency with rest of file

Reviewers: cedric, zmike, devilhorns

Subscribers: devilhorns, cedric

Differential Revision: https://phab.enlightenment.org/D2034
2015-02-24 14:47:56 -05:00
Mike Blumenkrantz 62328e0c90 remove wl override clients from focus stack
no more client cursor clients in winlist hoorayyyyy
2015-02-13 15:48:00 -05:00
Mike Blumenkrantz 92079a11e7 allow focus on normal wl clients again 2015-02-13 15:45:03 -05:00
Mike Blumenkrantz 1ef496c9cc remove unneeded client attr setting in wl shell
these are always set by the wl new client hook
2015-02-13 15:41:58 -05:00
Mike Blumenkrantz af0508baf9 set wl popups to appropriate layer in shell module 2015-02-13 15:24:24 -05:00
Mike Blumenkrantz e80bd28d33 don't set geometry during wl client surface mapping
this happens automatically in other places, calling it here breaks client placement

 #barrel
2015-02-11 17:15:31 -05:00
Mike Blumenkrantz a9b56c4c28 reenable new_client for wl clients, but force moveresize actions to succeed 2015-02-11 17:00:59 -05:00
Mike Blumenkrantz 8541c13b06 unset new_client flag for wayland clients
this is only applicable for X clients
2015-02-10 15:51:35 -05:00
Mike Blumenkrantz c67e31f99b remove unnecessary EC_CHANGED from wl shell creation
new clients are always changed, this is redundant
2015-02-04 18:09:32 -05:00
Mike Blumenkrantz c196ce0c12 clamp wl popup coords to parent when possible 2015-02-04 18:09:00 -05:00
Mike Blumenkrantz ad41e45b84 set wl popups as overrides
not technically correct but will mimic expected behavior more accurately
2015-02-04 18:01:38 -05:00
Mike Blumenkrantz 8d5ab29625 don't create wl clients as re_manage 2015-02-02 12:41:39 -05:00