Age | Commit message (Collapse) | Author |
|
This improves the way the output numbers are handled for the wayland
backend. Instead of using the number of active outputs plus one, the
last used number is stored and new outputs will increment it. This
fixes the situation where you start with one output, create a second,
close the first, and create a third. Without this, both outputs will be
`WL-2`, which causes an issue since the identifier will also be
identical. With this, the last output is `WL-3` and the outputs can be
distinguished.
|
|
This is causing issues with wayland-scanner generated files. The client and
server headers are declaring the same structs. We include both in the Wayland
backend.
See https://gitlab.freedesktop.org/wayland/wayland/issues/82
|
|
|
|
If there were no outputs in the output layout,
wlr_output_layout_get_box would return the box:
{
.x = INT_MIN,
.y = INT_MIN,
.width = INT_MIN - INT_MAX,
.height = INT_MIN - INT_MAX
}
which results in an integer underflow for both the width and height.
This changes the logic to have the box be all zeroes, since an empty
output layout does not have a width or height and the location of
something without a size is irrelevant so this just uses the origin.
|
|
|
|
xwayland: set CLOEXEC on /dev/null FD
|
|
This avoids leaking the FD to Xwayland and its children.
|
|
Some hardware exists which doesn't support XRGB/ARGB overlays, and we
aren't even using overlay planes, so don't fail on trying to find a
format.
|
|
backend/session: open TTY with O_CLOEXEC for direct session
|
|
|
|
Makes it easier to debug when something goes wrong, e.g. button_count stuck
to 2 because the compositor ate a button release event.
|
|
Let the compositor set it. This allows for multiple Xwayland instances to run
at the same time.
Fixes https://github.com/swaywm/wlroots/issues/1442
|
|
|
|
This is what ICCCM states that a WM should do.
|
|
|
|
|
|
|
|
|
|
This implements rootston surface iterators to ease rendering, sending
frame/presentation events and accumulating damage.
|
|
This is the first step towards being able to run via DRM leasing and on render
nodes.
Test with:
export WLR_BACKENDS=drm
export WLR_SESSION=noop
export WLR_DRM_DEVICES=/dev/dri/renderD128
|
|
Fixes https://github.com/swaywm/wlroots/issues/1544
|
|
|
|
The grab serial can be used to start a pointer grab. A button pressed event
should be used for this purpose.
Thus, we should only save the grab serial if it's the first button pressed
event we send. This commit makes it so the serial is not saved if a button is
released while another button is still pressed.
|
|
|
|
|
|
This is still a compositor bug, and bad events will be sent to clients. We'll
need to track each button separately to handle this in wlroots.
|
|
It's declared via render/glapi.txt.
|
|
|
|
|
|
|
|
|
|
|
|
clang consider error no enum handled,
in BSD and Linux
|
|
|
|
This could cause a segfault in data_offer_destroy if the offer has version < 3.
|
|
Test f8428d1063c6 at least somewhere to avoid build regressions.
|
|
This will prevent the cursor from persisting on the Linux framebuffer
terminal on exit.
|
|
Refactor drag-and-drop
|
|
Refactor rootston views
|
|
|
|
|
|
|
|
OVERLAY layers
Input order didn't match rendering order, causing pointer events to go into surfaces
that were completely obscured by others (like a LAYER_TOP panel behind a fullscreen
window).
|
|
It doesn't make much sense and actually breaks stuff when using layer-shell
(fullscreen window gets resized, but it's still fullscreen, leading to black
bars where the shell layers are behind).
|
|
backend/drm: fix memory leak in realloc crtcs
|
|
If *changed_outputs is not supplied by the calling function, track the local
allocation with a bool variable and free the allocation at the end of the
function.
|
|
|
|
|
|
|
|
|