aboutsummaryrefslogtreecommitdiff
path: root/sway/input
AgeCommit message (Collapse)Author
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-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
2018-05-26Fix usage of sway_assertIvan Chebykin
2018-05-26Moved visibility check of of loop, added assertsIvan Chebykin
2018-05-25Break after first tabbed/stacked layoutIvan Chebykin
2018-05-25Fix mouse focusing for horizontal/vertical views in tabbed containersIvan Chebykin
2018-05-25Fixed styling issuesIvan Chebykin
2018-05-25Focus inactive container instead of checking cursor positionIvan Chebykin
2018-05-25Skip all nested containersIvan Chebykin
2018-05-25Implement correct focusing for tabbed containersIvan Chebykin
2018-05-25Fix focusing from other containersIvan Chebykin
2018-05-25Don't focus tabbed and stacked containers on mouseoverIvan Chebykin
2018-05-21Fix focus follows mouse with no focusDrew DeVault
2018-05-21Don't track damage for views on inactive tabsRyan Dwyer
2018-05-21Implement tabbed layoutRyan Dwyer
2018-05-20Fix border commands from changing focusBrian Ashworth
2018-05-20Fix focus_follows_mouse over swaybarDrew DeVault
If you moved your mouse over swaybar (e.g. to scroll between workspaces), focus would move to the workspace. This is not the right thing to do. The solution is complicated by the fact that if you move your mouse into a new output with an empty workspace, that workspace _should_ receive focus.
2018-05-13Idle handling for dpms/lockscreen et alMattias Eriksson
Swayidle handles idle events and allows for dpms and lockscreen handling. It also handles systemd sleep events, and can raise a lockscreen on sleep Fixes #541
2018-05-12Send pointer discrete axis values and sourceemersion
Update for swaywm/wlroots#970
2018-05-11Highlight all child borders when using focus parentRyan Dwyer
2018-05-10Damage container on focusemersion
2018-05-03Merge pull request #1907 from emersion/backend-input-mappingDrew DeVault
Default to backend-wise input device mapping, if any