Derek Foreman
4276b3ac55
Provide wl_output interface to clients
...
Reviewers: devilhorns, zmike
Reviewed By: devilhorns, zmike
Subscribers: cedric
Maniphest Tasks: T2131
Differential Revision: https://phab.enlightenment.org/D2007
2015-02-19 14:49:01 -05:00
Mike Blumenkrantz
1d069ab3b6
add ctrl+alt+backspace to kill wl-only e
...
#barrel
2015-02-13 16:40:14 -05:00
Mike Blumenkrantz
23aad426aa
remove some futile attempts at variable setting in wl client new hook
...
none of these attrs are available at this point so the client attrs can't be set
2015-02-13 15:17:48 -05:00
Mike Blumenkrantz
a1af6fbdce
remove unused var
2015-02-13 15:11:33 -05:00
Mike Blumenkrantz
67bbd1fe03
manage client pointer client hidden states when changing pointer cursor objects
...
fixes sticky cursors
2015-02-12 20:07:35 -05:00
Mike Blumenkrantz
9a6cddf91f
don't clear wl surface input tiler during commit
...
this broke input regions for successive frames
2015-02-12 19:30:21 -05:00
Mike Blumenkrantz
5846e0febe
unset wl client placed value on first commit to force placement
...
many clients still have not had a first commit prior to running new_client placement,
so this will force a second run of that algo to prevent placing as though a client's
size = 1x1
2015-02-11 17:58:27 -05:00
Mike Blumenkrantz
aca462cb8c
don't add wl evas callbacks multiple times
...
#sigh
2015-02-11 17:22:55 -05:00
Mike Blumenkrantz
6bf43fa081
don't use garbage values for new_client wl surface configures
2015-02-11 17:20:03 -05:00
Mike Blumenkrantz
9a82f7bcb0
reapply accurate ec->placed value for wl clients during surface commit configure
...
fixes client placement when client has not been placed prior to first commit
2015-02-11 17:14:28 -05:00
Mike Blumenkrantz
e1e711ce53
use pixmap size for wl subsurface commit configure
2015-02-11 17:08:06 -05:00
Mike Blumenkrantz
491825c05f
move map before configure for wl clients during commit
...
this ensures visibility is set correctly before attempting to set geometry
2015-02-11 17:02:01 -05:00
Mike Blumenkrantz
5ecc0ca0a1
use accurate xy coords for wl surface configures
2015-02-11 17:00:28 -05:00
Mike Blumenkrantz
77da958137
remove nonsensical wl client finding code
...
if the pixmap has no client set, no client exists for the pixmap
2015-02-11 16:23:07 -05:00
Mike Blumenkrantz
9006bb61e5
set wl client keyboard focus on evas focus and commit
...
ensure that focus is applied even if there is no new frame
2015-02-11 11:51:39 -05:00
Mike Blumenkrantz
4d80185e69
send wl keyboard enter during commit
...
in some cases this was happening before the kbd resource was available; this guarantees that it will be
2015-02-10 19:17:50 -05:00
Mike Blumenkrantz
c4ba0f5242
setup evas callbacks for wl clients during commit
...
this was happening way too late and breaking some clients
2015-02-10 19:17:11 -05:00
Mike Blumenkrantz
e3efba7ff7
set take_focus more appropriately for wl clients
2015-02-10 19:15:22 -05:00
Mike Blumenkrantz
d97c6b04bb
redo pixmap image border to take xywh instead of lrtb
...
client size is not set by the time opacity is set so it's necessary to store the full rect
2015-02-10 18:07:41 -05:00
Mike Blumenkrantz
090261bc1b
don't add rect for entire screen on wl region create
2015-02-10 17:30:05 -05:00
Mike Blumenkrantz
7e422ed0c2
remove wl opaque tilers, just set border in opaque callback
2015-02-09 21:27:53 -05:00
Mike Blumenkrantz
ce062750b6
set pixmap image borders for wayland clients
2015-02-09 21:16:40 -05:00
Mike Blumenkrantz
06defb7f94
fix wl input region setting
2015-02-09 21:14:18 -05:00
Mike Blumenkrantz
d54d6640e8
don't set client shape rects based on wl opaque regions
2015-02-09 21:14:18 -05:00
Mike Blumenkrantz
bce8470cef
correctly set/update wl opaque regions
2015-02-09 20:44:01 -05:00
Mike Blumenkrantz
1bf6603baa
force wl client cursor clients to hide when unset from pointer
2015-02-09 14:35:37 -05:00
Mike Blumenkrantz
ee530798f0
replace all occurrences of cursor setting with calls to pointer util function
2015-02-09 12:24:48 -05:00
Mike Blumenkrantz
903b9beaed
implement wl client cursor support...as clients
...
<zmike> super funny idea: for client cursors, what if we just implement them as an override client with no animations and then hide the canvas cursor while the client is visible?
this started as a joke and it worked mostly fine so I improved it and now it's shipping and whatdoidowithallthesebugs.jpg
2015-02-06 18:32:07 -05:00
Mike Blumenkrantz
8399ec5d6f
configure/show/hide surfaces which lack shells automatically
2015-02-06 18:32:07 -05:00
Mike Blumenkrantz
b720b7c179
use pixmap size for resizes in wl commit
...
the client size should be this anyway, but we just refreshed the pixmap above so this is guaranteed to be accurate
2015-02-06 18:32:07 -05:00
Mike Blumenkrantz
270bc92f81
add wl util function for calculating pixmap id
2015-02-06 18:32:07 -05:00
Mike Blumenkrantz
a19957d3eb
move wl pixmap stuff to use pixmap functions in compositor instead of in pixmap
2015-02-05 16:32:10 -05:00
Chris Michael
931409c687
only send key events to focused clients
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-02-04 11:59:19 -05:00
Chris Michael
0690b8debe
change keyboard input listeners to Not depend on a client but rather
...
use ecore_event_handlers for key events.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-02-03 15:37:11 -05:00
Mike Blumenkrantz
bc59464f99
make wl clients use post render canvas cb to clear buffers
2015-02-02 16:45:18 -05:00
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