Age | Commit message (Collapse) | Author |
|
And make the functions handling these arrays use const types.
|
|
Co-authored-by: Jason Francis <cycl0ps@tuta.io>
|
|
Sway records pid, workspace, and output for every new process. However, if the
output gets disabled and the workspace disappears, the workspace is still
re-created on the disabled output. This commit adds a check for the enabled
flag, so that NULL will be passed to workspace_create() in this case.
|
|
|
|
wlr_output_configuration_head_v1_create normally fills out the head
"enabled" field to match the wlr_output state. We overwrite this to also
set the head as enabled if it is only turned off with DPMS.
However, in some cases we may not have a mode for this display, in which
case setting it as enabled will lead to a segfault later on. Therefore,
enabled conditional on the presence of a mode.
|
|
|
|
|
|
For certain applications (e.g. JetBrains) the parent window controls
input. We need to adhere to the ICCCM input focus specification to
properly handle these cases.
Relates to swaywm/wlroots#2604
|
|
This happens when Sway is not installed on the system, so there's no
default config in /etc.
|
|
|
|
|
|
|
|
The fractional part of the real number we want to represent never has
more than 3 decimal digits, so use 3 decimal digits of precision.
e.g. 'swaymsg -t get_outputs' would show a refresh rate of 59934 mHz
as 59.933998 Hz, now correctly as 59.934 Hz.
|
|
This is taken from wlr-protocols commit d1598e82240d ("layer-shell: add
keyboard_interactivity.on_demand").
|
|
Swap the "surface" part for consistency with wlroots' naming.
|
|
Instead of calling wlr_xdg_surface_for_each_popup and then
wlr_surface_for_each_surface, use the new for_each_popup_surface helper
introduced in [1] that does it in one go.
[1]: https://github.com/swaywm/wlroots/pull/2609
|
|
Fallback to focused_statusline instead of statusline on focused output
|
|
This ensures we don't swap two atoms by mistake.
|
|
Also remove the AUTHORS section from swaybar-protocol(7), for
consistency with the rest of the man pages.
|
|
|
|
i3 feature set is mostly frozen as well, so we shouldn't advise people
to open feature requests there. Moreover, i3 will disregard feature
requests from sway users (because it doesn't benefit the i3 project
itself).
There is now no good way to request new WM features, and this is by
design. This aligns with [1].
[1]: https://github.com/swaywm/sway/commit/fc1148da7f9c7bfc81f29e2b8304ae4e1592d95d
|
|
|
|
|
|
This fixes a dangling reference which causes a use-after-free.
|
|
This fixes use-after-free when seat_destroy() has been called.
|
|
This fixes a crash that happens when input_method_new or text_method_new
events are emitted after the seat has been freed.
|
|
It's removed upstream [1].
[1]: https://github.com/swaywm/wlroots/pull/2561
|
|
|
|
|
|
Since I'm no longer a maintainer of, or regular contributor to, this
project, it doesn't make sense to solicit donations.
|
|
This fixes a few formatting errors in SYNOPSIS, moves the command
options out of SYNOPSIS, swaps the labels on the SYNOPSIS and
DESCRIPTION sections, creates an EXAMPLES section and slightly rewords
parts of the OPTIONS, DESCRIPTION, EXAMPLES, and OUTPUT sections.
|
|
|
|
Changes workspace prev|next commands to visit each numbered or named
workspace first before considering workspace from the other category
|
|
|
|
|
|
workspace_squash is container_flatten in the reverse
direction. Instead of eliminating redundant splits that are
parents of the target container, it eliminates pairs of
redundant H/V splits that are children of the workspace.
Splits are redundant if a con and its grandchild have the
same layout, and the immediate child has the opposite split.
For example, layouts are transformed like:
H[V[H[app1 app2]] app3] -> H[app1 app2 app3]
i3 uses this operation to simplify the tree after moving
heavily nested containers to a higher level in the tree via
an orthogonal move.
|
|
This changes the move command to better match i3
behavior after the layout changes.
workspace_rejigger handled the case where containers would
escape their workspace in an orthogonal move by changing
the layout to accomodate them, but this case is now handled
within the loop.
|
|
In i3, the workspace_layout command does not affect the
workspace layout. Instead, new workspace level containers
are wrapped in the desired layout and the workspace layout
always defaults to the output orientation.
|
|
This is in preparation for changing the workspace_layout
command to work like it does in i3.
This reverts commit b4a75a1ab2a72842830aeea37733311f85e6f660.
|
|
Some comparisons of current Sway versus i3 behavior:
1) T[T[T[app]]] + move left
* Sway: T[app]
* i3: T[T[app]]
2) H[V[H[V[app]]]] + move left
* Sway: H[app]
* i3: H[V[app]]
After this commit, Sway behavior matches i3. The intermediate states
are now:
T[T[T[app]]] -> T[T[app T[]]] -> T[T[app]]
H[V[H[V[app]]]] -> H[V[app H[V[]]]] -> H[V[app]]
|
|
In i3 the layout command on a workspace affects the workspace layout
only on empty workspaces. Otherwise children are placed in a new
container with the desired layout to preserve the workspace layout.
|
|
In i3 splits are ineffective on singleton H/V containers,
and the command is interpreted to affect the parent layout
instead.
|
|
This avoids some log spam.
Eventually when we wire up the atomic test commit this will take care of
the other log spam referenced below.
References: https://github.com/swaywm/sway/pull/5010
References: https://github.com/swaywm/wlroots/issues/2181
Closes: https://github.com/swaywm/wlroots/issues/2532
|
|
This avoids cluttering the README text with URLs.
|
|
Mention that the github wiki may contain outdated information scripts
and old workarounds and that sway the sway project does not provide
support for it.
|
|
|
|
See https://github.com/swaywm/wlroots/issues/2462#issuecomment-723578521
|
|
Meson's generated config.h header defines false macros as 0, not
undefined. This means that the header line, which was checking for the
definition existing, not a non-zero value, was incorrect. Now the
swaybar tray can be used with systemd, elogind, or basu.
|
|
The "xorg-server-xwayland" package has become "xorg-xwayland" in Arch.
Our egl requirement was previously satisfied by xorg-server-xwayland's
dependency on libgl, which "xorg-xwayland" does not have. So add the
libegl dependency as well.
|
|
When colors aren't used, write the log importance to stderr. This makes
it easier to grep for errors and avoids mistaking error messages for
debug messages.
This is [1] ported to Sway.
[1]: https://github.com/swaywm/wlroots/pull/2149
|