aboutsummaryrefslogtreecommitdiff
path: root/sway/input
AgeCommit message (Collapse)Author
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-07-14Implement tap_button_map for input devicesBrian Ashworth
2018-07-13Merge pull request #2252 from rkubosz/scroll-button-optionDrew DeVault
feature: scroll button option for input devices
2018-07-12Fix crash in seat codeRyan Dwyer
Container will be NULL if launching swaylock.
2018-07-11add scroll button optionRobert Kubosz
This commit introduces a scroll_button option, which is intended to be used with scroll_method. Now user can edit his sway config and add an scroll_button option to device section.
2018-07-11fix crash on floating windowsdudemanguy
2018-07-11Move floating windows to front when focusedRyan Dwyer
2018-07-09Update for swaywm/wlroots#1126emersion
2018-07-06Merge branch 'master' into leaksemersion
2018-07-06Merge branch 'master' into remove-input-fixDrew DeVault
2018-07-06Attach destroy handler earlierIan Fan
This prevents it from being bypassed when the device has no seat configuration
2018-07-05Fix pointer button events for layer surfacesBrian Ashworth
2018-07-05keyboard: free xkb keymap on destroyDominique Martinet
2018-07-04Fix focus related damageRyan Dwyer
When you have an unfocused container (so one view is focused_inactive), and you focus any other view in that container, the view with focused_inactive was not damaged. This is because we damaged the previous focus and new focus, but needed to damage the parent of the new focus.
2018-07-02Don't return pending children in seat_get_active_current_childRyan Dwyer
Fixes #2192. seat_get_active_current_child is intended to return a child of the given container which has finished its mapping transaction and is able to be rendered on screen. The previous implementation was capable of returning a pending child, which caused a child of a tabbed or stacked view to be rendered prematurely while it was mapping.
2018-06-29Merge remote-tracking branch 'upstream/master' into atomicRyan Dwyer
2018-06-28fix handling key modifiers if not pressed at firstArmin Preiml
fixes #2169
2018-06-27Merge branch 'master' into xwayland-wants-floatRyan Dwyer
2018-06-24dont focus-follow-mouse when keyboard grabTony Crisci
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-18Automatically float xwayland windowsemersion
2018-06-12Fix keyboard shortcut handling inconsistenciesfrsfnrrg
* Ensure that modifier keys are identified even when the next key does not produce a keysym. This requires that modifier change tracking be done for each sway_shortcut_state. * Permit regular and --release shortcuts on the same key combination. Distinct bindings are identified for press and release cases; note that the release binding needs to be identified for both key press and key release events. * Maintain ascending sort order for the shortcut state list, and keep track of the number of pressed key ids, for simpler (and hence faster) searching of the list of key bindings. * Move binding duplicate detection into get_active_binding to avoid duplicating error messages.
2018-06-09Render drag iconsemersion
2018-06-06Initialise previous cursor position.Scott Leggett
Fix the problem with focus jumping to the container under the cursor when first starting sway.
2018-06-04Don't set focus to NULL when clicking a surface which has no containerRyan Dwyer
2018-06-04Restore focus when unmapping layer shell surfacesRyan Dwyer
2018-06-03Fix seat_get_active_childRyan Dwyer
seat_get_active_child is used for tabbed and stacked containers to get the active child. The previous implementation used seat_get_focus_inactive then ascended the tree to the child of the tabbed/stacked container, but this fails when the workspace itself is stacked or tabbed and the most recently active child is floating. The new implementation takes a more simple approach, where it directly scans the focus stack for the first immediate child which isn't the floating container. Fixes #2098.
2018-06-02Make command block implementation genericBrian Ashworth
2018-06-01Style fix, redundant entry removal, fix extra keysym deletefrsfnrrg
2018-06-01Rename update_shortcut_model to update_shortcut_statefrsfnrrg
2018-06-01Rename check_shortcut_model to get_active_bindingfrsfnrrg
2018-06-01Style fixed for keyboard.cfrsfnrrg
2018-06-01Remove almost-always redundant loop in key handlingfrsfnrrg
2018-06-01Rewrite shortcut handling code to avoid hardcoded valuesfrsfnrrg
The same shortcut algorithm is now used for keycodes, raw keysyms, and translated keysyms. Pressed keysyms are now stored in association with the keycodes that generated them. Modifier keycodes (and associated keysyms) are identified retroactively by the subsequent change to the modifier flags.
2018-06-01Fix mouse warping interaction with layout coordsDrew DeVault
2018-06-01Store swayc coordinates as layout-localRyan Dwyer
2018-06-01Implement floatingRyan Dwyer
2018-05-28Fix ancestor typosRyan Dwyer
2018-05-27Merge pull request #2050 from smlx/focus-fixDrew DeVault
Focus containers only on entry.
2018-05-27Implement bindsym/bindcode --lockedfrsfnrrg
Adds the --locked flag to bindsym and bindcode commands. When a keyboard's associated seat has an exclusive client (i.e, a screenlocker), then bindings are only executed if they have the locked flag. When there is no such client, this restriction is lifted.
2018-05-28Improve comment.Scott Leggett
2018-05-28Avoid assert on container type.Scott Leggett
2018-05-28Move previous cursor_position inline.Scott Leggett
2018-05-28Remove unused function.Scott Leggett
2018-05-28Simplify logic, remove redundant variables.Scott Leggett
2018-05-28Rely on view_is_visible rather thank walking the tree ourselves.Scott Leggett
2018-05-28Store previous position in sway_cursor.Scott Leggett
2018-05-27Focus containers only on entry.Scott Leggett
2018-05-26Replace oft-failing abort with if statementDrew DeVault
Fixes #2045
2018-05-26Check for next_focus before assertIvan Chebykin