aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-07-22Fix X11 clients getting stuck minimizedTobias Langendorf
Usually it should be enough to simply not grant a client's minimize request, however some applications (Steam, fullscreen games in Wine) don't wait for the compositor and minimize anyway, getting them stuck in an unrecoverable state. Restoring them immediately lead to heavy flickering when unfocused on my test application (Earth Defense Force 5 via Steam), so it's preferable to grant their request without actually minimizing and then restoring them once they are in focus again.
2020-07-22swaybar: allow status line cleanup to proceed when hiddenCharmander
`determine_bar_visibility` stops and starts the status command process according to the bar’s visibility. If the bar was hidden during teardown, teardown would stall while waiting for the stopped status command process to exit. This resumes a stopped status command during teardown and allows, for example, sway to reload or quit without leaving a swaybar instance behind each time. Fixes #5536. CONT before TERM as requested in review.
2020-07-21Fix typos in man page.Antonin Décimo
2020-07-21added ppt unit to move position commandNils Schulte
2020-07-21moved and renamed movement-unit parsing to commonNils Schulte
2020-07-19sway.5: add missing underscoreRonan Pigott
2020-07-18desktop: output: Scale custom output refresh rateAndri Yngvason
This fixes an issue with wlr-output-management causing the frame rate to jump to 60000 Hz when setting a custom mode.
2020-07-17contrib/_incr_version: Disallow the "v"-prefixed version formatMichael Weiss
The check is a bit strange but should be POSIX compliant.
2020-07-17meson.build: Fix the version formatMichael Weiss
The current version is prefixed by a "v" and therefore breaks the output of "swaymsg -rt get_version" which is implemented trough "sscanf(SWAY_VERSION, "%u.%u.%u", &major, &minor, &patch)". The prefixed "v" was added in 8b2ff2f1, probably by accident.
2020-07-16Bump version to 1.5Simon Ser
2020-07-16Bump wlroots dependency to 0.11.0Simon Ser
2020-07-15input/cursor: don't send wl_pointer.motion event on pointer unlock warpTudor Brindus
On warping to a cursor hint, update the pointer position we track as well, so that on the next pointer rebase we don't send an unexpected synthetic motion event to clients. Fixes #5405.
2020-07-15readme: link to the development docMichaël Defferrard
The subproject compilation is the best way to test sway and wlroots but it's hidden. I only found it from comments in issues.
2020-07-15Add check for empty GEOM variableVinko Kašljević
In case when slurp is used to select part of screen or a window, if user aborts the selection, grimshot will capture the whole screen instead of exiting. This is fixed with check for empty variable.
2020-07-15Add note on quoting to swaymsg manpageCampbell Vertesi
2020-07-14xdg_shell: schedule configure on maximize requestsRonan Pigott
2020-07-13Assert output is found before removing from listSimon Ser
References: https://github.com/swaywm/sway/issues/5483
2020-07-13input: implement xdg_toplevel interactive resize hintsRonan Pigott
2020-07-12rephrase swayidle-timout example to improve readabilityJonas Große Sundrup
2020-07-11Make the default workspace commands compatible with i3Wai Hon Law
**Problem** When I rename the workspace to something like "1:web", `$mod+1` does not move to the "1:web" with the default config. This breaks the expectation of i3 users. **Cause** The default Sway binding for `$mod+1` does not have the number keyword: ``` bindsym $mod+1 workspace 1 ``` Instead, the default Sway binding for `$mod+1` is ``` bindsym Mod1+1 workspace number $ws1 ``` https://github.com/i3/i3/commit/e6662df114329ba45bd1d117c731b3dc8bdd13fb is the corresponding commit from i3.
2020-07-10config/output: don't change output state before commitSimon Ser
Previously, we called output_disable prior to wlr_output_commit. This mutates Sway's output state before the output commit actually succeeds. This results in Sway's state getting out-of-sync with wlroots'. An alternative fix [1] was to revert the changes made by output_disable in case of failure. This is a little complicated. Instead, this patch makes it so Sway's internal state is never changed before a successful wlr_output commit. We had two output flags: enabled and configured. However enabled was set prior to the output becoming enabled, and was used to prevent the output event handlers (specifically, the mode handler) from calling apply_output_config again (infinite loop). Rename enabled to enabling and use it exclusively for this purpose. Rename configure to enabled, because that's what it really means. [1]: https://github.com/swaywm/sway/pull/5521 Closes: https://github.com/swaywm/sway/issues/5483
2020-07-07Reload command now matches i3's implementationGeoffrey Casper
2020-07-07seat/dnd: support null drag icon surfacesNick Diego Yamane
As per the Wayland spec [1]: > The icon surface is an optional (can be NULL) surface that provides an > icon to be moved around with the cursor. However, as of now Sway "start_drag" signal handler does not starts the DND session unless a non-NULL drag icons is provided. This patch fixes it by skipping handling of the drag icon if it is null. Fixes #5509 [1] https://wayland.freedesktop.org/docs/html/apa.html#protocol-spec-wl_data_device Signed-off-by: Nick Diego Yamane <nickdiego@igalia.com>
2020-07-06ISSUE_TEMPLATE: Use the newer issue templatesBrian Ashworth
This utilizes the newer Github issue templates. They allow for the user to specify what type of issue they are submitting to allow for a more specific issue template to be shown. In addition to a hopefully easier to read/parse/follow bug report template, this also include templates for enhancements and i3 compatibility. This also includes a link to the IRC under the section title Questions. For the three templates, the labels bug, enhancement, and i3-compat will be automatically applied for the appropriate report to assist in triaging. Hopefully, this will result in less questions and issues for new window management functionality on Github and allow for better quality issues being submitted. At the very least, it allows us to outline our stances for bugs, enhancements, and i3-compatibility in an easier to read format.
2020-07-05protocols: sync wlr-layer-shell-unstable-v1 with wlrootsJan Beich
2020-07-03commands/move: maintain workspace_layout when movingTudor Brindus
Fixes #5157.
2020-07-03Replace unprintable characters in input device idwb9688
2020-07-03tree/view: fix segfault in view_update_titleSimon Ser
xdg-shell doesn't allow clients to set the title to NULL, so we shouldn't need to call wlr_foreign_toplevel_handle_v1_set_title with an empty string to reset the old one. Closes: https://github.com/swaywm/sway/issues/5488
2020-07-02Unset DISPLAY when wlr_xwayland failsSimon Ser
Avoids having applications connect to a leftover DISPLAY when Xwayland fails to initialize.
2020-07-02Don't set xwayland cursor when wlr_xwayland failedSimon Ser
This causes a NULL pointer dereference.
2020-07-02seat: fix segfault in sway_input_method_relay_set_focusSimon Ser
sway_input_method_relay_set_focus was called before sway_input_method_relay_init. Closes: https://github.com/swaywm/sway/issues/5503
2020-07-01commands/move: unwrap workspace container on move to new workspaceTudor Brindus
If moving e.g. `T[app app]` into a new workspace with `workspace_layout tabbed`, then post-move the tree in that workspace will be `T[T[app app]]`. This still happens with horizontal or vertical workspace layout, but is less visible since those containers have no decorations. Fixes #5426.
2020-07-01Minor wording changes in Romanian README.md translationTudor Brindus
2020-07-01Update version to v1.5-rc2Drew DeVault
2020-07-01tree/view: Make foreign-toplevel app_id fallback to classJohan Bjäreholt
It is not a part of the foreign-toplevel-management protocol to get the class of a toplevel, only for getting the app_id. For xwayland clients this is an issue because that means that you cannot identify what application the toplevel refers to which is the point of the app_id property. By falling back to class when an app_id does not exist solves this problem. Phoc also uses app_id and class interchangeably in their implementation of foreign-toplevel-management, in fact they always do that and not only for just this protocol. https://source.puri.sm/Librem5/phoc/-/blob/c8d8a4c5440a6c1647b09dbd3bba7999f9cd433c/src/xwayland.c#L236
2020-06-30output: simplify loop over layer surfacesIsaac Freund
2020-06-30seat: Refocus seat when wlr_drag is destroyedKenny Levinsen
wlr_drag installs grabs for the full duration of the drag, leading to the drag target not being focused when the drag ends. This leads to unexpected focus behavior, especially for the keyboard which requires toggling focus away and back to set. We can only fix the focus once the grabs are released, so refocus the seat when the wlr_drag destroy event is received. Closes: https://github.com/swaywm/sway/issues/5116
2020-06-30transaction: Mark client resize immediately readyKenny Levinsen
If a client commits a new size on its own, we create a transaction for the resize like any other. However, this involves sending a configure and waiting for the ack, and wlroots will not send configure events when there has been no change. This leads to transactions timing out. Instead, just mark the view ready immediately by size when the client is already ready, so that we avoid waiting for an ack that will never come. Closes: https://github.com/swaywm/sway/issues/5490
2020-06-27tree/view: fix smart borders with tabbed/stacked ancestorTudor Brindus
Fixes #5484.
2020-06-25input/pointer: correctly handle bindings for synthetic eventsTudor Brindus
This commit addresses a regression introduced in 8fa74ad. Fixes #5481.
2020-06-24Update version to 1.5-rc1Simon Ser
2020-06-23Add Romanian translationtaminaru
2020-06-23Implement wlr-foreign-toplevel-management-v1Drew DeVault
2020-06-19input_cmd_click_method: fix typo in error textTudor Brindus
2020-06-19input/seat: don't notify keyboard grabs with NULL surface on shutdownTudor Brindus
Fixes #5469, a minor regression introduced in #5368.
2020-06-19input: disable events for map_to_output devices when output not presentTudor Brindus
Fixes #3449.
2020-06-18input/pointer: don't trigger pointer bindings for emulated inputTudor Brindus
Prior to this commit, a tablet device could trigger mouse button down bindings if the pen was pressed on a surface that didn't bind tablet handlers -- but it wouldn't if the surface did bind tablet handlers. We should expose consistent behavior to users so that they don't have to care about emulated vs. non-emulated input, so stop triggering bindings for any non-pointer devices.
2020-06-18input/cursor: send idle events based off device type, not input typeTudor Brindus
Previously, a tablet or touch device could report activity as a pointer device if it went through pointer emulation. This commit refactors idle sources to be consistently reported based on the type of the device that generated an input event, and now how that input event is being processed.
2020-06-17grimshot: fix POSIX complianceDavid Arnold
source is not POSIX compliant, '.' is. https://stackoverflow.com/a/11588629
2020-06-17grimshot: Unary operator expectedDavid Arnold
fixes this error: /usr/local/bin/grimshot: line 22: [: ==: unary operator expected