aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorLines
2019-09-02man: document how to specify multiple xkb layouts and optionsSimon Ser-0/+4
This isn't described in xkeyboard-config(7).
2019-09-01layer-shell: don't give focus to unmapped layer surfacesSimon Ser-1/+3
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
2019-09-01Ensure that seat->focused_layer is cleared on unmapKenny Levinsen-3/+5
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.
2019-08-31seat: set cursor image only if no pointer cap previouslyxdavidwu-1/+4
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.
2019-08-31seat: avoid unneeded reloading xcursor themexdavidwu-2/+6
Load xcursor theme on configuring pointer or tablet tool only if there was no pointer cap before.
2019-08-31Fix markup syntax in man pagesMartin Michlmayr-11/+11
2019-08-27cmd_mode: don't reset to default after subcommandBrian Ashworth-1/+2
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
2019-08-27chmod +x contrib/_incr_versionDrew DeVault-0/+0
2019-08-27Add _incr_version to contrib/Drew DeVault-0/+6
2019-08-27A layer-shell will only be focused if it is non-nullasdfjkluiop-1/+3
2019-08-25Fix formatting for title_format in man 5 swayMichael Aquilina-5/+5
Use explicit linebreaks to make scdoc use a separate line for each entry listed
2019-08-24Update titlebar borders to match i3's current behavior.Dark-60/+20
2019-08-23cmd_move: fix move to scratchpad hidden containerBrian Ashworth-0/+7
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.
2019-08-22ipc: collapse multi-container command resultsLaurent Bonnans-4/+19
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
2019-08-22sway.5: remove mention of floating_scrollBrian Ashworth-5/+0
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
2019-08-20Allow moving a container hidden in scratchpadlbonn-10/+14
(as i3 allows it) Just update the container's coordinates so that they will be applied at the next show.
2019-08-20cmd_xwayland: add force for immediate launchBrian Ashworth-8/+27
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
2019-08-20input/keyboard: send released only if pressed sentBrian Ashworth-27/+54
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.
2019-08-20Remove xdg-shell v6 supportSimon Ser-577/+0
All major toolkits and apps have gained xdg-shell stable support. Closes: https://github.com/swaywm/sway/issues/3690
2019-08-19properly check pixman_region32_contains_rectangle returnIlia Bozhinov-3/+4
pixman_region32_contains_rectangle() returns pixman_region_intersection_t not a bool.
2019-08-16input/seatop_down: add axis handlerBrian Ashworth-0/+16
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.
2019-08-16sway{,-bar}.5: add link to pango font descriptionBrian Ashworth-2/+7
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
2019-08-14layer-shell: add support for popupsDrew DeVault-9/+182
2019-08-14workspace_split: focus middle if workspace focusedBrian Ashworth-0/+7
In workspace_split, the middle container that wraps the workspace's children should be focused for any seat that is focusing the workspace
2019-08-14container_replace: copy {width,height}_fractionBrian Ashworth-0/+4
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.
2019-08-13swaymsg.1: add tip about two hyphens for commandsBrian Ashworth-0/+5
This adds a tip to the command section about using two hyphens before a command to signal that no swaymsg options will follow to allow for sway commands with leading hyphens.
2019-08-13workspace: do not destroy if any seat is focusingBrian Ashworth-0/+10
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
2019-08-13handle_seat_node_destroy: do not focus own nodeBrian Ashworth-1/+1
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
2019-08-13workspace: prefer identifiers for output priorityBrian Ashworth-10/+19
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.
2019-08-12Remove redundant checksAntonin Décimo-4/+3
2019-08-12Fix memory leaksAntonin Décimo-0/+2
2019-08-12view_update_size: fix surface_width/height mismatchAntonin Décimo-1/+1
2019-08-12input: check pointer against nullptrAntonin Décimo-1/+1
2019-08-12ipc-client: remove useless free for failed mallocAntonin Décimo-1/+0
2019-08-12layer_shell: Guard against negative exclusive zoneSebastian Krzyszkowiak-1/+1
This can happen with surfaces that set negative margins.
2019-08-09Remove rootston from build manifests1.2-rc1Drew DeVault-2/+2
2019-08-07Revert "Add support for wlr_output's atomic API"Rouven Czerwinski-26/+27
This reverts commit 6e0565e9de4247bbf0ca662565c58e0a54258d6e. This is required for the revert on swaywm/wlroots#1781
2019-08-07sway.5: explain how to enable pango markup in fontBrian Ashworth-2/+5
This clarifies the syntax to use for the font command to enable pango markup support.
2019-08-07config/output: rebase cursors after config appliedBrian Ashworth-0/+8
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.
2019-08-06cmd_mode: make modes case sensitiveBrian Ashworth-2/+1
This mirrors a change in i3 4.17 that makes binding modes case sensitive
2019-08-06swaymsg: return 2 for sway errorsBrian Ashworth-1/+14
This mirrors a change in i3 4.17 that returns 2 for errors from sway, including invalid command, command failed, and invalid subscription requests
2019-08-06input/cursor: do not hide when buttons are pressedBrian Ashworth-2/+7
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.
2019-08-06cmd_swap: add floating supportBrian Ashworth-11/+42
For feature parity with i3 4.17, this just adds floating container support to the swap command
2019-08-05cmd_opacity: add relative opacity changesJeff Peeler-18/+21
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
2019-08-03input/libinput: typo fixes (get -> get_default)Brian Ashworth-2/+2
This just fixes some typos in the reset functions that were using the get calls instead of get_default
2019-08-02Remove unused variableAntonin Décimo-3/+0
2019-08-02Allocator sizeof operand mismatchAntonin Décimo-1/+1
Result of 'calloc' is converted to a pointer of type 'char *', which is incompatible with sizeof operand type 'char **'
2019-08-02Add support for wlr_output's atomic APISimon Ser-27/+26
See https://github.com/swaywm/wlroots/pull/1762
2019-08-01bindsym/code: add group supportBrian Ashworth-15/+76
This adds support for specifying a binding for a specific group. Any binding without a group listed will be available in all groups. The priority for matching bindings is as follows: input device, group, and locked state. For full compatibility with i3, this also adds Mode_switch as an alias for Group2. Since i3 only supports this for backwards compatibility with older versions of i3, it is implemented here, but not documented.
2019-08-01input/keyboard: don't reset layout for same keymapBrian Ashworth-24/+32
In sway_keyboard_config, do not change the keymap when the new keymap is unchanged, unless this is during a config reload. The reasoning for this is to prevent the effective layout from being reset to index 0 for input config changes unrelated to the keymap.