Commit Graph

475 Commits

Author SHA1 Message Date
Tony Crisci 2ff94d0036 xwm: get rid of displayable surfaces list 2017-10-24 18:57:20 -04:00
emersion e84d573b91
Complete server-decoration implementation 2017-10-24 23:22:27 +02:00
emersion e521b0404b
Add server-decoration skeleton 2017-10-24 21:56:18 +02:00
Tony Crisci 79e14f65e0 xwm: fix lists 2017-10-24 14:37:18 -04:00
Tony Crisci a3f2754668 xwm: add surface to rootston on surface commit 2017-10-24 12:00:43 -04:00
Tony Crisci 1dbe314937 Merge branch 'master' into feature/data-device-selection 2017-10-24 07:57:36 -04:00
Tony Crisci d33a9f8eaa wlr-seat: keyboard redesign 2017-10-24 07:18:11 -04:00
emersion eea532911a
Send output current mode when changed 2017-10-23 21:03:00 +02:00
Tony Crisci d1dd0a6970 refactor buffer detection 2017-10-22 21:07:32 -04:00
emersion 1cc8f21d8e
Cleanup wlr_gamma_control 2017-10-22 23:11:26 +02:00
emersion e1d213fccd
Create globals only for enabled outputs in DRM backend 2017-10-22 22:21:23 +02:00
Drew DeVault c5fff08f8a Forgot to rename these 2017-10-22 10:56:40 -04:00
Drew DeVault 16f35ecbea Merge branch 'master' into heghe/wl_list 2017-10-21 22:03:48 -04:00
Drew DeVault 169b68b17c Rename remaining refs to wlr_list 2017-10-21 22:02:36 -04:00
Scott Anderson 822a9f65a4 Add pointer to backend inside wlr_output 2017-10-22 10:36:07 +13:00
Scott Anderson 9b984253e2 Move egl.h to render/egl.h 2017-10-22 10:36:07 +13:00
Tony Crisci a87b60e31e Merge branch 'master' into feature/data-device-selection 2017-10-21 09:37:58 -04:00
Heghedus Razvan d3f0878d71 Replace list_t with wl_list in wlr_wl_backend
Now wlr_backend->outputs is a list of wlr_wl_backend_output instead of
wlr_output.

Signed-off-by: Heghedus Razvan <heghedus.razvan@gmail.com>
2017-10-20 19:44:59 +03:00
Tony Crisci eaed6b6d29 wl-output: send layout position 2017-10-20 07:29:01 -04:00
Heghedus Razvan e1f196a3e9 Replace list_t with wl_list for wlr_input_device
Signed-off-by: Heghedus Razvan <heghedus.razvan@gmail.com>
2017-10-20 11:50:43 +03:00
Heghedus Razvan 1d716241af Replace list_t with wl_list in wlr_output
Signed-off-by: Heghedus Razvan <heghedus.razvan@gmail.com>
2017-10-20 11:46:09 +03:00
Tony Crisci b7c622a319 Merge branch 'master' into feature/data-device-selection 2017-10-17 16:01:17 -04:00
Drew DeVault 62371a9974 Merge pull request #257 from emersion/fix-client-cursors
[WIP] Fix client cursors
2017-10-17 09:22:43 -04:00
Tony Crisci 19784360f1 bug: fix view centering 2017-10-16 14:35:16 -04:00
Tony Crisci 2d35e20691 data-device: keyboard grabs 2017-10-16 07:52:04 -04:00
Tony Crisci 3f3110452c wlr-seat: pointer state button info 2017-10-16 06:31:53 -04:00
Tony Crisci 34f27ff691 wlr-seat: selection signal 2017-10-16 05:07:09 -04:00
Tony Crisci 02f4acc69f data-device: refactor set selections for xwayland 2017-10-15 14:49:43 -04:00
Tony Crisci df0a8d3abe wlr-data-device: drag icons 2017-10-15 11:06:03 -04:00
Tony Crisci a1bfa4a2f2 wlr-data-device: basic drag and drop 2017-10-15 05:59:52 -04:00
Tony Crisci 07259cf8ea wlr-data-device: source actions 2017-10-15 05:59:52 -04:00
Tony Crisci 25831d287e wlr-data-device: offer set actions 2017-10-15 05:59:52 -04:00
Tony Crisci 3892acecac wlr-data-device: basic clipboard 2017-10-15 05:59:52 -04:00
Tony Crisci 6a7560fae0 wlr-data-device interface 2017-10-15 05:59:52 -04:00
emersion 92daa790bb
Allow to update the cursor hotspot without its pixels 2017-10-12 09:40:51 +02:00
Enerccio f53616ab1c Fixed wrong function name
Apparently I am first guy to ever call this...
2017-10-11 11:20:06 +02:00
Tony Crisci 0a6f54384c wl-shell: documentation 2017-10-10 12:24:56 -04:00
Tony Crisci 821cf92498 wl-shell: fix popup grab 2017-10-10 12:20:39 -04:00
Tony Crisci f7e7f6271d wl-shell: cleanup 2017-10-10 11:13:11 -04:00
Tony Crisci 1b2742d0b2 bug: emit surface new event later 2017-10-10 10:28:43 -04:00
Tony Crisci fe3c6c929b wl-shell: popup input handling 2017-10-10 10:00:09 -04:00
Tony Crisci 22a16a59ca wl-shell: basic pointer grab 2017-10-10 08:39:08 -04:00
Tony Crisci cd1204f71f wl-shell: render popups in the right place 2017-10-10 08:39:08 -04:00
Versus Void a6db47196c Upload texture on surface commit 2017-10-10 11:18:38 +03:00
Drew DeVault c39bfe7f84 Merge pull request #206 from emersion/client-cursor
Client provided cursors
2017-10-09 17:56:05 -04:00
Tony Crisci 654e2ccd6b move surface finder functions to wlroots 2017-10-09 16:51:55 -04:00
Timidger 3abf713e35 Fixed include in wlr_keyboard.h 2017-10-08 18:55:59 -07:00
emersion 8a77d1b6a2
Listen to cursor surface commit & destroy events 2017-10-08 23:11:59 +02:00
emersion 9b83caa658
Add wlr_output_set_cursor_surface 2017-10-08 21:21:06 +02:00
emersion 78d3582b70
Add request_set_cursor event 2017-10-08 20:32:43 +02:00
emersion 7b6d785f52
Rename wlr_surface->signals to events 2017-10-08 19:12:28 +02:00
Drew DeVault 9e1ff2dce9 Merge pull request #140 from emersion/screenshooter
Add screenshooter
2017-10-08 10:06:41 -04:00
Scott Anderson c0e5feea37 Add GL/EGL extension loader generator 2017-10-08 13:23:41 +13:00
emersion 0ce3135304
Move read_pixels from output to renderer 2017-10-08 02:11:56 +02:00
Tony Crisci 4f848000af Merge branch 'master' into feature/xdg-popup 2017-10-07 13:04:04 -04:00
emersion a87f016017
Remove cairo dependency, write raw pixels 2017-10-07 19:01:11 +02:00
Tony Crisci 4680943e74 xdg-seat: keyboard grabs 2017-10-07 12:52:02 -04:00
emersion d4cc82f11a
Call glReadPixels right before swapping buffers 2017-10-07 16:22:03 +02:00
emersion d0db6a80ab
Add post_frame event to wlr_output, use wlr_drm_plane_make_current in wlr_drm_output_read_pixels 2017-10-07 16:22:02 +02:00
emersion 35f9700251
First attempt to implement screenshooter 2017-10-07 16:22:02 +02:00
emersion 1c8b72e0cd
Add screenshooter skeleton 2017-10-07 16:22:02 +02:00
Drew DeVault 08ccc7f653 Merge pull request #221 from versusvoid/wayland-xkb_state_update_mask
Use xkb_state_update_mask() with Wayland backend
2017-10-06 15:16:10 -04:00
Versus Void 568b270cdf Use xkb_state_update_mask() with Wayland backend
Fix #158
2017-10-06 22:02:29 +00:00
emersion 69aff9b35e
Implement wlr_xdg_toplevel_v6_send_close 2017-10-06 16:03:35 +02:00
Tony Crisci 67ea307753 xdg-shell: cleanup 2017-10-06 07:52:18 -04:00
Tony Crisci 48ae4fc588 rootston: handle grab end 2017-10-06 07:32:59 -04:00
Tony Crisci 4657f10dd2 Merge branch 'master' into feature/xdg-popup 2017-10-06 07:04:27 -04:00
Tony Crisci d3ebf99b0f xdg-popup: basic pointer grab 2017-10-06 06:54:43 -04:00
Versus Void 641d08ce7e Transform hotspot with cursor
Fix #188
2017-10-06 09:07:08 +03:00
emersion 12b9b1a4bd
Copy xcb_icccm structs into wlroots 2017-10-05 22:23:37 +02:00
Tony Crisci 17b134e178 wlr-seat: pointer grab interface 2017-10-05 13:30:46 -04:00
emersion 454a6a902b
Parse _MOTIF_HINTS 2017-10-05 19:11:28 +02:00
emersion fc61e82795
Use pointers for xwayland hints and size_hints 2017-10-05 19:11:28 +02:00
emersion 267f24753f
Add support for WM_HINTS 2017-10-05 19:10:24 +02:00
emersion ca68ef37f0
Add padding if xcb_icccm is not available 2017-10-05 19:10:24 +02:00
emersion ed9796ec68
xwayland: parse normal hints 2017-10-05 19:10:23 +02:00
emersion ef5914bdb6
xwayland: add wlr_xwayland_surface->motif_hints 2017-10-05 19:10:23 +02:00
Tony Crisci 30eabf38b8 Merge branch 'master' into feature/xdg-popup 2017-10-03 18:58:38 -04:00
Versus Void 606311c755 Reset buffer resource pointer on destroy signal 2017-10-03 19:57:54 +00:00
emersion 521e893528
Add modifiers signal, remove wlr_keyboard_update_modifiers 2017-10-03 14:03:26 +02:00
emersion d3d9aca40c
Add modifiers support in wayland backend, parse modifiers in rootston config 2017-10-03 08:46:11 +02:00
emersion 3a8fdebaaa
Fix modifiers handling, add wlr_keyboard_get_modifiers 2017-10-03 08:46:11 +02:00
emersion 2fccff16eb
Begin modifiers support 2017-10-03 08:46:11 +02:00
Tony Crisci e003296c23 xdg-popup: render popups in the right place 2017-10-02 19:10:36 -04:00
Tony Crisci 97cdcccaf0 xdg-surface: get popup 2017-10-02 19:10:36 -04:00
Drew DeVault 87a0cb7ba3 Merge pull request #182 from ascent12/drm-multi-gpu
DRM Multi-GPU
2017-10-02 08:46:06 -04:00
Scott Anderson 009c3747a8 Multi-GPU DRM 2017-10-01 22:29:25 +13:00
Scott Anderson fa3d0ed929 Change wlr_session to open every GPU 2017-10-01 16:47:05 +13:00
Tony Crisci 8f41c497a7 Merge branch 'master' into feature/subcompositor 2017-09-30 13:29:31 -04:00
Tony Crisci 8b7ae61ad4 subsurface handle parent destroy 2017-09-30 13:24:59 -04:00
emersion 7f5d0624d6
Add x, y, width, height arguments to wlr_xwayland_surface_configure 2017-09-30 16:33:04 +02:00
Tony Crisci 19e30aab9b subcompositor protocol errors 2017-09-30 08:55:40 -04:00
Tony Crisci 93f79378f7 subsurface stacking requests 2017-09-30 08:55:40 -04:00
Tony Crisci 86bc4840a0 subsurface commit and render 2017-09-30 08:55:40 -04:00
Tony Crisci cb2d05e83b subsurface sync and position 2017-09-30 08:55:40 -04:00
Tony Crisci 7f39578824 cleanup wlr_surface.[ch] 2017-09-30 08:55:40 -04:00
Tony Crisci 68eeebc647 subsurface implementation stubs 2017-09-30 08:55:40 -04:00
Drew DeVault a48dedba3d Merge pull request #170 from emersion/xwayland
Improve xwayland, batch 2
2017-09-29 17:25:58 -04:00
emersion 4ccb83bf33
xwayland: add wlr_xwayland_surface_close 2017-09-29 23:18:12 +02:00
emersion 5002d968f3
xwayland: add window_type support 2017-09-29 23:03:01 +02:00
emersion b78ae54158
xwayland: add pid support 2017-09-29 22:43:14 +02:00
emersion 97346e7a1b
xwayland: add state support 2017-09-29 22:26:03 +02:00
emersion 7c9f3240f6
xwayland: add set_parent event 2017-09-29 20:22:35 +02:00
emersion d8c86431e0
xwayland: add signals for configure, set_{class,title} 2017-09-29 18:28:38 +02:00
emersion f2b03b2ec1
Add reply->type checks, add XCB_ATOM_WM_TRANSIENT_FOR 2017-09-29 16:44:22 +02:00
emersion 47d767dbc4
xwayland: expose wlr_xwayland_surface_configure 2017-09-29 16:19:06 +02:00
emersion e3917af69d
xwayland: read window title & class 2017-09-29 15:57:21 +02:00
Scott Anderson 517ba0bc16 Change egl_get_config to always use visual id 2017-09-29 16:15:09 +13:00
Scott Anderson 7ad2a57feb Open X11 Window 2017-09-29 16:12:13 +13:00
Scott Anderson a598e6d026 Add X11 backend skeleton 2017-09-29 16:12:13 +13:00
emersion b7927078e9
x11 -> xwayland, window -> surface, fix some calloc sizes and wrong types 2017-09-28 23:26:31 +02:00
Drew DeVault c92199a953 Merge pull request #163 from emersion/wl_shell-fixes
wl_shell fixes
2017-09-28 13:29:49 -04:00
Drew DeVault 220a6e9bf6 Add xwayland activate and fix EGL bug 2017-09-28 09:11:16 -04:00
Drew DeVault 906a816abf Fix rootston keyboard, add Xwayland 2017-09-28 08:54:57 -04:00
emersion 9d405cffa7
Use enums instead of uint32_t where applicable 2017-09-28 13:12:01 +02:00
emersion 3d03ef2d02
role -> state 2017-09-28 12:45:47 +02:00
emersion 27ca8eaced
Fix typo: s/transcient/transient/ 2017-09-28 12:38:41 +02:00
emersion a04462ba8b
wl_shell: listen for wlr_surface destroy signal 2017-09-28 01:31:31 +02:00
emersion d6c6b7c506
class_ -> class, free more stuff in destroy_shell_surface 2017-09-27 23:47:39 +02:00
emersion 241fec4d87
wl_shell: add wlr_wl_shell_surface_{configure,popup_done} 2017-09-27 23:45:09 +02:00
emersion 14ab56b6c5
wl_shell: implement set_popup request 2017-09-27 23:10:33 +02:00
emersion 663bfe4cd8
wlr_wl_shell: implement all requests except set_popup 2017-09-27 21:15:31 +02:00
emersion e001e40022
Set view->surface 2017-09-27 15:03:35 +02:00
emersion ed9a43c213
Add first try to add wl_shell to rootston 2017-09-26 23:59:25 +02:00
Drew DeVault e6a6634bc5 Minor tweaks to (broken) keyboard support 2017-09-25 08:47:00 -04:00
Drew DeVault f4387b437f Merge branch 'master' into rootston 2017-09-25 08:29:51 -04:00
Drew DeVault 61e451ea1b Move keyboard logic to wlr_{keyboard,seat} 2017-09-24 14:12:56 -04:00
Drew DeVault d89272dbbd Merge pull request #156 from acrisci/feature/wlr-keyboard-events
[wip] wlr-seat-keyboard: keyboard events
2017-09-23 15:00:52 -04:00
Tony Crisci 84a8f1b42d add keys array param to seat keyboard enter 2017-09-23 14:41:57 -04:00
Tony Crisci 3895593998 wlr-seat: keyboard layout 2017-09-23 14:09:54 -04:00
emersion 4809b7b3e4
Fix some include guard names in interfaces/ 2017-09-23 13:10:10 +02:00
emersion 427bdb5b55
Use more consistent include guard names 2017-09-23 10:26:01 +02:00
Tony Crisci 30b5d76426 wlr-seat: keyboard modifiers 2017-09-22 17:09:47 -04:00
Tony Crisci cef1f60522 wlr-seat-keyboard: basic events 2017-09-22 16:28:11 -04:00
Drew DeVault e5e6dab7fd Fix use of serial on motion_request 2017-09-22 11:11:53 -04:00
Tony Crisci e38248f34c wlr-seat: implement cursor axis events
Axis events for the cursor are generated with the scroll wheel.
2017-09-22 10:30:09 -04:00
Scott Anderson 8cb49f4d68 Add stdbool.h 2017-09-22 14:17:29 +12:00
Drew DeVault d558745633 Handle tablet motion in example compositor 2017-09-21 18:51:33 -04:00
Tony Crisci 7a3edf6e62 use double for cursor coordinates 2017-09-21 11:38:04 -04:00
Tony Crisci 8b74450b39 wlr_seat: pointer events 2017-09-20 19:43:49 -04:00
Tony Crisci aeaa983631 wlr_seat: formatting cleanup 2017-09-19 15:38:06 -04:00
Tony Crisci 5b9373a791 xdg-toplevel-v6 set parent 2017-09-16 20:07:19 -04:00
Tony Crisci 2573c429ee reset pending geometry on ack configure 2017-09-16 19:32:23 -04:00
Tony Crisci 94f4f1878d xdg-surface-v6: implement ping 2017-09-16 12:35:49 -04:00
Tony Crisci 0f865c547a xdg-toplevel-v6: seat events 2017-09-16 08:31:08 -04:00
Tony Crisci 27161a673f xdg-shell new surface and ack configure events 2017-09-15 08:53:08 -04:00
Tony Crisci 569b147bba schedule configure request on toplevel first commit 2017-09-15 07:50:13 -04:00
Tony Crisci a0bdbc92ba xdg-shell-toplevel configure requests 2017-09-14 16:27:14 -04:00
Tony Crisci 45a3b761a6 xdg-surface-v6: add events 2017-09-14 08:39:57 -04:00
Tony Crisci 50f4275298 implement xdg-toplevel state properties 2017-09-13 09:19:10 -04:00
Tony Crisci 353629b034 xdg-surface geometry 2017-09-13 08:44:32 -04:00
Tony Crisci 2fd5c7999b set title and app_id 2017-09-13 07:57:16 -04:00
Tony Crisci 9d2dc8447a use wlr_surface on shell struct and listen to events 2017-09-13 07:57:16 -04:00
Tony Crisci b2c71287f2 set toplevel role on wlr_surface 2017-09-13 07:57:14 -04:00
Tony Crisci c5f8f81e58 xdg_surface: handle wlr_surface destroy 2017-09-11 17:24:55 -04:00
Tony Crisci 74e9578889 add surface destroy signal 2017-09-11 13:01:53 -04:00
emersion 6f98b5a337
Add set_gamma and get_gamma_size to wlr_output_impl 2017-09-06 18:53:08 +02:00
emersion cd125377fc
Add wlr_output_{set_gamma,get_gamma_size} 2017-09-06 17:34:09 +02:00
emersion 1b588e7c1f
Add gamma_control skeleton 2017-09-06 14:48:27 +02:00
Tony Crisci e733b0e643 Rename wlr_output_layout_init()
Rename wlr_output_layout_init() to wlr_output_layout_create() to be consistent
with the rest of the api.
2017-09-05 17:53:29 -04:00
Tony Crisci 57c18c38bb wlr_cursor: handle layout changes
Add the layout `destroy` and `change` events.

When a layout is destroyed, detach is from the wlr_cursor.

When a layout is changed, warp the cursor to the closest layout boundary.
2017-09-05 07:48:28 -04:00
Tony Crisci d84deb0742 add wlr_output destroy event 2017-08-31 07:47:44 -04:00
Tony Crisci 40bd6bcc43 implement output layout auto configuration 2017-08-31 07:47:44 -04:00
Drew DeVault 6daf9e9ab2 Merge pull request #120 from acrisci/feature/wlr-cursor
wlr_cursor
2017-08-29 12:12:18 -05:00
Tony Crisci b6031d1065 refactor wlr_output_layout_closest_point 2017-08-29 12:36:39 -04:00
Tony Crisci 9b65d0b3f0 refactor and rename wlr_geometry to wlr_box 2017-08-29 12:36:39 -04:00
Tony Crisci a51b76083e rename wlr_cursor_init to wlr_cursor_create 2017-08-29 12:36:39 -04:00
Tony Crisci 1fb8bc9340 wlr_cursor.c: fix formatting 2017-08-29 12:36:39 -04:00
Tony Crisci 3449777a8d wlr_output_layout.c: fix style 2017-08-29 12:36:39 -04:00
Drew DeVault 30611894f2 Implement tablet_tool support in pointer example 2017-08-28 22:12:35 -04:00
Tony Crisci 5c845f14ed handle input device destroy 2017-08-28 10:29:53 -04:00
Tony Crisci df0ee7f25f implement tablet tool devices 2017-08-28 10:23:14 -04:00
Tony Crisci 5e06d61e42 implement touch up and touch down 2017-08-27 17:35:12 -04:00
Dominique Martinet 871646d225 Double-fork for xwayland execution
The intermediate fork needs to wait for SIGUSR1 for when Xserver is
ready, or SIGCHLD if the exec didn't work out.

Also change the exit() to _exit() as that is apparently more appropriate
for forks (and waitpid's status was wrong without it for some reason)

Fixes #122.
2017-08-27 21:41:08 +02:00
Tony Crisci c914697676 add device to touch events 2017-08-27 11:44:55 -04:00
Tony Crisci ed126b0881 add touch events 2017-08-27 11:34:25 -04:00
Tony Crisci ac503a47a7 intersect cursor and device regions 2017-08-26 11:55:24 -04:00
Tony Crisci 0a97b68278 implement cursor and device geometry mapping 2017-08-26 08:32:11 -04:00
Tony Crisci 98f4cdfccb implement wlr_cursor_map_input_to_output 2017-08-26 08:32:11 -04:00
Tony Crisci 13e895d943 implement wlr_cursor_map_to_output 2017-08-26 08:32:11 -04:00
Tony Crisci a4810203cc change output layout coords to double type 2017-08-26 08:32:11 -04:00
Tony Crisci 0cba06dcef implement wlr_cursor_warp 2017-08-26 08:32:11 -04:00
Tony Crisci dd68f680e4 handle cursor to output edge cases 2017-08-26 08:32:11 -04:00
Tony Crisci e3d47376dc add wlr_cursor basic implementation 2017-08-26 08:32:11 -04:00
Scott Anderson d16b2977f6 Remove single GPU assumptions from wlr_session 2017-08-26 14:50:16 +12:00
Scott Anderson fb93628bda Merge wlr_udev into wlr_session 2017-08-26 14:02:04 +12:00
Scott Anderson 46823152ea Rename functions to be consistent with #93 2017-08-26 11:56:43 +12:00
Dominique Martinet fd3ad3b9e4 xwayland: fix shutdown caused by Xwayland/client stop 2017-08-24 07:51:24 +02:00
Dominique Martinet 3391e5b634 xwayland: fix style issues 2017-08-23 22:03:49 +02:00
Dominique Martinet 1458a95e65 example compositor: loop through xwayland surfaces 2017-08-23 22:03:49 +02:00
Dominique Martinet eb5b9cc6da xwayland: move & split internal header file 2017-08-23 22:03:49 +02:00
Dominique Martinet 6eb20fb8d2 init xwm only once Xwayland server is ready 2017-08-23 22:03:49 +02:00
Dominique Martinet 3cc5b1acc6 wlr_compositor: add signal for create_surface 2017-08-23 22:03:49 +02:00
Dominique Martinet b2bab1af5c xwayland: split xwm structure out, initial xwm.c 2017-08-23 22:03:49 +02:00
Dominique Martinet 49a823d4c6 Xwayland: first draft, just start server for now 2017-08-23 22:03:49 +02:00
Dominique Martinet 1ca08dc4cb wlr_compositor: change _init/finish to _create/destroy 2017-08-19 23:17:39 +02:00
Dominique Martinet 4110788159 move wl_compositor into wlroots as wlr_compositor 2017-08-19 21:56:51 +02:00
Dominique Martinet f24b3df980 wlr renderer/texture: rename init to create when it does alloc 2017-08-19 08:33:31 +02:00
Tony Crisci f03be94309 rename wlr_cursor to wlr_xcursor
This is for the implementation of another type that should be called wlr_cursor.
2017-08-18 19:48:55 -04:00
nyorain 86314caa5b Implement wlr_data_{source,device,device_manager} 2017-08-18 18:56:21 +02:00