Commit graph

2845 commits

Author SHA1 Message Date
Dominique Martinet
c278b6fd52 xwayland: free xcb events 2017-08-27 22:30:56 +02: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
dc7e32552d config: fix uninitialized variables and accept trailing for geom 2017-08-26 11:53:16 -04:00
Drew DeVault
2f5ff45039 Merge pull request #123 from ascent12/session-multi-gpu
Session Multi-GPU
2017-08-26 08:22:44 -05:00
Tony Crisci
0a97b68278 implement cursor and device geometry mapping 2017-08-26 08:32:11 -04:00
Tony Crisci
d0cf8d0d01 add device configuration 2017-08-26 08:32:11 -04:00
Tony Crisci
699d489f93 add cursor configuration 2017-08-26 08:32:11 -04:00
Tony Crisci
b3a43e2261 add configuration file 2017-08-26 08:32:11 -04:00
Tony Crisci
54f87146c3 refactor example config and add ini.c 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
f69a7afd36 assert cursor layout for move and warp functions 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
431e1ddeca smooth pointer transitioning between outputs 2017-08-26 08:32:11 -04:00
Tony Crisci
9978349903 use safe for_each when freeing cursor devices 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
48fa59c22e Remove __PRETTY_FUNCTION__
This is pointlessly non-portable and completely equivilent to __func__
in C.
2017-08-26 22:43:42 +12: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
Drew DeVault
f10da8291b Merge pull request #119 from martinetd/xwayland
Xwayland
2017-08-24 07:06:18 -05:00
Dominique Martinet
b29c7d01b1 xwayland: relinquish wl_fd[0] after creating client
wayland WILL close this fd during wl_client_destroy, after our handler
if we close it as well this will close some of the fd we reopened
2017-08-24 07:51:24 +02:00
Dominique Martinet
4a288fdacb xwm: free x11 windows on finish 2017-08-24 07:51:24 +02:00
Dominique Martinet
e3143b50b6 xwayland: fix some shutdown cases 2017-08-24 07:51:24 +02:00
Dominique Martinet
fd3ad3b9e4 xwayland: fix shutdown caused by Xwayland/client stop 2017-08-24 07:51:24 +02:00
Dominique Martinet
0196284331 xwm: remove xcb-util dependency
This hardcodes a define, but other projects (wlc/weston) either use the raw
number or just redefine it with another name anyway...

This should fix travis build.
2017-08-23 22:03:49 +02:00
Dominique Martinet
3391e5b634 xwayland: fix style issues 2017-08-23 22:03:49 +02:00
Dominique Martinet
a39b091bd9 xwm: reply to configure_requests 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
f912316d9b xwm: handle some more events
handle map/unmap_notify, property_notify (just logging for now), and
client_message for wl_surface_id.

We almost can display an X window now, just need the compositor to
iterate over them
2017-08-23 22:03:49 +02:00
Dominique Martinet
ea906ea3e2 wlr surface/shell types: add message on creation
Not sure if we really want to keep that, would be helpful to get more
logging levels at some point
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
60451521bd start xwayland in example compositor 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
Drew DeVault
a138657598 Merge pull request #121 from martinetd/wlr_seat_destroy
wlr_seat: fix destroy with multiple handles
2017-08-22 13:47:41 -05:00
Dominique Martinet
ee3c5c7fef wlr_seat: fix destroy with multiple handles
Need to use for_each_safe because wl_resource_destroy's callback will
remove the handle from the list itself
2017-08-21 07:59:08 +02:00
Drew DeVault
9f6c8e6288 Merge pull request #118 from martinetd/delay_handle_keyboard_cb
example compositor: handle keyboard after we're done with init
2017-08-20 09:31:24 -04:00
Drew DeVault
b56f15bca7 Merge pull request #117 from ascent12/meson-options
Change meson to be more configurable
2017-08-20 09:30:29 -04:00
Dominique Martinet
2948f53721 example compositor: handle keyboard after we're done with init
the libinput backend does wl_display roundtrips, during which there is a
small window where keystrokes can be handled before the rest of the example
compositor is ready.
Setting the callback later ensures we're not called at this point
2017-08-20 14:19:30 +02:00
Scott Anderson
75978636d9 Change meson to be more configurable
We move the warning options into the project's default_options, meaning
a user can configure them with `meson configure` and not need to edit
the file.

We also make it possible to disable logind/libcap even if they're
present.
2017-08-20 22:19:47 +12:00
Drew DeVault
a1c3636d69 Merge pull request #115 from martinetd/move_wl_compositor
move wl_compositor into wlroots as wlr_compositor
2017-08-19 17:40:45 -04:00