aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorLines
2018-07-25Merge pull request #2352 from RedSoxFan/implement-2335emersion-4/+18
Implement floating_modifier <mod> [inverse|normal]
2018-07-24Change button var passed to seat_begin_moveBrian Ashworth-1/+1
2018-07-24Implement floating_modifier <mod> [inverse|normal]Brian Ashworth-4/+18
2018-07-24Merge pull request #2165 from swaywm/pid-workspacesDrew DeVault-32/+155
Implement pid->workspace tracking
2018-07-24Address @emersion's review commentsDrew DeVault-0/+2
2018-07-24Merge pull request #2346 from RyanDwyer/fix-crash-on-clickDrew DeVault-1/+1
Fix crash when clicking certain surfaces
2018-07-24Fix crash when clicking certain surfacesRyan Dwyer-1/+1
cont was NULL.
2018-07-24Merge pull request #2344 from RyanDwyer/mod-resize-any-directionemersion-0/+6
Make mod+resize work in any direction
2018-07-24Make mod+resize work in any directionRyan Dwyer-0/+6
This makes it so if you hold mod and right click on a surface to resize it, the resize direction is chosen based on which quarter of the surface you've clicked. The previous implementation only resized towards the bottom right.
2018-07-24Merge pull request #2303 from frsfnrrg/mouse-bindingsRyan Dwyer-77/+271
Implement mouse bindings
2018-07-24Merge branch 'master' into mouse-bindingsRyan Dwyer-161/+146
2018-07-23Merge pull request #2284 from frsfnrrg/resolve-workspace-name-todoBrian Ashworth-76/+83
Also extract first workspace name from bindcodes
2018-07-23Also extract first workspace name from bindcodesfrsfnrrg-76/+83
2018-07-23Merge pull request #2340 from RedSoxFan/parse_booleanDrew DeVault-85/+63
Switch to using a function to parse booleans
2018-07-23Invoke mouse bindingsfrsfnrrg-27/+139
The mouse binding logic is inspired/copied from the keyboard binding logic; we store a sorted list of the currently pressed buttons, and trigger a binding when the currently pressed (or just recently pressed, in the case of a release binding) buttons, as well as modifiers/container region, match those of a given binding. As the code to execute a binding is not very keyboard specific, keyboard_execute_command is renamed to seat_execute_command and moved to where the other binding handling functions are. The call to transaction_commit_dirty has been lifted out.
2018-07-23Address review comments on parse_booleanBrian Ashworth-9/+10
2018-07-23Remove unneeded constBrian Ashworth-2/+2
2018-07-23Switch to using a function to parse booleansBrian Ashworth-85/+62
2018-07-23Parse mouse binding optionsfrsfnrrg-52/+134
First, the existing sway_binding structure is given an enumerated type code. As all flags to bindsym/bindcode are boolean, a single uint32 is used to hold all flags. The _BORDER, _CONTENTS, _TITLEBAR flags, when active, indicate in which part of a container the binding can trigger; to localize complexity, they do not overlap with the command line arguments, which center around _TITLEBAR being set by default. The keyboard handling code is adjusted for this change, as is binding_key_compare; note that BINDING_LOCKED is *not* part of the key portion of the binding. Next, list of mouse bindings is introduced and cleaned up. Finally, the binding command parsing code is extended to handle the case where bindsym is used to describe a mouse binding rather than a keysym binding; the difference between the two may be detected as late as when the first key/button is parsed, or as early as the first flag. As bindings can have multiple keycodes/keysyms/buttons, mixed keysym/button sequences are prohibited.
2018-07-23Merge branch 'master' into pid-workspacesDrew DeVault-2108/+5352
2018-07-24Merge pull request #2342 from RyanDwyer/update-cursoremersion-0/+1
Fix some cases where the cursor doesn't update
2018-07-24Fix some cases where the cursor doesn't updateRyan Dwyer-0/+1
cursor_set_image only uploads the named image if it doesn't match the previous named image. This means when setting the cursor image to a surface as given by a client, we have to clear the currently stored image.
2018-07-23Merge pull request #2341 from RedSoxFan/fix-2339Drew DeVault-0/+1
Add missing checks to fix 2339
2018-07-23Add missing checks to fix 2339Brian Ashworth-0/+1
2018-07-23Merge pull request #2338 from somdoron/masteremersion-1/+1
fix crash on new output while swaylock is running
2018-07-23fix crash on new output while swaylock is runningsomdoron-1/+1
2018-07-23Merge pull request #2323 from RyanDwyer/scratchpadDrew DeVault-5/+290
Implement scratchpad
2018-07-23Store scratchpad list in sway_root instead of serverRyan Dwyer-18/+18
2018-07-23Implement scratchpadRyan Dwyer-5/+290
Implements the following commands: * move scratchpad * scratchpad show * [criteria] scratchpad show Also fixes these: * Fix memory leak when executing command with criteria (use `list_free(views)` instead of `free(views)`) * Fix crash when running `move to` with no further arguments
2018-07-23Merge pull request #2328 from emersion/xdg-shell-set-titleRyan Dwyer-2/+54
Handle set_{title,app_id} for xdg-shell and zxdg-shell-v6
2018-07-22Handle set_{title,app_id} for xdg-shell and zxdg-shell-v6emersion-2/+54
This allows to update the title even if the view doesn't commit. This is useful e.g. when a terminal sets its toplevel title to the currently running command and when the view isn't visible.
2018-07-22Merge pull request #2296 from RyanDwyer/floating-modifieremersion-33/+592
Implement floating_modifier and mouse operations for floating views
2018-07-22Set cursor when beginning resize and move operationsRyan Dwyer-0/+10
2018-07-22Fix damage when shrinking a floating view using cursorRyan Dwyer-1/+0
2018-07-22Implement request_move and request_resize for xwayland viewsRyan Dwyer-0/+42
I discovered we have to send a click event when ending the move or resize operation to make xwayland's requests work correctly.
2018-07-22Fix focus bug with floating containersRyan Dwyer-0/+1
2018-07-22Deny move/resize events for tiled xdg shell viewsRyan Dwyer-0/+12
2018-07-22Consider view's min/max sizes when resizingRyan Dwyer-1/+52
2018-07-22Store last button and use it when views request to move or resizeRyan Dwyer-28/+37
2018-07-22Prevent re-uploading the same cursor image multiple timesRyan Dwyer-9/+17
2018-07-22Replace static handle_end_operation with seat_end_mouse_operationRyan Dwyer-18/+23
2018-07-22Remove unnecessary includesRyan Dwyer-10/+0
2018-07-22Implement xdg shell request_move and request_resize eventsRyan Dwyer-73/+144
Also does a few other related things: * Now uses enum wlr_edges instead of our own enum resize_edge * Now uses wlr_xcursor_get_resize_name and removes our own find_resize_edge_name * Renames drag to move for consistency
2018-07-22Use wlr_keyboard_get_modifiersRyan Dwyer-2/+2
2018-07-22Use separate function for choosing edge cursorRyan Dwyer-31/+28
2018-07-22Improve resize performance by partially flushing the transaction queueRyan Dwyer-11/+3
When interactively resizing some views (eg. Nautilus), new transactions are added to the queue faster than the client can process them. Previously, we would wait for the entire queue to be ready before applying any of them, but in this case the transactions would time out, giving the client choppy performance. This changes the queue handling so it applies the transactions up to the first waiting transaction, without waiting for the entire queue to be ready.
2018-07-22Fix clicking xwayland menusRyan Dwyer-0/+3
2018-07-22Use max multiplier when resizing while preserving ratioRyan Dwyer-3/+3
2018-07-22Fix damage issue when moving and resizingRyan Dwyer-4/+5
2018-07-22Make mod + resize do it from the top left cornerRyan Dwyer-15/+5