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