Age | Commit message (Collapse) | Author |
|
This also stops stickied containers from losing its sticky status when
it is tiled, allowing it to be immediately stickied when floated again.
|
|
|
|
|
|
|
|
|
|
Instead of having NULL workspace->output pointers, use a noop output.
This should be safer.
|
|
This sets the initial focus for all seats other than the first seat,
which gets it focus on launch. The ensures that all seats have something
focused.
|
|
|
|
Remove wlroots dependency for sway(bar|bg|msg|nag)
|
|
Also remove direct libm dependency where unused.
|
|
(Specifically, numlen when called with INT_MIN gave an incorrect
result, because abs(INT_MIN) == INT_MIN < 0.)
|
|
Modifier handling functions were moved into sway/input/keyboard.c;
opposite_direction for enum wlr_direction into sway/tree/output.c;
and get_parent_pid into sway/tree/root.c .
|
|
|
|
input_cmd_events: allow toggle modes to be listed
|
|
meson: set minimum systemd version
|
|
|
|
This commit mostly duplicates the wlr_log functions, although
with a sway_* prefix. (This is very similar to PR #2009.)
However, the logging function no longer needs to be replaceable,
so sway_log_init's second argument is used to set the exit
callback for sway_abort.
wlr_log_init is still invoked in sway/main.c
This commit makes it easier to remove the wlroots dependency for
the helper programs swaymsg, swaybg, swaybar, and swaynag.
|
|
sd_bus_slot_set_floating has been introduced in systemd 239.
|
|
This add errors from calls to `libinput_device_config_*_set` to the
debug log. This may be useful when looking at issues related to input
devices and config settings not working.
|
|
This extends `input <identifier> events toggle` to allow for an optional
list of modes to toggle through. If no event modes are listed, all
supported modes are cycled through (current behavior). If event modes
are listed, they will be cycled through, defaulting to the first mode
listed when the current mode is not in the list. This modes listed will
also not be checked to see if the device supports them and may fail.
|
|
* Allocate minimum size necessary in pango text functions.
* Handle malloc failure.
|
|
Fix re-enabling outputs gaining a CRTC
|
|
Previously, the success of `getline` was tested by checking if the
buffer it allocates is nonempty and has a nonzero first byte. As
`getline` does not explicitly zero out its memory buffer, this may
fail (e.g., with AddressSanitizer). Instead, we check that at least one
character was returned on standard output.
Also, trailing newlines (if present) are now removed.
|
|
output_i was used in apply_output_config when swaybar used wl_output
index numbers instead of xdg-output names. This is no longer needed.
|
|
If output->configured is true, then the output has been modeset correctly and
we don't need to try again. If output->enabled is true, then we are in the
process of configuring the output and we shouldn't do anything.
|
|
|
|
|
|
|
|
Designing the output configuration sequence without invalid state is tricky.
We have one function, apply_output_config, that takes an output and (besides
other things) performs a modeset and inserts the output in the output layout.
The modeset can fail, in which case we don't want the output to be enabled.
We also have an output_enable function, which calls output_apply_config and
also configures the output's workspace and inserts it in the root container.
Now, we have two choices.
Either we configure the output before it's been inserted in the root container
and then, if the modeset was successful, we insert it and create the workspace.
The main issue with this approach is that configuring the output triggers a
handful of signals, namely wlr_output.mode and wlr_output_layout.change. In
those event handlers, we need to make sure to ignore these outputs in the
process of being configured.
Either we first insert the output, create the workspace and then try to
configure it. It means we need to undo everything if the modeset fails. The
main issue with this solution is that it enables and disables the output very
quickly, creates a workspace and immediately destroys it, and maybe moves
views back and forth (see output_evacuate).
I've tried to make it so an output isn't enabled then immediately disabled. We
already have code for ignoring outputs when the output is being destructed.
Fixes https://github.com/swaywm/sway/issues/3462
|
|
Make sure wlroots has been built with xwayland
|
|
|
|
Use Meson feature options
|
|
Fix segfault in output_enable
|
|
|
|
Don't escape swaybg arguments anymore
|
|
Better handle outputs without CRTC
|
|
This happens if you plug in more outputs than supported by your GPU.
This patch makes it so outputs without CRTCs appear as disabled. As soon as
they get a CRTC (signalled via the mode event), we can enable them.
|
|
Simplify the code by registering signals when outputs are created and removing
signals when they are destroyed.
|
|
swaybg used to be invoked with sh, which made escaping necessary. This is no
longer necessary.
Fixes https://github.com/swaywm/sway/issues/3456
|
|
|
|
|
|
|
|
|
|
|
|
Remove swaylock headers and unicode.c
|
|
swaybg fixes
|
|
|
|
|
|
|
|
|