aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
...
| * Introduce tiling_drag directiveLibravatar Ryan Dwyer2018-09-11
| |
| * Rename OP_MOVE to OP_MOVE_FLOATINGLibravatar Ryan Dwyer2018-09-11
|/ | | | In preparation for introducing OP_MOVE_TILING.
* Merge pull request #2617 from wmww/cursor-enter-on-focus-changeLibravatar Drew DeVault2018-09-10
|\ | | | | Give windows pointer focus immediately
| * Minor fixLibravatar William Wold2018-09-10
| |
| * Minor fixLibravatar William Wold2018-09-10
| |
| * Prevent stacked layout from crashingLibravatar William Wold2018-09-10
| |
| * Give windows pointer focus immediately when they are switched toLibravatar William Wold2018-09-10
|/ | | | | | Fixes #2401 (aka #2558) Previously, when switching windows, pointer focus was not changed until the pointer was moved. This makes the pointer enter happen immediately, without the side effects of other attempted fixes.
* Merge pull request #2613 from apreiml/fix_no_last_focus_failLibravatar emersion2018-09-10
|\ | | | | handle_layer_shell_surface: Do not crash if seat doesn't have focus
| * handle_layer_shell_surface: Do not crash if seat doesn't have focusLibravatar Armin Preiml2018-09-10
| |
* | Merge pull request #2609 from ianyfan/commandsLibravatar Drew DeVault2018-09-08
|\ \ | |/ |/| commands: prevent running empty seat command
| * commands: prevent running empty seat commandLibravatar Ian Fan2018-09-08
|/
* Merge pull request #2530 from apreiml/ipc_missing_get_treeLibravatar Drew DeVault2018-09-08
|\ | | | | start adding missing ipc properties
| * code style fixesLibravatar Armin Preiml2018-09-08
| |
| * get_tree: percent cast to double on divisionLibravatar Armin Preiml2018-09-08
| |
| * get_tree: default valuesLibravatar Armin Preiml2018-09-08
| | | | | | | | | | | | | | | | | | | | 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.
| * missing ipc stuff: rebase to typesafetyLibravatar Armin Preiml2018-09-08
| |
* | Merge pull request #2602 from RyanDwyer/fix-title-texturesLibravatar Drew DeVault2018-09-08
|\ \ | |/ |/| Fix gaps in title textures and vertically center them
| * Align titles to baselineLibravatar Ryan Dwyer2018-09-08
| | | | | | | | | | | | | | | | | | | | | | | | | | This does the following: * Adds a baseline argument to get_text_size (the baseline is the distance from the top of the texture to the baseline). * Stores the baseline in the container when calculating the title height. * Takes the baseline into account when calculating the config's max font height. * When rendering, pads the textures according to the baseline so they line up.
| * Fix gaps in title textures and vertically center themLibravatar Ryan Dwyer2018-09-08
|/ | | | | | | | | | | | | | | | | | | There was code that attempted to fill in the gap below the title texture when the texture isn't tall enough, but this only worked when the output was positioned at 0,0. The reason is that render_rect expects a box passed in a hybrid layout-local/output-buffer-local system, and we were passing purely output-buffer-local. I've added a comment documenting this. By the way, we can't use layout-local coordinates for the rectangle box because in some cases we set the box based on a texture size. Texture sizes are buffer-local, and we'd have to divide them to bring it back to layout-local which means losing precision. We could use output-buffer-local coordinates for the box, but this would require translating the coordinates from layout-local to output-buffer-local in many places during rendering. This patch also vertically centers the text inside the title bar.
* Merge pull request #2603 from emersion/fix-dndLibravatar Drew DeVault2018-09-07
|\ | | | | Fix drag-and-drop
| * Fix drag-and-dropLibravatar emersion2018-09-07
| |
* | Merge pull request #2600 from RyanDwyer/fix-workspace-switchingLibravatar Drew DeVault2018-09-06
|\ \ | | | | | | Fix workspace switching
| * | Fix workspace switchingLibravatar Ryan Dwyer2018-09-07
|/ / | | | | | | The output also needs to be made dirty when focusing a new output.
* | Merge pull request #2594 from RyanDwyer/fix-pinentryLibravatar emersion2018-09-06
|\ \ | | | | | | Float views when min == max on either dimension
| * | Float views when min == max on either dimensionLibravatar Ryan Dwyer2018-09-06
| | | | | | | | | | | | | | | | | | 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.
* | | Merge pull request #2593 from RyanDwyer/dont-be-so-dirtyLibravatar Drew DeVault2018-09-06
|\ \ \ | |/ / |/| | Don't dirty outputs unnecessarily
| * | Don't dirty outputs unnecessarilyLibravatar Ryan Dwyer2018-09-06
|/ /
* | Merge pull request #2592 from RyanDwyer/fix-fullscreen-unmap-focusLibravatar emersion2018-09-06
|\ \ | | | | | | Second attempt at restoring focus when closing a fullscreen view
| * | Second attempt at restoring focus when closing a fullscreen viewLibravatar Ryan Dwyer2018-09-06
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Merge pull request #2591 from RyanDwyer/fix-workspace-switchLibravatar Brian Ashworth2018-09-06
|\ \ | | | | | | Make outputs dirty when changing focus
| * | Make outputs dirty when changing focusLibravatar Ryan Dwyer2018-09-06
|/ / | | | | | | | | Fixes a workspace switch bug introduced by 5967ee1fbcba66ea57d971b924a51209a70d3aaa.
* | Merge pull request #2589 from RyanDwyer/seat-set-focus-typeLibravatar emersion2018-09-06
|\ \ | | | | | | Introduce seat_set_focus_container and seat_set_focus_workspace
| * | Introduce seat_set_focus_container and seat_set_focus_workspaceLibravatar Ryan Dwyer2018-09-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge pull request #2590 from RyanDwyer/fix-output-active-workspaceLibravatar Brian Ashworth2018-09-06
|\ \ \ | |/ / |/| | Fix crash when switching to new workspace during transaction
| * | Fix crash when switching to new workspace during transactionLibravatar Ryan Dwyer2018-09-06
|/ / | | | | | | | | | | | | 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.
* | Merge pull request #2578 from RyanDwyer/fix-binding-reloadLibravatar emersion2018-09-06
|\ \ | | | | | | Fix management of bindings during reload
| * | Fix management of bindings during reloadLibravatar Ryan Dwyer2018-09-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge pull request #2587 from RyanDwyer/fix-layout-toggle-crashLibravatar Brian Ashworth2018-09-06
|\ \ \ | | | | | | | | Fix crash when running "layout toggle"
| * | | Fix crash when running "layout toggle"Libravatar Ryan Dwyer2018-09-06
|/ / / | | | | | | | | | | | | The argc and argv used in this function are the same ones used by the layout command itself.
* | | Merge pull request #2586 from RyanDwyer/fix-fullscreen-focus-crashLibravatar Drew DeVault2018-09-05
|\ \ \ | | | | | | | | Fix crash when focusing from fullscreen in an invalid direction
| * | | Fix crash when focusing from fullscreen in an invalid directionLibravatar Ryan Dwyer2018-09-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* | | | Merge pull request #2585 from RyanDwyer/fix-move-across-outputsLibravatar Drew DeVault2018-09-05
|\ \ \ \ | | | | | | | | | | Fix crash when moving view across outputs
| * | | | Fix crash when moving view across outputsLibravatar Ryan Dwyer2018-09-06
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Merge pull request #2583 from RyanDwyer/fix-null-surface-crashLibravatar Drew DeVault2018-09-05
|\ \ \ \ | |/ / / |/| | | Fix crash when views rapidly map and unmap
| * | | Fix crash when views rapidly map and unmapLibravatar Ryan Dwyer2018-09-06
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge pull request #2582 from ascent12/funcLibravatar Drew DeVault2018-09-05
|\ \ \ | | | | | | | | Remove __PRETTY_FUNCTION__
| * | | Remove __PRETTY_FUNCTION__Libravatar Scott Anderson2018-09-06
|/ / / | | | | | | | | | | | | This is a non-standard extension as well as completely useless in C. __func__ is the standard way of doing this.
* | | Merge pull request #2579 from RyanDwyer/adjust-container-boxLibravatar Drew DeVault2018-09-05
|\ \ \ | | | | | | | | Adjust container box
| * | | Adjust container boxLibravatar Ryan Dwyer2018-09-06
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge pull request #2580 from RyanDwyer/fix-focus-after-fullscreenLibravatar Drew DeVault2018-09-05
|\ \ \ | |/ / |/| | Restore focus correctly when closing a fullscreen view