aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorLines
2018-08-18Set current size when a floating xwayland view resizesRyan Dwyer-0/+2
This avoids sending an unnecessary configure.
2018-08-18Handle xwayland views sending new sizes in their commitsRyan Dwyer-2/+11
2018-08-18Add get_geometry for xdg_shell_v6Ryan Dwyer-1/+13
2018-08-18Render saved buffer using saved geometryRyan Dwyer-4/+2
2018-08-18Fix geometryRyan Dwyer-10/+57
2018-08-18Add view_get_geometryemersion-37/+28
2018-08-18Don't send motion if the cursor hasn't movedRyan Dwyer-1/+6
Prevents GTK+ comboboxes from immediately closing.
2018-08-18Rename mousedown to down and make seat operation a named enumRyan Dwyer-17/+18
2018-08-18Implement mousedown operationRyan Dwyer-1/+50
This allows you to move the cursor off the surface while dragging its scrollbar.
2018-08-17Merge pull request #2472 from RyanDwyer/refactor-seat-get-focusDrew DeVault-55/+81
Refactor seat_get_focus functions
2018-08-17Merge pull request #2471 from RyanDwyer/reap-when-floatingemersion-1/+2
Attempt to reap old tiling parent when floating a container
2018-08-17Merge pull request #2474 from RyanDwyer/transactionise-csdemersion-3/+5
Add using_csd variable to transaction state
2018-08-17Add using_csd variable to transaction stateRyan Dwyer-3/+5
This fixes a race condition flicker when unfloating a view which uses client side decorations. When the view is floated it has using_csd = true, so the decorations are not drawn. When unfloating it it changes to false, but this change wasn't part of transactions so it could potentially render the decorations around the view while it's waiting for the transaction to apply.
2018-08-17Refactor seat_get_focus functionsRyan Dwyer-55/+81
Fixes #2467. This commit introduces seat_get_focus_inactive_floating to supplement seat_get_focus_inactive_tiling, and uses it during `focus mode_toggle` which fixes a focus bug. This also refactors the seat_get_focus_inactive functions so that they do their selection logic themselves rather than offloading it to seat_get_focus_by_type which was getting bloated. seat_get_focus_by_type is now removed. Lastly, this commit changes seat_get_focus to just return the first container in the focus stack rather than looping and calling seat_get_focus_by_type.
2018-08-17Attempt to reap old tiling parent when floating a containerRyan Dwyer-1/+2
2018-08-17Merge pull request #2465 from DonnieWest/masterRyan Dwyer-1/+2
Default to the previous workspace if the current one has no focused windows
2018-08-16When the workspace is focused, return it instead of checking parentDonnie West-1/+2
2018-08-16Fix swaylock zsh completionsIan Fan-3/+3
2018-08-15Merge pull request #2458 from RyanDwyer/cleanup-transactionsDrew DeVault-80/+51
Simplify transactions
2018-08-15Merge pull request #2459 from RyanDwyer/fix-workspace-prev-nextemersion-69/+36
Use list_find in more places and refactor/fix workspace prev_next functions
2018-08-15Use list_find in more places and refactor/fix workspace prev_next functionsRyan Dwyer-69/+36
The original purpose of this commit is to replace some for loops with list_find. But while doing this I found the workspace_prev_next_impl functions to be difficult to read and also contained a bug, so I refactored them and fixed the bug. To reproduce the bug: * Have two outputs, where the left output has workspaces 1, 2, 3 and the right output has workspaces 4, 5, 6. Make workspace 2 focused_inactive and workspace 4 focused. * Run `workspace prev`. * Previously it would visit the left output, then apply `workspace prev` to workspace 2, which focuses workspace 1. * Now it will focus the rightmost workspace on the left output (workspace 3). The refactoring I made to the workspace functions are: * Added the static keyword. * They now accept an int dir rather than bool, to avoid an unnecessary conversion. * Rather than preparing start and end variables for the purpose of iterating, just iterate everything. * Replace for loops with list_find. * Don't call workspace_output_prev_next_impl (this fixes the bug).
2018-08-15Simplify transactionsRyan Dwyer-80/+51
Commit 4b8e3a885be74c588291c51f798de80bd81a92db makes it so only one transaction is committed (ie. configures sent) at a time. This commit removes the now-unnecessary code which was used to support concurrent committed transactions. * Instead of containers storing a list of instructions which they've been sent, it now stores a single instruction. * Containers now have an ntxnrefs property. Previously we knew how many references there were by the length of the instruction list. * Instructions no longer need a ready property. It was used to avoid marking an instruction ready twice when they were in a list, but this is now avoided because there is only one instruction and we nullify the container->instruction pointer when it's ready. * When a transaction applies, we no longer need to consider releasing and resaving the surface, as we know there are no other committed transactions. * transaction_notify_view_ready has been renamed to view_notify_view_ready_by_serial to make it consistent with transaction_notify_view_ready_by_size. * Out-of-memory checks have been added when creating transactions and instructions.
2018-08-14Merge pull request #2445 from RyanDwyer/resize-tiling-via-cursorDrew DeVault-145/+355
Implement resizing tiled containers via cursor
2018-08-13Merge pull request #2454 from minus7/workspace-namesemersion-2/+13
Use assigned workspace name for output
2018-08-12Use assigned workspace name for outputminus-2/+13
Instead of relying on bindings being configured, primarily source new workspace names from workspace-output assignments. Fixes #2435
2018-08-12Don't commit multiple transactions at the same timeRyan Dwyer-31/+49
2018-08-12Don't progress transaction queue if any are partially completeRyan Dwyer-0/+12
This fixes an issue where views might commit to a transaction ahead of the first one, and applying the first transaction causes us to save a buffer of the wrong size.
2018-08-12Make mod+resize a floating container resize the container itselfRyan Dwyer-1/+1
Rather than resizing the split within the container.
2018-08-12Use col-resize and row-resize cursor imagesRyan Dwyer-6/+23
2018-08-12Fix right-click/popups and add state checksRyan Dwyer-3/+5
2018-08-12Allow resizing tiled views via mod keyRyan Dwyer-18/+42
2018-08-12Refactor dispatch_cursor_buttonRyan Dwyer-96/+94
There was a separate function dispatch_cursor_button_floating which dealt with the resize and move operations, but as resize is not really limited to floating views, it doesn't make as much sense to have this separate. So both functions are now combined into one. Additionally, dispatch_cursor_button now uses a pattern of returning early instead of using else-ifs.
2018-08-12Implement resizing tiled containers via cursorRyan Dwyer-34/+173
* The OP_RESIZE seat operation has been renamed to OP_RESIZE_FLOATING, and OP_RESIZE_TILING has been introduced. * Similar to the above, seat_begin_resize and handle_resize_motion have been renamed and tiling variants introduced. * resize.c's resize_tiled has to be used, so container_resize_tiled has been introduced in resize.c to allow external code to call it.
2018-08-11Merge pull request #2452 from janza/position-command-fix-argsDrew DeVault-1/+1
Man page: Correct argument format for output position config
2018-08-11man: Correct format for output position configJosip Janzic-1/+1
2018-08-11Merge pull request #2451 from RyanDwyer/fix-ancestor-crashDrew DeVault-1/+1
Fix container_has_ancestor crash
2018-08-12Fix container_has_ancestor crashRyan Dwyer-1/+1
Fixes #2450
2018-08-11Merge pull request #2449 from RyanDwyer/remove-bfsDrew DeVault-62/+15
Remove container_for_each_descendant_bfs
2018-08-11Merge pull request #2448 from RyanDwyer/remove-container-has-childemersion-22/+3
Remove container_has_child
2018-08-11Remove container_for_each_descendant_bfsRyan Dwyer-62/+15
The function was not used. Also renames container_for_each_descendant_dfs to just container_for_each_descendant.
2018-08-11Remove container_has_childRyan Dwyer-22/+3
In all cases you can use container_has_ancestor with the arguments swapped, which is faster than container_has_child.
2018-08-10Merge pull request #2447 from ianyfan/swaynag-leakemersion-0/+3
Fix memory leak in swaynag
2018-08-10swaynag: destroy old cursor theme when updatedIan Fan-0/+3
2018-08-10Merge pull request #2446 from emersion/xwayland-unmanaged-orderDrew DeVault-1/+1
xwayland: fix unmanaged surfaces order
2018-08-10xwayland: fix unmanaged surfaces orderemersion-1/+1
2018-08-09Merge pull request #2441 from RyanDwyer/finish-resize-commandsBrian Ashworth-21/+81
Finish resize commands
2018-08-10Update resize documentationRyan Dwyer-9/+9
2018-08-10Implement resize set <width> <height> for tiled containersRyan Dwyer-4/+39
Unlike i3, this implementation allows px measurements. Also fixes a sane size check.
2018-08-10Implement resize grow|shrink <direction> <amount> for tiled containersRyan Dwyer-8/+33
2018-08-09Remove obsolete security sanity checkDrew DeVault-22/+0