aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-09-13Remove bad assertion in workspace_rejiggerRyan Dwyer
The assertion can be (rightfully) triggered by creating layout V[H[view view] view] and moving the top right view to the right. After removing the assertion I found the container being moved needs its size reset to prevent it from being sized wrongly after arranging.
2018-09-12Merge pull request #2622 from ianyfan/i3bar-block-refDrew DeVault
i3bar: count references to blocks
2018-09-12i3bar: count references to blocksIan Fan
This prevents blocks from being destroyed before their hotspots are destroyed, in case it is used for a pending click event that fires between the bar receiving a new status, which destroys the block, and the bar rendering the new status, which destroys the hotspot; this problem can be easily produced by scrolling on a block that immediately causes a new status to be sent, with multiple outputs
2018-09-12Merge pull request #2620 from ianyfan/commandsemersion
commands: when moving a container, restore focus properly
2018-09-11Merge pull request #2624 from RedSoxFan/update-tex-in-cmd-clientDrew DeVault
Update textures for cmd_client_* commands
2018-09-11Merge pull request #2621 from emersion/fix-unmap-segfaultDrew DeVault
Don't use handler_context in view_unmap
2018-09-11Update textures for cmd_client_* commandsBrian Ashworth
Since the `client.{focused,focused_inactive,unfocused,urgent}` commands change colors, the textures need to be updated otherwise the textures and the rest of the title bar may utilize different colors.
2018-09-11Merge pull request #2618 from RyanDwyer/tiling-dragDrew DeVault
Implement tiling drag
2018-09-12Minor fixes to tiling drag implementationRyan Dwyer
* Make container_add_sibling's `after` argument a boolean. * Use a constant for drop layout border * Make thickness an int * Add button state check * Move comments in seat_end_move_tiling
2018-09-11Don't use handler_context in view_unmapemersion
2018-09-11commands: when moving container, remove its gapsIan Fan
2018-09-11commands: when moving container, restore focus properlyIan Fan
2018-09-11Fix crash in workspace_wrap_childrenRyan Dwyer
When workspace_wrap_children is called on a workspace which has a fullscreen child and the fullscreen child is a direct child of the workspace, sway would crash. The workspace's fullscreen pointer is unset when the fullscreen container is detached and applied again when added to a parent, but in this case the parent hadn't yet been added to the workspace which meant con->workspace was NULL. The fix makes container_handle_fullscreen_reparent return if there's no workspace, and the fullscreen pointer is reapplied in workspace_wrap_children.
2018-09-11Fix line lengthRyan Dwyer
2018-09-11Fix dropzone box on scaled outputsRyan Dwyer
2018-09-11Implement tiling dragRyan Dwyer
Hold floating_modifier and drag a tiling view to a new location.
2018-09-11Introduce tiling_drag directiveRyan Dwyer
2018-09-11Rename OP_MOVE to OP_MOVE_FLOATINGRyan Dwyer
In preparation for introducing OP_MOVE_TILING.
2018-09-10Merge pull request #2617 from wmww/cursor-enter-on-focus-changeDrew DeVault
Give windows pointer focus immediately
2018-09-10Minor fixWilliam Wold
2018-09-10Minor fixWilliam Wold
2018-09-10Prevent stacked layout from crashingWilliam Wold
2018-09-10Give windows pointer focus immediately when they are switched toWilliam Wold
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.
2018-09-10Merge pull request #2613 from apreiml/fix_no_last_focus_failemersion
handle_layer_shell_surface: Do not crash if seat doesn't have focus
2018-09-10handle_layer_shell_surface: Do not crash if seat doesn't have focusArmin Preiml
2018-09-08Merge pull request #2609 from ianyfan/commandsDrew DeVault
commands: prevent running empty seat command
2018-09-08commands: prevent running empty seat commandIan Fan
2018-09-08Merge pull request #2530 from apreiml/ipc_missing_get_treeDrew DeVault
start adding missing ipc properties
2018-09-08Merge pull request #2602 from RyanDwyer/fix-title-texturesDrew DeVault
Fix gaps in title textures and vertically center them
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-08Align titles to baselineRyan Dwyer
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.
2018-09-08Fix gaps in title textures and vertically center themRyan Dwyer
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.
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.