aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-09-08code style fixesArmin Preiml
2018-09-08get_tree: percent cast to double on divisionArmin Preiml
2018-09-08get_tree: default valuesArmin Preiml
Added default values for all nodes, because the i3 get_tree always returns all fields inside the json objects. Add geometry and window for views. Window is only availabel on x11 windows otherwise it's NULL. Calculate percent only if parent is not empty to avoid division by 0.
2018-09-08missing ipc stuff: rebase to typesafetyArmin Preiml
2018-09-07Merge pull request #2603 from emersion/fix-dndDrew DeVault
Fix drag-and-drop
2018-09-07Fix drag-and-dropemersion
2018-09-06Merge pull request #2600 from RyanDwyer/fix-workspace-switchingDrew DeVault
Fix workspace switching
2018-09-07Fix workspace switchingRyan Dwyer
The output also needs to be made dirty when focusing a new output.
2018-09-06Merge pull request #2594 from RyanDwyer/fix-pinentryemersion
Float views when min == max on either dimension
2018-09-06Merge pull request #2593 from RyanDwyer/dont-be-so-dirtyDrew DeVault
Don't dirty outputs unnecessarily
2018-09-06Float views when min == max on either dimensionRyan Dwyer
This fixes pinentry-gtk-2, but might make other views floating which would otherwise be tiled. This patch is more of a trial which could end up becoming a permanent fix.
2018-09-06Don't dirty outputs unnecessarilyRyan Dwyer
2018-09-06Merge pull request #2592 from RyanDwyer/fix-fullscreen-unmap-focusemersion
Second attempt at restoring focus when closing a fullscreen view
2018-09-06Second attempt at restoring focus when closing a fullscreen viewRyan Dwyer
To reproduce the problem this is fixing, create H[view view view], fullscreen one of the views and close it. The entire workspace will be given focus rather than one of the siblings. This happens because we emit the destroy event, so the seat code tries to find a new focus, but the view it finds is still believed to be hidden by the fullscreen view so it's discarded and the workspace is used instead. This clears the workspace's fullscreen pointer prior to emitting the destroy event so that the seat code finds an appropriate new focus.
2018-09-06Merge pull request #2591 from RyanDwyer/fix-workspace-switchBrian Ashworth
Make outputs dirty when changing focus
2018-09-06Make outputs dirty when changing focusRyan Dwyer
Fixes a workspace switch bug introduced by 5967ee1fbcba66ea57d971b924a51209a70d3aaa.
2018-09-06Merge pull request #2589 from RyanDwyer/seat-set-focus-typeemersion
Introduce seat_set_focus_container and seat_set_focus_workspace
2018-09-06Merge pull request #2590 from RyanDwyer/fix-output-active-workspaceBrian Ashworth
Fix crash when switching to new workspace during transaction
2018-09-06Fix crash when switching to new workspace during transactionRyan Dwyer
When rendering, the workspace for the output needs to be retrieved from the output's `current` state. output_get_active_workspace returns the pending workspace, which crashes if the pending workspace is new and hasn't completed a transaction yet.
2018-09-06Introduce seat_set_focus_container and seat_set_focus_workspaceRyan Dwyer
These are the same as seat_set_focus, but accept a specific type rather than using nodes. Doing this adds more typesafety and lets us avoid using &con->node which looks a little ugly. This fixes a crash that pretty much nobody would ever come across. If you have a bindsym for "focus" with no arguments and run it from an empty workspace, sway would crash because it assumes `container` is not NULL.
2018-09-06Merge pull request #2578 from RyanDwyer/fix-binding-reloademersion
Fix management of bindings during reload
2018-09-06Merge pull request #2587 from RyanDwyer/fix-layout-toggle-crashBrian Ashworth
Fix crash when running "layout toggle"
2018-09-06Fix crash when running "layout toggle"Ryan Dwyer
The argc and argv used in this function are the same ones used by the layout command itself.
2018-09-05Merge pull request #2586 from RyanDwyer/fix-fullscreen-focus-crashDrew DeVault
Fix crash when focusing from fullscreen in an invalid direction
2018-09-05Merge pull request #2585 from RyanDwyer/fix-move-across-outputsDrew DeVault
Fix crash when moving view across outputs
2018-09-06Fix crash when focusing from fullscreen in an invalid directionRyan Dwyer
* Fullscreen a view * Run `focus <direction>` where there is no output in that direction The output returned was rightfully NULL, which needs to be handled.
2018-09-05Merge pull request #2583 from RyanDwyer/fix-null-surface-crashDrew DeVault
Fix crash when views rapidly map and unmap
2018-09-06Fix crash when moving view across outputsRyan Dwyer
It was incorrectly determining that the container being moved and the destination had the same parent, which resulted in tree corruption. Both parents can be NULL but the containers may belong to different workspaces. To reproduce, create layout H[V[view] view] in one workspace then move a view left or right from another output into that workspace.
2018-09-05Merge pull request #2582 from ascent12/funcDrew DeVault
Remove __PRETTY_FUNCTION__
2018-09-06Fix crash when views rapidly map and unmapRyan Dwyer
Suppose the following: * Transactions are already in progress - say transaction A. * View A maps, which creates transaction B and appends it to the transaction queue. * View B maps, which creates transaction C and appends it to the queue. * View A unmaps, which creates transaction D and appends it to the queue. * Transaction A completes, so transaction B attempts to save View A's buffer, but this doesn't exist so it saves nothing. * Rendering code attempts to render View A, but there is no saved buffer nor live buffer that it can use. Rather than implement an elaborate solution for a rare circumstance, I've take the safe option of just not rendering anything for that view. It means that if you reproduce the scenario above, you might get the title and borders rendered but no surface.
2018-09-06Remove __PRETTY_FUNCTION__Scott Anderson
This is a non-standard extension as well as completely useless in C. __func__ is the standard way of doing this.
2018-09-05Merge pull request #2579 from RyanDwyer/adjust-container-boxDrew DeVault
Adjust container box
2018-09-05Merge pull request #2580 from RyanDwyer/fix-focus-after-fullscreenDrew DeVault
Restore focus correctly when closing a fullscreen view
2018-09-06Restore focus correctly when closing a fullscreen viewRyan Dwyer
We weren't calling seat_send_focus. I think this was previously called by seat_set_focus_warp.
2018-09-06Adjust container boxRyan Dwyer
Prior to f5b9815128b6c000bb5d47c339480fa481a5e99d, children of tabbed and stacked containers would have their container size and position set to the same as the tabbed/stacked container. Normally this would be a problem for a layout such as T[V[view]], but there was some code in the arrange functions which would check if the grandparent of the view was a tabbed or stacked container and would offset the view's Y accordingly. Commit f5b9815128b6c000bb5d47c339480fa481a5e99d changed the box to exclude the titlebar for all tabbed/stacked children so that the grandparent check could be removed. But this meant the title was not covered in the container and wasn't damaged when the child changed its title. This patch changes it so that a child of a tabbed/stacked container will have its box include the title bar if the child is a view, but not if it's a layout container. This fixes the title damage issue while avoiding the grandparent check in the arrange functions, and matches what we see visually.
2018-09-06Fix management of bindings during reloadRyan Dwyer
seat_execute_command needs to check the flags on `binding_copy`, as `binding` will be a dangling pointer after a reload command. handle_keyboard_key needs to set the next_repeat_binding for non-reloads prior to executing the command in case the binding is freed by the reload command.
2018-09-05Merge pull request #2572 from RedSoxFan/wlr-output-disablingDrew DeVault
Call wlr_output_enable on enable/disable if needed
2018-09-05Call wlr_output_enable on enable/disable if neededBrian Ashworth
2018-09-05Merge pull request #2540 from RyanDwyer/typesafetyDrew DeVault
Implement type safe arguments and demote sway_container
2018-09-05Merge pull request #2574 from ammgws/block-bg-fixemersion
Fix swaybar block background fill logic
2018-09-05Fix swaybar block background fill logicJason
Same as #2571 but for 1.0.
2018-09-05Allow marked containers to be moved out of the scratchpad via move commandRyan Dwyer
2018-09-05Fix inversed condition in criteriaRyan Dwyer
2018-09-05Fix clicking workspace buttonsRyan Dwyer
Because node_at_coords was returning the workspace's node, it interpreted this as clicking the focused workspace which was a no op.
2018-09-05Fix crash when view in scratchpad becomes urgentRyan Dwyer
2018-09-05Focus empty workspace when clicking itRyan Dwyer
Also removes container_at_coords as this function is no longer necessary.
2018-09-05Fix crash when running layout toggle splitRyan Dwyer
2018-09-05Fix floating view moving to 0,0 when splittingRyan Dwyer
2018-09-05Fix crash when using focus parent/child from an empty workspaceRyan Dwyer
2018-09-05Fix scratchpad related crashesRyan Dwyer
* Was crashing when a view was moved to the scratchpad (prev focus had no parent). * Was crashing when a hidden scratchpad view unmaps because it has no workspace.