Markus Ongyerth
fa39fd178d
Split tablet_v2 implementation for easier maintainance
2018-07-14 09:48:57 +02:00
Markus Ongyerth
2c12011472
Send all tablet tool axis events
2018-07-14 09:47:16 +02:00
Markus Ongyerth
6a40561e4c
Fix clang build errors
2018-07-14 09:47:16 +02:00
Markus Ongyerth
2155c976f6
Improve inert resource handling
2018-07-14 09:47:16 +02:00
Markus Ongyerth
b79d11395c
Hook up set_cursor in rootston
2018-07-14 09:47:16 +02:00
Markus Ongyerth
0c9a26828a
Use wlr_list for paths, and improve inert resource handling
2018-07-14 09:43:17 +02:00
Markus Ongyerth
adba68a3c1
Use tablet_tool impl in libinput backend
2018-07-14 09:43:16 +02:00
Markus Ongyerth
31cec36b74
1st feedback pass
...
Rename make_ functions to _create
Implement set_cursor and set_feedback
2018-07-14 09:43:16 +02:00
Markus Ongyerth
15870ceb4b
Fix segfaultiness
2018-07-14 09:40:39 +02:00
Markus Ongyerth
599f84f736
Fix borked rebase
2018-07-14 09:40:39 +02:00
Markus Ongyerth
5c7a37f309
Add tool buttons
2018-07-14 09:40:39 +02:00
Markus Ongyerth
391eef6ea9
Propagate most axis events to clients
2018-07-14 09:40:39 +02:00
Markus Ongyerth
f375246657
Implement basic tablet_pad handling (bound to keyboard focus)
2018-07-14 09:40:39 +02:00
Markus Ongyerth
f696e980f1
stabilise tablet_v2 code (prevent bunch of crashes)
2018-07-14 09:40:39 +02:00
Markus Ongyerth
e235f7d336
Basic tablet_v2 object lifetime
2018-07-14 09:40:39 +02:00
Markus Ongyerth
77bac448cc
storage commit #2
2018-07-14 09:40:39 +02:00
Markus Ongyerth
4947295c8f
convoluted tablet code
2018-07-14 09:40:39 +02:00
Markus Ongyerth
000b305ecc
backend/libinput: Manage tablet tool livetimes
...
This adds the management code to manage tablet tools lifetimes from
libinput.
It follows the suggestion made in the tablet-unstable-v2.xml to destroy
tablet_tools once all tablets that it got into contact with were removed
from the system. This is implemented via a refcount.
If a tool is *not* unique, it will be destroyed on proximity out. This
is libinput specific and mentioned in libinput docs that tools will not
be found again, so we shouldn't keep a reference to them.
Also they can't be on other tablets as well, because they cannot be
tracked.
The naming in this commit is a bit off (to not break things).
The wlr names stay the same, tablet_tool is the libinput_device with
capaiblity LIBINPUT_DEVICE_CAP_TABLET_TOOL which is more akin to
"tablet" in the tablet-unstable-v2 protocol.
The struct that corresponds to the tablet_tool in tablet-unstable-v2 is
called tablet_tool_tool, a rename should be done at some point in the
future.
2018-07-14 09:40:39 +02:00
Markus Ongyerth
bf8751d632
Start tablet protocol
2018-07-14 09:40:39 +02:00
Drew DeVault
4984ea49ee
Merge pull request #1132 from emersion/fix-screencopy-frame-error
...
screencopy: fix segfault when client supplies invalid buffer
2018-07-13 12:49:12 -07:00
Drew DeVault
b902c2bd7c
Revert "Move side-effect out of assert statement"
...
This reverts commit a0afedcd8f
.
2018-07-13 15:46:54 -04:00
emersion
935a3f2ebb
screencopy: fix segfault when client supplies invalid buffer
2018-07-13 19:27:04 +01:00
Drew DeVault
a0afedcd8f
Move side-effect out of assert statement
2018-07-13 13:54:09 -04:00
Drew DeVault
3ae423b0e3
Merge pull request #1130 from emersion/surface-opaque
...
Add wlr_surface.opaque_region
2018-07-13 04:09:31 -07:00
emersion
5bb272d7f3
surface: add wlr_surface.opaque_region
2018-07-13 10:54:51 +01:00
emersion
c4915d1492
render: add wlr_texture_is_opaque
2018-07-12 23:35:33 +01:00
emersion
d8bbdf3bd5
Merge pull request #1128 from agx/unbreak-xvfb
...
Unbreak xvfb
2018-07-12 12:47:12 +01:00
Drew DeVault
e226e2c011
Missed some old wlr_log calls
2018-07-11 18:36:31 -04:00
Drew DeVault
c0b4217fce
Merge pull request #1116 from emersion/surface-role
...
surface: replace wlr_surface_set_role_committed with wlr_surface_role
2018-07-11 15:27:42 -07:00
Guido Günther
40fe252c2d
x11: make sure event source is drained
...
Otherwise running under Xvfb will not deliver any events. This results
in e.g. weston-info reporting a 0x0 window size (which results in all
sorts of problems).
2018-07-11 17:34:43 +02:00
Guido Günther
8515b7c65b
x11: use correct type for events in wl_event_loop_add_fd
2018-07-11 17:30:45 +02:00
Guido Günther
e463b49166
x11: Check if xcb_configure_window worked
...
So far we did not check for any errors
2018-07-11 17:29:41 +02:00
Drew DeVault
2518de655c
Merge pull request #1126 from emersion/wlr-log-prefix
...
util: add wlr_ prefix to log symbols
2018-07-09 16:12:20 -07:00
emersion
7cbef15206
util: add wlr_ prefix to log symbols
2018-07-09 22:49:54 +01:00
emersion
e78d72f42e
Merge pull request #1124 from 5nefarious/handle-32bit-time
...
fix: handle 32 bit time_t (or smaller)
2018-07-09 17:22:22 +01:00
Arvin Ignaci
fad62a3e1c
fix: handle 32 bit time_t (or smaller)
2018-07-09 14:45:19 +00:00
Drew DeVault
ffc8780893
Merge pull request #1121 from emersion/rename-wl-resources-global
...
Rename wl_resources to resource, wl_global to global
2018-07-08 12:10:35 -07:00
emersion
deeca53e33
Rename wl_resources to resource, wl_global to global
2018-07-08 19:21:31 +01:00
emersion
66ac9e7f49
Merge pull request #1120 from vilhalmer/gamma-control-set-bail-on-destroyed-resource
...
Bail from setting gamma on destroyed resource
2018-07-08 19:08:29 +01:00
vilhalmer
0260f042d2
Bail from setting gamma on destroyed resource
2018-07-08 12:35:41 -04:00
Drew DeVault
c1a6422b33
Merge pull request #1118 from emersion/xdg-output-no-noop-updates
...
xdg-output: don't send no-op updates
2018-07-08 08:29:59 -07:00
emersion
c19d475753
xdg-output: don't send no-op updates
...
To begin with, no-op updates are unnecessary, so this patch is an
improvement on its own.
Then, this fixes hotplugging issues with xwayland. xwayland waits
for both wl_output and xdg_output to send a "done" event. However,
it doesn't handle well desynchronized "done" updates: if xdg-output
sends "done" twice, the second one will wait for the next wl_output
"done" event. This is an issue when the first is a no-op and the
second is a real update: the second isn't applied. I've considered
patching xwayland instead, but it seems pretty complicated.
2018-07-08 14:12:18 +01:00
Drew DeVault
024fc76eee
Merge pull request #1117 from emersion/inert-output
...
output: make wl_output resources inert
2018-07-07 17:45:27 -07:00
emersion
5fe50b9a28
output: make wl_output resources inert
2018-07-07 23:02:08 +01:00
emersion
33db4263a0
surface: replace wlr_surface_set_role_committed with wlr_surface_role
2018-07-07 22:45:16 +01:00
Drew DeVault
be54278207
Merge pull request #1095 from agx/output-add-mode
...
Allow to add additional modes to outputs
2018-07-07 08:58:17 -07:00
Guido Günther
60a83e99f4
rootston: use wl_list_empty instead of wl_list_length > 0
2018-07-07 17:31:42 +02:00
Guido Günther
709d7dd722
rootston: Handle modeline parameter
...
This allows to pass custom modes.
2018-07-07 17:31:42 +02:00
Guido Günther
8d72090afe
drm: Allow to add additional modes
...
This allows to add additional modes to the list of available video modes
using VESA Coordinated Video Timing information.
Closes #1080
2018-07-07 14:51:39 +02:00
Drew DeVault
7c6588d7ae
Merge pull request #1076 from emersion/redesign-surface-state
...
surface: redesign state
2018-07-05 13:34:49 -07:00