Las
fa2e6e7d9d
Implement pointer-constraints protocol in wlroots and rootston
2018-09-18 10:14:33 +02:00
Las
6367e0bc93
Add wlr_surface::input_region member
...
This is analogous to the opaque_region member.
In addition the code for setting the opaque region is cleaned up.
2018-09-18 10:14:33 +02:00
Las
d446c53fe1
Make (wlr_)seat_client_from_pointer_resource public
2018-09-18 10:14:33 +02:00
Las
252bcce2f3
Add focus change event for seats
2018-09-18 10:14:33 +02:00
Drew DeVault
df991a55ab
Merge pull request #1241 from emersion/output-enable-error-checking
...
output: make wlr_output_enable return a bool
2018-09-14 21:14:18 -04:00
Drew DeVault
0210905eef
Merge pull request #1243 from emersion/layer-shell-suffix
...
layer-shell: add _v1 suffix
2018-09-14 20:47:42 -04:00
emersion
fc960e5d06
layer-shell: add _v1 suffix
2018-09-14 19:32:33 +02:00
emersion
b3cb22c003
xdg-output: add _v1 suffix
2018-09-14 19:29:08 +02:00
emersion
cb293f09e7
output: make wlr_output_enable return a bool
2018-09-14 18:18:07 +02:00
emersion
769a8e9917
Merge pull request #1160 from Ongy/tablet-grabs
...
Tablet grabs
2018-09-12 19:01:50 +02:00
nyorain
f6168c2afe
Fix #1129 and remove sx, sy from wlr_drag_icon
...
sx, sy used to store the buffer offset of the drag surface which was
then be added (by rootston) to the drag icon position.
Buffer offsets are handled already in surface_intersect_output
(output.c) so they were added twice for dnd surfaces.
2018-09-07 14:48:28 +02:00
Ilia Bozhinov
62539e265e
add missing wlr_box.h include in wlr_screencopy_v1.h
2018-08-31 20:48:38 +03:00
Alexander Bakker
20db29779e
Add destroy signals to types that are destroyed by wl_display_destroy
2018-08-26 23:23:12 +02:00
Brian Ashworth
c6955fa89c
Merge pull request #1199 from apreiml/farthest_output
...
introduce wlr_output_layout_farthest_output
2018-08-25 11:00:25 -04:00
Armin Preiml
5617d2bd60
introduce wlr_output_layout_farthest_output
...
Similar to wlr_output_layout_adjacent_output but will return the
one that is the farthest away from the reference in given direction.
2018-08-25 09:14:55 +02:00
Scott Anderson
fd3fa760d3
Revert "Revert "Merge pull request #1194 from ascent12/meson_feature""
...
This reverts commit 9c886f20b9
.
2018-08-24 19:35:02 +12:00
Drew DeVault
9c886f20b9
Revert "Merge pull request #1194 from ascent12/meson_feature"
...
This breaks wlroots when used as a meson subproject.
This reverts commit dea311992e
, reversing
changes made to 6db9c4b746
.
2018-08-23 21:00:58 -04:00
Scott Anderson
51892e0d74
Install headers explicitly
2018-08-22 21:16:16 +12:00
Ilia Bozhinov
88e9dbe32e
remove dangling declaration of wlr_xdg_surface_popup_get_position()
2018-08-09 07:55:20 +03:00
Markus Ongyerth
f64962ace8
tablet-v2 tool: Implement implicit grab
...
Implement the tablet-v2 tablet tool's implicit grab semantics for
buttons and tip.
This avoids losing focus (to other [sub]surfaces) when a button is held,
or the tip is down.
This should help when the device is used close to a surface's border and
would otherwise have to be very precise.
2018-08-06 08:45:41 +02:00
emersion
2ebecb6727
backend/drm: allow to pass empty gamma ramp to reset it
2018-08-02 23:33:59 +01:00
emersion
e21563ec76
output: document gamma functions
2018-08-02 23:33:59 +01:00
emersion
a149c2370a
Implement wlr-gamma-control-unstable-v1
2018-08-02 23:33:04 +01:00
Drew DeVault
5642c5cc8f
Merge pull request #1053 from emersion/xdg-decoration
...
Add xdg-decoration-unstable-v1 support
2018-08-02 09:33:10 -04:00
Drew DeVault
211ae764fd
Initial pass on API stability guarantees
...
This introduces -DWLR_USE_UNSTABLE and adds information regarding the
stability status to all headers. I started with a conservative set of
headers to mark as stable:
- types/wlr_matrix.h
- util/edges.h
- util/log.h
- util/region.h
- xcursor.h
2018-07-29 19:20:34 -04:00
emersion
555721f714
Add xdg-decoration-unstable-v1 support
2018-07-28 22:48:07 +01:00
Drew DeVault
f1b65b34a6
Merge pull request #1127 from emersion/surface-precommit
...
surface: add wlr_surface_role.precommit
2018-07-27 13:21:03 -04:00
Markus Ongyerth
d5950255de
tablet-v2 tablet_tool grab implementation
...
Implement the basic logic for tablet-v2 tablet_tool's grabs. And plug in
the default grab.
2018-07-23 10:08:10 +02:00
Ilia Bozhinov
8b7c85d765
xdg-shell(-v6): add set_title and set_app_id toplevel signals
...
This is useful for example when rendering decorations
2018-07-22 22:42:37 +03:00
emersion
5dbf0fe7f2
linux-dmabuf: add v1 suffix
...
This prevents some future conflicts with the stable version.
Fixes #1133
2018-07-19 21:50:05 +01:00
Markus Ongyerth
454f2a84a8
tablet-v2 tablet_pad grab implementation
...
Implement the basic logic for tablet-v2 tablet_pad's grabs. And plug in
the default grab.
Features like "holding" the focus should be implemented via grabs, like
they are for pointer and keyboard.
2018-07-19 11:35:00 +02:00
emersion
16d7e09d99
surface: add wlr_surface_role.precommit
...
This allows to emit the unmap event before the surface becomes
actually unmapped for most shells.
2018-07-15 19:30:19 +01:00
Markus Ongyerth
9a6f77fc2c
tablet-v2: fix merge commits and test again
...
There were a few issues after rebase, that the merge algorithm didn't
throw at my face:
wlr_output did a check on the actual role, not a string anymore, so that
had to go to allow tablet-v2 to set cursor surfaces.
A few L_DEBUG/L_ERRORs were still around
There was a user-after-free in tablet-group free()ing, probably after
insufficient testing from a previous feedback pass
2018-07-14 10:29:22 +02:00
Markus Ongyerth
43b20bfea2
First feedback pass from acrisci
2018-07-14 09:52:05 +02:00
Markus Ongyerth
d9e978e1b3
rename wlr_tablet_tool to wlr_tablet
...
The previous naming was based on the input-device capability names from
libinput.
With code that uses the libinput_tablet_tool and mapping into tablet-v2,
this is confusing, so the name is changed to follow the names used in
the protocol.
2018-07-14 09:49:58 +02:00
Markus Ongyerth
6b51f3b57a
use previous resource versions and destroy pads
2018-07-14 09:48:57 +02:00
Markus Ongyerth
48e2cba9b6
Handle relative motion for mouse tools
2018-07-14 09:48:57 +02:00
Markus Ongyerth
5cbdd13df8
remove unused wl_listener
2018-07-14 09:48:57 +02:00
Markus Ongyerth
2bc09d91c3
Silent conversion from double to int should be illegal
2018-07-14 09:48:57 +02:00
Markus Ongyerth
dc525a9c5f
Clean up serial handling and automate proximity acompaning events
2018-07-14 09:48:57 +02:00
Markus Ongyerth
25c2808153
Clean up serial handling
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
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
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
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
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
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
emersion
5bb272d7f3
surface: add wlr_surface.opaque_region
2018-07-13 10:54:51 +01: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
emersion
deeca53e33
Rename wl_resources to resource, wl_global to global
2018-07-08 19:21:31 +01: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
emersion
33db4263a0
surface: replace wlr_surface_set_role_committed with wlr_surface_role
2018-07-07 22:45:16 +01:00
emersion
226306ed45
surface: rename wlr_surface_state.buffer to buffer_resource
2018-07-04 19:12:18 +01:00
emersion
012e38fbe5
surface: add wlr_surface.previous
2018-07-04 19:12:18 +01:00
emersion
78555abba3
surface: move position and scale out of wlr_surface_state
2018-07-04 19:12:17 +01:00
emersion
233bfe2f4f
surface: do not monkey-patch state damage
2018-07-04 19:12:17 +01:00
emersion
adf0423f7c
surface: better buffer position handling
2018-07-04 19:12:17 +01:00
emersion
e6399c61b7
surface: fix WLR_SURFACE_STATE_BUFFER_DAMAGE value
2018-07-04 19:12:17 +01:00
emersion
3c0d672ebd
surface: make pending and current embedded structs
2018-07-04 19:12:17 +01:00
emersion
64836ddfe7
surface: remove wlr_surface_state.subsurface_position
2018-07-04 19:12:17 +01:00
emersion
3ee86b6105
surface: rename invalid state
2018-07-04 19:12:16 +01:00
Ryan Dwyer
86f401e827
Introduce wlr_xdg_surface_for_each_popup
...
It is common to want to iterate an xdg-surface's popups separately from
the toplevel and subsurfaces. For example, popups are typically rendered
on top of most other surfaces.
wlr_xdg_surface_for_each_surface continues to iterate both surfaces and
popups to maintain backwards compatibility.
2018-07-01 23:24:39 +10:00
emersion
dbb01cbcd0
screencopy: listen to buffer destroy
2018-06-30 22:18:04 +01:00
emersion
c421700f3d
screncopy: update protocol
2018-06-30 22:18:04 +01:00
emersion
bf7560b7cd
screencopy: add capture_output_region support
2018-06-30 22:18:04 +01:00
emersion
73755ad348
screencopy-v1: add basic implementation
2018-06-30 22:17:59 +01:00
Dominique Martinet
c263f7ca29
s/wlr_subsurface_from_surface/wlr_subsurface_from_wlr_surface/
...
This was the only x_from_wlr_surface function that lacked the wlr_ prefix,
let's have an API as uniform as possible.
2018-06-30 21:21:13 +09:00
Dominique Martinet
0ced9df350
wlr_idle_inhibit_v1: add *data pointer to wlr structs
2018-06-28 20:29:44 +09:00
Dominique Martinet
d0b902b962
wlr_idle: add helper to enable/disable all timers
...
There was no way to tell wlr_idle to stop processing input events
and rearm timers all the time, such an API is required to have
some form of idle inhibitor.
2018-06-27 22:47:05 +09:00
Drew DeVault
e459fe0ec7
Merge pull request #992 from emersion/screencontent
...
Implement wlr_export_dmabuf_unstable_v1 protocol
2018-06-22 05:37:07 -07:00
emersion
0e3b35c87e
Merge pull request #1072 from emersion/surface-remove-matrices
...
surface: remove matrices
2018-06-20 21:29:17 +01:00
emersion
831b7297a4
surface: remove matrices
...
These were unused.
2018-06-20 21:01:35 +01:00
emersion
a6c0e25d36
surface: remove wlr_frame_callback
...
This removes the need to allocate a structure for frame callbacks.
wl_resource_get_link is used instead.
2018-06-20 20:00:23 +01:00
emersion
57548b557a
Merge branch 'master' into screencontent
2018-06-17 14:49:18 +01:00
emersion
0378d143d9
surface: remove wlr_surface.texture
...
The texture is managed by the surface's wlr_buffer now. In
particular, the buffer can destroy the texture early if it becomes
invalid.
2018-06-13 19:38:10 +01:00
emersion
38d415dd20
buffer: make wlr_buffer_ref return the buffer
2018-06-11 08:13:35 +01:00
emersion
7d24af43e5
buffer: improve docs
2018-06-08 20:28:57 +01:00
emersion
e4933ab445
Introduce wlr_buffer
2018-06-08 20:06:13 +01:00
emersion
32f9699359
Merge pull request #1029 from emersion/wl-backend-keyboard-focus-keys
...
backend/wayland: fix keyboard keys not pressed/released when focus changes
2018-06-08 00:04:33 +01:00
emersion
6f895081e1
Merge pull request #1043 from acrisci/drag-icon-unmap
...
drag-icon map and unmap fixes
2018-06-07 11:18:58 +01:00
Ilia Bozhinov
a989104a6b
xdg-shells: add a set_parent signal to toplevel surfaces
2018-06-06 17:08:06 +03:00
Tony Crisci
319ebdf476
add back map event
2018-06-05 22:50:29 -04:00
Tony Crisci
1c75d4e54a
rename drag-icon map to unmap
2018-06-05 18:17:42 -04:00
emersion
78966417f4
Merge pull request #1031 from martinetd/multibind-seat
...
seat: allow clients to bind to seat multiple times
2018-06-04 16:44:22 +01:00
Dominique Martinet
51b9883ea0
seat: allow clients to bind to seat multiple times
...
This lets clients bind to a seat multiple times by re-using the existing
wlr_seat_client whenever a duplicate request happens.
Previously, an independant wlr_seat_client would be created and only
events from one would be processed.
Fixes #1023 .
2018-06-04 22:31:36 +09:00
Tony Crisci
58d549c98a
add data to wlr_drag_icon
2018-06-03 20:11:59 -04:00
emersion
551700e887
backend/wayland: fix keyboard keys not pressed/released when focus changes
2018-06-03 13:18:57 +01:00
Timidger
2eb8b240e1
Added data field to wlr_subsurface
2018-06-02 15:57:44 -07:00
Markus Ongyerth
3994762ae0
Add wlr_surface_get_geometry
...
This function defaults and clips the xdg-surface geometry to the
bounding box of the surface + its subsurfaces, as specified by the
protocol spec.
2018-06-01 15:21:18 +02:00
emersion
21928cbe61
Merge branch 'master' into screencontent
2018-05-31 12:33:27 +01:00
emersion
28020ff577
Only allow one modifier per DMA-BUF, split attributes struct in render/
2018-05-30 09:29:12 +01:00
emersion
00e108f2fc
export-dmabuf: correctly finish wlr_linux_dmabuf_attribs
2018-05-29 18:47:18 +01:00
emersion
e26f4dff98
export-dmabuf: wait for the frame to be ready, send timestamp
2018-05-29 18:47:17 +01:00
emersion
36bd4795d4
export-dmabuf: add basic and incomplete implementation
2018-05-29 18:47:17 +01:00
emersion
9e26808c28
output, backend/drm: add wlr_output_export_dmabuf
2018-05-29 18:45:45 +01:00
emersion
e1f56538a8
Merge pull request #999 from dcz-purism/virtual-keyboard
...
Support virtual keyboard protocol
2018-05-29 18:22:44 +01:00