Simon Ser
21b75e5d12
build: simplify by using disabler deps
5 years ago
Simon Ser
9796abcced
build: workaround for meson disabler object not working with if not
5 years ago
Antonin Décimo
82f48b8912
examples: remove duplicated condition
5 years ago
Simon Ser
ca45f4490c
Remove all wayland-server.h includes
...
The documentation for wayland-server.h says:
> Use of this header file is discouraged. Prefer including
> wayland-server-core.h instead, which does not include the server protocol
> header and as such only defines the library PI, excluding the deprecated API
> below.
Replacing wayland-server.h with wayland-server-core.h allows us to drop the
WL_HIDE_DEPRECATED declaration.
5 years ago
Simon Ser
3dec88e455
Remove orbital screenshooter and gamma-control
...
These are undocumented, outdated protocols that have a better wlr-protocols
equivalent.
6 years ago
Ilia Bozhinov
22dd7d3731
examples: add fullscreening to foreign-toplevel.c
6 years ago
Simon Ser
23e37e7b1d
output: refactor frame submission API
...
This is necessary for direct scan-out and other upcoming features. This patch
changes the output API to look like the wl_surface API.
Outputs now have some double-buffered state: the frame to be submitted
(currently only wlr_renderer frames are supported) and the damaged region.
To attach a pending frame, use wlr_output_attach_render. To set the pending
damaged region, use wlr_output_set_damage.
To submit the pending state, call wlr_output_commit. This will submit the
pending frame to the backend.
To migrate from the old API to the new one:
- Replace wlr_output_make_current calls by wlr_output_attach_render
- Replace wlr_output_swap_buffers calls by wlr_output_set_damage and
wlr_output_commit
6 years ago
emersion
5445d8aad0
meson: enable more compiler warnings
6 years ago
emersion
7309d8c9ac
Fix two issues found with Clang's static analyzer
6 years ago
emersion
a4eb90315e
Fix indentation in various files
6 years ago
Drew DeVault
d4de2bd708
Merge pull request #1476 from emersion/fullscreen-shell
...
fullscreen-shell-v1: initial protocol implementation
6 years ago
Alexander Bakker
776b6ce395
Fix software cursor rendering for tinywl and some examples
6 years ago
Jan Beich
f80d174e8b
Simplify evdev includes on FreeBSD by relying on up-to-date package
...
As evdev-proto is installed by CI some files have been missed:
../examples/pointer-constraints.c:2:10: fatal error: 'linux/input-event-codes.h' file not found
#include <linux/input-event-codes.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~~
../examples/relative-pointer-unstable-v1.c:5:10: fatal error: 'linux/input-event-codes.h' file not found
#include <linux/input-event-codes.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~~
6 years ago
emersion
86f263a0b8
fullscreen-shell-v1: initial protocol implementation
6 years ago
emersion
610f5bfc77
Merge pull request #1432 from ForTheReallys/relative-pointers
...
Relative pointers
6 years ago
Ian Fan
e2c216a4b8
examples/layer-shell.c: check popup exists before drawing
6 years ago
random human
42ffa413fb
relative_pointer: add relative-pointer example
...
On left mouse button click, locks the cursor and renders relative motion
events.
6 years ago
Ilia Bozhinov
16175751d6
examples: add wlr_foreign_toplevel_management_v1 example
6 years ago
emersion
a8bc8c65ce
examples: only link clients to wlroots if necessary
6 years ago
emersion
2d0c5ec78e
Use _POSIX_C_SOURCE, use shm_open
6 years ago
sghctoma
1d7cc1b38b
Add epoll-shim dependency on FreeBSD
...
On FreeBSD, epoll is provided as a 3rd-party library, so it needs to be
added as a dependency.
6 years ago
Cole Mickens
7297348736
render: fix meson including libdrm
6 years ago
Scott Anderson
7ca3bc1d6f
Fix libdrm includes
...
This removes any assumptions about how the libdrm headers are installed,
and uses the pkg-config include directories as we're "supposed to".
This only adds a partial dependency, since we don't actually need to
link against libdrm.
6 years ago
Drew DeVault
b99da405e7
Assert read return value in examples/input-method
6 years ago
Dorota Czaplejewicz
cec7471119
wlroots: add basic support for zwp_input_method_v2
...
Implemented basic input method functionality. Not included: popups, grabbing.
6 years ago
Dorota Czaplejewicz
427735fcd9
wlroots: add support for zwp_text_input_unstable_v3
6 years ago
Drew DeVault
5e9959daaa
Merge pull request #852 from Laaas/master
...
Implement pointer-constraints-unstable-v1 protocol
6 years ago
emersion
e3736d4acc
examples/pointer-constraints: style fixes
6 years ago
emersion
9622efd6db
Fix unknown cursor in layer-shell example
6 years ago
emersion
3df602a62d
export-dmabuf: disable hardware cursors if desired
...
Also make the frame resource inert when sending "ready".
6 years ago
Las
fa2e6e7d9d
Implement pointer-constraints protocol in wlroots and rootston
6 years ago
random human
6af77e3d9e
Release pointers in examples/multi-pointer
6 years ago
random human
de16defb21
Release registry pointer in examples/idle
6 years ago
random human
ef5df78a27
Destroy layout after display in examples/output-layout
6 years ago
random human
7105864e13
Handle setting keymap in examples more securely
6 years ago
random human
8589ae19de
Fix bugs listed by clang's static analyzer
...
A few pedantic changes and unused variables (1-4), and genuine bugs (5,
6).
The reports with the corresponding files and lines numbers are as
follows.
1. backend/libinput/tablet_pad.c@31,44,57
"Allocator sizeof operand mismatch"
"Result of 'calloc' is converted to a pointer of type 'unsigned int',
which is incompatible with sizeof operand type 'int'"
2. types/tablet_v2/wlr_tablet_v2_pad.c@371
"Allocator sizeof operand mismatch"
"Result of 'calloc' is converted to a pointer of type 'uint32_t', which
is incompatible with sizeof operand type 'int'"
3. types/wlr_cursor.c@335
"Dead initialization"
"Value stored to 'dx'/'dy' during its initialization is never read"
4. rootston/xdg_shell.c@510
"Dead initialization"
"Value stored to 'desktop' during its initialization is never read"
5. types/tablet_v2/wlr_tablet_v2_pad.c@475
"Dereference of null pointer"
"Access to field 'strips' results in a dereference of a null pointer
(loaded from field 'current_client')"
The boolean logic was incorrect (c.f. the check in the following
function).
6. examples/idle.c@163,174,182
"Uninitialized argument value"
"1st function call argument is an uninitialized value"
If close_timeout != 0, but simulate_activity_timeout >= close_timeout,
the program would segfault at pthread_cancel(t1).
6 years ago
random human
660a022909
Fixes examples/dmabuf-capture being built with unmet dependencies
...
Even if the libav* variables were disabler objects, the build targer
dmabuf-capture was being built. Modified the script to support a generic
solution.
6 years ago
Scott Anderson
fd3fa760d3
Revert "Revert "Merge pull request #1194 from ascent12/meson_feature""
...
This reverts commit 9c886f20b9
.
6 years ago
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
.
6 years ago
Scott Anderson
584a3f8b6e
Update examples to use new option
...
We use a dictionary to remove some code duplication.
6 years ago
emersion
f86f1daf9a
Fix build on FreeBSD
6 years ago
emersion
2ae0575631
examples/gamma-control: fix brightness formula
6 years ago
emersion
b0c32019c3
examples/gamma-control: clamp values, default brightness to 1
6 years ago
emersion
1d97202ec2
examples: add gamma-control
6 years ago
Drew DeVault
5642c5cc8f
Merge pull request #1053 from emersion/xdg-decoration
...
Add xdg-decoration-unstable-v1 support
6 years ago
emersion
d4181c5a7a
examples: cleanup simple
...
- Move a log to where it should be
- Enforce code style
- Rename wlr to backend
6 years ago
emersion
555721f714
Add xdg-decoration-unstable-v1 support
6 years ago
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.
6 years ago
emersion
7cbef15206
util: add wlr_ prefix to log symbols
6 years ago
emersion
a7a96d7644
examples/screencopy: use libpng
6 years ago
emersion
c421700f3d
screncopy: update protocol
6 years ago
emersion
2b9cbaddf3
screencopy: add support for frame flags
6 years ago
emersion
bd8be19b79
screencopy: add presentation timestamp
6 years ago
emersion
73755ad348
screencopy-v1: add basic implementation
6 years ago
Scott Anderson
0e19b024c6
Add minimum version for ffmpeg 4.0 libraries
7 years ago
Scott Anderson
86942d8a6a
Check for libavutil/hwcontext_drm.h
...
This is an optional feature of libavutil, so this will cause a build
failure if it's not present (e.g. on Debian/Ubuntu).
7 years ago
Rostislav Pehlivanov
5707653e85
examples/dmabuf-capture: move encoding to a separate thread
...
Drop new frames if too slow. Speeds up encoding significantly, even with vaapi.
7 years ago
Rostislav Pehlivanov
ed7d5b0f53
Fix example
7 years ago
emersion
bd0c1b7949
export-dmabuf: update protocol
7 years ago
Rostislav Pehlivanov
9eddcbc376
Update example and protocol
7 years ago
emersion
21928cbe61
Merge branch 'master' into screencontent
7 years ago
Genki Sky
d1cf9acbd5
cleanup: Use void for zero-parameter functions
...
Signed-off-by: Genki Sky <sky@genki.is>
7 years ago
emersion
8c9d0f15ce
Merge pull request #1017 from tobiasblass/examples_rotation_fix_doublefree
...
Fix double-free in the rotation.c example.
7 years ago
emersion
0c1f50168b
examples/output-layout: destroy wl_display
...
Thanks @tobiasblass for pointing this out. See #1017 .
7 years ago
Tobias Blass
a21894a844
Fix double-free in the tablet.c and touch.c examples
...
The wl_display_destroy function already destroys the backend's renderer.
Freeing it by hand causes a segmentation fault.
7 years ago
Tobias Blass
75f9feb6de
Fix double-free in the rotation.c example.
...
The wl_display_destroy function already destroys the backend's renderer.
Freeing it by hand causes a segmentation fault.
7 years ago
emersion
70d324a0f9
examples/dmabuf-capture: simplify event loop and fix style
7 years ago
emersion
85b6b4b0c8
examples/dmabuf-capture: make building this example optional
7 years ago
emersion
2198fd5eed
examples/dmabuf-capture: fix indentation
7 years ago
Rostislav Pehlivanov
f204a9127c
Command line parsing
7 years ago
Rostislav Pehlivanov
b9b397ef80
Add a demo client for dmabuf export
7 years ago
Ilia Bozhinov
24cf70ae96
backends: implement custom EGL and renderer initialization
...
Compositors now have more control over how the backend creates its
renderer. Currently all backends create an EGL/GLES2 renderer, so
the necessary attributes for creating the context are passed to a
user-provided callback function. It is responsible for initializing
provided wlr_egl and to return a renderer. On fail, return 0.
Fixes #987
7 years ago
Tony Crisci
a078e50ec0
rename sample state to "state"
7 years ago
Tony Crisci
e9fab2cc70
pointer example: use xcursor manager
7 years ago
Tony Crisci
aedd3c6d46
make pointer show up in pointer example
7 years ago
Timidger
9a1d0e42d2
Fixed emersion's issues
7 years ago
Timidger
7da50d065b
Fixed style issues
7 years ago
Timidger
7f1230fe78
Remvoed unnecessary wayland socket in examples
7 years ago
Timidger
167ca57b18
Fixed up building examples
7 years ago
Timidger
583654405f
Made output layout example standalone
7 years ago
Timidger
8fd25cbc5b
Fixed indentation
7 years ago
Timidger
b3ca73c0ac
Multi-pointer ported over
7 years ago
Timidger
b510c0f6c2
Made rotation example standalone
7 years ago
Timidger
7be5dfecc0
Made tablet standalone
7 years ago
Timidger
c622a0c7fb
Made touch standalone
...
TODO test
7 years ago
Timidger
4c1d74ef91
Made examples/pointer standalone
7 years ago
Timidger
7284709370
simple now works on DRM
7 years ago
Timidger
44b2bf18f0
Can now quit the simple example
7 years ago
Timidger
b98779a674
Got simple working without keyboard input
7 years ago
Timidger
ad6d40c7c6
Moved cat out of support, removed support
7 years ago
emersion
eaed6bd03b
render/egl: add wlr_egl_destroy_surface
7 years ago
Guido Günther
67a10cc1f6
examples/layer-shell: take an explicit grab on the popup
...
This demonstrates popups can be closed by clicking on the area outside
the popup and parent.
7 years ago
Guido Günther
32e043f996
examples: Allow to close the popup
...
So we can the xdg_popup_destroy path.
7 years ago
Guido Günther
5209c79702
examples: Handle input entering popup in layer-shell
...
Change the cursor when entering the popup and make mouse buttons change
the red component of the square. This makes sure we can handle input
correctly.
7 years ago
Guido Günther
421652a450
examples: Animate popup in layer-shell
7 years ago
Guido Günther
d1e82a8ede
examples: Drop unused variable
7 years ago
Drew DeVault
941f88ce23
Fix popup positioning & double popups
7 years ago
Drew DeVault
0a0627f5d0
Finish forward-porting @acrisci's positioner work
7 years ago
Drew DeVault
2e3d901ac5
Forward-port xdg-shell-v6 positioner improvements
7 years ago
Drew DeVault
d3cdb00208
Add (shitty) support for popups to layer example
7 years ago
Drew DeVault
4575f27932
Update layer shell example -o behavior
7 years ago
Dominique Martinet
555206cf60
Fix gcc string truncation warnings
7 years ago
Drew DeVault
902d859c67
Fix syntax errors
...
Build before you commit, dumbass
7 years ago
Drew DeVault
7bb8512afb
Fix assertions with side-effects
...
Fixes #1725
7 years ago
Drew DeVault
3a8c7f283d
Add input-inhibitor example client
7 years ago
Drew DeVault
a94f4d0edc
Always give keyboard focus to the topmost layer
7 years ago
Drew DeVault
883d8d306c
Identify topmost interactive layer surface
7 years ago
emersion
f63a5d881d
examples: get wlr_renderer from the backend
7 years ago
emersion
33a2eb4b77
Untie wlr_backend from wlr_renderer
7 years ago
Drew DeVault
2053a4c144
Add more exotic cursor for layer shell example
...
So it's more obvious that it's being set
7 years ago
Drew DeVault
746e3759b7
Address review feedback
7 years ago
Drew DeVault
168f65fb7a
Minor bugfixes
7 years ago
Drew DeVault
e3eb487dc2
Add pointer support to layer shell example
7 years ago
Drew DeVault
ac219cbda6
Remove width_mm from tablet events
7 years ago
Drew DeVault
324b9d910d
Remove width_mm from wlr_touch events
7 years ago
Drew DeVault
a35a5786b0
Remove width_mm from wlr_pointer events
7 years ago
Tony Crisci
330ee08126
Merge pull request #744 from emersion/texture-redesign
...
Redesign wlr_texture
7 years ago
Drew DeVault
13edb19a6c
Fix issue starting up client EGL on X11 backend
7 years ago
Drew DeVault
776b81d499
Fix surface layer damage tracking
7 years ago
Drew DeVault
0e318df13d
Add margin animation to the example demo
7 years ago
Drew DeVault
86ca4bea6d
Fix layer rendering/layout bugs
7 years ago
Drew DeVault
df9dbf3170
Fix rebase issues; rearrange layers on destroy
7 years ago
Drew DeVault
d1c0e6fe2c
Add layer_surface.close
7 years ago
Drew DeVault
b73c4f48c1
Fix exclusive zone among other layers
7 years ago
Drew DeVault
0f7e78f6aa
Fix issue with multiple outputs in layer example
7 years ago
Drew DeVault
f444a0d14c
Implement layer surface damage
7 years ago
Drew DeVault
4bf936360d
Arrange & render layer surfaces
7 years ago
Drew DeVault
fcf8c6c8a2
Fix issues preventing layer from getting allocated
...
Now all of the steps to get rootston a reference to the layer surface
are correctly wired up.
7 years ago
Drew DeVault
4bc1cc49d5
Fix strcmp use
7 years ago
Drew DeVault
b31ce4220c
Add broken test client and rootston stubs
7 years ago
emersion
adf4fb08dd
Merge branch 'master' into texture-redesign
7 years ago
emersion
793c3b3047
render: add simple functions to render rectangles and ellipses
7 years ago
emersion
c63d94483b
Redesign wlr_texture
...
- Textures are now immutable (apart from those created from raw
pixels), no more invalid textures
- Move all wl_drm stuff in wlr_renderer
- Most of wlr_texture fields are now private
- Remove some duplicated DMA-BUF code in the DRM backend
- Add more assertions
- Stride is now always given as bytes rather than pixels
- Drop wl_shm functions
Fun fact: this patch has been written 10,000 meters up in the air.
7 years ago
emersion
3581573bdc
render/gles2: make wlr_renderer_begin take viewport size
...
This allows raw GL calls outside wlr_renderer to be removed.
7 years ago
emersion
c41de2d1be
render: split render.h into wlr_renderer.h and wlr_texture.h
7 years ago
Drew DeVault
1956d3cedb
Merge pull request #722 from emersion/matrix-redesign
...
Matrix redesign
7 years ago
emersion
876f07e9f1
renderer: replace wlr_texture_get_matrix by wlr_render_texture
7 years ago
emersion
824a95ad19
matrix: use 2D matrices
7 years ago
emersion
d26b67cb06
matrix: unify API, don't use array pointers
7 years ago
emersion
b6a3f240c7
matrix: move to types/
7 years ago
emersion
3bd1d876ae
examples: simplify screenshot client
7 years ago
Drew DeVault
bfc0e95d2c
Add mode support to libinput backend
...
And extend tablet example with tilt and ring support
7 years ago
Drew DeVault
3296365ce5
Merge pull request #659 from agx/alpha
...
Make wlr_render_with_matrix use alpha
7 years ago
Guido Günther
d08792bfff
Add alpha to wlr_render_with_matrix
...
so we can use the alpha channel to e.g. blend in textures
7 years ago
Drew DeVault
9dc868a27f
Merge pull request #667 from Ongy/screenshot_tmpfile_template
...
prevent screenshot from resuing template array
7 years ago
Markus Ongyerth
8ab0073b49
prevent screenshot from resuing template array
...
The template array given to mkstemp was declared static. This reused the
memory, which caused mkstemp to fail if backingfile is run more than
once, because the array no longer contained the template syntax
(which is forced to end in XXXXXX) but the previous file name.
7 years ago
Tony Crisci
b7b86a9591
Merge pull request #641 from Ongy/idle-inhibit
...
Add idle-inhibit implementation
7 years ago
Markus Ongyerth
67285c1d57
idle-inhibit: style adjustments and motivation
7 years ago
Guido Günther
b13f9fcfde
Don't use os_create_anonymous_file outside of wlroots
...
Use a stripped down version for the backing file in the screenshot
example.
7 years ago
Markus Ongyerth
87a7afb641
idle-inhibit: second feedback pass
7 years ago