aboutsummaryrefslogtreecommitdiff
path: root/sway/input/seat.c
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-12Fix crash in seat codeRyan Dwyer
Container will be NULL if launching swaylock.
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-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-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-09Render drag iconsemersion
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-01Fix mouse warping interaction with layout coordsDrew DeVault
2018-06-01Implement floatingRyan Dwyer
2018-05-28Fix ancestor typosRyan Dwyer
2018-05-28Remove unused function.Scott Leggett
2018-05-28Store previous position in sway_cursor.Scott Leggett
2018-05-27Focus containers only on entry.Scott Leggett
2018-05-21Don't track damage for views on inactive tabsRyan Dwyer
2018-05-20Fix border commands from changing focusBrian Ashworth
2018-05-11Highlight all child borders when using focus parentRyan Dwyer
2018-05-10Damage container on focusemersion
2018-05-03Default to backend-wise input device mapping, if anyemersion
2018-05-02Implement basic touch supportDrew DeVault
This required changing container_at_cursor to container_at_coords so that we could get the appropriate surface (and sx/xy) without moving the cursor. Future work: - Simulate a cursor for clients which have not bound to wl_touch - Keep sending motion events when moving outside the surface (#1892) - Bind gestures to sway commands
2018-04-28Refactor arrange_windows()Ryan Dwyer
Replaces arrange_windows() with arrange_root(), arrange_output(), arrange_workspace() and arrange_children_of(). Also makes fullscreen views save and restore their dimensions, which allows it to preserve any custom resize and is also a requirement for floating views once they are implemented.
2018-04-26Add map_from_region commandemersion
2018-04-24Fix segfault when switching back to workspace with osu!emersion
2018-04-21Default to current time when triggering cursor eventsemersion
2018-04-21Update cursor when workspace focus changesemersion
2018-04-19Fix qutebrowser crash on context menu dismissalDrew DeVault
2018-04-17Create sway_workspace struct.Ryan Dwyer
2018-04-16Implement fullscreen.Ryan Dwyer
2018-04-15remove empty workspace when focusing its outputdb
Until now, focus changing code only considered cleaning up the last focused workspace. This commit adds removal of empty workspace from output that just received focus on a different workspace. Fixes: #1797
2018-04-13seat_set_focus_wrap: fix use-after-free when destroying last focused containerDominique Martinet
2018-04-08Merge pull request #1769 from acrisci/focus-inactive-fixesDrew DeVault
Focus inactive fixes
2018-04-08Add input "identifier" map_to_output "identifier"Drew DeVault
2018-04-08Merge branch 'wlroots' into focus-inactive-fixesTony Crisci
2018-04-08Fix cursor motion issuesDrew DeVault
Use only one canonical cursor x/y position and send cursor enter when mouse is warped. Tangentally related to #1714
2018-04-08push all parents of focused container in focus stackTony Crisci
2018-04-08Implement tablet tool supportDrew DeVault
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-06Add debug tree viewDrew DeVault
2018-04-06Fix deletion of still-visible workspaces on unfocusDrew DeVault
2018-04-04Merge branch 'wlroots' into fix-focus-inactiveTony Crisci
2018-04-04fix focus childTony Crisci
2018-04-04Remove unused SWAY_VIEW_TYPESemersion
2018-04-04try to fix focus-inactiveTony Crisci