Age | Commit message (Collapse) | Author |
|
|
|
Otehrwise it's pretty easy to misremember a flag and think damage=rerender is
enabled when it's not.
|
|
If the view was mapped as fullscreen or the view was assigned either a
workspace or output, the pid was not being populated since it was
occurring as part of the pid mapping check in select_workspace. This
extracts the pid population and makes it so it is always executed
|
|
|
|
__foo__ is verbatim in scdoc, but we want the variable foo in italic,
i.e. _foo_.
|
|
This just clarifies that a mark can only be set for a single window
since they are used as unique identifiers
|
|
|
|
Subsurfaces (in most cases popups) aren't decorated by sway
and will never have any borders, but may be drawn beyond container
boundaries producing false positive when searching for edge.
So we want to skip edge search when handling mouse event on subsurface.
|
|
This adds complete support for the barconfig_update ipc event. This also
changes the bar command and subcommand handlers to correctly emit the
event. This makes it so all bar subcommands other than id and
swaybar_command are dynamically changeable at runtime. sway-bar.5 has
been updated accordingly
|
|
This matches i3's behavior of only focusing a container when pressed.
This allows for `bindsym button1 nop`, `bindsym BTN_LEFT nop`, or
`bindcode 272 nop` to be used to disable focusing when clicking on the
title (or with additional flags to bind{code,sym} other portions of
the container).
Without this additional condition, the user would need both
`bindsym button1 nop` and `bindsym --release button1 nop` to override
both the pressed and released behavior.
|
|
|
|
|
|
This isn't described in xkeyboard-config(7).
|
|
Focused layers are not cleared when destroyed, they are cleared on unmap.
Giving focus to an unmapped layer surface is (1) incorrect and (2) triggers a
use-after-free.
Closes: https://github.com/swaywm/sway/issues/4517
|
|
The current seat may have changed between the last focus change and
this unmap, so we need to scan through all seats to find our layer.
|
|
This make seat_update_capabilities set cursor image only if
there was no pointer cap before update. This avoid resetting
cursor to left_ptr if an input device is removed.
|
|
Load xcursor theme on configuring pointer or tablet tool only if
there was no pointer cap before.
|
|
|
|
In cmd_mode, the mode is currently being reset to the default mode after
a mode subcommand handler is executed. This stores and restores the mode
instead
|
|
|
|
Use explicit linebreaks to make scdoc use a separate line for each entry
listed
|
|
|
|
When moving to a scratchpad hidden container (using `move
[window|container] [to] mark <mark>`), this moves the container to the
scratchpad (equivalent to `move [window|container] [to] scratchpad`).
Previously, this would crash since the destination did not have a
workspace.
|
|
Match i3's behavior and only return one status response per command,
even if it applies to several nodes.
Also returns an error if the criteria returns an empty match.
Closes #4483
|
|
It looks like floating_scroll was still in the sway(5) man page as a
remnant of the 0.x era. This just removes it from the man page since it
is no longer a valid command. Mouse bindings with Button4-7 can be used
instead
|
|
(as i3 allows it)
Just update the container's coordinates so that they will be applied at
the next show.
|
|
This just adds a force option to cmd_xwayland that allows for xwayland
to be immediately launched instead of lazily launched. This is useful
for slower machines so it can be part of the startup time instead of
when the user is actively trying to use it
|
|
This keeps track of whether surfaces received a key press event and
will only send a key release event if the pressed event was sent. This
also requires changing the keycodes that are sent via wl_keyboard_enter
to only include those that were previously sent. This makes it so
surfaces do not receive key release events for keys that they never
received a key press for and makes it so switching focus doesn't leak
keycodes that were consumed by bindings.
|
|
All major toolkits and apps have gained xdg-shell stable support.
Closes: https://github.com/swaywm/sway/issues/3690
|
|
pixman_region32_contains_rectangle() returns
pixman_region_intersection_t not a bool.
|
|
This adds an axis handler to seatop_down so that it is possible to
manually scroll while having a mouse button down. This is mainly useful
for selecting text. Some applications may not automatically scroll when
the cursor is near the edge of the application or the user may just
prefer manually scrolling for more control over the scrolling speed.
|
|
This just specifies that both cmd_font and bar_cmd_font should be
specified using the pango font description and adds a link to the pango
documentation regarding the font description
|
|
|
|
In workspace_split, the middle container that wraps the workspace's
children should be focused for any seat that is focusing the workspace
|
|
This copies the width and height fractions from the container to the
container replacing it. Without setting these values, the container
is treated as a new container and throws off the existing sizing. Since
one container is replacing the other, it makes sense for the sizing to
remain the same.
|
|
Since each seat has its own focus, do not destroy a workspace until it
is no longer focused by any seat. This prevents seats from being forced
to evacuate the workspace just because another seat switched focus away
from it
|
|
In handle_seat_node_destroy, it was possible to focus the node attached
to the seat node that is being destroyed when an empty workspace was
being destroyed in a multiple seat environment. This resulted in
infinite recursion when attempting to destroy the workspace. This just
moves the seat node destruction higher so it cannot be the focus
inactive for the seat. This is the same ordering that is applied to
destruction of seat nodes for containers
|
|
Since output names can change in various configurations, including
DisplayPort MST, prefer output identifiers for the output priority.
Users can still use `workspace <ws> output <names-or-ids>`, but any
output that is programmatically added to the list will be added under
the output identifier. If the output name exists in the list (from the
user workspace output configs), then that will be retained instead of
switching to the output identifier for that output.
|
|
|
|
|
|
|
|
|
|
This can happen with surfaces that set negative margins.
|
|
This reverts commit 6e0565e9de4247bbf0ca662565c58e0a54258d6e.
This is required for the revert on swaywm/wlroots#1781
|
|
This clarifies the syntax to use for the font command to enable pango
markup support.
|
|
When applying an output config, an output may transform or be altered
in some way that effects the cursor. In order for the cursor images to
be updated properly, all cursors need to be rebased after applying
output configs.
|
|
This mirrors a change in i3 4.17 that makes binding modes case
sensitive
|
|
This just adds a small quality of life improvement to the cursor hiding
functionality. The cursor will no longer be hidden unless all buttons
are released.
|
|
For feature parity with i3 4.17, this just adds floating container
support to the swap command
|
|
This enhances the opacity command to support relative assignment as well
as the currently implemented absolute assignment. The syntax is copied
from the same format that gaps uses for relative and absolute setting.
An example usage in a sway config looks like:
// relative change (this feature)
bindsym button4 opacity plus .1
bindsym button5 opacity minus .1
// absolute change (this feature)
bindsym button4 opacity set 1
bindsym button5 opacity set .3
// old way, still supported
bindsym button4 opacity 1
bindsym button5 opacity .3
|