Commit Graph

618 Commits

Author SHA1 Message Date
Tony Crisci 325def3841 xwm: create colormap and visual depth detection 2017-10-27 15:20:50 -04:00
Drew DeVault 9f1ed70b81
Merge pull request #344 from emersion/compositor-action-cursors
Set compositor cursor for move, resize and rotate
2017-10-27 13:42:53 -04:00
emersion 315c01ba0f
Remove input.last_active_view 2017-10-27 19:21:26 +02:00
Tony Crisci be297d9d14 xwm: net wm state 2017-10-27 13:17:34 -04:00
emersion ec5beeb8b8
Move xcursor stuff into its own file 2017-10-27 19:09:38 +02:00
Tony Crisci 6a4290b86a xwm: moveresize events 2017-10-27 10:48:09 -04:00
Drew DeVault 4bee96bd30 Merge pull request #333 from emersion/server-decoration
Add server-decoration protocol
2017-10-27 09:28:25 -04:00
emersion a43acae000
Send server-decoration ack event automatically 2017-10-27 00:02:30 +02:00
emersion c0c4816b13
Fix fallback when there are two config blocks for a keyboard 2017-10-26 22:38:03 +02:00
Tony Crisci 4a106648c4 xwm: remove incorrect implementation of net wm state 2017-10-26 15:58:18 -04:00
emersion 4e5d23daa9
Per-keyboard configuration 2017-10-26 19:59:32 +02:00
emersion 9d587d759f
Do not set hw cursor if disabled when switching VT 2017-10-26 18:58:44 +02:00
emersion 7c85709de1
Focus last view on close in rootston 2017-10-25 20:34:40 +02:00
Tony Crisci 0d1dd84a48 xwm: improve activation and dont send focus twice 2017-10-25 08:39:28 -04:00
Tony Crisci e5ee01254b xwm: map and unmap notify 2017-10-24 21:07:46 -04:00
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
Drew DeVault 24ae081001 Merge pull request #308 from ascent12/render-fixups
Render fixups
2017-10-21 18:08:58 -04:00
Scott Anderson bdeffad7e5 Remove drm field from wlr_drm_connector 2017-10-22 10:36:07 +13:00
Scott Anderson 822a9f65a4 Add pointer to backend inside wlr_output 2017-10-22 10:36:07 +13:00
Scott Anderson 4ea84c5765 Remove unnecesary wlr_renderers 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 6fcac087fe rootston: remove mostly unused mapped icon param 2017-10-21 09:59:35 -04:00
Tony Crisci 3c7ef3aae6 Merge branch 'master' into feature/data-device-selection 2017-10-21 09:43:24 -04:00
Tony Crisci a87b60e31e Merge branch 'master' into feature/data-device-selection 2017-10-21 09:37:58 -04:00
emersion c8570d0e42
Remove wl_list_init when using wl_signal_add 2017-10-21 12:35:51 +02:00
Drew DeVault 1782d5e7b7 Implement simple touch support for rootston 2017-10-20 23:19:41 -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
D.B 8c759d7abe Add startup command option to rootston
Allows specifying a command to run at startup.
2017-10-20 17:49:04 +02: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
Heghedus Razvan c03e774636 Replace list_t with wl_list in wlr_drm_backend
Signed-off-by: Heghedus Razvan <heghedus.razvan@gmail.com>
2017-10-20 11:46:03 +03:00
Heghedus Razvan bde25fe020 Replace list_t with wl_list in wlr_multi_backend
Signed-off-by: Heghedus Razvan <heghedus.razvan@gmail.com>
2017-10-20 11:45:31 +03:00
Tony Crisci 169bc216ed rootston: view set position 2017-10-19 12:33:02 -04:00
Tony Crisci c00a94ca76 data-device: fix drag icon position 2017-10-17 17:21:11 -04: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 29abf93bb6
Check pointer focused surface instead of view at cursor 2017-10-12 14:28:37 +02: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
Drew DeVault d0d6413772 Merge pull request #220 from versusvoid/optional-xwayland
Make Xwayland optional
2017-10-09 08:09:03 -04:00
emersion 8492174088
Switch back to compositor cursor when switching from one view to another 2017-10-09 13:12:38 +02:00
emersion 4d157fe5de
Switch back to compositor cursor when leaving view 2017-10-09 12:51:28 +02: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 65d57920e5
rootston: handle request_set_cursor 2017-10-08 20:37:47 +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 82a6598ca7 Merge pull request #243 from acrisci/feature/input-bounds
Use wl_surface input bounds for input handling
2017-10-08 12:52:53 -04:00
Drew DeVault 8dcf3bfdf7 Merge pull request #239 from emersion/center-views
Center views in rootston
2017-10-08 12:51:42 -04:00
Tony Crisci db15ab77b4 use input bounds for pointer events 2017-10-08 12:33:39 -04:00
emersion 518ef46ef2
Activate new views 2017-10-08 18:19:05 +02:00
emersion 3774d6c2c0
Center wl shell views 2017-10-08 17:59:38 +02:00
emersion 3c6f2f29bf
Do not remove the commit listener 2017-10-08 17:28:19 +02:00
Drew DeVault 9e1ff2dce9 Merge pull request #140 from emersion/screenshooter
Add screenshooter
2017-10-08 10:06:41 -04:00
emersion d09d01236b
Center xdg shell views 2017-10-08 12:17:25 +02: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 05096ab458
rootston: create screenshooter interface 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
Versus Void 9cab66f0f9 Make xwayland compile-time optional 2017-10-06 21:50:25 +00:00
Versus Void decd87043f Add config option to disable Xwayland 2017-10-06 21:48:50 +00: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
emersion 972e9dbd1b
Add close command, add close for xwayland 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
Drew DeVault b2d478a418 Merge pull request #189 from emersion/xwayland-hints
xwayland: add support for window hints
2017-10-05 16:27:30 -04: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
Drew DeVault d74a6d254f Merge pull request #198 from emersion/rootston-move-resize-rotate
rootston: force move, resize and rotate
2017-10-05 13:12:29 -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
Versus Void c5df6ca900 Fix memory leaks 2017-10-05 20:01:56 +00:00
Tony Crisci 30eabf38b8 Merge branch 'master' into feature/xdg-popup 2017-10-03 18:58:38 -04:00
emersion f9dbc1841d
rootston: add meta-key to config file 2017-10-03 22:14:25 +02:00
Versus Void 606311c755 Reset buffer resource pointer on destroy signal 2017-10-03 19:57:54 +00:00
emersion 9b88f25208
rootston: rotate views! 2017-10-03 21:06:32 +02: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
emersion 238ded1578
Use a command string rather than an action enum 2017-10-03 08:46:10 +02:00
emersion 97d0fe8976
Parse bindings in config, execute bindings 2017-10-03 08:46:10 +02:00
emersion d32018f1ac
Use keysyms instead of keycodes 2017-10-03 08:46:10 +02:00
emersion ab6c1f88e6
Add keyboard state to rootston 2017-10-03 08:46:09 +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 f193623ca1 Change iface prefix to suffix 2017-10-02 21:44:33 +13:00
Drew DeVault f2ea691b93 Add basic drawing tablet support to rootston 2017-10-01 11:21:55 -04:00
Scott Anderson f6f9c40965 Minor fixes 2017-10-01 22:44:24 +13: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
Scott Anderson eaef028976 Add renderer pointer inside drm_surface 2017-10-01 15:55:25 +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
Tony Crisci 4c1bd9bde8 input events for subsurfaces 2017-09-30 12:59:45 -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
emersion 74f2d0cd63
Completely fix resize offset 2017-09-30 14:02:09 +02:00
emersion 77d28183b5
Partially fix resize offset 2017-09-30 13:54:51 +02:00
emersion 28d4b475dc
Add edges support, remove get_input_bounds 2017-09-30 13:22:42 +02:00
Scott Anderson 4101b89700 Rename wlr_drm_output to wlr_drm_connector 2017-09-30 23:31:08 +13:00
emersion 33a97576ca
Add view_resize 2017-09-30 11:57:39 +02:00
Scott Anderson 22e77d9195 Rename backend to drm 2017-09-30 22:22:26 +13:00
Scott Anderson ec5b95e08f Add pointer to backend from DRM outputs 2017-09-30 22:01:59 +13:00
emersion 97679b8e12
React to xdg shell resize requests 2017-09-30 10:39:06 +02:00
Scott Anderson 096249a2a1 Split DRM rendering to its own file 2017-09-30 20:52:58 +13:00
Scott Anderson d0708b1a3a Split DRM internal interface to its own header 2017-09-30 19:11:41 +13:00
Scott Anderson 610b0493ac Rename files to remove pointless drm prefix 2017-09-30 19:03:34 +13:00
Scott Anderson c8a8ff66f2 Removed unused fields 2017-09-30 18:53:05 +13: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 1b18b0a27d Fix time and transform 2017-09-29 16:31:04 +13:00
Scott Anderson 6bf508df81 Add closing with WM button 2017-09-29 16:15:09 +13:00
Scott Anderson 8027232ae5 Add timer for rendering loop 2017-09-29 16:15:09 +13:00
Scott Anderson 9ca5b0cae8 Add basic input 2017-09-29 16:15:09 +13:00
Scott Anderson 3a5b150df2 Basic rendering 2017-09-29 16:15:09 +13:00
Scott Anderson bbe90d41bb Add EGL for X11 2017-09-29 16:15:09 +13: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
Drew DeVault ada7fde6fb DRY up focus and implement z ordering 2017-09-28 19:48:55 -04:00
Drew DeVault 10240af6ea Handle input device removal 2017-09-28 19:05:38 -04: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
Drew DeVault 7cf4ee128e Merge remote-tracking branch 'origin/master' into rootston 2017-09-27 20:25:34 -04:00
emersion a04462ba8b
wl_shell: listen for wlr_surface destroy signal 2017-09-28 01:31:31 +02:00
emersion 63f277f3b9
rootston: handle request_move 2017-09-28 00:29:37 +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