Commit graph

796 commits

Author SHA1 Message Date
emersion
c5fa415a03
Send wl_surface.{enter,leave} to cursor surfaces 2017-12-08 14:23:33 +01:00
emersion
18eb1eee3f
Listen to display destroy in xwayland, rename wlr_egl_free 2017-12-08 00:59:37 +01:00
emersion
bdb6e0b84c
Remove destroy event in screenshooter for now 2017-12-07 01:19:41 +01:00
emersion
0e066f0d76
Listen to display destroy in output 2017-12-07 01:12:04 +01:00
emersion
cbf5763c22
Listen to display destroy in xdg-shell-v6 2017-12-07 01:08:35 +01:00
emersion
9ddaea14a1
Listen to display destroy in wl-shell 2017-12-07 01:05:49 +01:00
emersion
983ea3033f
Listen to display destroy in seat 2017-12-07 01:02:07 +01:00
emersion
088ff9a614
Listen to display destroy in gamma control manager 2017-12-07 00:55:50 +01:00
emersion
c7900663bc
Add display destroy listener to data device 2017-12-07 00:50:55 +01:00
emersion
e6d2e72401
Remove display destroy listeners, add compositor listener 2017-12-07 00:44:45 +01:00
emersion
32591d66d6
Add display destroy listener in server decoration 2017-12-07 00:36:05 +01:00
emersion
dfe11a2b0e
Add display destroy listener in screenshooter, destroy display in rootston 2017-12-07 00:13:06 +01:00
emersion
dac0233804
Send new output to clients when changing transform 2017-12-06 16:54:08 +01:00
emersion
bf2b58eb6d
Add wlr_output_set_scale
Fixes #465
2017-12-06 16:36:46 +01:00
Tony Crisci
41d7bad470 wl-shell: add commit event 2017-12-03 12:37:23 -05:00
emersion
4a56957a37
Fix inverted flipped-90 and flipped-270 2017-12-01 09:49:32 +01:00
emersion
6a69b4419f
Make wlr_output_transform_* functions public, refactoring 2017-12-01 09:15:33 +01:00
Tony Crisci
5d7eb438d9
Merge pull request #437 from emersion/fullscreen
Fullscreen support
2017-11-30 03:25:05 -05:00
emersion
0781f6e483
Fix initial hardware cursor position 2017-11-29 00:26:55 +01:00
emersion
cc2468923b
Fix non-HiDPI-aware fullscreen surface rendering in wlr_output 2017-11-21 21:12:12 +01:00
emersion
3262661e1e
Fix HiDPI support 2017-11-21 20:58:15 +01:00
emersion
5a664e1e46
Fix messed up outputs after fullscreen 2017-11-21 18:43:22 +01:00
emersion
dcb168914e
Merge branch 'master' into fullscreen 2017-11-21 18:34:12 +01:00
Drew DeVault
1228d0da19
Merge pull request #387 from emersion/laggy-move-resize
Fix laggy move-resize
2017-11-21 11:13:18 -05:00
emersion
17d9e2ce35
Unify view events naming, remove client from event structs 2017-11-21 09:50:00 +01:00
emersion
151901123f
Merge branch 'master' into refactor-wlr-list 2017-11-20 21:15:58 +01:00
emersion
a268f57ed5
Forgot a call to glClear 2017-11-20 21:05:05 +01:00
emersion
54f1135c05
Fix fullscreen in xdg-shell 2017-11-20 20:53:13 +01:00
emersion
80998cdf57
Add support for fullscreen xwayland views 2017-11-20 17:58:26 +01:00
emersion
b04a9a248d
Initial fullscreen support 2017-11-20 17:27:36 +01:00
emersion
7904b625f0
Merge branch 'master' into laggy-move-resize 2017-11-19 22:28:51 +01:00
Tony Crisci
af23192ede wlr-seat: remove client bound and unbound signal 2017-11-19 11:13:59 -05:00
Tony Crisci
8f38b0504b wlr-data-device: map icon by default 2017-11-19 10:14:57 -05:00
Tony Crisci
3b74db467b data-device: wlr-drag-icon 2017-11-19 09:33:55 -05:00
emersion
016744ef4d
Refactor wlr_list inside wlroots 2017-11-19 00:17:40 +01:00
Tony Crisci
458fe633df data-device: fix memory leak 2017-11-18 14:04:20 -05:00
Tony Crisci
f277f28eef Merge branch 'master' into feature/wlr-seat-touch 2017-11-18 13:43:25 -05:00
emersion
cd566ccd8e
Add cursor theme to rootston config 2017-11-18 09:47:53 +01:00
emersion
a3a8b7bfd8
Fixed a bug with move-resize, removed xdg-shell ack_configure event
Fixed move-resizing a view when only one coordinate changes.
2017-11-18 09:09:23 +01:00
emersion
e2843d87c8
Ensure to move the view when configured 2017-11-17 23:52:42 +01:00
Tony Crisci
fb18e345a6 wlr-seat: return serial from touch down interface 2017-11-16 17:44:10 -05:00
Tony Crisci
4434be835d wlr-seat: clear touch focus on touch point destroy 2017-11-16 17:20:55 -05:00
Tony Crisci
ae7d8870e7 data-device: bug: fix touch detection 2017-11-16 16:45:56 -05:00
Tony Crisci
584ff1df4c Merge branch 'master' into feature/wlr-seat-touch 2017-11-16 16:19:17 -05:00
emersion
bb79ada49f
Fix a bunch of mistakes detected with scan-build 2017-11-16 10:30:54 +01:00
emersion
bf1f461eba
Call wl_output_send_done when current mode is updated 2017-11-15 22:35:16 +01:00
Tony Crisci
12758a00a2 rootston: touch to focus 2017-11-15 08:34:48 -05:00
Tony Crisci
ac4841ba37 put dnd icon in the right place 2017-11-15 08:34:48 -05:00
Tony Crisci
a337e95505 wlr-touch: make dnd work 2017-11-15 08:34:48 -05:00
Tony Crisci
4eab61f86f wlr-seat: refactor touch grab interface 2017-11-15 08:34:48 -05:00
Tony Crisci
b310fdac82 wlr-data-device: cleanup 2017-11-15 08:34:48 -05:00
Tony Crisci
6a516f7c41 basic touch dnd 2017-11-15 08:34:48 -05:00
Tony Crisci
94e7dc8a3e data-device: touch grab stubs 2017-11-15 08:34:48 -05:00
Tony Crisci
cbb6fd7352 wlr-seat: touch grab begin and end 2017-11-15 08:34:48 -05:00
Tony Crisci
4240096b83 wlr-seat: default touch grab 2017-11-15 08:34:48 -05:00
Tony Crisci
e5a31ae870 wlr-seat: basic touch 2017-11-15 08:34:48 -05:00
emersion
3f6cf517b9
Add wlr_xdg_surface_v6_popup_get_position 2017-11-15 14:03:13 +01:00
emersion
f8b43940b1
Merge branch 'master' into cursor-scale 2017-11-12 22:12:50 +01:00
Drew DeVault
1e0e73efaa Spawn views on last active output 2017-11-12 09:55:28 -05:00
emersion
8605243459
Introduce wlr_xcursor_manager 2017-11-12 11:10:56 +01:00
emersion
ac1573b0e7
Add scale parameter to wlr_cursor_set_image 2017-11-11 17:27:44 +01:00
Tony Crisci
2a9dc60f28 Merge branch 'master' into feature/multiseat 2017-11-11 09:59:39 -05:00
Drew DeVault
e6babc07a0
Merge pull request #390 from emersion/rootston-maximize
Maximize views in rootston
2017-11-10 08:26:20 -05:00
Drew DeVault
425713b837 Merge branch 'hidpi' 2017-11-10 08:21:50 -05:00
Timidger
80bf3cfff0 Fixes #399 Adds wlr_data_device_manager destructor
Fixed issues
2017-11-09 18:52:58 -08:00
Tony Crisci
739361aa70 wlr-keyboard: take out modifiers event struct (for now) 2017-11-09 17:29:28 -05:00
emersion
bf1b12a725
Fix maximize delay in xdg-shell 2017-11-09 21:41:11 +01:00
emersion
26dadacb71
Add wl_shell support for maximized views 2017-11-09 20:06:05 +01:00
Drew DeVault
66587eb430 Merge remote-tracking branch 'origin/master' into hidpi 2017-11-09 08:36:27 -05:00
Tony Crisci
79f5bd6ef8 Merge branch 'master' into feature/multiseat 2017-11-08 20:21:59 -05:00
emersion
882e620639
Always read state from wlr_keyboard in the seat 2017-11-08 19:02:56 +01:00
emersion
84d5e6bbb4
Send current keyboard state when entering a surface 2017-11-08 10:57:46 +01:00
Tony Crisci
09c6092423 multiseat: somewhat working 2017-11-07 15:56:11 -05:00
Tony Crisci
b74c4cf974 Merge branch 'master' into feature/multiseat 2017-11-05 08:09:45 -05:00
Drew DeVault
2f6cfe4057 Fix software cursors on scaled outputs
There was an issue where it would only work within the boundaries of the
unscaled resolution.
2017-11-04 11:47:34 -04:00
Tony Crisci
5354fe8729 move keyboard to seat 2017-11-04 09:23:57 -04:00
Drew DeVault
6d8e1abfc0 Improve input sensitivity
We now use doubles until the last minute, which makes it so we can move
the pointer more precisely. This also includes a fix for tablet tools,
which move absolutely and sometimes do not update the X or Y axis.
2017-11-04 01:35:12 -04:00
Drew DeVault
86b8729998 Merge remote-tracking branch 'origin/master' into hidpi 2017-11-02 23:34:02 -04:00
Drew DeVault
ca8cf7d48d Rethink HiDPI output layouts, fixes everything
Except for subsurfaces not rendering at the right scale. But that part
is (somewhat) easy.
2017-11-02 23:17:39 -04:00
emersion
f8de7aa0fd
Add checks for wl_resource_create 2017-11-02 23:14:24 +01:00
emersion
0384c9c094
Process surface position for software cursor hotspots 2017-11-02 19:24:48 +01:00
emersion
b46d2a8b33
Fix wlr_output_cursor_destroy 2017-11-02 11:42:42 +01:00
emersion
d11973ed7d
Fix disabled cursors 2017-11-02 11:37:43 +01:00
emersion
e18460c981
Add wlr_output.needs_swap 2017-11-01 20:08:15 +01:00
emersion
0df7a3c22d
Add wlr_seat_pointer_request_set_cursor_event.serial 2017-11-01 18:15:37 +01:00
Drew DeVault
0d9d670dbd
Merge pull request #365 from emersion/wayland-backend-transform
Cursors ✕ Output Transformations fixes
2017-11-01 10:21:02 -04:00
emersion
a15b35aa10
Remove mysterious hotspot switch in DRM backend 2017-11-01 14:36:58 +01:00
emersion
60c018c017
Fix hidden software cursors, fix cursor transformations on DRM backend 2017-11-01 14:25:41 +01:00
Drew DeVault
b2ff9f13b7
Merge pull request #368 from acrisci/bug/seat-clear-focus
wlr-seat bug: dont set focus surface to null then clear focus
2017-11-01 09:20:49 -04:00
Tony Crisci
b23dd6a6f8 wlr-seat bug: dont set focus surface to null then clear focus 2017-11-01 09:08:35 -04:00
Drew DeVault
ed74f473d6 Fix various rebase-related bugs 2017-11-01 08:57:30 -04:00
Drew DeVault
8c0929cfb3 Fix backwards bit banging 2017-11-01 08:51:59 -04:00
Drew DeVault
c8f97a3a2c Use surface matrix for software cursors
A similar change should probably be applied to hardware cursors, though
more complicated. Also, this doesn't actually fix the issue where the
cursor is too small when over a scale=2 surface. Apparently they don't
set their cursor scales to 2. Seems like a client bug? idk
2017-11-01 08:51:59 -04:00
Drew DeVault
a6930cd8ea Handle output enter/leave correctly 2017-11-01 08:51:59 -04:00
Drew DeVault
9861add146 Send surface enter output events to clients 2017-11-01 08:50:33 -04:00
Drew DeVault
a7446792a1 Consider scale factor when rendering views 2017-11-01 08:44:07 -04:00
Tony Crisci
1a756b3123 bugfix: dnd force cancel 2017-11-01 08:05:02 -04:00
emersion
510ce27fb7
Re-enable hardware cursors 2017-11-01 11:01:18 +01:00
emersion
0beae99188
Apply output transformation to pointer events in Wayland backend 2017-11-01 11:00:27 +01:00
emersion
ec22fe7134
Make wlr_output_interface.enable optional 2017-10-31 15:19:55 +01:00
emersion
d2581eadbc
Assert mandatory impl fields in wlr_output_init 2017-10-31 15:08:45 +01:00
emersion
7dc716a2bb
Fix memory leak in wlr_cursor 2017-10-31 14:58:58 +01:00
emersion
2c63aa2056
Destroy x11 output with backend 2017-10-31 14:21:12 +01:00
emersion
c97b5ac4ce
Fix output_cursor_render bounds check 2017-10-31 13:48:09 +01:00
emersion
9142def292
Do not render off-screen software cursors 2017-10-31 12:57:20 +01:00
emersion
ca9dfd2e14
Emit add event after configuring wlr_output_layout_output 2017-10-31 12:30:57 +01:00
emersion
ae9a46fc9b
Remove outdated TODOs, use wlr_surface_has_buffer 2017-10-31 12:30:57 +01:00
emersion
6a74a3586f
Fix wlr_cursor_destroy, handle device remove in examples/multi-cursor 2017-10-31 12:30:57 +01:00
emersion
044173d1df
Add multi-pointer example 2017-10-31 12:30:57 +01:00
emersion
c3b09f73da
Fix cursor hotspot with rotated outputs on DRM backend 2017-10-31 12:30:57 +01:00
emersion
4230a577cc
Remove wlr_cursor_set_xcursor for now 2017-10-31 12:30:56 +01:00
emersion
95566c6bdf
Transform cursor hotspot, fix wayland cursor hotspot 2017-10-31 12:30:56 +01:00
emersion
6656e25fd4
Transform cursor hotspot 2017-10-31 12:30:56 +01:00
emersion
2e2d63a164
Manage wlr_output_cursor from wlr_cursor 2017-10-31 12:30:56 +01:00
emersion
1b6c729360
Add wlr_output_cursor 2017-10-31 12:30:03 +01:00
Tony Crisci
e9c2cf09dc
Merge pull request #361 from emersion/output-layout-checked-allocs
Check allocation errors in wlr_output_layout
2017-10-31 07:07:06 -04:00
emersion
88f85f7477
Fix code style issues 2017-10-31 12:01:49 +01:00
emersion
816d6890ee
Fix remaining unchecked allocs in types and code style 2017-10-31 11:58:39 +01:00
emersion
78245a3998
Check allocation errors in wlr_output_layout 2017-10-31 11:29:53 +01:00
Tony Crisci
74bca7251b rename wlr_seat to seat on seat structs 2017-10-30 08:44:39 -04:00
Tony Crisci
fddef4d58e rename seat handle to seat client 2017-10-30 08:37:54 -04:00
Drew DeVault
4281aefbf8
Merge pull request #324 from acrisci/feature/keyboard-redesign
wlr-seat: keyboard redesign
2017-10-28 10:56:41 -04:00
emersion
a43acae000
Send server-decoration ack event automatically 2017-10-27 00:02:30 +02: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
emersion
9ccf66f53d
Remove gamma_control->link from list in destroy 2017-10-24 21:44:30 +02:00
Drew DeVault
bbf08f3ef9 Merge pull request #262 from acrisci/feature/data-device-selection
wlr-data-device
2017-10-24 08:22:13 -04:00
Drew DeVault
93042e844b Merge pull request #325 from acrisci/bug/texture-destroy
Revert "wlr-surface: destroy texture on null buffer commit"
2017-10-24 08:22:06 -04:00
Tony Crisci
1dbe314937 Merge branch 'master' into feature/data-device-selection 2017-10-24 07:57:36 -04:00
Tony Crisci
06d8893543 wlr-seat: edit todos 2017-10-24 07:24:48 -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
6e7caaee6b Revert "wlr-surface: destroy texture on null buffer commit"
This reverts commit 0e7d13fab7.
2017-10-23 09:09:12 -04:00
Tony Crisci
0e7d13fab7 wlr-surface: destroy texture on null buffer commit 2017-10-22 21:07:54 -04: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
emersion
4952a633ca
Remove interface version checks 2017-10-22 11:18:27 +02: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
37b8a096a9 Pass backend to render 2017-10-22 10:39:23 +13: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
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
Tony Crisci
eaed6b6d29 wl-output: send layout position 2017-10-20 07:29:01 -04: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
a339b10dcd xdg-shell: improve configure request change detection 2017-10-20 11:44:36 +03:00
Tony Crisci
a5659b65c7 xdg-shell: send same-as-current configure if needed 2017-10-20 11:44:36 +03:00
Tony Crisci
fcf4724da9 xdg-shell: improve configure request change detection 2017-10-19 10:15:56 -04:00
Tony Crisci
ec83d9df58 xdg-shell: send same-as-current configure if needed 2017-10-19 09:57:55 -04:00
Tony Crisci
39308cb868 Merge branch 'master' into feature/data-device-selection 2017-10-18 15:43:13 -04:00
emersion
a7d7659a93
Fix render errors with gnome-terminal 2017-10-18 20:13:59 +02:00
Tony Crisci
b7c622a319 Merge branch 'master' into feature/data-device-selection 2017-10-17 16:01:17 -04:00
Drew DeVault
9129687ad6 Merge pull request #280 from acrisci/bug/xdg-shell-pending-different-force
xdg-shell: force configure when pending different
2017-10-17 09:34:47 -04:00
Tony Crisci
82076bd772 xdg-shell: force configure when pending different 2017-10-17 09:22:50 -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
2bd52c83ce bug: detect invalid texture in xdg-shell 2017-10-17 08:29:57 -04:00
emersion
786f4bdd4d
Disable hardware cursors for now 2017-10-17 00:04:33 +02:00
Tony Crisci
19784360f1 bug: fix view centering 2017-10-16 14:35:16 -04:00
Tony Crisci
09f16058c8 cleanup: redo buggy set pointer function 2017-10-16 10:00:32 -04:00
Tony Crisci
f9d578700e bug: fix seat handle destroy handler 2017-10-16 09:14:16 -04:00
Tony Crisci
c0e8585a4c data-device: handle multiple data devices 2017-10-16 08:56:59 -04:00
Tony Crisci
2d35e20691 data-device: keyboard grabs 2017-10-16 07:52:04 -04:00
Tony Crisci
570a951947 data-device: button release drag bugfixes 2017-10-16 06:43:41 -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
08720db01d
Release buffer in wlr_surface_flush_damage 2017-10-14 13:33:34 +02:00
emersion
6dc0517bb1
Fix software cursor when setting committed cursor surface 2017-10-14 13:24:29 +02:00
emersion
dd5114a514
Fix client cursors when software cursors are used 2017-10-14 12:44:25 +02:00
emersion
8fd4ae5de8
Fix cursor role name, fix segfault when surface->resource is NULL 2017-10-14 12:21:36 +02:00
Tony Crisci
327f656c35 bug: emit wlr-seat pointer grab end event 2017-10-12 13:33:42 -04:00
emersion
19860c03f7
Better handling of hidden cursors in wayland backend, add TODOs 2017-10-12 13:25:29 +02:00
emersion
92daa790bb
Allow to update the cursor hotspot without its pixels 2017-10-12 09:40:51 +02:00
Drew DeVault
2272f3d47c Don't segfault wlr_keyboard when no xkb state 2017-10-11 22:45:39 -04:00
emersion
5c6a933890
Do not call wlr_surface_state_release_buffer anymore 2017-10-11 20:29:21 +02:00
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
Tony Crisci
c5f8f81e58 xdg_surface: handle wlr_surface destroy 2017-09-11 17:24:55 -04:00
Tony Crisci
4752b84f4e wlr_xdg_shell_v6.c: fix formatting 2017-09-11 16:26:51 -04:00
Tony Crisci
74e9578889 add surface destroy signal 2017-09-11 13:01:53 -04:00
Markus Ongyerth
935b6d871e fixes use after free caused by signal lists
A structs throughout the code use implementation specific free
functions.
When those functions are not used, they simply call free() on their
data, but this leaves around wl_signals linked into listeners.
When those listeners try to remove themself from the list, they write
into the now free memory.

This commit adds calls to remove the signals from those lists, so the
listeners can safely call wl_list_remove
2017-09-08 16:02:26 +02:00
emersion
7d43d662f5
Fix gamma_size event sent to wrong resource 2017-09-06 22:22:40 +02: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
Drew DeVault
586ae674ae Merge pull request #136 from acrisci/bug/rename-output-layout-create
Rename wlr_output_layout_init()
2017-09-06 08:29:55 +09: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
6c24300d13 wlr_cursor_device create and destroy
Refactor wlr_cursor_device creation and destruction into their own functions.

Properly unsubscribe from signals in the wlr_cursor_device_destroy function.
2017-09-05 17:48:02 -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
fa3d4ecc84 fix layout hotplugging issue in output-layout.c 2017-08-31 07:47:44 -04:00