aboutsummaryrefslogtreecommitdiff
path: root/include/sway/input/seat.h
AgeCommit message (Collapse)Author
2018-08-18Don't send motion if the cursor hasn't movedRyan Dwyer
Prevents GTK+ comboboxes from immediately closing.
2018-08-18Rename mousedown to down and make seat operation a named enumRyan Dwyer
2018-08-18Implement mousedown operationRyan Dwyer
This allows you to move the cursor off the surface while dragging its scrollbar.
2018-08-17Refactor seat_get_focus functionsRyan Dwyer
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-12Implement resizing tiled containers via cursorRyan Dwyer
* 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-01ipc: prevent emitting a workspace::focus event when moving a container to a ↵Ian Fan
different workspace or output When a container is moved from, say, workspace 1 to workspace 2, workspace 2 is focused in order to arrange the windows before focus is moved back to workspace 1, which caused a workspace:focus event from workspace 2 to workspace 1 to be emitted. This commit inhibits that event.
2018-07-28When unfloating, return container to previously focused tiled containerRyan Dwyer
This introduces seat_get_focus_inactive_tiling and updates `focus mode_toggle` to use it instead, because the previous method wasn't guaranteed to return a tiling view.
2018-07-22Store last button and use it when views request to move or resizeRyan Dwyer
2018-07-22Replace static handle_end_operation with seat_end_mouse_operationRyan Dwyer
2018-07-22Implement xdg shell request_move and request_resize eventsRyan Dwyer
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-22Implement floating_modifier and mouse operations for floating viewsRyan Dwyer
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
2018-07-18Don't unfocus when an override redirect window is mappedemersion
2018-07-15Make focus part of transactionsRyan Dwyer
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).
2018-06-23Fix crash when deleting last child in a tabbed or stacked containerRyan Dwyer
There was no `current` child because the container was destroyed. This makes it fall back to looking in the parent's current children list.
2018-06-09Render drag iconsemersion
2018-05-21Don't track damage for views on inactive tabsRyan Dwyer
2018-04-0880charTony Crisci
2018-04-07seat focus inactive children foreachTony Crisci
2018-04-07seat get focus inactive viewTony Crisci
2018-04-07Give keyboard focus to unmanaged xwayland surfacesemersion
This fixes dmenu
2018-04-04Address review feedbackDrew DeVault
2018-04-04Implement input-inhibit in sway, swaylockDrew DeVault
2018-04-04Add input inhibitor to input managerDrew DeVault
2018-04-02Give exclusive focus to layers above shell layerDrew DeVault
2018-04-02Merge branch 'wlroots' into split-containersTony Crisci
2018-04-02remove unused attachment configTony Crisci
2018-04-02dont copy seat config on the seatTony Crisci
2018-04-02rename seat functionsTony Crisci
2018-03-31basic split containersTony Crisci
2018-03-31Address review feedbackDrew DeVault
2018-03-29Revert "Merge pull request #1653 from swaywm/revert-1647-refactor-tree"Tony Crisci
This reverts commit 472e81f35d689d67cda241acafda91c688d61046, reversing changes made to 6b7841b11ff4cd35f54d69dc92029855893e5ce0.
2018-03-29Revert "Refactor tree"Drew DeVault
2018-03-29rename container functionsTony Crisci
2018-03-29remove swayc_t typedefTony Crisci
2018-02-20add doc to sway_seat_get_focus_inactive()Tony Crisci
2018-02-14get swayc in directionTony Crisci
2018-02-07separate seat get focus and seat get focus inactiveTony Crisci
2018-02-04basic focus overhaulTony Crisci
2018-01-22config reload: destroy old seat when removed from configDominique Martinet
This adds new sway_seat_destroy and sway_cursor_destroy helpers and compare new and old config on free
2017-12-16fix header includesTony Crisci
2017-12-14basic configurationTony Crisci
2017-12-12sway input deviceTony Crisci
2017-12-10sway pointerTony Crisci
2017-12-10basic keyboardTony Crisci
2017-12-10seat focus on button pressTony Crisci
2017-12-09sway xcursor managerTony Crisci
2017-12-08input include directoryTony Crisci