aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorLines
2020-10-12swaybar: don't expand separator_block_width if separator is falseLudvig Michaelsson-1/+1
When swaybar receives the following JSON body [ { "full_text": "foo", "separator": false, "separator_block_width": 0 }, { "full_text": "bar" } ] it should not draw any separator or any space between the two blocks. However, since swaybar calculates that separator_block_width 0 is too small to fit any configured separator, it will override the separator_block_width with some non-zero value. This patch changes that such that the necessary separator_block_width is only expanded if the block has 'separator: true'. This should be in line to what i3 does, as its documentation of the i3bar protocol for separator states that "[...] if you disable the separator line, there will still be a gap after the block, unless you also use separator_block_width".
2020-10-12input/tablet: add tool_mode option to set tablet tools as relative inputTudor Brindus-6/+149
Closes #4139.
2020-10-12input/cursor: default tablet lens tool to relative motionTudor Brindus-0/+1
It is recommended that mouse and lens cursor tool default to relative mode and all pen-like tools to absolute mode. Refs https://wayland.freedesktop.org/libinput/doc/1.11.3/tablet-support.html#tablet-relative-motion.
2020-10-11Add support for workspace_min_width bar option.Tarmack-3/+74
2020-10-10xwayland: support views that change override-redirect statusTobias Langendorf-20/+68
2020-10-04commands/move: fix single-split escaping on moveTudor Brindus-1/+2
Prior to this commit, having a layout like T[app1 V[app2]], focusing app2, and then doing `move left` would result in T[app2 app1]. Now, the resulting layout is T[app1 app2], which matches i3 behavior. `container_flatten` updates `container->parent`, meaning that the existing check would never be true.
2020-10-04desktop/render: show indicators for top-level splitTudor Brindus-2/+2
i3 shows indicators for the workspace-level pseudo-split, but Sway does not, as of b977c02. This commit replaces the floating container check with a call to `container_is_floating`, which has some more robust checks in place. Fixes #5699.
2020-09-26Make focus_follows_mouse work when hovering a layer-shell surface on another ↵David96-2/+20
output Fixes #5668
2020-09-19check parent surface before it is destroyedJohn Mako-1/+1
2020-09-16cursor: update hide timer during config applyRouven Czerwinski-2/+2
We can't arm the timer during cursor creation since the config may not be ready yet. Instead arm the timer while applying the input configuration, by this time the configuration has been parsed and we can arm the hide timer. Fixes #5686
2020-09-16server: Avoid using "wayland-0" as WAYLAND_DISPLAYGeoffrey Casper-2/+12
See https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/486
2020-09-15Fix minor typos in German READMEJonas Hohmann-5/+5
2020-09-15cursor: arm cursor hide timer immediatelyRouven Czerwinski-0/+2
According to the wayland docs, wayland timers are disarmed on creation. This leads to the cursor not being hidden if there is no activity after creation, since the timer is armed on activity, but not at creation. Arm the timer after creation to ensure the cursor is hidden even if there is no cursor activity after creation. Fixes #5684
2020-09-14input/pointer: update cursor activity after updating button countsTudor Brindus-1/+1
Otherwise, Sway will not re-hide a cursor after the last button has been released. Needed alongside afa890e to fix #5679.
2020-09-14swaynag: add details background optionMustafa Abdul-Kader-2/+24
Adds a new config option for details background for swaynag issue/#5673
2020-09-14input/cursor: reset event source after unhideRouven Czerwinski-1/+1
Reset the event source after unhiding the cursor, to ensure that the timeout starts after showing the cursor. Also remove the open coded variant in seat_consider_warp_to_focus(). Fixes #5679
2020-09-04Re-focus on parent surface if it is availableBrassyPanache-14/+9
My primary issue was IntelliJ IDEA's code suggestion pop-up not returning focus to the active editing window. I have spent some time looking at the changes of @Xyene (#5398) and @RyanDwyer (#2103). I think my proposed change maintains the status quo for the most part whilst fixing my focus issue. I have verified that @Xyene's fix for IntelliJ sub-menus still works. I have done basic testing which consists of: - Chrome - IntelliJ IDEA 2020.2.1 - VSCode - Alacritty It seems to hold up. I at least didn't see any obvious errors. Relates to #3007
2020-09-04swaynag: adds option to separately specify the text color for buttonsoliver-giersch-27/+50
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