aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
...
* | commands/move: reintroduce wrongly removed NULL checkLibravatar Rouven Czerwinski2019-02-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit d3d7956576341bbbfb60d045175b0e8a44752e0b removed this NULL check, which leads to the following backtrace: #0 0x0000557bd201df46 in node_is_view (node=0x0) at ../sway/sway/tree/node.c:41 #1 0x0000557bd1ff5d4e in seat_get_focus_inactive (seat=0x557bd3fc7580, node=0x0) at ../sway/sway/input/seat.c:968 current = 0x557bd2033485 #2 0x0000557bd2009f24 in cmd_move_container (argc=3, argv=0x557bd46b19c0) at ../sway/sway/commands/move.c:557 new_output_last_focus = 0x0 error = 0x0 node = 0x557bd469f360 workspace = 0x557bd4572ee0 container = 0x557bd469f360 no_auto_back_and_forth = false seat = 0x557bd3fc7580 old_parent = 0x0 old_ws = 0x557bd4572ee0 old_output = 0x557bd411f740 destination = 0x557bd46a0cc0 new_output = 0x557bd411f740 new_output_last_ws = 0x0 focus = 0x557bd469f360 __PRETTY_FUNCTION__ = "cmd_move_container" new_workspace = 0x557bd4572ee0 […] Reintroduce the NULL check to fix the bug. Fixes #3746
* | Handle NULL from output_get_active_workspaceLibravatar Brian Ashworth2019-02-21
| | | | | | | | | | | | | | | | | | | | This modifies the places where output_get_active_workspace is called to handle a NULL result. Some places already handled it and did not need a change, some just have guard off code blocks, others return errors, and some have sway_asserts since the case should never happen. A lot of this is probably just safety precautions since they probably will never be called when `output_get_active_workspace` is not fully configured with a workspace.
* | Merge pull request #3743 from RedSoxFan/fix-output-get-active-workspaceLibravatar Drew DeVault2019-02-21
|\ \ | |/ |/| output_get_active_workspace: check workspaces length
| * output_get_active_workspace: check workspaces lengthLibravatar Brian Ashworth2019-02-21
|/ | | | | | | | | | | | If an output's node was dirty and the transaction was committed before a workspace was moved to or created for the output, the instruction would have a bad value for `state->active_workspace` due to a missing length check in `output_get_active_workspace`. If there was no focus on the output, the first workspace was being returned. If the workspace list was currently empty, the value was either garbage, or in the case of an output being disabled and re-enabled, a workspace that may have been previously freed. This just adds the length check to avoid returning out of bounds value.
* output_evacuate: call workspace_consider_destroyLibravatar Brian Ashworth2019-02-20
| | | | | | This calls `workspace_consider_destroy` on the workspace that was visible on an output that a workspace was just evacuated to. This prevents having hidden empty workspaces.
* Merge pull request #3735 from emersion/primary-selection-v1Libravatar Drew DeVault2019-02-20
|\ | | | | Add wp-primary-selection-unstable-v1
| * Add wp-primary-selection-unstable-v1Libravatar emersion2019-02-20
|/
* Merge pull request #3728 from ljedrz/polish_readmeLibravatar Drew DeVault2019-02-19
|\ | | | | Add Polish README
| * Add Polish READMELibravatar ljedrz2019-02-19
| |
* | layout cmd: always operate on parent container, like i3Fixes #3724Libravatar Eric Drechsel2019-02-19
| |
* | Don't use SOCK_CLOEXECLibravatar emersion2019-02-19
| | | | | | | | Manually set the CLOEXEC flag instead, since SOCK_CLOEXEC isn't POSIX.
* | ci: add FreeBSDLibravatar emersion2019-02-19
| |
* | Merge pull request #3726 from emersion/alpine-ciLibravatar Drew DeVault2019-02-19
|\ \ | |/ |/| ci: add Alpine build
| * ci: add Alpine CILibravatar emersion2019-02-19
|/
* Merge pull request #3714 from emersion/fix-drag-icon-map-listenerLibravatar Drew DeVault2019-02-18
|\ | | | | Fix drag icon map listener not removed
| * Fix drag icon map listener not removedLibravatar emersion2019-02-18
| |
* | Merge pull request #3715 from yorickvP/ipc-visibleLibravatar Drew DeVault2019-02-18
|\ \ | |/ |/| Feature: Add 'visible' key to view json response
| * Add 'visible' key to view json responseLibravatar Yorick van Pelt2019-02-18
|/
* Merge pull request #3712 from RedSoxFan/fix-typo-seat-cursorLibravatar Drew DeVault2019-02-18
|\ | | | | seat_cmd_cursor: fix typo in expected syntax
| * seat_cmd_cursor: fix typo in expected syntaxLibravatar Brian Ashworth2019-02-17
| | | | | | | | This just fixes a typo in the expected syntax for seat_cmd_cursor
* | Merge pull request #3713 from RedSoxFan/fix-mouse-bindingsLibravatar Drew DeVault2019-02-18
|\ \ | |/ |/| Use container under cursor for mouse bindings
| * Use container under cursor for mouse bindingsLibravatar Brian Ashworth2019-02-17
|/ | | | | This matches i3's behavior of executing mouse bindings in regards to the container under the cursor instead of what is focused.
* workspace_next_name: fallback to next available numberLibravatar Brian Ashworth2019-02-17
| | | | | | | | This changes `workspace_next_name` to use the next available number as the workspace name instead of the number of outputs. This fixes the case where a number that is already in use could be returned. The workspace numbers in use have no relation to the number of outputs so it makes more sense to use the lowest available number
* Add workspace {prev,next}_on_output --createLibravatar Drew DeVault2019-02-17
| | | | This creates the next workspace if you hit the end.
* Remove refs to unimplemented debuglog commandLibravatar Drew DeVault2019-02-17
| | | | Closes #3695
* Disconnect swaybg instead of killing itLibravatar emersion2019-02-16
| | | | | This is much more reliable. This also fixes race conditions when killing swaybg while it's doing a wl_display_roundtrip.
* Fix Meson subproject boolean default optionsLibravatar emersion2019-02-17
|
* sway-input.5: document wildcard and identifier troubleshootingLibravatar Brian Ashworth2019-02-16
| | | | | | This documents the wildcard character for both inputs and seats. There is also a tip added on trying the wildcard to verify a setting if the identifier does not appear to be working.
* Remove unused header include/sway/tree/output.hLibravatar emersion2019-02-16
|
* Fix reload freeze when not modsetting current modeLibravatar Brian Ashworth2019-02-16
| | | | | | | | | | | | | | | | | | | | | | This fixes the issue of the display freezing on reload with wlroots#1545. On master, all output configs are applied on reload. This may cause an output to have its config applied up to three times, instead of just once. The three cases are: output name, output identifier, and wildcard. Not only is this inefficient, but it can cause swaybg to be spawned and immediately killed. However, swaybg requires two roundtrips of wl_display (to obtain needed globals) before it enters its normal event loop. Modesetting will roundtrip the wl_display. Without modesetting, waitpid for killing swaybg could block infinitely due to swaybg being blocked by wl_display_roundtrip. This only configured an output once. It either uses the wildcard config or creates an empty wildcard config and applies that. This also fixes a bug where an output would not be reset when there is no output config to apply to it.
* Merge pull request #3701 from emersion/meson-subproject-disable-unneededLibravatar Drew DeVault2019-02-16
|\ | | | | Disable unneeded wlroots subproject features
| * Disable unneeded wlroots subproject featuresLibravatar emersion2019-02-16
| |
* | tray: fix memory leaksLibravatar Ian Fan2019-02-16
| |
* | tray: when a service is lost, remove all matching itemsLibravatar Ian Fan2019-02-16
| | | | | | | | | | Before, only the first matching item would be removed, which could leave stale items.
* | Check layout before getting pointer surface coordsLibravatar Vincent Vanlaer2019-02-16
|/ | | | | This fixes issues of clients at the edge of the screen, like swaybar, ignoring buttons.
* Merge pull request #3698 from yabirgb/masterLibravatar Drew DeVault2019-02-16
|\ | | | | Spanish translation of the README
| * Fix accentsLibravatar Yábir García2019-02-16
| |
| * Add spanish link to the home READMELibravatar Yábir García2019-02-16
| |
| * Spanish translation of the READMELibravatar Yábir Benchakhtir2019-02-16
|/
* Merge pull request #3692 from ianyfan/swaybarLibravatar Drew DeVault2019-02-15
|\ | | | | Fix crash and memory leak on bar termination
| * tray: use correct parameter to set bus slot to floatingLibravatar Ian Fan2019-02-15
| | | | | | | | | | Counter-intuitively, `sd_bus_slot_set_floating` expects 0 to set it to floating.
| * swaybar: prevent signal handler from firing during terminationLibravatar Ian Fan2019-02-15
|/ | | | This prevents a heap-use-after-free crash when sway terminates.
* apply_output_config: dpms on before modesetLibravatar Brian Ashworth2019-02-15
| | | | | | | | | | | | On the DRM backend, if an output is dpms'd off and a different output is hotplugged, the CRTC for the output is reclaimed. When modesetting an output without a CRTC, a CRTC will not be given to an output that is not desired to be enabled. This splits setting the dpms state in apply_output_config. If the output should be dpms on, the it is enabled before attempting to modeset. Otherwise, it is dpms'd off after setting everything else. This also adds DPMS_ON to the default output configs.
* seatop_move_tiling: do not move to descendantLibravatar Brian Ashworth2019-02-14
| | | | | | In seatop_move_tiling, it is possible to cause a stack overflow by dragging a container into one of its descendants. This disables the ability to move into a descendant.
* seat: allow tree focus changes while layer focusedLibravatar Brian Ashworth2019-02-14
| | | | | | This allows the focused inactive tree node and visible workspaces to be changed while a surface layer has focus. The layer temporarily loses focus, the tree focus changes, and the layer gets refocused.
* Merge pull request #3675 from RedSoxFan/fix-move-tiling-selfLibravatar Drew DeVault2019-02-14
|\ | | | | seatop_move_tiling: use tab/stack parent not self
| * seatop_move_tiling: use tab/stack parent not selfLibravatar Brian Ashworth2019-02-13
|/ | | | | | | | | | | | When moving a descendant of a tabbed or stacked container, it is possible for the target node to be the node being moved. This causes a segfault in `handle_finish` since the node will be detached and then attempted to be attached to it own parent, which is NULL due to the detach. In this case, the target node should not be set to the node being moved, but the parent of the node. This also allows for a descendant of a tabbed or stacked container to be dragged out of the tabs/stacks and to be a sibling of the tabbbed/stacked container, which was not previously possible.
* subsurface_get_root_coords: break on NULLLibravatar Brian Ashworth2019-02-13
| | | | | | | It is possible for `wlr_surface_is_subsurface` to return true, but `wlr_surface_from_wlr_surface` to be NULL. This adds a NULL check to the value returned by `wlr_surface_from_wlr_surface` and breaks out of the while loop in `subsurface_get_root_coords`.
* cursor: relative-pointer-v1 time is usecLibravatar Brian Ashworth2019-02-13
| | | | | | In handle_cursor_motion, the timestamp passed to `wlr_relative_pointer_manager_v1_send_relative_motion` should be microseconds (not milliseconds) according to relative-pointer-v1 spec.
* Don't remove from scratchpad on move to workspaceLibravatar athrungithub2019-02-12
| | | | | on move container window to another workspace, not remove from scratchpad.