Age | Commit message (Collapse) | Author |
|
|
|
|
|
We want to damage the whole output in this mode. However if we overwrite the
damaged region after it's useless.
Fixes: 57d32d03a87ab4a74230294cefc5fa8b1e28c96d
|
|
We only need to damage the parts of the screen that changed since last frame,
we don't need to accumulate damage from previous buffers.
We still need to re-render the accumulated damage.
Fixes https://github.com/swaywm/wlroots/issues/1665
|
|
|
|
This new name makes more sense, since it is a request from the backend to get
a new frame. In the future a commit may not convey a new frame.
|
|
wlr_output_damage_make_current has been renamed to
wlr_output_damage_attach_render, since it's just a wrapper for
wlr_output_attach_render.
wlr_output_damage_swap_buffers has been removed completely. Instead,
wlr_output_damage now listens to successful wlr_output commits and updates its
internal state accordingly.
|
|
Also fix rootston setting the preferred mode when another mode is specified in
the config file.
|
|
The deleted includes are redundant, because other headers will include
the necessary files. Additionally, they cause build failures, because
including EGL/egl.h or EGL/eglext.h directly, instead of through
wlr/render/egl.h or wlr/render/interface.h, will mean that
MESA_EGL_NO_X11_HEADERS will not have been defined, and so the EGL
headers will attempt to pull in unnecessary X11 headers that may not
exist on the system.
For the headers produced by glgen.sh, the includes couldn't simply be
deleted, because no other header would include the EGL headers. Neither
wlr/render/egl.h or wlr/render/interface.h felt appropriate to include,
so I opted instead to copy the MESA_EGL_NO_X11_HEADERS definition before
the EGL includes.
|
|
We should also be careful when using wlr_output_layout_get_box(), since
it may return null.
|
|
Fixes https://github.com/swaywm/wlroots/issues/1610
|
|
|
|
|
|
|
|
|
|
|
|
Broken by 62fd03a7beb18da6c4a5929e38739cf2199dfa79
Closes: #1631
|
|
Rename lid_switch to switch_device to disambiguate lid and tablet mode switches.
|
|
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 implements rootston surface iterators to ease rendering, sending
frame/presentation events and accumulating damage.
|
|
|
|
Refactor drag-and-drop
|
|
|
|
|
|
|
|
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).
|
|
|
|
|
|
primary-selection-v1: copy from gtk-primary-selection
|
|
Fixes https://github.com/swaywm/wlroots/issues/1414
|
|
|
|
|
|
|
|
|
|
This protocol relays touchpad gesture events produced by libinput to
supporting clients (e.g. Evince, Eye of GNOME).
|
|
Frame events group logically connected pointer events. It makes sense to make
the backend responsible for sending frame events, since once the events are
split (ie. once the frame events are stripped) it's not easy to figure out
which events belongs to which frame again.
This is also how Weston handles frame events.
Fixes https://github.com/swaywm/wlroots/issues/1468
|
|
This makes compositors able to block and/or customize set_selection requests
coming from clients. For instance, it's possible for a compositor to disable
rich selection content (by removing all MIME types except text/plain). This
commit implements the design proposed in [1].
Two new events are added to wlr_seat: request_set_selection and
request_set_primary_selection. Compositors need to listen to these events and
either destroy the source or effectively set the selection.
Fixes https://github.com/swaywm/wlroots/issues/1138
[1]: https://github.com/swaywm/wlroots/issues/1367#issuecomment-442403454
|
|
|
|
|
|
|
|
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>
^~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
Implement data-control-unstable-v1
|
|
This makes sure we always send events to the right client.
|
|
rootston: fix crash with fullscreen surfaces
|
|
Fixes fullscreen mode in e.g. RetroArch and ioquake3.
|