Commit Graph

335 Commits

Author SHA1 Message Date
Mike Blumenkrantz 66e4c59764 hide wl clients on surface delete
surface callbacks may not trigger xdg/shell unmap callbacks before this is called, so this ensures a hide animation
2015-02-02 13:39:32 -05:00
Mike Blumenkrantz 8d5ab29625 don't create wl clients as re_manage 2015-02-02 12:41:39 -05:00
Chris Michael b02439c14d Revert "reset keyboard modifiers when client is deleted"
This reverts commit b9f4b257d7.

Revert this quick fix as apparently it did not actually fix the problem.
2015-02-02 12:31:09 -05:00
Chris Michael b9f4b257d7 reset keyboard modifiers when client is deleted
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-02-02 12:27:40 -05:00
Mike Blumenkrantz ae7976bdc8 delete all clients in wl delete request cb
this was doing weird stuff for some reason when it should just be deleting all clients
2015-02-01 19:05:21 -05:00
Mike Blumenkrantz 7a0ea605e6 move wl pixmap creation back to comp
after further consideration, this seems much simpler
2015-01-28 17:31:40 -05:00
Mike Blumenkrantz 2a51535fc0 Revert "move wl pixmap creation into shell, fix pixmap id usage"
This reverts commit c1a93d893e.
2015-01-28 17:29:17 -05:00
Mike Blumenkrantz c1a93d893e move wl pixmap creation into shell, fix pixmap id usage
using raw surface id here guarantees overlap between surfaces for different apps. instead, shift and add app pid to ensure uniqueness

 #barrel
2015-01-28 17:04:59 -05:00
Chris Michael c024e4bc17 add EINA_UNUSED for unused function paramater
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-26 14:54:55 -05:00
Chris Michael e647105421 add function to return input idle time in wayland compositor
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-26 14:50:58 -05:00
Chris Michael 60f7b57c04 don't crash if the client comp_data has no surface yet
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-14 16:11:53 -05:00
Chris Michael 7c5c8b1561 comp-wl: Set argb and no_shape_cut for new clients. This fixes the
black shadow issue

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-12 13:03:52 -05:00
Chris Michael 72f1b10ea1 comp-wl: Remove unused variable
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-09 13:44:46 -05:00
Chris Michael b61debdcad comp-wl: Add missing function prototype
Since we call this function before it's actually defined in the
source, we'll just add a small function prototype at the top

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-09 13:43:40 -05:00
Chris Michael 3d5171563f comp_wl: Fix issue with multiple clients being created
This fixes an issue where internal elementary dialogs would end up
creating 2 pixmaps and 2 clients for each window. This happened due to
the pixmap id not matching the elm window id.

This patch also handles reparenting internal elm windows if needed.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-09 12:48:04 -05:00
Chris Michael a0e92e2868 remove use of deprecated e_comp_get function
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-06 09:28:58 -05:00
Chris Michael 93a125b7a2 e-comp-wl: Don't try to set null data if we don't have a surface
Summary: This fixes an issue where calling wl_resource_set_user_data
with an invalid resource would cause an abort in the wayland
libraries, Thus making E crash.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-11-24 16:01:27 -05:00
Mike Blumenkrantz ce8a4a2b78 remove ec->changes.internal_props
this should be set directly on the win using evas/elm apis
2014-11-20 15:26:22 -05:00
Mike Blumenkrantz 99589eb5af remove E_Win+e_canvas, convert all internal wins to use elm_win
known issues:

* keybindings for efm windows (eg. ctrl+w) are broken until the rest of the conversion is completed
2014-11-20 15:26:21 -05:00
Chris Michael 69c71a16bb e-comp-wl: Implement client idler for sending configure during resize.
Cleanup surface commit function to work with new pixmap caching code.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-11-10 11:58:20 -05:00
Chris Michael 7f8387b4bc e-comp-wl: Fix keyboard input with wayland clients when running in X11.
Don't run client_post_new hook for deleted clients.
Start work on client pre_frame hook.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-11-05 10:00:06 -05:00
Chris Michael dcffab5c82 e-comp-wl: Clip shape rectangles to client size
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-11-05 10:00:06 -05:00
Chris Michael 19df35bdbf e-comp-wl: Hook into post_new_client event so we can setup hints and
export any shape changes

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-11-05 10:00:06 -05:00
Chris Michael 86617fe717 e-comp-wl: Set e_client properties on subsurface E_Client
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-11-05 10:00:06 -05:00
Chris Michael 2d7ca6d2eb e-comp-wl: Implement callback for surface resource destroy
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-11-03 15:10:38 -05:00
Chris Michael 9ebf046e41 e-comp-wl: Remove unnecessary todo item
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-11-03 14:48:19 -05:00
Chris Michael 8a08e17603 e-comp-wl: Implement subsurface parent commit function
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-11-03 14:47:14 -05:00
Chris Michael 4de0a40d0c e-comp-wl: Implement subsurface commit_to_cache and commit_from_cache
functions

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-11-03 14:47:14 -05:00
Chris Michael d3aed14ebc e-comp-wl: Fix various compile errors
Summary: add function prototype for subsurface_parent_commit, fix a
few typos which broke compile

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-11-03 12:50:07 -05:00
Chris Michael 1b3c77bbe9 e-comp-wl: Start on implementing subsurface commit functions
NB: Not complete yet

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-11-03 12:27:13 -05:00
Chris Michael ff77a2fa08 e-comp-wl: Implement subsurface place_below function
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-11-03 12:27:13 -05:00
Chris Michael 979ba2f467 e-comp-wl: Implement subsurface place_above function
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-11-03 12:27:13 -05:00
Chris Michael ee9e9a51ee e-comp-wl: Implement subsurface desynchronized_set function
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-11-03 12:27:13 -05:00
Chris Michael 60c967a5ba e-comp-wl: Implement subsurface synchronized_set function
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-11-03 12:27:13 -05:00
Chris Michael 393f3c90dd e-comp-wl: Implement subsurface position set function
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-11-03 12:27:13 -05:00
Chris Michael 78fe19065f e-comp-wl: Implement subsurface destroy callbacks
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-11-03 12:27:13 -05:00
Chris Michael c817d83793 e-comp-wl: Destroy subsurface resource in destroy callback
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-11-03 12:27:13 -05:00
Chris Michael f53fc6648c e-comp-wl: Start to reimplement subcompositor and subsurface support
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-11-03 12:27:13 -05:00
Chris Michael 103a980adb e_comp_wl: Remove unused variables
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-31 14:38:29 -04:00
Chris Michael a716f41327 e_comp_wl: add support for priority raise/normalize during focus events
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-31 14:38:24 -04:00
Chris Michael db795bbb5d e-comp-wl: Make new compositor functional.
- Remove client_window_hash (not needed).
- Add hook for evas resize and update surface (configure_send) during resize.
- Remove old buffer_refenerce mechanism
- Refresh pixmap on surface commit

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-31 12:33:09 -04:00
Chris Michael c0c911af91 e_comp_wl: Implement surface frame callback support
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:08 -04:00
Chris Michael 89ae4607c9 e_comp_wl: Add hooks for focus in/out events so we can set wayland focus
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:08 -04:00
Chris Michael 1bc93687db e_comp_wl: Cleanup resizing of wayland clients. This hooks into
various resize callbacks to set/unset the resize edges and to update
the surface size.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:08 -04:00
Chris Michael 87d9872b4c e-comp-wl: Que a buffer release after we have committed the pending buffer
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:08 -04:00
Chris Michael 3cf2088ee7 fix formatting
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:08 -04:00
Chris Michael b410042f7f remove debug messages for mouse in/out
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:08 -04:00
Chris Michael e04343eaaa add checks in client focus/unfocus to test for wayland client
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:08 -04:00
Chris Michael 72dac4e751 add callbacks for client focus/unfocus
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:07 -04:00
Chris Michael 7ea9df0f53 add evas callback for client resize
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:07 -04:00
Chris Michael 65b397a84f add evas callback for color_set
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:07 -04:00
Chris Michael 59e431d838 add evas callback for ping event
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:07 -04:00
Chris Michael 241ad6a789 add evas callback for kill request
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:07 -04:00
Chris Michael 36ff31e6b4 add evas callback for delete_request and fix printf warnings for
uint64_t

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:07 -04:00
Chris Michael 438bb71689 add evas callback for key up events
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:07 -04:00
Chris Michael c9fe774f23 add evas callback for key down event
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:07 -04:00
Chris Michael 8cf2100e74 add evas callbacks for mouse wheel event
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:07 -04:00
Chris Michael 3b45f205a2 add evas callbacks for mouse up event
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:07 -04:00
Chris Michael c5d50e050a add evas callback function for mouse down event
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:07 -04:00
Chris Michael 5eb9ce9f34 add evas callback for mouse move on a surface
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:07 -04:00
Chris Michael 122d47e6e9 add evas callback for mouse out on a surface
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:07 -04:00
Chris Michael 2bd389f47c remove some debug messages
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:07 -04:00
Chris Michael 2696821734 add callback for mouse in on the client.
Fix improper tiler_clear in surface_commit function.
Add fast-path in surface commit to skip processing regions & damage if
the client is not visible.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:07 -04:00
Chris Michael 7675825f61 add hook for evas callback hide so we can hide any video children
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:07 -04:00
Chris Michael f64a570569 add hoook for evas show callback and show any video childs
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:07 -04:00
Chris Michael 22b793a96f fetch pixmap id in opaque & input region set functions
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:07 -04:00
Chris Michael 270a394d45 add listener for comp_object_add event so we can setup evas callbacks
for a client.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:07 -04:00
Chris Michael 830239c60f fix typo
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:07 -04:00
Chris Michael c3a9474ae9 update todo
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:07 -04:00
Chris Michael 128d1f1d05 cleanup any pending input regions when we delete the client
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:07 -04:00
Chris Michael 6acad9508d cleanup any pending opaque regions when we delete the client
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:07 -04:00
Chris Michael 9faf1e57d2 cleanup any remaning damage rectangles when we delete the client
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:07 -04:00
Chris Michael 6ff00a346c add some comments about fetching resource data
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:07 -04:00
Chris Michael cf61ded0c5 update resource data comment
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:07 -04:00
Chris Michael e099e33858 add code to handle pending input regions during surface commit
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:07 -04:00
Chris Michael d5bb9f9e8a add code to handle pending opaque regions during surface commit
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:07 -04:00
Chris Michael a6cb5bfe6c add code to handle pending damages during surface commit
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:06 -04:00
Chris Michael 53f21f997c add code to handle setting surface input region
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:06 -04:00
Chris Michael 5b2d5a58f6 add code to handle setting surface opaque region
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:06 -04:00
Chris Michael fb9e9934cf Add code to handle setting surface damages
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:06 -04:00
Chris Michael ed649f2ab3 add code to handle regions (creating, destroying, setting)
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:06 -04:00
Chris Michael d3e232b51e Start on surface commit code and improve some debugging messages
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:06 -04:00
Chris Michael 988c875162 add hooks for client delete
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:06 -04:00
Chris Michael 8c661bb7fb add code to hook the client new event
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:06 -04:00
Chris Michael e655abfaa4 Add code to create the clients window hash
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:06 -04:00
Chris Michael 1dc1be5a7f Implement code for surfaced attach
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:06 -04:00
Chris Michael ccee62d069 Fix compile errors. Implement start of buffer code
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:06 -04:00
Chris Michael 7ace049cfb unset pixmap resource when surface resource is destroyed
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:06 -04:00
Chris Michael a4e6ea3348 add call to delete fd handler when we close the compositor
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:06 -04:00
Chris Michael 8963b3ff88 add start of surface implementation code
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:06 -04:00
Chris Michael 7aab9b24a5 start on actual compositor interface code
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:06 -04:00
Chris Michael 8d54d20f8a Fix printing of wayland log output
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:06 -04:00
Chris Michael fd42a4ec98 Fix missing variable compiler warning
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:06 -04:00
Chris Michael e0d301fdb6 add call to shutdown Ecore_Wayland
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:06 -04:00
Chris Michael 234953ad3e add code to initialize Ecore_Wayland
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:06 -04:00
Chris Michael 0342998c79 set compositor wayland data
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:06 -04:00
Chris Michael 29c89083bd add code to setup input & keyboard if we are using an X compositor
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:06 -04:00
Chris Michael 708e255730 add code to initialze input
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:06 -04:00
Chris Michael 8637842cf9 add code to initialize data manager
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:06 -04:00
Chris Michael 8010e7d8b9 add code to load desktop shell module
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:06 -04:00
Chris Michael 1005a6d299 add code to integrate wayland event loop with ecore_main loop
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:05 -04:00
Chris Michael c776f016e3 add function call to initialize shm
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:05 -04:00
Chris Michael a4db6d6485 rename compositor delete callback
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:05 -04:00
Chris Michael 59338704da add code to create and bind the wayland compositor
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:05 -04:00
Chris Michael de917436fd add code to setup wayland compositor signals
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:05 -04:00
Chris Michael aff78ea8a7 add code to create wayland display socket
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:05 -04:00
Chris Michael 6c76d16a33 add code to create new wayland display
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:05 -04:00
Chris Michael edc0037655 add code to setup wayland logging function
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:05 -04:00
Chris Michael 62471b5b5b add functions to create new compositor
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:05 -04:00
Chris Michael 5137277c93 set comp_gl if we have the correct engines available
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:05 -04:00
Chris Michael 6a06b8d7f2 add start of new compositor
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:05 -04:00
Chris Michael e84c21469d remove old wayland compositor file
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:05 -04:00
Chris Michael b072a54499 e-comp-wl: Reduce calls to wayland protocol functions. These are not
needed here and just waste extra cycles.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-13 15:49:52 -04:00
Chris Michael ab6add8375 e-comp-wl: Support wl_display_add_socket_auto function
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-13 15:48:53 -04:00
Chris Michael f882845b2d e-comp-wl: Send the resource as data to the surface_create signal
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-13 15:47:23 -04:00
Chris Michael 55ab9a8a39 fix resizing wayland clients by sending configure message if client is
Not maximized.

Apparently I broke resize when fixing maximize ... uggg.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-12 06:15:25 -04:00
Chris Michael 011600b54d Don't resend a configure event after resize is done. This is part of a
xdg_shell maximize fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-06 15:56:48 -04:00
Chris Michael c27ba8b8c2 e-comp-wl: Update compositor for new xdg shell protocol
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-01 16:15:00 -04:00
Stefan Schmidt 99f9244d1c e_comp_wl: Remove unused variable and mark parameter as unused. 2014-09-05 11:54:45 +02:00
Chris Michael b92b34621c e-comp-wl: Remove blank line
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-09-04 12:50:41 -04:00
vivek ded8356fc7 e_comp_wl: Handle surface opaque region in subsurface commit from cache
Summary: When we commit a subsurface from cache, we should adjust the
client's shape rectangles so that they get applied when rendering.

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

Reviewers: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1412
2014-09-04 12:49:54 -04:00
MinJeong Kim 73ce914020 Check whether attached buffer exists, before using it.
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
2014-08-27 08:26:38 -04:00
Chris Michael 78bcbfff35 trap return value of shm_buffer_get
This function Can fail to return an shm_buffer if the buffer_resource
is an EGL buffer.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 14:06:57 -04:00
Chris Michael 559d53bc5d Add checks for client being a wl pixmap in some functions
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>
2014-08-26 10:10:39 -04:00
Mike Blumenkrantz f56a08fc6c move wl client_resize protocol calls to idler 2014-08-26 10:10:39 -04:00
Mike Blumenkrantz e7a0b193f3 automatically enable pointer and keyboard for wayland-in-X 2014-08-26 10:10:38 -04:00
Mike Blumenkrantz 362a9b6cce reuse existing render post callback for wayland clients 2014-08-26 10:10:38 -04:00
Chris Michael 4066cf2ca9 Reduce usage of EC_CHANGED.
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>
2014-08-26 10:10:38 -04:00
Chris Michael 6485968ca0 reorder client idler and stacking functions so we can call them after
post_move.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:38 -04:00
Chris Michael a15eaa46c4 Reduce potential of unnecessary function calls:
- 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>
2014-08-26 10:10:38 -04:00
Chris Michael dba9916abe Remove NULL checks for valid client->comp_data ... let the crashing begin !!
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
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
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
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
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 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
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 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 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 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 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 894d147844 update some fixme/notes
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 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