Commit Graph

143 Commits

Author SHA1 Message Date
Simon Ser
ab4f642153 build: use dicts instead of get_variable
Closes: https://github.com/swaywm/wlroots/issues/1963
2020-04-21 15:26:45 +02:00
Michael Weiser
471b873de3 keyboard-shortcuts-inhibit: Implement the protocol
The keyboard shortcuts inhibitor protocol is useful for remote desktop
and virtualization software in order to request all keyboard events to
be passed to it and (almost) none being resonded to by the compositor.
This allows the session at the other end of the remote desktop
connection or inside the virtual machine to be interacted with as usual
(e.g. Alt+Tab to switch windows on the remote system instead of
locally).

Add the wayland protocol to the meson build files.

Copy'n'search'n'replace the very similar idle inhibit protocol
implementation. This already provides all the basic functionality:
- creating and destroying inhibitors upon request by a client,
- destruction in reaction to destruction of surfaces or displays,
- a list of inhibitors to search through for existing ones as well as
- a signal to be sent to the compositor upon registration of a new
  inhibitor.

Beyond that we add the active and inactive events to be sent to the
client and wire those to activate and deactivate functions for the
compositor to call in confirmation of activation of a new inhibitor or
(un-)suspending of an existing inhibitor e.g. in response to a special
key combination entered by the user as suggested by the protocol.

As mandated by the protocol, we check the existance of an inhibitor for
a given surface and seat upon creation and return the error provided by
the protocol for that purpose.

Signed-off-by: Michael Weiser <michael.weiser@gmx.de>

Closes: https://github.com/swaywm/wlroots/issues/1817
2020-02-20 21:40:34 +01:00
Guido Günther
dfc5a40288 Add wlr-output-power-management 2020-02-20 16:23:45 +01:00
Andri Yngvason
273b280f46 virtual-pointer: Add request for mapping to specific output 2020-02-10 21:01:38 +01:00
Scott Anderson
70a084c119 meson: Fix protocol includes for compositor examples 2020-01-24 09:10:28 +00:00
Josef Gajdusek
a7b538008b virtual-pointer: Add support for the wlr-virtual-pointer-unstable-v1 2019-12-31 10:29:02 +01:00
Scott Anderson
cff1c2f740 meson: Various improvements
Bumps minimum version to 0.51.0

- Remove all intermediate static libraries.
  They serve no purpose and are just add a bunch of boilerplate for
  managing dependencies and options. It's now managed as a list of
  files which are compiled into libwlroots directly.

- Use install_subdir instead of installing headers individually.
  I've changed my mind since I did that. Listing them out is annoying as
  hell, and it's easy to forget to do it.

- Add not_found_message for all of our optional dependencies that have a
  meson option. It gives some hints about what option to pass and what
  the optional dependency is for.

- Move all backend subdirectories into their own meson.build. This
keeps some of the backend-specific build logic (especially rdp and
session) more neatly separated off.

- Don't overlink example clients with code they're not using.
  This was done by merging the protocol dictionaries and setting some
  variables containing the code and client header file.
  Example clients now explicitly mention what extension protocols they
  want to link to.

- Split compositor example logic from client example logic.

- Minor formatting changes
2019-12-23 07:48:29 -05:00
Jason
9cbbfa957c Amend typo 2019-11-23 10:33:47 -05:00
Simon Ser
e959b882d5 backend/wayland: add support for presentation-time 2019-11-21 11:32:30 -05:00
Andri Yngvason
2a63f4fc61 protocol/screencopy: Add damage reporting 2019-10-22 10:41:32 -04:00
Simon Ser
02d664b37f protocol: sync layer-shell with upstream
Fixes this warning:

    ../protocol/wlr-layer-shell-unstable-v1.xml:241: warning: since version not increasing
2019-10-17 09:12:33 -04:00
Timidger
1724261910 layer_shell: set layer of existing surface 2019-10-16 09:41:13 -04:00
Simon Ser
5bddb5a909 backend/wayland: add support for direct scan-out
Closes: https://github.com/swaywm/wlroots/issues/1830
2019-10-16 09:40:26 -04:00
Markus Ongyerth
2285e36b0c Add zwp-tablet-unstable-v2 client support
This allows wlroots based compositors to properly use graphic tablets
with the wayland backend.
This should be a decent quality of life improvement when working on
tablet related features.
2019-09-26 19:41:19 +03:00
Greg V
d80acadfd8 Support pointer-gestures on Wayland backend 2019-06-21 14:43:28 -04:00
Simon Ser
3dec88e455 Remove orbital screenshooter and gamma-control
These are undocumented, outdated protocols that have a better wlr-protocols
equivalent.
2019-06-02 09:30:47 -04:00
Ilia Bozhinov
4e6c17a7c9 foreign-toplevel: support fullscreen state and request 2019-04-29 00:00:53 +03:00
emersion
ab3446091b output-management-v1: update protocol, add set_custom_mode 2019-04-11 09:19:57 -06:00
emersion
3a233b3fcc Add support for wlr-output-management-unstable-v1 2019-04-11 09:19:57 -06:00
Drew DeVault
ea28887a23
Merge pull request #1493 from emersion/primary-selection-v1
primary-selection-v1: copy from gtk-primary-selection
2019-02-19 08:59:20 -05:00
Ivan Molodetskikh
b59370088e Update data-control 2019-02-15 11:58:33 +01:00
emersion
8163f7e1e2
primary-selection-v1: copy from gtk-primary-selection 2019-02-13 19:28:25 +01:00
Ivan Molodetskikh
9e49ceb129 data-control: add primary selection support
data-control: separate out a data_offer struct

This is a prerequisite to adding primary selection support.

data-control: separate out data_control_source

This is a prerequisite to adding primary selection support, since that
doesn't use wlr_data_source, but rather wlr_primary_selection_source.

Update the data-control protocol

data-control: add primary selection support

Merge create_offer and create_primary_offer

Extract code into data_control_source_destroy()

Fix pointer style

Move resource neutralization to destructor

Store wl_resource in the data_offer

Extract data_offer destruction into a function
2019-02-10 17:12:05 +01:00
Greg V
9fe8e37961 Implement the pointer-gestures-unstable-v1 protocol
This protocol relays touchpad gesture events produced by libinput to
supporting clients (e.g. Evince, Eye of GNOME).
2019-01-28 22:06:36 +01:00
emersion
af3de7ea68
text-input-v3: use protocol from wayland-protocols 2019-01-24 12:08:26 +01:00
Drew DeVault
d4de2bd708
Merge pull request #1476 from emersion/fullscreen-shell
fullscreen-shell-v1: initial protocol implementation
2019-01-20 09:30:52 -05:00
Drew DeVault
e61ea7706b
Merge pull request #1423 from emersion/data-control
Implement data-control-unstable-v1
2019-01-06 22:41:35 -05:00
emersion
86f263a0b8
fullscreen-shell-v1: initial protocol implementation 2019-01-06 12:12:06 +01:00
emersion
69e7fd61b7
data-control-v1: update to latest protocol proposal 2018-12-30 02:52:03 +01:00
emersion
4423630687
data-control-v1: update protocol to allow NULL selections 2018-12-30 02:48:03 +01:00
emersion
99d879c887
data-control-v1: initial protocol implementation 2018-12-30 02:48:03 +01:00
random human
3a3d1b6617 relative_pointer: create skeleton and build
Add protocol, header and type files to build. Create skeleton structs,
creator and destroyer, and define implementations.
2018-12-21 12:20:47 -06:00
Ilia Bozhinov
5b1b9657bf types: implement wlr_foreign_toplevel_management_v1 2018-12-08 14:09:30 +01:00
Drew DeVault
66e8908e9a
Merge pull request #1203 from dcz-purism/input
Support input method and text input
2018-10-12 13:44:46 +02:00
Dorota Czaplejewicz
cec7471119 wlroots: add basic support for zwp_input_method_v2
Implemented basic input method functionality. Not included: popups, grabbing.
2018-10-09 09:56:46 +00:00
Dorota Czaplejewicz
427735fcd9 wlroots: add support for zwp_text_input_unstable_v3 2018-10-09 09:56:11 +00:00
emersion
3aad9fd6a9 presentation-time: add protocol implementation 2018-10-04 21:55:31 +02:00
Drew DeVault
5e9959daaa
Merge pull request #852 from Laaas/master
Implement pointer-constraints-unstable-v1 protocol
2018-09-27 05:57:43 -05:00
sghctoma
6fd1c63a69 Fix partial dependency in protocol/meson.build
External dependencies in Meson do not have include_directories,
therefore "includes: true" means nothing for the wayland-client partial
dependency. Because of this, the -I CFLAGs for wayland-client are not
used by the build command. This commit fixes this by using compile_args.
2018-09-21 14:13:44 +02:00
Las
fa2e6e7d9d Implement pointer-constraints protocol in wlroots and rootston 2018-09-18 10:14:33 +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
39ac21401f Replace generator with custom_target
This stops the protocol header constantly being regenerated for every
target using them.
2018-08-23 14:21:41 +12:00
Scott Anderson
b1ed61b649 Use pkg-config to find wayland-scanner 2018-08-23 14:19:56 +12:00
Scott Anderson
a2bbf2c1f7 Make style more consistent 2018-08-22 21:16:16 +12:00
emersion
1d97202ec2 examples: add gamma-control 2018-08-02 23:33:59 +01:00
emersion
a149c2370a Implement wlr-gamma-control-unstable-v1 2018-08-02 23:33:04 +01:00
emersion
555721f714 Add xdg-decoration-unstable-v1 support 2018-07-28 22:48:07 +01:00
Markus Ongyerth
bf8751d632 Start tablet protocol 2018-07-14 09:40:39 +02: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
2b9cbaddf3
screencopy: add support for frame flags 2018-06-30 22:18:03 +01:00
emersion
bd8be19b79
screencopy: add presentation timestamp 2018-06-30 22:18:03 +01:00
emersion
73755ad348
screencopy-v1: add basic implementation 2018-06-30 22:17:59 +01:00
Rostislav Pehlivanov
9eddcbc376 Update example and protocol 2018-06-17 14:06:52 +01:00
Rostislav Pehlivanov
b9b397ef80
Add a demo client for dmabuf export 2018-05-29 18:47:19 +01:00
emersion
a16ad4327a
Update protocol 2018-05-29 18:47:19 +01:00
emersion
1377e551ef
Update wlr-export-dmabuf protocol 2018-05-29 18:47:18 +01:00
emersion
36bd4795d4
export-dmabuf: add basic and incomplete implementation 2018-05-29 18:47:17 +01:00
Dorota Czaplejewicz
5334ee8bfd virtual-keyboard: add support for the virtual-keyboard-v1 protocol 2018-05-28 10:05:55 +02:00
morganamilo
5bd170b2f3
Fix typos in documentation 2018-05-03 21:43:54 +01:00
Drew DeVault
177b548b15 Update layer shell with optional wl_output 2018-04-22 18:57:45 +02:00
Dominique Martinet
cd66d4732f Use 'private-code' for wayland-scanner code generation
They deprecated 'code' for 'public-code', but suggest using 'private-code'...
2018-04-13 14:40:19 +09:00
Drew DeVault
abfe7923c4 Add wlr_xdg_output_manager 2018-04-05 12:40:30 -04:00
Drew DeVault
ef4e833f13 Add wlr_input_inhibitor 2018-04-03 14:06:52 -04:00
Drew DeVault
e841e5602b Address @emersion's feedback 2018-03-27 18:50:32 -04:00
Drew DeVault
86ca4bea6d Fix layer rendering/layout bugs 2018-03-27 18:50:32 -04:00
Drew DeVault
d1c0e6fe2c Add layer_surface.close 2018-03-27 18:50:32 -04:00
Drew DeVault
4bf936360d Arrange & render layer surfaces 2018-03-27 18:50:09 -04:00
Drew DeVault
b31ce4220c Add broken test client and rootston stubs 2018-03-27 18:50:09 -04:00
Drew DeVault
88eec637a4 Address feedback 2018-03-27 18:50:09 -04:00
Drew DeVault
b06105b564 Implement layer surface requests 2018-03-27 18:50:09 -04:00
Drew DeVault
f29d8b55ae Initial scaffolding of layer shell 2018-03-27 18:50:09 -04:00
Guido Günther
14cdb6153f Add initial linux_dmabuf protocol support
Tested with

    ./weston-simple-dmabuf-drm
    ./weston-simple-dmabuf-drm --import-immediate=1
    ./weston-simple-dmabuf-drm --y-inverted=1
    (and combinations)

Supports only single plane XRGB dmabufs for now.
2018-03-15 12:40:18 +01:00
Guido Günther
6c7e1c867c protocol: sort protocols from wayland-protocols alphabetically 2018-03-01 16:20:15 +01:00
Markus Ongyerth
87a7afb641 idle-inhibit: second feedback pass 2018-02-21 16:22:04 +01:00
Markus Ongyerth
3016133f91 idle-inhibit: feedback pass 2018-02-20 13:41:10 +01:00
Markus Ongyerth
a0bce86006 adds the client example for idle-inhibit
Adds a client example for the idle-inhibit-unsable-v1 protocol.
The client creates a surface and requests an idle inhibitor.
On pointer BTN_LEFT the inhibitor is destroyed if it exists, or
recreated if it was destroyed before.
The surfaces colour is based on the idle-inhibit state.
Green if an inhibitor exists, yellow if it does not.
2018-02-17 12:38:07 +01:00
Markus Ongyerth
50d573b2ca implements the idle_inhibit protocol type
This adds the types/wlr_idle_inhibit_v1 implementation.
2018-02-17 12:37:12 +01:00
Dominique Martinet
b46cc3cafd wayland protocol build: remove client protocols we do not use
Only include client protocols that we use on the client side.
Since these are not installed, there should not be any change
with this.
Testers - please note 'ninja -C build clean' does not remove
the old headers, you need to start from a new directory.
2018-02-15 07:18:35 +01:00
Dominique Martinet
7d26a6debd xdg-shell stable: copy-pasta implementation 2018-02-14 12:52:30 +01:00
emersion
c2e1474010
Reformat all #include directives 2018-02-12 21:29:23 +01:00
Heghedus Razvan
21cc5e6fef Add idle protocol
Signed-off-by: Heghedus Razvan <heghedus.razvan@gmail.com>
2018-01-10 14:32:41 +02:00
emersion
0a171d3ace
Add wlr_primary_selection_device_manager and wlr_primary_selection_source 2017-12-22 19:20:12 +01:00
emersion
e521b0404b
Add server-decoration skeleton 2017-10-24 21:56:18 +02:00
Greg V
a5fe9aa736 Add FreeBSD compatibility 2017-10-11 00:07:21 +03: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
1b588e7c1f
Add gamma_control skeleton 2017-09-06 14:48:27 +02:00
Tony Crisci
368f74e4df Refactor meson build files
Use tabs for indentation and break up function calls over 80 col.
2017-08-30 14:30:47 -04:00
Dominique Martinet
577d2f6fcd wayland backend: switch to xdg shell
Closes #72 and #96.
2017-08-17 10:24:27 +02:00
Drew DeVault
d4b4bfb8bc Fix #64 2017-08-13 08:26:32 -04:00
Drew DeVault
62d8b252c0 Refactor meson and move xdg-shell into wlroots 2017-08-11 09:37:09 -04:00