random human
7105864e13
Handle setting keymap in examples more securely
2018-09-03 02:43:44 +05:30
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).
2018-08-31 19:41:18 +02:00
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.
2018-08-30 22:23:28 +05:30
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
584a3f8b6e
Update examples to use new option
...
We use a dictionary to remove some code duplication.
2018-08-22 21:15:34 +12:00
emersion
f86f1daf9a
Fix build on FreeBSD
2018-08-16 10:54:45 +01:00
emersion
2ae0575631
examples/gamma-control: fix brightness formula
2018-08-02 23:33:59 +01:00
emersion
b0c32019c3
examples/gamma-control: clamp values, default brightness to 1
2018-08-02 23:33:59 +01:00
emersion
1d97202ec2
examples: add gamma-control
2018-08-02 23:33:59 +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
emersion
d4181c5a7a
examples: cleanup simple
...
- Move a log to where it should be
- Enforce code style
- Rename wlr to backend
2018-07-29 15:32:25 +01:00
emersion
555721f714
Add xdg-decoration-unstable-v1 support
2018-07-28 22:48:07 +01: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
emersion
7cbef15206
util: add wlr_ prefix to log symbols
2018-07-09 22:49:54 +01:00
emersion
a7a96d7644
examples/screencopy: use libpng
2018-06-30 23:18:13 +01:00
emersion
c421700f3d
screncopy: update protocol
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
Scott Anderson
0e19b024c6
Add minimum version for ffmpeg 4.0 libraries
2018-06-26 20:14:08 +12:00
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).
2018-06-26 17:25:29 +12:00
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.
2018-06-25 06:41:59 +01:00
Rostislav Pehlivanov
ed7d5b0f53
Fix example
2018-06-17 15:19:17 +01:00
emersion
bd0c1b7949
export-dmabuf: update protocol
2018-06-17 14:19:45 +01:00
Rostislav Pehlivanov
9eddcbc376
Update example and protocol
2018-06-17 14:06:52 +01:00
emersion
21928cbe61
Merge branch 'master' into screencontent
2018-05-31 12:33:27 +01:00
Genki Sky
d1cf9acbd5
cleanup: Use void for zero-parameter functions
...
Signed-off-by: Genki Sky <sky@genki.is>
2018-05-30 20:19:16 -04:00
emersion
8c9d0f15ce
Merge pull request #1017 from tobiasblass/examples_rotation_fix_doublefree
...
Fix double-free in the rotation.c example.
2018-05-30 08:36:10 +01:00
emersion
0c1f50168b
examples/output-layout: destroy wl_display
...
Thanks @tobiasblass for pointing this out. See #1017 .
2018-05-30 08:34:49 +01:00
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.
2018-05-30 08:24:25 +02:00
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.
2018-05-30 01:12:34 +02:00
emersion
70d324a0f9
examples/dmabuf-capture: simplify event loop and fix style
2018-05-29 18:47:20 +01:00
emersion
85b6b4b0c8
examples/dmabuf-capture: make building this example optional
2018-05-29 18:47:20 +01:00
emersion
2198fd5eed
examples/dmabuf-capture: fix indentation
2018-05-29 18:47:20 +01:00
Rostislav Pehlivanov
f204a9127c
Command line parsing
2018-05-29 18:47:19 +01:00
Rostislav Pehlivanov
b9b397ef80
Add a demo client for dmabuf export
2018-05-29 18:47:19 +01:00
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
2018-05-25 14:56:52 +03:00
Tony Crisci
a078e50ec0
rename sample state to "state"
2018-05-13 10:45:18 -04:00
Tony Crisci
e9fab2cc70
pointer example: use xcursor manager
2018-05-13 10:42:16 -04:00
Tony Crisci
aedd3c6d46
make pointer show up in pointer example
2018-05-13 10:31:59 -04:00
Timidger
9a1d0e42d2
Fixed emersion's issues
2018-05-10 19:03:58 -07:00
Timidger
7da50d065b
Fixed style issues
2018-05-10 19:03:58 -07:00
Timidger
7f1230fe78
Remvoed unnecessary wayland socket in examples
2018-05-10 19:03:57 -07:00
Timidger
167ca57b18
Fixed up building examples
2018-05-10 19:03:57 -07:00
Timidger
583654405f
Made output layout example standalone
2018-05-10 19:03:57 -07:00
Timidger
8fd25cbc5b
Fixed indentation
2018-05-10 19:03:57 -07:00
Timidger
b3ca73c0ac
Multi-pointer ported over
2018-05-10 19:03:57 -07:00
Timidger
b510c0f6c2
Made rotation example standalone
2018-05-10 19:03:57 -07:00
Timidger
7be5dfecc0
Made tablet standalone
2018-05-10 19:03:57 -07:00
Timidger
c622a0c7fb
Made touch standalone
...
TODO test
2018-05-10 19:03:56 -07:00
Timidger
4c1d74ef91
Made examples/pointer standalone
2018-05-10 19:03:56 -07:00
Timidger
7284709370
simple now works on DRM
2018-05-10 19:03:56 -07:00
Timidger
44b2bf18f0
Can now quit the simple example
2018-05-10 19:03:56 -07:00
Timidger
b98779a674
Got simple working without keyboard input
2018-05-10 19:03:56 -07:00
Timidger
ad6d40c7c6
Moved cat out of support, removed support
2018-05-10 19:03:56 -07:00
emersion
eaed6bd03b
render/egl: add wlr_egl_destroy_surface
2018-04-24 23:44:43 +01:00
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.
2018-04-23 18:11:47 +02:00
Guido Günther
32e043f996
examples: Allow to close the popup
...
So we can the xdg_popup_destroy path.
2018-04-23 12:52:05 +02:00
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.
2018-04-23 11:24:31 +02:00
Guido Günther
421652a450
examples: Animate popup in layer-shell
2018-04-23 11:24:31 +02:00
Guido Günther
d1e82a8ede
examples: Drop unused variable
2018-04-23 11:24:31 +02:00
Drew DeVault
941f88ce23
Fix popup positioning & double popups
2018-04-23 11:24:06 +02:00
Drew DeVault
0a0627f5d0
Finish forward-porting @acrisci's positioner work
2018-04-23 11:24:06 +02:00
Drew DeVault
2e3d901ac5
Forward-port xdg-shell-v6 positioner improvements
2018-04-23 11:24:06 +02:00
Drew DeVault
d3cdb00208
Add (shitty) support for popups to layer example
2018-04-23 11:24:06 +02:00
Drew DeVault
4575f27932
Update layer shell example -o behavior
2018-04-22 19:19:22 +02:00
Dominique Martinet
555206cf60
Fix gcc string truncation warnings
2018-04-13 14:37:53 +09:00
Drew DeVault
902d859c67
Fix syntax errors
...
Build before you commit, dumbass
2018-04-08 12:50:52 -04:00
Drew DeVault
7bb8512afb
Fix assertions with side-effects
...
Fixes #1725
2018-04-08 12:49:48 -04:00
Drew DeVault
3a8c7f283d
Add input-inhibitor example client
2018-04-03 14:06:52 -04:00
Drew DeVault
a94f4d0edc
Always give keyboard focus to the topmost layer
2018-04-02 15:48:22 -04:00
Drew DeVault
883d8d306c
Identify topmost interactive layer surface
2018-04-02 15:16:14 -04:00
emersion
f63a5d881d
examples: get wlr_renderer from the backend
2018-04-01 16:57:29 -04:00
emersion
33a2eb4b77
Untie wlr_backend from wlr_renderer
2018-03-31 18:49:43 -04:00
Drew DeVault
2053a4c144
Add more exotic cursor for layer shell example
...
So it's more obvious that it's being set
2018-03-30 21:02:28 -04:00
Drew DeVault
746e3759b7
Address review feedback
2018-03-30 20:34:00 -04:00
Drew DeVault
168f65fb7a
Minor bugfixes
2018-03-30 18:28:21 -04:00
Drew DeVault
e3eb487dc2
Add pointer support to layer shell example
2018-03-30 18:23:57 -04:00
Drew DeVault
ac219cbda6
Remove width_mm from tablet events
2018-03-28 12:05:37 -04:00
Drew DeVault
324b9d910d
Remove width_mm from wlr_touch events
2018-03-28 11:04:40 -04:00
Drew DeVault
a35a5786b0
Remove width_mm from wlr_pointer events
2018-03-28 10:46:50 -04:00
Tony Crisci
330ee08126
Merge pull request #744 from emersion/texture-redesign
...
Redesign wlr_texture
2018-03-28 00:14:57 -04:00
Drew DeVault
13edb19a6c
Fix issue starting up client EGL on X11 backend
2018-03-27 18:51:38 -04:00
Drew DeVault
776b81d499
Fix surface layer damage tracking
2018-03-27 18:50:32 -04:00
Drew DeVault
0e318df13d
Add margin animation to the example demo
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
df9dbf3170
Fix rebase issues; rearrange layers on destroy
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
b73c4f48c1
Fix exclusive zone among other layers
2018-03-27 18:50:32 -04:00
Drew DeVault
0f7e78f6aa
Fix issue with multiple outputs in layer example
2018-03-27 18:50:32 -04:00
Drew DeVault
f444a0d14c
Implement layer surface damage
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
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.
2018-03-27 18:50:09 -04:00
Drew DeVault
4bc1cc49d5
Fix strcmp use
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
emersion
adf4fb08dd
Merge branch 'master' into texture-redesign
2018-03-26 19:13:13 -04:00
emersion
793c3b3047
render: add simple functions to render rectangles and ellipses
2018-03-26 12:41:51 -04:00
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.
2018-03-24 23:48:32 -04:00
emersion
3581573bdc
render/gles2: make wlr_renderer_begin take viewport size
...
This allows raw GL calls outside wlr_renderer to be removed.
2018-03-21 07:37:09 +01:00
emersion
c41de2d1be
render: split render.h into wlr_renderer.h and wlr_texture.h
2018-03-19 23:16:29 +01:00
Drew DeVault
1956d3cedb
Merge pull request #722 from emersion/matrix-redesign
...
Matrix redesign
2018-03-17 15:22:00 -04:00
emersion
876f07e9f1
renderer: replace wlr_texture_get_matrix by wlr_render_texture
2018-03-15 19:31:02 +01:00
emersion
824a95ad19
matrix: use 2D matrices
2018-03-15 15:33:58 +01:00
emersion
d26b67cb06
matrix: unify API, don't use array pointers
2018-03-15 11:10:56 +01:00
emersion
b6a3f240c7
matrix: move to types/
2018-03-15 09:11:27 +01:00
emersion
3bd1d876ae
examples: simplify screenshot client
2018-03-14 19:21:36 +01:00
Drew DeVault
bfc0e95d2c
Add mode support to libinput backend
...
And extend tablet example with tilt and ring support
2018-03-07 20:57:55 -05:00
Drew DeVault
3296365ce5
Merge pull request #659 from agx/alpha
...
Make wlr_render_with_matrix use alpha
2018-02-25 13:16:35 -05:00
Guido Günther
d08792bfff
Add alpha to wlr_render_with_matrix
...
so we can use the alpha channel to e.g. blend in textures
2018-02-25 13:47:48 +01:00
Drew DeVault
9dc868a27f
Merge pull request #667 from Ongy/screenshot_tmpfile_template
...
prevent screenshot from resuing template array
2018-02-24 18:05:38 -05:00
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.
2018-02-24 23:55:48 +01:00
Tony Crisci
b7b86a9591
Merge pull request #641 from Ongy/idle-inhibit
...
Add idle-inhibit implementation
2018-02-24 10:15:18 -05:00
Markus Ongyerth
67285c1d57
idle-inhibit: style adjustments and motivation
2018-02-23 13:18:05 +01:00
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.
2018-02-23 09:51:23 +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
bab8c73d3c
handle xdg close event in idle-inhibit example
...
Fixes a crash when the idle-inhibit example application is closed by the
compositor, instead of Ctr+C on the spawning terminal, by actualy
handling the close request.
2018-02-17 15:17:19 +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
Dominique Martinet
d1b28ec812
wayland protocol headers: use double-quote for includes
...
These headers are not installed so we should look for these locally
2018-02-15 07:17:02 +01:00
emersion
10ecf871f2
Remove wlr_backend.events.{output_remove,device_remove}
2018-02-12 10:36:43 +01:00
emersion
ddb1779f9f
render: make wlr_renderer_clear take a float[4] for the color
2018-02-03 09:32:02 +01:00
emersion
3d3ea32137
Merge remote-tracking branch 'upstream/master' into output-damage
2018-02-03 00:15:44 +01:00
Markus Ongyerth
cd925f496c
fixes the off by one errors in examples/screenshot
...
The inverse loop iterations for the transformed outputs had an off by
one error, iterating 1 based, not 0 based. This commit fixes that.
2018-02-01 21:36:14 +01:00
Markus Ongyerth
3a404e4f8d
handle the other transformations for screenshots
...
This handles all current transformations for outputs properly.
This ensures an output is drawn in readable orientation/flipping no
matter the actual transformations applied to it.
2018-01-31 16:05:33 +01:00
Markus Ongyerth
4afc933ea4
fixes 90 degree rotation screenshots
...
This fixes the screenshot example application when an output is rotated
by 90 degrees.
Other tranformations are not taken into account yet.
2018-01-31 12:54:57 +01:00
emersion
51c22d39a4
Merge remote-tracking branch 'upstream/master' into output-damage
2018-01-29 23:24:09 +01:00
emersion
4fa90b0511
Backport screenshooter fixes from the renderer redesign v1
...
This backports some changes to #319 to fix the screenshooter data
format. This also adds wlr_backend_get_renderer which will be
useful to support multiple renderers.
2018-01-23 22:06:54 +01:00
emersion
415a2b7c56
render: add wlr_renderer_clear and wlr_renderer_scissor
2018-01-22 16:42:22 +01:00
emersion
59c53e8333
Merge remote-tracking branch 'upstream/master' into output-damage
2018-01-21 22:18:06 +01:00
Johannes Schramm
dcc743047b
style: include brackets for if/while/for, even if it's a single statement
2018-01-21 16:28:21 +01:00
emersion
0365b587f0
output: add damage tracking via buffer age
2018-01-21 00:06:35 +01:00
emersion
e29a0df8c1
output: fix software cursors damage tracking
2018-01-19 14:08:47 +01:00
Drew DeVault
bcb58b5caa
Merge pull request #567 from Timidger/example-logging
...
Fixed logging for examples
2018-01-15 23:06:13 -05:00
Timidger
264ef0c261
Fixed logging for examples
2018-01-15 22:51:00 -05:00
Drew DeVault
b331c5c2c5
Merge pull request #549 from emersion/output-enabled
...
Add wlr_output::enabled
2018-01-15 20:53:13 -05:00
Heghedus Razvan
9e85283f06
Add example for idle protocol
...
Signed-off-by: Heghedus Razvan <heghedus.razvan@gmail.com>
2018-01-13 17:32:15 +02:00
emersion
8ebd7d4dbe
output: rename resolution event to mode
2018-01-06 12:42:32 +01:00
emersion
1fe1d64042
Fix views outside output layout
2017-12-31 12:49:06 +01:00
Timidger
56505c2635
Don't destroy backend in compositor_fini
...
This is already done after the changes in #504 , and now just causes a
segfault on closing the examples.
2017-12-28 10:42:57 -06:00
Drew DeVault
bb24895a2b
Merge pull request #533 from martinetd/wl_array_add
...
ENOMEM checks: consistently check wl_array_add return
2017-12-28 07:44:21 -08:00
Dominique Martinet
8e24aaa3c6
style: fix sizeof() calls without parentheses
2017-12-28 16:28:19 +01:00
emersion
1e6566e6cd
Fixes for multiple outputs
...
* Fixes output positions in screenshots
* Fixes Wayland backend pointer events when output layout doesn't start at (0, 0)
2017-12-28 15:09:57 +01:00
Björn Esser
ff13849624
config: Avoid clash with other config-headers
2017-12-27 17:13:58 +01:00
Björn Esser
57a09c8ca4
config: Put all defines into config.h
2017-12-26 18:51:27 +01:00
emersion
3b4b8953d9
Update output layout when scale or transform changes
2017-12-12 21:58:00 +01:00
Moritz
cef6d75491
Moved os-compatibility and added header
...
* Moved os-compatibility.c to util
* Added header under util
* Removed static since it isn't needed (i think so)
* Adjusted meson.build to include lib_wlr
Improved some codestyle
* Added guard to os-compatibility.h
* Fixed typo in include statment
Adjusted Guard
* Changed guard to _WLR_UTIL_OS_COMPATIBILITY
2017-11-30 18:01:13 +01:00
emersion
64221c6da1
Use wl_list for touch points in examples/
2017-11-20 21:26:20 +01:00
Tony Crisci
f61986e8db
rename touch slot to touch id
2017-11-16 17:53:52 -05:00
emersion
ac1573b0e7
Add scale parameter to wlr_cursor_set_image
2017-11-11 17:27:44 +01:00