Age | Commit message (Collapse) | Author |
|
See discussion in https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4555
|
|
Check if the app that requested a token has provided a valid input
serial and a focused surface. Downgrade activation request to urgency
otherwise.
This is mostly in line with what other Wayland compositors decided to
do, and offers a better security than the original logic.
|
|
|
|
It's not used and causes a crash when a view is destroyed.
|
|
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4543
|
|
|
|
|
|
The scene graph abstraction does this for us
|
|
The new scene graph abstraction handles this for us.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This code will be deleted later, but for the time being rename
it so it doesn't conflict with future properties.
|
|
wlroots will destroy this object itself.
|
|
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
|
|
Remove any existing executed criteria items at unmap time. If a window
gets unmapped but not destroyed, we want to reapply 'for_window'
criteria. Fixes #6905.
|
|
Fully reconfiguring all input devices on output change takes a
loooong time. Let's just reconfigure what we need: only mappings
depend on outputs.
|
|
wlr_surface_has_buffer() is insufficient; if a client has committed a
buffer but it couldn't be applied, NULL deref happens in the next line.
|
|
This isn't the right fix for this issue because the xwayland code also
uses this function and updating the wlr_toplevel there doesn't make
sense and also causes problems. Fixes #7722.
This reverts commit bf44690ee8ce8438ffb1a84fbe6e8dbb6a851c04.
|
|
If a floating client resizes itself, sway updates several of its
internal dimensions to match but not wlr_toplevel. This means that the
next time wlroots sends a toplevel configure event, it can have wrong
coordinates that resize the client back to its old size. To fix this,
let's just use wlr_xdg_toplevel_set_size so the wlr_toplevel has the
same dimensions as sway. Fixes #5266.
|
|
|
|
This is now unused.
|
|
|
|
Fixes an issue where an already visible scratchpad window being moved due to
'scratchpad show' leaves the entire workspace at the top of the focus stack in
the old workspace. Moving by 'focus output' back to the old workspace would
focus the entire workspace instead of just the last active container.
|
|
This makes the behavior of floating containers more consistent with i3.
The coordinates of the container are scaled when the size of the
workspace it is on changes or when the container is moved
between workspaces on different outputs.
For scratchpad containers, add a new state that preserves the dimensions
of the last output the window appeared on. This is necessary because
after a container is hidden in the scratchpad, we expect it to be in the
same relative position on the output when it reappears. We can't just
use the container's attached workspace because that workspace's
dimensions might have been changed or the workspace as a whole could
have been destroyed.
|
|
CAIRO_HINT_STYLE_FULL attempts to maximize contrast at the expense
of fidelity, this makes most fonts that haven't been hand hinted,
which makes up the majority of fonts out there, appear much worse.
In the absence of explicitly set hint style, cairo will default to
CAIRO_HINT_STYLE_SLIGHT, which attempts to improve contrast while
retaining fidelity to the original shapes, which is what we want.
|
|
When a window in the scratchpad container requests for
xdg_activation_v1, it is ignored no matter what the value of
focus_on_window_activation is.
At least allow windows in the scratchpad to set the urgent flag. When
focus_on_window_activation is set to "focus", show the parent scratchpad
where the contained requested for xdg_activation_v1.
|
|
This function was already declared in container.h but defined in
commands/swap.c for some unknown reason. Everything in commands/ assumes
the handler context has been set appropriately by the command preludes
but this function snuck its way into seatop_* which doesn't set anything
in the handler context.
The fact that the seatop drag actions manipulate the focus without
custody of the seat means they are definitely very broken in multiseat.
|
|
We can centralize all output-related surface events from there.
|
|
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3933
Closes: https://github.com/swaywm/sway/issues/7436
Closes: https://github.com/swaywm/sway/pull/7437
|
|
This way we can move focus on the same seat an activation token
originates from.
|
|
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3991
|
|
This fixes a memory leak because the non_desktop_outputs list was not
freed when the root was destroyed.
|
|
Accomodate for the breaking changes in [1].
[1]: https://gitlab.freedesktop.org/wlroots/wlroots/-/commit/fbf5982e3838ee28b5345e98832f6956c402b225
|
|
|
|
The check for container->pending.workspace already covers this.
References: https://github.com/swaywm/sway/pull/7315#issuecomment-1341716204
|
|
Views now maintain a reference to a launch context which, as a last
resort, is populated at map time with a context associated with its pid.
This opens the possibility of populating it before map via another
source, e.g. xdga-tokens or configuration.
|
|
Soon we will match views with more than just a pid.
|
|
|
|
This removes the pid_workspace bits from tree/root before it gets
too interesting.
No functional change.
|
|
|