aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* Fix crash on reloadLibravatar Ryan Dwyer2018-09-01
| | | | | | | | | | | | | | | | If sway is reloaded using a bindsym which has multiple commands, it failed to detect the reload command, didn't create a duplicate of the binding and would crash because the reload command frees the bindings. For example: mode system { bindsym r reload, mode default } In this example, the binding->command is "reload, mode default". Fixes #2545
* Merge pull request #2546 from RyanDwyer/fix-transaction-spammingLibravatar emersion2018-08-31
|\ | | | | Don't send never-ending transactions when a focused layer surface commits
| * Don't send never-ending transactions when a focused layer surface commitsLibravatar Ryan Dwyer2018-08-31
|/ | | | | | | | | | | This moves the arrange_windows call into the arrange_layers function, where we know the output actually needs to be arranged. Additionally, we shouldn't set focus to the parent of an unknown container type, because the parent may be an output and this causes a crash because outputs can't have direct focus. Fixes #2543
* Merge pull request #2537 from ianyfan/commandsLibravatar Drew DeVault2018-08-29
|\ | | | | commands: fix exec quoting
| * commands: fix exec quotingLibravatar Ian Fan2018-08-29
| |
* | Merge pull request #2531 from RyanDwyer/maybe-fix-transaction-crashLibravatar Drew DeVault2018-08-29
|\ \ | |/ |/| Don't use bitfield to test for similar transactions
| * Don't use bitfield to test for similar transactionsLibravatar Ryan Dwyer2018-08-29
| | | | | | | | | | | | | | | | | | | | | | | | When there's multiple transactions in the queue, sway can take a shortcut by checking if they all operate on the same set of containers. If they do, it can skip all but the last transaction. The way we tested for transactions which used the same containers was to exclusive-or their con IDs together, but this has proved not only to be ineffective but also has the potential to make sway crash. This patch replaces the exclusive-or with a loop and container comparison.
* | Merge pull request #2536 from RyanDwyer/fix-nested-tabsLibravatar Brian Ashworth2018-08-29
|\ \ | | | | | | Fix rendering of nested tabs
| * | Fix rendering of nested tabsLibravatar Ryan Dwyer2018-08-29
|/ / | | | | | | The C_CONTAINER check needs to apply to C_VIEW as well.
* | Merge pull request #2535 from RyanDwyer/fix-reap-crashLibravatar Drew DeVault2018-08-28
|\ \ | | | | | | Fix crash when reaping a workspace
| * | Fix crash when reaping a workspaceLibravatar Ryan Dwyer2018-08-29
|/ / | | | | | | It wasn't returning the surviving container.
* | Merge pull request #2533 from RyanDwyer/fix-workspace-tabsLibravatar Drew DeVault2018-08-28
|\ \ | |/ |/| Fix workspace tabs
| * Fix workspace tabsLibravatar Ryan Dwyer2018-08-29
|/ | | | | | | | | | When collecting focus to save into the transaction state, the workspace needs to look in the tiling list only. As seat_get_focus_inactive_tiling returns any descendant, the list also needs to be traversed back up to the direct child of the workspace. Fixes #2532
* Merge pull request #2526 from ianyfan/commandsLibravatar Brian Ashworth2018-08-28
|\ | | | | Fix moving container to inactive workspace on different output
| * Merge branch 'master' into commandsLibravatar Brian Ashworth2018-08-28
| |\ | |/ |/|
* | Merge pull request #2528 from fokditkak/add-bulgarian-readmeLibravatar Drew DeVault2018-08-28
|\ \ | | | | | | Add bulgarian readme
| * | added ref to bulgarian translationLibravatar Martin Kalchev2018-08-28
| | |
| * | spellcheck and help add.Libravatar Martin Kalchev2018-08-28
| | |
| * | initial commitLibravatar Martin Kalchev2018-08-28
| | |
| | * commands: fix moving container to different outputLibravatar Ian Fan2018-08-28
| |/ |/| | | | | When moving a container to an inactive workspace on a different output, this will change the focus on the destination output back to its last active workspace
* | Merge pull request #2511 from RyanDwyer/refactor-arrangeLibravatar Drew DeVault2018-08-28
|\ \ | | | | | | Prepare arrange code for type safe arguments
| * | Fix gaps issuesLibravatar Ryan Dwyer2018-08-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | * In layout command, arrange parent of parent - not sure why this is needed but it is * Remove gap adjustment when rendering * Workspace should use outer gaps, not inner * Add exceptions for tabbed and stacked containers * Don't mess with gap state when splitting a container
| * | Prepare arrange code for type safe argumentsLibravatar Ryan Dwyer2018-08-28
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit changes the arrange code in a way that will support type safe arguments. The arrange_output et al functions are now public, however I opted not to use them directly yet. I've kept the generic arrange_windows there for convenience until type safety is fully implemented. This means this patch has much less risk of breaking things as it would otherwise. To be type safe, arrange_children_of cannot exist in its previous form because the thing passed to it could be either a workspace or a container. So it's now renamed to arrange_children and accepts a list_t, as well as the parent layout and parent's box. There was some code which checked the grandparent's layout to see if it was tabbed or stacked and adjusted the Y offset of the grandchild accordingly. Accessing the grandparent layout isn't easy when using type safe arguments, and it seemed odd to even need to do this. I determined that this was needed because a child of a tabbed container would have a swayc Y matching the top of the tab bar. I've changed this so a child of a tabbed container will have a swayc Y matching the bottom of the tab bar, which means we don't need to access the grandparent layout. Some tweaks to the rendering and autoconfigure code have been made to implement this, and the container_at code appears to work without needing any changes. arrange_children_of (now arrange_children) would check if the parent had gaps and would copy them to the child, effectively making the workspace's gaps recurse into all children. We can't do this any more without passing has_gaps, gaps_inner and gaps_outer as arguments to arrange_children, so I've changed the add_gaps function to retrieve it from the workspace directly. apply_tabbed_or_stacked_layout has been split into two functions, as it had different logic depending on the layout. Lastly, arrange.h had an unnecessary include of transaction.h. I've removed it, which means I've had to add it to several other files.
* | Merge pull request #2523 from RedSoxFan/fix-floating-drag-outputsLibravatar Drew DeVault2018-08-27
|\ \ | | | | | | Stop floaters from snapping on move to new output
| * | Stop floaters from snapping on move to new outputLibravatar Brian Ashworth2018-08-27
| | |
* | | Merge pull request #2494 from RyanDwyer/fix-overflowing-subsurfacesLibravatar Drew DeVault2018-08-27
|\ \ \ | | | | | | | | Allow subsurfaces which overflow the container to be interacted with
| * | | Allow subsurfaces which overflow the container to be interacted withLibravatar Ryan Dwyer2018-08-19
| | | | | | | | | | | | | | | | Fixes #2492.
* | | | Merge pull request #2520 from RedSoxFan/destroy-empty-ws-on-evacLibravatar Drew DeVault2018-08-27
|\ \ \ \ | | | | | | | | | | Destroy empty workspaces in output_evacuate
| * | | | Destroy empty workspaces in output_evacuateLibravatar Brian Ashworth2018-08-27
| | |/ / | |/| |
* | | | Merge pull request #2519 from ianyfan/set-focus-cleanupLibravatar Drew DeVault2018-08-27
|\ \ \ \ | | | | | | | | | | seat.c: clean-up seat_set_focus_warp function
| * | | | seat.c: clean-up seat_set_focus_warp functionLibravatar Ian Fan2018-08-27
|/ / / /
* | | | Merge pull request #2522 from ascent12/build_fixLibravatar Drew DeVault2018-08-27
|\ \ \ \ | |/ / / |/| | | Build fix
| * | | Initialise variable properlyLibravatar Scott Anderson2018-08-27
| | | |
| * | | Hide deprecated wayland functionsLibravatar Scott Anderson2018-08-27
|/ / /
* | | Merge pull request #2518 from ianyfan/ipcLibravatar Brian Ashworth2018-08-26
|\ \ \ | | | | | | | | Emit window close event earlier, before destroying
| * | | ipc: clean-up container_create_notify functionLibravatar Ian Fan2018-08-26
| | | |
| * | | ipc: emit window close event earlier, before destroyingLibravatar Ian Fan2018-08-26
|/ / /
* | | Merge pull request #2517 from fokditkak/add_fish_completionLibravatar Drew DeVault2018-08-26
|\ \ \ | | | | | | | | Add fish completion
| * | | added fish to meson.buildLibravatar Martin Kalchev2018-08-26
| | | |
| * | | added untested filesLibravatar Martin Kalchev2018-08-26
| | | |
* | | | Merge pull request #2513 from RyanDwyer/rename-root-outputsLibravatar Drew DeVault2018-08-26
|\ \ \ \ | | | | | | | | | | Rename sway_root.outputs to sway_root.all_outputs
| * | | | Add comment for sway_root.all_outputsLibravatar Ryan Dwyer2018-08-25
| | | | |
| * | | | Rename sway_root.outputs to sway_root.all_outputsLibravatar Ryan Dwyer2018-08-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This list includes disabled outputs. When sway_container is demoted, we'll need to store the root's children (ie. enabled outputs) in the sway_root. It makes sense to put these in a list called `outputs`, so I'm renaming the existing list in advance.
* | | | | Merge pull request #2515 from RyanDwyer/remove-layout-fileLibravatar Drew DeVault2018-08-26
|\ \ \ \ \ | |_|/ / / |/| | | | Remove layout.c
| * | | | Remove layout.cLibravatar Ryan Dwyer2018-08-26
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we have type safety we'll need to have functions for workspace_add_tiling and so on. This means the existing container functions will be just for containers, so they are being moved to container.c. At this point layout.c doesn't contain much else, so I've relocated everything and removed the file. * container_swap and its static functions have been moved to the swap command and made static. * container_recursive_resize has been moved to the resize command and made static. * The following have been moved to container.c: * container_handle_fullscreen_reparent * container_insert_child * container_add_sibling * container_add_child * container_remove_child * container_replace_child * container_split * enum movement_direction and sway_dir_to_wlr have been moved to util.c. Side note: Several commands included layout.h which then included root.h. With layout.h gone, root.h has to be included by those commands.
* | | | Merge pull request #2488 from RyanDwyer/separate-gaps-functionsLibravatar Drew DeVault2018-08-25
|\ \ \ \ | | | | | | | | | | Make separate gaps functions per container type
| * | | | Make separate gaps functions per container typeLibravatar Ryan Dwyer2018-08-26
|/ / / / | | | | | | | | | | | | In preparation for using type safety.
* | | | Merge pull request #2512 from apreiml/workspace_move_wrapLibravatar Brian Ashworth2018-08-25
|\ \ \ \ | |/ / / |/| | | Workspace move cycle
| * | | Workspace move cycleLibravatar Armin Preiml2018-08-25
|/ / / | | | | | | | | | | | | On move workspace to direction: Try the farthest on the opposite direction if no workspace is found at given direction.
* | | Merge pull request #2510 from RyanDwyer/relocate-layout-functionsLibravatar Drew DeVault2018-08-25
|\ \ \ | | | | | | | | Relocate container_move, container_move_to and container_get_in_direction