Age | Commit message (Collapse) | Author |
|
Fixes: 27fba3df4347 ("render: use DRM formats in wlr_texture_from_pixels")
|
|
There is one exception: layer-shell still uses wlr_log. Would need to
convert to fprintf to drop the wlroots dep there.
Fixes: 34e7f69d6942 ("examples: remove dependency on wlr_egl from clients")
|
|
We use egl_common.h instead.
Fixes: 34e7f69d6942 ("examples: remove dependency on wlr_egl from clients")
|
|
Just use fprintf instead of wlr_log.
|
|
Make (config, context)_attribs const just to be on the safe side.
|
|
Remove "major" and "minor" from egl_common.c as they are not used by the examples that use egl_common.c.
|
|
The specified clients in this commit used to rely on wlr_egl and
some of its related functions in order to render surfaces.
This is no longer the case as of this commit.
|
|
|
|
Value is now an enum with a new value ("on-demand") that compositors can use to allow "normal" keyboard focus semantics regardless of the layer the client surface is on. An error is sent for invalid keyboard interactivity values. The old behavior is retained for clients using the previous version of the protocol.
Also adjusted the layer-shell example program to use the new keyboard interactivity options.
|
|
This ensures wlr_gles2_renderer can properly take ownership of the
wlr_egl.
Closes: https://github.com/swaywm/wlroots/issues/2612
|
|
Nobody uses it anymore.
|
|
Client examples using wlr_egl would fail with EGL_BAD_CONFIG because they
need an EGL config. Set the config attribs to a non-NULL value to make
sure wlr_egl creates an EGL config.
Fixes: 037710b1d428 ("render/egl: support config-less wlr_egl")
|
|
The Wayland EGL platform doesn't have visuals.
|
|
This callback allowed compositors to customize the EGL config used by
the renderer. However with renderer v6 EGL configs aren't used anymore.
Instead, buffers are allocated via GBM and GL FBOs are rendered to. So
customizing the EGL config is a no-op.
|
|
Just use wlr_texture.{width,height} directly.
|
|
Now that the Wayland backend has moved to wlr_swapchain, only
client examples use the dependency. Stop linking against wayland-egl
in the wlroots library.
|
|
This uncovered many places where we were using things without directly
including them.
|
|
There's no reason to have duplicate enums
|
|
Based on the wlr-protocols PR:
https://github.com/swaywm/wlr-protocols/pull/52
|
|
|
|
This example was relying on wl_display_dispatch being enough to fetch
output information. This worked by chance.
Add an explicit wl_display_roundtrip.
Other examples don't setup wl_output listeners, so they should be fine.
Fixes: 297354f84772 ("Remove unnecessary wl_display_dispatch calls")
Closes: https://github.com/swaywm/wlroots/issues/2386
|
|
wl_display_roundtrip already takes care of dispatching the display.
|
|
|
|
|
|
|
|
|
|
|
|
Closes #2303
|
|
|
|
Calling wlr_renderer_end after wlr_output_commit would make an
assertion fail.
|
|
Remove the wlr_linux_dmabuf_v1_create call. wlr_renderer_init_wl_display
will take care of creating the linux-dmabuf global if the OpenGL
implementation supports it.
|
|
The original code wasn't wrong since we were manually writing a null
byte anyway, but this makes GCC happy.
Closes: https://github.com/swaywm/wlroots/issues/2273
|
|
|
|
|
|
This makes it a little bit less annoying to provide the right arguments.
All options have reasonable defaults.
|
|
Closes: https://github.com/swaywm/wlroots/issues/1963
|
|
If someone want to use screencopy as is processing multiple screenshots - it could be hard to find this issue with shm.
|
|
Again, copy'n'search'n'replace the idle inhibit example to become a
simple keyboard shortcuts inhibit example, adding the active and
inactive events.
Getting the initial inhibitor needs to be done later than for idle
inhibit to avoid an error "xdg_surface has never been configured".
Signed-off-by: Michael Weiser <michael.weiser@gmx.de>
|
|
|
|
Due to the way the wlr_output API was changed, these examples would
never get a frame event to start the rendering loop. We now commit the
outputs to start it.
|
|
|
|
|
|
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
|
|
$ screencopy
shm_open failed
failed to create buffer
$ posixshmcontrol ls
MODE OWNER GROUP SIZE PATH
--------- foo foo 33177600 /wlroots-screencopy
|
|
This requires functions without a prototype definition to be static.
This allows to detect dead code, export less symbols and put shared
functions in headers.
|
|
|
|
|
|
|
|
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.
|
|
These are undocumented, outdated protocols that have a better wlr-protocols
equivalent.
|