Age | Commit message (Collapse) | Author |
|
|
|
Instead of doing this roundabout thing where we get the surface from the
view, let's instead get it from the `wlr_surface_state` that we already
track in `handle_commit`. This makes the NULL state impossible which is
what the old `get_geometry` is checking for and generally cleans
things up a little bit.
Also don't check if the geometry x/y changed, those will always
be 0 for xwayland.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This is a helper on top of a wlr_scene_buffer that will handle text
rendering for us.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Across a wayland compositor, there are multiple shells: It can be
a toplevel, or a layer_shell, or even something more meta like a drag
icon or highlight indicators when dragging windows around.
This object lets us store values that represent these modes of operation
and keep track of what object is being represented.
|
|
|
|
|
|
|
|
This code will be deleted later, but for the time being rename
it so it doesn't conflict with future properties.
|
|
|
|
|
|
A surface is guaranteed to be unmapped on destruction.
|
|
Allowing sandboxed clients to request DRM leases has security
implications.
|
|
See https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4397
|
|
Closes: https://github.com/swaywm/sway/issues/7890
|
|
It is no longer in use.
|
|
|
|
Update for a wlroots breaking change which resets the committed
mask.
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4478
|
|
Since output layout is destroyed when the wayland display is destroyed
we run into a destroy listener order problem: Either the display starts
destroying the outputs first, in which case we're good: The existing
handling will clean up. However, things go wrong if the display decides
to destroy the output layout first. In this case, sway will hold
invalid references to the output layout as part of each output so that
when it finally goes to destroy them, sway will dereference destroyed
output layout bits.
Ref: https://github.com/swaywm/sway/pull/6844#issuecomment-1843599513
|
|
Use an early return to make the code more readable.
|
|
|
|
|
|
This is more descriptive now.
|
|
This was a input-inhibit concept.
|
|
evdi is open-source, but is just some condom for their proprietary
user-space driver.
|
|
This is less punishing for users with the Nvidia driver loaded but
not used by Sway (e.g. for CUDA).
|
|
This ancient driver doesn't do KMS. So we were never able to run
with it anyways.
|
|
|
|
When override-redirect changes, we need to setup/teardown listeners,
just like we do for map.
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3773
|
|
Make it extra extra extra clear, because I had to stumbled upon https://github.com/swaywm/sway/issues/3292 to understand this.
|
|
wlroots will destroy this object itself.
|
|
`gcc-14` added a new warning around dangerous use of `strncpy()` withi
known overflow:
../sway/config.c: In function 'do_var_replacement':
../sway/config.c:983:33: error: '__builtin___strncpy_chk' specified bound depends on the length of the source argument [-Werror=stringop-truncation]
983 | strncpy(newptr, var->value, vvlen);
| ^
../sway/config.c:971:45: note: length computed here
971 | int vvlen = strlen(var->value);
| ^~~~~~~~~~~~~~~~~~
It's a bit fishy to rely on truncating behaviour of `strncpy()`. The
change uses `memcpy()` as more explicit way to express copy of `vvlen`
bytes.
|
|
|
|
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4310
|
|
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4097
Closes: https://github.com/swaywm/sway/issues/7830
|
|
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4440
|
|
This has been dropped from wlroots. Previous commit missed that.
|
|
As a first step, deny access to privileged protocols to sandboxed
apps.
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3589
|
|
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3679
|