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
b84d59403f
Initial keyboard support in rootston
2017-09-23 18:32:03 -04:00
Drew DeVault
0ca7932c3f
Implement xdg surface request_move
2017-09-23 18:18:19 -04:00
Drew DeVault
eaf6c0ccf4
Implement pointer motion and buttons
2017-09-23 17:48:13 -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
Drew DeVault
57c50c78f0
Implement wlr_cursor in rootston
2017-09-23 14:53:15 -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
Drew DeVault
e81e99d16d
Render XDG shell surfaces
2017-09-23 11:13:18 -04:00
Drew DeVault
7523de7c61
Wire up pointer, start on cursor
2017-09-23 10:36:32 -04:00
Drew DeVault
0699aa62d8
Initial pass on roots_input
2017-09-23 10:13:05 -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
Scott Anderson
025b3ee515
Add error recovery for failed page flips
2017-09-23 18:27:14 +12:00
Scott Anderson
459d138fa2
Add timeout to DRM cleanup
...
This prevents a potential infinite loop preventing us from closing
properly.
2017-09-23 16:32:25 +12:00
Drew DeVault
b6d7c3ed8e
Initialize display, backend; add frame handling
2017-09-23 00:30:39 -04:00
Drew DeVault
550748681d
Establish rootston headers & main
2017-09-22 23:30:40 -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
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
fa0e1015c6
xwm: fix minimal init, this gets us some events on window creations
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
Drew DeVault
e5fd858394
Merge pull request #101 from nyorain/texture_fix
...
Fix surface buffer uploading
2017-08-18 10:16:45 -04:00
Drew DeVault
3138c5ddf0
Clean up wlr_output_layout
2017-08-17 21:06:28 -04:00
Tony Crisci
5a9baf487e
add helper methods for intersection
2017-08-17 21:05:13 -04:00
Tony Crisci
2e9e237f9d
layout-output example: handle empty config
2017-08-17 21:05:13 -04:00
Tony Crisci
44181b57ac
Add wlr_output_layout implementation
...
An output layout consists of a mapping of outputs to their position in a global
coordinate system that usually cooresponds to the output position in physical
space in front of the user.
Add an example that allows configuration of an output layout and demonstrates
its boundaries with a bouncing image.
2017-08-17 21:05:13 -04:00
nyorain
10eee58d2d
Fix surface buffer uploading
2017-08-17 17:50:09 +02:00
Drew DeVault
18f1538108
Merge pull request #99 from nyorain/wlr_seat2
...
wlr_seat
2017-08-17 08:42:24 -04:00
nyorain
ad22b4874d
Fix wlr_seat; add to example compositor
2017-08-17 13:06:53 +02:00
Drew DeVault
af5db7a44c
Initial pass on wlr_seat
2017-08-17 12:57:04 +02:00
Dominique Martinet
577d2f6fcd
wayland backend: switch to xdg shell
...
Closes #72 and #96 .
2017-08-17 10:24:27 +02:00
Calvin Lee
901c14c409
Prevent alloc errors from crashing in list_t
...
This commit changes the `list_t` api so that alloc errors can be
detected and worked around. Also fixes errors not found in 5cc7342
2017-08-16 09:23:21 +02:00
Dominique Martinet
f9b55dfa95
Make wlr_wl_shell_create work like xdg
...
Also:
- rename wlr_xdg_shell_v6_init to create as that is what it does
- free wlr_xdg_shell on failure to create wl_global, the struct
is not initialized enough to call destroy at that point
2017-08-15 15:36:02 +02:00
Dominique Martinet
5dae8e1be8
example compositor: only iterate over wl_shell and xdg_shell surfaces
2017-08-15 15:34:26 +02:00
Dominique Martinet
f4e6b138fb
Move wl_shell into wlroots
2017-08-15 15:13:23 +02:00
Drew DeVault
f60b53c6e3
Change how surface matricies are calculated
2017-08-15 08:52:30 -04:00
Tony Crisci
d5f98dbf61
refactor getting surface size into a function
2017-08-15 08:22:22 -04:00
Tony Crisci
5b1ce84350
implement buffer transform
2017-08-15 07:36:51 -04:00
Tony Crisci
84c6dbd58d
remove unused dimension from buffer calculations
2017-08-15 07:36:51 -04:00
Tony Crisci
e46ec57b43
implement surface sizing
2017-08-15 07:36:51 -04:00
Tony Crisci
72a33b736f
implement texture get buffer size
2017-08-15 07:36:50 -04:00
Tony Crisci
f0f190bfa5
implement buffer scale
...
Keep track of the scale of the buffer set by surface.set_buffer_scale.
Calculate the height and width of the texture from the buffer depending on the
scale when it is attached.
Use buffer damage to determine the damage of the buffer when flushing damage.
Convert surface damage to buffer damage and union to the surface buffer_damage
prior to flushing damage.
2017-08-15 07:36:50 -04:00
Drew DeVault
d2e796edb7
Merge pull request #86 from nyorain/master
...
Fix style issues
2017-08-15 07:18:22 -04:00
nyorain
d7dcbbc175
Add wayland backend cursor support
2017-08-14 18:02:05 -04:00
nyorain
f998bb8299
Fix style issues
2017-08-14 17:09:56 +02:00
Dominique Martinet
ba20d5b3ca
Refactor out wlr_touch_state
2017-08-14 16:22:31 +02:00
Dominique Martinet
bd67849c03
Refactor out wlr_tablet_tool_state
2017-08-14 16:22:31 +02:00
Dominique Martinet
a289940bff
Refactor out wlr_tablet_pad_state
2017-08-14 16:22:31 +02:00
Dominique Martinet
53e7bebd23
Refactor out wlr_pointer_state
2017-08-14 16:22:31 +02:00
Dominique Martinet
0a3246ad97
Refactor out wlr_keyboard_state
2017-08-14 16:22:31 +02:00
Dominique Martinet
e6ad67911b
Refactor out wlr_input_device_state
2017-08-14 16:22:31 +02:00
Drew DeVault
de6f32c84e
Refactor away wlr_renderer_state
2017-08-14 08:37:50 -04:00
Drew DeVault
94e6e6334b
Refactor out wlr_texture_state
2017-08-14 08:25:26 -04:00
Drew DeVault
c8c6619146
Refactor out wlr_output_mode_state
2017-08-14 08:03:51 -04:00
Calvin Lee
de66bdb867
Add backend detection functions
...
Resolves #80
2017-08-13 23:08:33 +02:00
Drew DeVault
41e735242d
Remove wlr_output_state, update backends
2017-08-13 11:38:03 -04:00
Drew DeVault
4386816889
wlr_backend_init -> wlr_backend_start
...
Also renames create to init. We'll use create for anything that
allocates and init for anything that takes a pointer and initializes it.
2017-08-13 10:19:57 -04:00
Dominique Martinet
5c82d2f5c3
libinput backend: massive renaming
...
- 'libinput' (backend's) to libinput_context
- 'device' (libinput_device) to libinput_dev
- 'dev' (wlr_device) to wlr_dev
- 'devices' lists tangling of libinput devices to wlr_devices
- 'devices' list of wlr_devices in backend state to wlr_device_lists
2017-08-13 08:18:05 +02:00
Drew DeVault
234b2104e4
Refactor wlr_backend_state out of DRM backend
2017-08-12 19:52:22 -04:00
Drew DeVault
c95a108d2f
Update libinput backend with new state design
2017-08-12 13:51:47 -04:00
Drew DeVault
81cd90297d
Refactor out wlr_backend_state from wl/multi
2017-08-12 11:43:36 -04:00
Dominique Martinet
3ea878b76e
wayland backend: free seatName
2017-08-12 01:19:45 +02:00
Dominique Martinet
8427749dd0
wayland backend: emit signal for input/output removal
2017-08-12 01:16:12 +02:00
Drew DeVault
ce65a0c138
Merge pull request #69 from 4e554c4c/user_data
...
Add user data to wlr_* structs
2017-08-11 14:59:15 -04:00
Calvin Lee
a8c1e8ce69
Add user data to wlr_* structs
...
Resolves #68
2017-08-11 20:44:17 +02:00
nyorain
ed2fc30625
Fix wlr_surface invalid values
2017-08-11 20:30:42 +02:00
Drew DeVault
62d8b252c0
Refactor meson and move xdg-shell into wlroots
2017-08-11 09:37:09 -04:00
Drew DeVault
c24351681f
Refactor EGL handling
2017-08-10 22:15:37 -04:00
Drew DeVault
7095274a9e
Merge branch 'master' into drm_buffer
2017-08-10 13:19:39 -04:00
Drew DeVault
7da43ff8b0
Implement wlr_surface_flush_damage
2017-08-10 08:26:16 -04:00
nyorain
31d78ff497
Fix wlr_surface destruction bug
2017-08-10 12:42:35 +02:00
Tony Crisci
14654ecb77
implement compositor create region
...
Complete the implementation of wlr_region_create and put it in the compositor.
2017-08-10 05:59:43 -04:00
nyorain
1901c3e1b6
Fix example for updated gles
2017-08-10 11:03:58 +02:00
nyorain
67369173aa
Implement drm (egl) buffer attaching
2017-08-10 10:59:58 +02:00
Drew DeVault
750d0ad458
Flesh out wlr_surface state lifecycle a bit
...
Sprinked some TODOs around for future work
2017-08-09 23:34:50 -04:00
Drew DeVault
4de930542f
Implement partial texture uploads
2017-08-09 22:17:40 -04:00
Tony Crisci
8306f46dfb
implement surface frame
...
The surface frame callback lets a window know when it is a good time to show the
next frame if it is animating. In particular, this callback is used by
weston-simple-shm to throttle drawing.
2017-08-09 17:31:38 -04:00
nyorain
cf9ee6ce3f
Move wlr_surface into wlr
2017-08-09 17:27:12 +02:00
nyorain
1bea754521
Implement wlr_region using pixman
2017-08-09 17:05:55 +02:00
Scott Anderson
af67966d92
Atomic modesetting
2017-08-09 08:07:00 -04:00
nyorain
e167f41fde
Rename wlr_surface -> wlr_texture; attach -> upload
2017-08-08 18:25:16 +02:00
Drew DeVault
7486263f7e
Add xcursor sublibrary
2017-08-07 21:13:04 -04:00
Scott Anderson
d09ca20a4d
Use gbm_bo_map for cursor
2017-08-07 21:07:42 +12:00
Scott Anderson
5a636b21ba
Remove old fields
2017-08-06 21:51:34 +12:00