aboutsummaryrefslogtreecommitdiffstats
path: root/sway/input/cursor.c
Commit message (Collapse)AuthorAge
...
| * more style fixes, included "sway/config.h" where neededLibravatar Pascal Pascher2018-07-25
| |
| * style fixes, exclude sway/desctop/xwayland.c when enable_xwayland: falseLibravatar Pascal Pascher2018-07-24
| |
| * Added meson option "enable_xwayland" (default: true) to enable/disable ↵Libravatar Pascal Pascher2018-07-24
| | | | | | | | xwayland support
* | Change button var passed to seat_begin_moveLibravatar Brian Ashworth2018-07-24
| |
* | Implement floating_modifier <mod> [inverse|normal]Libravatar Brian Ashworth2018-07-24
|/
* Fix crash when clicking certain surfacesLibravatar Ryan Dwyer2018-07-24
| | | | cont was NULL.
* Make mod+resize work in any directionLibravatar Ryan Dwyer2018-07-24
| | | | | | | 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.
* Invoke mouse bindingsLibravatar frsfnrrg2018-07-23
| | | | | | | | | | | | | | | | 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.
* Fix some cases where the cursor doesn't updateLibravatar Ryan Dwyer2018-07-24
| | | | | | | 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.
* Set cursor when beginning resize and move operationsLibravatar Ryan Dwyer2018-07-22
|
* Fix damage when shrinking a floating view using cursorLibravatar Ryan Dwyer2018-07-22
|
* Implement request_move and request_resize for xwayland viewsLibravatar Ryan Dwyer2018-07-22
| | | | | I discovered we have to send a click event when ending the move or resize operation to make xwayland's requests work correctly.
* Fix focus bug with floating containersLibravatar Ryan Dwyer2018-07-22
|
* Consider view's min/max sizes when resizingLibravatar Ryan Dwyer2018-07-22
|
* Store last button and use it when views request to move or resizeLibravatar Ryan Dwyer2018-07-22
|
* Prevent re-uploading the same cursor image multiple timesLibravatar Ryan Dwyer2018-07-22
|
* Replace static handle_end_operation with seat_end_mouse_operationLibravatar Ryan Dwyer2018-07-22
|
* Implement xdg shell request_move and request_resize eventsLibravatar Ryan Dwyer2018-07-22
| | | | | | | | | 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
* Use wlr_keyboard_get_modifiersLibravatar Ryan Dwyer2018-07-22
|
* Use separate function for choosing edge cursorLibravatar Ryan Dwyer2018-07-22
|
* Fix clicking xwayland menusLibravatar Ryan Dwyer2018-07-22
|
* Use max multiplier when resizing while preserving ratioLibravatar Ryan Dwyer2018-07-22
|
* Make mod + resize do it from the top left cornerLibravatar Ryan Dwyer2018-07-22
|
* Use WLR_MODIFIER_SHIFTLibravatar Ryan Dwyer2018-07-22
|
* Implement floating_modifier and mouse operations for floating viewsLibravatar Ryan Dwyer2018-07-22
| | | | | | | | | | | | | | This implements the following: * `floating_modifier` configuration directive * Drag a floating window by its title bar * Hold mod + drag a floating window from anywhere * Resize a floating view by dragging the border * Resize a floating view by holding mod and right clicking anywhere on the view * Resize a floating view and keep aspect ratio by holding shift while resizing using either method * Mouse cursor turns into resize when hovering floating border or corner
* Fix crash and render issues involving cursor_send_pointer_motionLibravatar Ryan Dwyer2018-07-19
| | | | | | | | | | | | | | | | | | | | | | | | Fixes #2303, as well as a crash. To replicate the crash: * Have multiple outputs * In config: for_window [<criteria>] workspace foo * Also in config: workspace foo output <left-output-name> * Focus the right output, and ensure workspace foo doesn't exist * Launch the app that triggers the criteria When the view maps, it calls workspace_switch which calls send_set_focus which calls cursor_send_pointer_motion which calls transaction_commit_dirty. This call to transaction_commit_dirty is not meant to happen at this time because the tree isn't guaranteed to be in a consistent state, but I'm not sure how exactly this leads to the crash or render issues. In this case the transaction is already committed by the view implementation's handle_map function. So the solution is to remove it from cursor_send_pointer_motion and add it to the other functions in cursor.c which call cursor_send_pointer_motion.
* Make focus part of transactionsLibravatar Ryan Dwyer2018-07-15
| | | | | | | | | | | | Rather than maintain copies of the entire focus stack, this PR transactionises the focus by introducing two new properties to the container state and using those when rendering. * `bool focused` means this container has actual focus. Only one container should have this equalling true in its current state. * `struct sway_container *focus_inactive_child` points to the immediate child that was most recently focused (eg. for tabbed and stacked containers).
* Update for swaywm/wlroots#1126Libravatar emersion2018-07-09
|
* Fix pointer button events for layer surfacesLibravatar Brian Ashworth2018-07-05
|
* dont focus-follow-mouse when keyboard grabLibravatar Tony Crisci2018-06-24
|
* Render drag iconsLibravatar emersion2018-06-09
|
* Initialise previous cursor position.Libravatar Scott Leggett2018-06-06
| | | | | Fix the problem with focus jumping to the container under the cursor when first starting sway.
* Don't set focus to NULL when clicking a surface which has no containerLibravatar Ryan Dwyer2018-06-04
|
* Store swayc coordinates as layout-localLibravatar Ryan Dwyer2018-06-01
|
* Implement floatingLibravatar Ryan Dwyer2018-06-01
|
* Improve comment.Libravatar Scott Leggett2018-05-28
|
* Avoid assert on container type.Libravatar Scott Leggett2018-05-28
|
* Move previous cursor_position inline.Libravatar Scott Leggett2018-05-28
|
* Simplify logic, remove redundant variables.Libravatar Scott Leggett2018-05-28
|
* Rely on view_is_visible rather thank walking the tree ourselves.Libravatar Scott Leggett2018-05-28
|
* Store previous position in sway_cursor.Libravatar Scott Leggett2018-05-28
|
* Focus containers only on entry.Libravatar Scott Leggett2018-05-27
|
* Replace oft-failing abort with if statementLibravatar Drew DeVault2018-05-26
| | | | Fixes #2045
* Check for next_focus before assertLibravatar Ivan Chebykin2018-05-26
|
* Fix usage of sway_assertLibravatar Ivan Chebykin2018-05-26
|
* Moved visibility check of of loop, added assertsLibravatar Ivan Chebykin2018-05-26
|
* Break after first tabbed/stacked layoutLibravatar Ivan Chebykin2018-05-25
|
* Fix mouse focusing for horizontal/vertical views in tabbed containersLibravatar Ivan Chebykin2018-05-25
|
* Fixed styling issuesLibravatar Ivan Chebykin2018-05-25
|
* Focus inactive container instead of checking cursor positionLibravatar Ivan Chebykin2018-05-25
|