Commit graph

410 commits

Author SHA1 Message Date
Drew DeVault
f73cb2aa1f Merge pull request #260 from versusvoid/fix-accessing-freed-client
Destroy surfaces on client destruction (XDG shell)
2017-10-11 09:08:39 -04:00
Versus Void
508a21f93e Destroy surfaces on client destruction 2017-10-11 16:02:16 +00:00
Drew DeVault
bf5299a3a5 Merge pull request #252 from myfreeweb/freebsd-compat
Add FreeBSD compatibility
2017-10-11 08:54:28 -04:00
emersion
67f0c3ca42
Rename release label 2017-10-11 14:02:41 +02:00
emersion
36b4465eb9
Do not release buffer before emitting commit event 2017-10-11 08:38:32 +02:00
Greg V
a5fe9aa736 Add FreeBSD compatibility 2017-10-11 00:07:21 +03:00
emersion
669a452aef
Fix wlr_output_layout_intersects 2017-10-10 20:05:10 +02: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
d4c065e59b wl_shell: map transient surfaces closer to parent 2017-10-10 08:39:08 -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
Drew DeVault
fbddc81b59 Merge pull request #254 from versusvoid/fix-frame-callback-double-free
Destroy callbacks before callback list reinitialization
2017-10-10 08:37:19 -04:00
Versus Void
d3af2c09c2 Destroy callbacks before callback list reinitialization 2017-10-10 13:16:56 +03: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
Drew DeVault
1c3c2ff90a Merge pull request #250 from acrisci/feature/surface-finder-to-wlr
move surface finder functions to wlroots
2017-10-09 17:28:27 -04:00
Tony Crisci
100b39c608 bug: null buffer commit detection 2017-10-09 17:19:17 -04:00
Tony Crisci
654e2ccd6b move surface finder functions to wlroots 2017-10-09 16:51:55 -04:00
emersion
b1cba36aeb
Call frame_callback_list after rendering the cursor 2017-10-09 19:34:56 +02:00
emersion
8f7962ed44
Do not commit surface on set_cursor, breaks GTK+ apps 2017-10-09 15:45:46 +02:00
emersion
b76e64e7bf
Fix cleanup old cursor surface in wlr_output_set_cursor_surface 2017-10-09 15:23:58 +02:00
emersion
c4c948c5d9
Use attach x,y when computing hotspot, set sx,sy in surface_attach 2017-10-09 00:08:54 +02:00
emersion
008e1d596d
Fix cursor stride 2017-10-09 00:02:21 +02:00
emersion
c7a4346bfc
Hide cursor when surface == NULL 2017-10-08 23:39:38 +02:00
emersion
bceaee6eb7
Stop listening to cursor surface when manually setting cursor data 2017-10-08 23:29:04 +02:00
emersion
cebb202f7d
Set and check cursor surface role 2017-10-08 23:24:57 +02:00
emersion
8a77d1b6a2
Listen to cursor surface commit & destroy events 2017-10-08 23:11:59 +02:00
Tony Crisci
761b35339e bug: handle commit empty buffer 2017-10-08 17:03:27 -04:00
emersion
17354b630a
Read surface buffer to set output cursor 2017-10-08 22:30:31 +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
Tony Crisci
db15ab77b4 use input bounds for pointer events 2017-10-08 12:33:39 -04:00
Drew DeVault
9e1ff2dce9 Merge pull request #140 from emersion/screenshooter
Add screenshooter
2017-10-08 10:06:41 -04:00
emersion
0ce3135304
Move read_pixels from output to renderer 2017-10-08 02:11:56 +02:00
Drew DeVault
543601e86c Merge pull request #183 from acrisci/feature/xdg-popup
xdg-popup
2017-10-07 17:40:46 -04:00
Tony Crisci
9721dc80e1 wlr-data-source: cleanup 2017-10-07 16:41:45 -04:00
Tony Crisci
1fd81ebf2d wlr-data-source: add set_actions stub 2017-10-07 16:39:03 -04:00
Tony Crisci
51de398885 bug: fix clipboard 2017-10-07 16:33:22 -04:00
Tony Crisci
d61621e2fa wlr-data-device-mgr: cleanup 2017-10-07 15:49:44 -04: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
b27b6cd69c
Check wl_shm_buffer format 2017-10-07 18:25:27 +02:00
emersion
4374c52135
Free screenshot state 2017-10-07 16:22:03 +02:00
emersion
ecd5263d4d
Flip screenshots 2017-10-07 16:22:03 +02: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
emersion
2ffa4f3fce
When output has no modes, send one anyway 2017-10-07 14:01:25 +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
27ee171d25 xdg-popup: protocol errors and ungrab 2017-10-06 08:41:43 -04: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
Tony Crisci
17b134e178 wlr-seat: pointer grab interface 2017-10-05 13:30:46 -04:00
Versus Void
134f708c55 Fix double free 2017-10-05 19:02:18 +00:00
Tony Crisci
30eabf38b8 Merge branch 'master' into feature/xdg-popup 2017-10-03 18:58:38 -04:00
Drew DeVault
836242b0c4 Merge pull request #197 from versusvoid/buffer-reset
Reset buffer resource pointer on destroy signal.
2017-10-03 15:28:48 -04:00
Versus Void
606311c755 Reset buffer resource pointer on destroy signal 2017-10-03 19:57:54 +00:00
Tony Crisci
d1cb0edf20 wlr-seat: honor seat version 2017-10-03 15:18:22 -04:00
Drew DeVault
5f3c56de28 Merge pull request #184 from emersion/rootston-keys
Keyboard modifiers
2017-10-03 10:36:16 -04:00
emersion
521e893528
Add modifiers signal, remove wlr_keyboard_update_modifiers 2017-10-03 14:03:26 +02:00
emersion
d71344bcdd
Fix modifiers support with backend != wayland 2017-10-03 09:15:48 +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
Versus Void
2207d616c9 Free xkb structures on wlr_keyboard destroy 2017-10-03 08:34:30 +03:00
Tony Crisci
e003296c23 xdg-popup: render popups in the right place 2017-10-02 19:10:36 -04:00
Tony Crisci
86b66f1d6f xdg-popup: configure requests 2017-10-02 19:10:36 -04:00
Tony Crisci
97cdcccaf0 xdg-surface: get popup 2017-10-02 19:10:36 -04:00
Tony Crisci
c665f905ff xdg-positioner 2017-10-02 19:10:36 -04:00
Tony Crisci
aae8bdea30 xdg-shell: protocol destroy 2017-10-02 06:28:07 -04:00
Tony Crisci
28f7256148 xdg-toplevel: fix memory leaks 2017-09-30 17:13:32 -04:00
Tony Crisci
8b7ae61ad4 subsurface handle parent destroy 2017-09-30 13:24:59 -04: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
3a04f5b2db consistently name surface state variables 2017-09-30 08:55:40 -04:00
Tony Crisci
693e30dff7 refactor surface commit 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
5cbb4f5ca0 refactor surface commit 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
Tony Crisci
78cd62a663 publish subcompositor global 2017-09-30 08:55:40 -04:00
Tony Crisci
a4196fd9c9 cleanup wlr_compositor.c 2017-09-30 08:55:40 -04:00
Tony Crisci
0f56326cb8 fix libinput wlr-keyboard use after free 2017-09-28 20:29:26 -04:00
Drew DeVault
262c3b1638 Remove unnecessary logging 2017-09-28 18:47:52 -04:00
Drew DeVault
c92199a953 Merge pull request #163 from emersion/wl_shell-fixes
wl_shell fixes
2017-09-28 13:29:49 -04:00
emersion
8146d60a87
Fix 80 char limit with 4 width tabs 2017-09-28 19:24:33 +02: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
baed05b55e
Add TODO for pointer grab in set_popup 2017-09-28 13:46:30 +02:00
emersion
643a69f0b2
Call wlr_surface_set_role in wl_shell_get_shell_surface 2017-09-28 13:41:17 +02:00
emersion
55d2462180
Remove ping_timer when destroying wlr_wl_shell_surface 2017-09-28 13:34:22 +02:00
emersion
9d405cffa7
Use enums instead of uint32_t where applicable 2017-09-28 13:12:01 +02:00
emersion
dbdfc46448
Add helper shell_surface_set_state 2017-09-28 13:06:59 +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
eaa414bbd8
wl_shell: properly set wl_surface->resource 2017-09-28 01:10:39 +02:00
emersion
d41a4a0bae
wl_shell: gluten-free cosmetic variable renaming 2017-09-28 01:02:30 +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
acf58e04de
Fix segfault, add wl_shell view 2017-09-27 14:48:53 +02:00
emersion
ed9a43c213
Add first try to add wl_shell to rootston 2017-09-26 23:59:25 +02:00
Drew DeVault
1ddda91b1b Fix broken keyboard handling 2017-09-25 16:44:26 -04: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
eaf6c0ccf4 Implement pointer motion and buttons 2017-09-23 17:48:13 -04:00
Tony Crisci
84a8f1b42d add keys array param to seat keyboard enter 2017-09-23 14:41:57 -04:00
Tony Crisci
9cde828c94 bugfix: correct type in keyboard resource destroy 2017-09-23 14:10:17 -04:00
Tony Crisci
3895593998 wlr-seat: keyboard layout 2017-09-23 14:09:54 -04: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
Tony Crisci
00cc20b0a8 wlr-seat: add guards for no pointer resource 2017-09-22 09:29:17 -04: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
f46befec7c use wl_list_for_each_safe() to unlink client surfaces 2017-09-17 09:42:27 -04:00
Tony Crisci
94d4b9249c xdg-shell-v6 misc cleanup 2017-09-16 20:31:34 -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
49a24225a2 toplevel protocol errors 2017-09-16 18:22:25 -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