aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorLines
2020-09-04swaymsg.1: expand tip for multi-word strings.Érico Rolim-1/+3
Strings with commas inside, such as the ones used for xkb_{config,layout} commands, count as multi-word strings.
2020-09-03input/libinput: remove input type property biasBrian Ashworth-109/+25
This changes it so all libinput config options are set on any device that supports it. Previously, only a subset of libinput config options were being considered depending on the input type. Instead of trying to guess which properties the device may support, attempt to set any configured property regardless of the device type. All of the functions already have early returns in them for when the device does not actually support the property. This brings the configuration side inline with describe_libinput_device for the IPC side. This change was prompted by a tablet tool showing the calibration matrix property in the IPC message, but not being able to actually change it since that property was only being considered for the touch input type.
2020-08-27Use wlr_output_event_commitSimon Ser-27/+19
Instead of listening to both transform and scale events, we can listen to the commit event and use the new wlr_output_event_commit struct to decide what to do. This de-duplicates some of the work we were doing twice when an output was re-configured. Depends on [1]. [1]: https://github.com/swaywm/wlroots/pull/2315
2020-08-24exec: fix validation during config reloadKonstantin Pospelov-6/+27
Split cmd_exec_always into separate methods for general validation and process creation. This fixes a potential call of join_args with 0 arguments.
2020-08-11Handle SIGINTSimon Ser-0/+1
Gracefully exit on SIGINT, like we do for SIGTERM.
2020-08-05swaymsg.1: correct typoMark Stosberg-1/+1
2020-08-05view: remove foreign toplevel listeners on destroyRonan Pigott-0/+15
2020-08-05view: implement foreign toplevel fullscreen requestRonan Pigott-0/+31
2020-08-05view: implement foreign toplevel fullscreen indicatorRonan Pigott-0/+4
2020-08-04Document required '\n' in swaybar-protocolHubert Hirtz-4/+4
The following statusbar output is not considered by sway to be following the swaybar-protocol: {"version":1}[[{"full_text":"2.89","urgent":false}], However this one is: {"version":1}\n[[{"full_text":"2.89","urgent":false}], Both outputs contain a header with the required values and an unfinished array of objects with the required values, but the first one is showed verbatim.
2020-08-03document force_display_urgency_hintRex Hackbro-0/+7
2020-08-03fix force_display_urgency_hint parsingRex Hackbro-7/+11
2020-08-03fix typosRex Hackbro-7/+7
2020-07-30common/loop: check return of reallocAntonin Décimo-3/+9
2020-07-30Fix incorrect format specifiersAntonin Décimo-10/+10
2020-07-30Log empty value if envvar is not definedAntonin Décimo-1/+2
If the environment variable is not defined, getenv returns NULL. Passing a NULL pointer to the "%s" format specifier is undefined behavior. Even if some implementations output "(null)", an empty string is nicer.
2020-07-30cmd/bar/colors: fix dereference of null pointerAntonin Décimo-1/+4
`!*rgba` tests if the first byte of rgba isn't `'\0'`. `hex_to_rgba_hex` returns NULL if `parse_color` fails. There's a null pointer dereference in that case. The intended behavior is `!rgba`.
2020-07-30ipc: fix aligment issue of data bufferAntonin Décimo-13/+9
The pointer `data` is cast to a more strictly aligned pointer type. To prevent issues, the `data32` buffer is removed and its occurrences are replaced with an offset from the `data` buffer.
2020-07-27Use wlr_output_layout_output_at to get output for move to cursorThayne McCombs-13/+12
2020-07-27Keep windows in bounds on move to position mouseThayne McCombs-8/+35
If the mouse/cursor/pointer is near the edge of an output when a "move position to pointer" command is run, then the floating container will be constrained to fit inside the bounds of the output as much as possible. This behavior matches what i3 does in this scenario. I also think it is a better user experience. Relates to #4906 The logic for the bounds check follows the implementation in i3: https://github.com/i3/i3/blob/733077822302d8b77eacb606a26fd002a42f534f/src/floating.c#L536
2020-07-27commands: disallow runtime includeRonan Pigott-1/+1
2020-07-25view: display scratchpad hidden containers when activated by ftmRonan Pigott-0/+5
2020-07-22Fix X11 clients getting stuck minimizedTobias Langendorf-0/+26
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-0/+1
`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-2/+2
2020-07-21added ppt unit to move position commandNils Schulte-25/+71
2020-07-21moved and renamed movement-unit parsing to commonNils Schulte-96/+106
2020-07-19sway.5: add missing underscoreRonan Pigott-1/+1
2020-07-18desktop: output: Scale custom output refresh rateAndri Yngvason-1/+2
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-0/+7
The check is a bit strange but should be POSIX compliant.
2020-07-17meson.build: Fix the version formatMichael Weiss-1/+1
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-1/+1
2020-07-16Bump wlroots dependency to 0.11.0Simon Ser-1/+1
2020-07-15input/cursor: don't send wl_pointer.motion event on pointer unlock warpTudor Brindus-0/+4
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-0/+2
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ć-0/+8
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-6/+12
2020-07-14xdg_shell: schedule configure on maximize requestsRonan Pigott-0/+10
2020-07-13Assert output is found before removing from listSimon Ser-1/+5
References: https://github.com/swaywm/sway/issues/5483
2020-07-13input: implement xdg_toplevel interactive resize hintsRonan Pigott-0/+90
2020-07-12rephrase swayidle-timout example to improve readabilityJonas Große Sundrup-2/+1
2020-07-11Make the default workspace commands compatible with i3Wai Hon Law-20/+20
**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-26/+23
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-3/+17
2020-07-07seat/dnd: support null drag icon surfacesNick Diego Yamane-22/+20
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-48/+71
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-13/+39
2020-07-03commands/move: maintain workspace_layout when movingTudor Brindus-4/+14
Fixes #5157.
2020-07-03Replace unprintable characters in input device idwb9688-1/+2
2020-07-03tree/view: fix segfault in view_update_titleSimon Ser-1/+1
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