Commit graph

790 commits

Author SHA1 Message Date
Ryan Dwyer
8533c35a9f Fix crash and render issues involving cursor_send_pointer_motion
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.
2018-07-19 19:49:50 +10:00
emersion
747725b8bb Don't unfocus when an override redirect window is mapped 2018-07-18 20:00:48 +01:00
emersion
03d49490cc Update cursor on focus change
This allows to send wl_pointer.enter when switching between views
in a split/tabbed layout for instance. This (1) updates the cursor
image accordingly (2) makes it unnecessary to move the mouse before
scrolling. It's harmless to always call cursor_send_pointer_motion
because in case the focused surface hasn't changed this is a no-op.

The `last_focus != NULL` condition is required otherwise
cursor_send_pointer_motion will crash when sway starts up (the
sway_output doesn't yet have a workspace).
2018-07-17 23:04:55 +01:00
Drew DeVault
d6bd314dff
Merge pull request #2276 from RyanDwyer/urgency
Implement urgency base functionality
2018-07-16 15:39:08 -07:00
Ryan Dwyer
9ca5cb7faf Fix tab split focus bug
Fixes a bug where if you have a tab containing a split, then switch from
a non-split tab to the split tab, focus is not changed properly.
2018-07-16 18:09:35 +10:00
Ryan Dwyer
315d5311b2 Implement urgency base functionality
Introduces a command to manually set urgency, as well as rendering of
urgent views, sending the IPC event, removing urgency after focused for
one second, and matching urgent views via criteria.
2018-07-16 08:19:25 +10:00
Ryan Dwyer
a120d4c79f Make focus part of transactions
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-15 22:08:26 +10:00
Brian Ashworth
13c6627ddb Implement tap_button_map for input devices 2018-07-14 01:01:47 -04:00
Drew DeVault
bcdf04d79c
Merge pull request #2252 from rkubosz/scroll-button-option
feature: scroll button option for input devices
2018-07-13 04:07:11 -07:00
Ryan Dwyer
ee0e1b170e Fix crash in seat code
Container will be NULL if launching swaylock.
2018-07-12 14:43:08 +10:00
Robert Kubosz
41b80c28df
add scroll button option
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-11 22:03:06 +02:00
dudemanguy
600c126150 fix crash on floating windows 2018-07-11 12:24:06 -05:00
Ryan Dwyer
15dc5286e2 Move floating windows to front when focused 2018-07-11 19:50:02 +10:00
emersion
63b4bf5000
Update for swaywm/wlroots#1126 2018-07-09 22:54:30 +01:00
emersion
b3c55dd909
Merge branch 'master' into leaks 2018-07-06 16:22:13 +01:00
Drew DeVault
3d2595b102
Merge branch 'master' into remove-input-fix 2018-07-06 06:28:01 -07:00
Ian Fan
f63b209d51 Attach destroy handler earlier
This prevents it from being bypassed when the device has no seat configuration
2018-07-06 14:13:45 +01:00
Brian Ashworth
c833ae64bc Fix pointer button events for layer surfaces 2018-07-05 23:01:35 -04:00
Dominique Martinet
8a771785ad keyboard: free xkb keymap on destroy 2018-07-05 08:13:10 +09:00
Ryan Dwyer
0bd41a0dae Fix focus related damage
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-04 15:38:08 +10:00
Ryan Dwyer
1e4807efa0 Don't return pending children in seat_get_active_current_child
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-07-02 22:16:20 +10:00
Ryan Dwyer
a2fbb20a61 Merge remote-tracking branch 'upstream/master' into atomic 2018-06-29 20:04:24 +10:00
Armin Preiml
1eede432fc fix handling key modifiers if not pressed at first
fixes #2169
2018-06-28 15:23:26 +02:00
Ryan Dwyer
bf38081382
Merge branch 'master' into xwayland-wants-float 2018-06-27 13:21:00 +10:00
Tony Crisci
e9ad10c2d6 dont focus-follow-mouse when keyboard grab 2018-06-24 20:30:43 -04:00
Ryan Dwyer
32b865e610 Fix crash when deleting last child in a tabbed or stacked container
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-23 17:47:28 +10:00
emersion
cda66e9a26
Automatically float xwayland windows 2018-06-18 22:52:10 +01:00
frsfnrrg
ca061ba8bf Fix keyboard shortcut handling inconsistencies
* 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-12 20:26:57 -04:00
emersion
cfd02918c0
Render drag icons 2018-06-09 13:26:03 +01:00
Scott Leggett
609c420501 Initialise previous cursor position.
Fix the problem with focus jumping to the container under the cursor
when first starting sway.
2018-06-06 20:45:02 +10:00
Ryan Dwyer
bcdb676abb Don't set focus to NULL when clicking a surface which has no container 2018-06-04 11:31:25 +10:00
Ryan Dwyer
9253278328 Restore focus when unmapping layer shell surfaces 2018-06-04 11:31:07 +10:00
Ryan Dwyer
57e78414fa Fix seat_get_active_child
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-03 22:31:54 +10:00
Brian Ashworth
7c810dc344 Make command block implementation generic 2018-06-02 08:07:44 -04:00
frsfnrrg
78b7b46895 Style fix, redundant entry removal, fix extra keysym delete 2018-06-01 18:52:36 -04:00
frsfnrrg
480f0c593c Rename update_shortcut_model to update_shortcut_state 2018-06-01 18:52:36 -04:00
frsfnrrg
83d559dd03 Rename check_shortcut_model to get_active_binding 2018-06-01 18:52:36 -04:00
frsfnrrg
c53e4e6cde Style fixed for keyboard.c 2018-06-01 18:52:36 -04:00
frsfnrrg
f2fe93d171 Remove almost-always redundant loop in key handling 2018-06-01 18:52:36 -04:00
frsfnrrg
a056419ad7 Rewrite shortcut handling code to avoid hardcoded values
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-01 18:52:36 -04:00
Drew DeVault
e605dc43bb Fix mouse warping interaction with layout coords 2018-06-01 23:14:58 +10:00
Ryan Dwyer
e4e912ea91 Store swayc coordinates as layout-local 2018-06-01 23:14:58 +10:00
Ryan Dwyer
1f2e399ade Implement floating 2018-06-01 23:14:58 +10:00
Ryan Dwyer
7c7d24600b Fix ancestor typos 2018-05-28 12:45:42 +10:00
Drew DeVault
b2c0ba5b18
Merge pull request #2050 from smlx/focus-fix
Focus containers only on entry.
2018-05-27 15:42:39 -04:00
frsfnrrg
a78a5684ea Implement bindsym/bindcode --locked
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-27 13:28:02 -04:00
Scott Leggett
4d8120ccf3 Improve comment. 2018-05-28 02:35:24 +10:00
Scott Leggett
b57f88e7db Avoid assert on container type. 2018-05-28 02:25:42 +10:00
Scott Leggett
1b8de39287 Move previous cursor_position inline. 2018-05-28 02:14:19 +10:00
Scott Leggett
d1ebbebea0 Remove unused function. 2018-05-28 01:38:46 +10:00
Scott Leggett
0039f7a4fd Simplify logic, remove redundant variables. 2018-05-28 01:38:46 +10:00
Scott Leggett
dd86444e59 Rely on view_is_visible rather thank walking the tree ourselves. 2018-05-28 01:38:46 +10:00
Scott Leggett
4cd304e4ba Store previous position in sway_cursor. 2018-05-28 01:37:43 +10:00
Scott Leggett
06098bef98 Focus containers only on entry. 2018-05-27 15:29:48 +10:00
Drew DeVault
fea654a6ce Replace oft-failing abort with if statement
Fixes #2045
2018-05-26 10:35:15 -04:00
Ivan Chebykin
464ec44b00
Check for next_focus before assert 2018-05-26 15:54:49 +03:00
Ivan Chebykin
6e6b0decd9
Fix usage of sway_assert 2018-05-26 15:51:36 +03:00
Ivan Chebykin
820a8c9c2d
Moved visibility check of of loop, added asserts 2018-05-26 13:34:14 +03:00
Ivan Chebykin
740234a4bc
Break after first tabbed/stacked layout 2018-05-25 17:45:41 +03:00
Ivan Chebykin
53516fa03f
Fix mouse focusing for horizontal/vertical views in tabbed containers 2018-05-25 17:22:25 +03:00
Ivan Chebykin
f85d3e15ba
Fixed styling issues 2018-05-25 16:54:43 +03:00
Ivan Chebykin
e19fe56e2f
Focus inactive container instead of checking cursor position 2018-05-25 16:54:43 +03:00
Ivan Chebykin
3b67253312
Skip all nested containers 2018-05-25 16:54:43 +03:00
Ivan Chebykin
c62efbb5ce
Implement correct focusing for tabbed containers 2018-05-25 16:54:43 +03:00
Ivan Chebykin
c1be4b0153
Fix focusing from other containers 2018-05-25 16:54:43 +03:00
Ivan Chebykin
87af08966a
Don't focus tabbed and stacked containers on mouseover 2018-05-25 16:54:43 +03:00
Drew DeVault
8bbf78fdd4 Fix focus follows mouse with no focus 2018-05-21 17:21:01 -04:00
Ryan Dwyer
efc07fb3d4 Don't track damage for views on inactive tabs 2018-05-21 20:16:56 +10:00
Ryan Dwyer
c08f9bf257 Implement tabbed layout 2018-05-21 20:16:56 +10:00
Brian Ashworth
82cd55a670 Fix border commands from changing focus 2018-05-20 23:12:33 -04:00
Drew DeVault
a3d3c819cf Fix focus_follows_mouse over swaybar
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-20 14:46:29 -04:00
Mattias Eriksson
8fbafbfab5 Idle handling for dpms/lockscreen et al
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-13 00:30:09 +02:00
emersion
50298dc901
Send pointer discrete axis values and source
Update for swaywm/wlroots#970
2018-05-12 13:56:17 +01:00
Ryan Dwyer
83e314bf51 Highlight all child borders when using focus parent 2018-05-11 09:20:46 +10:00
emersion
70b80b4698
Damage container on focus 2018-05-10 23:03:50 +01:00
Drew DeVault
029c9b1796
Merge pull request #1907 from emersion/backend-input-mapping
Default to backend-wise input device mapping, if any
2018-05-03 10:46:02 -04:00
Drew DeVault
d233e75eec Hide cursor on touch down 2018-05-03 10:39:34 -04:00
emersion
424006089e
Default to backend-wise input device mapping, if any 2018-05-03 14:16:17 +01:00
Drew DeVault
52aa245b24 Implement basic touch support
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-05-02 09:00:26 -04:00
emersion
976e6b99b6
Merge branch 'master' into refactor-arrange-windows 2018-04-29 13:10:59 +01:00
Ryan Dwyer
167c2e1aa9 Refactor arrange_windows()
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-28 11:26:14 +10:00
emersion
860d2384b4
Update for swaywm/wlroots#923 2018-04-27 17:30:45 +01:00
emersion
ff61df17ff
Add map_from_region command 2018-04-26 10:53:47 +01:00
emersion
3ed3bdf03f
Fix segfault when switching back to workspace with osu! 2018-04-24 18:18:49 +01:00
emersion
4cf77e1de4
Default to current time when triggering cursor events 2018-04-21 14:07:22 +01:00
emersion
33ed279494
Update cursor when workspace focus changes 2018-04-21 12:46:48 +01:00
Drew DeVault
777800e37a Fix qutebrowser crash on context menu dismissal 2018-04-19 09:15:21 -04:00
Drew DeVault
21eb63cc9e
Merge branch 'master' into fullscreen 2018-04-19 08:56:03 -04:00
Ryan Dwyer
5b30391383 Make key repeat configurable
This creates two input commands for configuring the repeat delay and rate.

Example config:

    input "myidentifier" {
        repeat_delay 250
        repeat_rate 25
    }
2018-04-18 23:19:23 +10:00
Ryan Dwyer
8d06b222f0 Fullscreen rendering and input fixes.
* Render background when using fullscreen, because transparency.
* Check that fullscreen surface allows input.
* Don't look for surfaces in top layer if there's a fullscreen view.
2018-04-18 13:06:10 +10:00
Ryan Dwyer
35ccdd67a8 More fullscreen fixes.
* Render fullscreen views without wlr function, which makes popups and
lockscreen work.
* Don't allow input events to surfaces behind fullscreen views.
* Use correct output dimensions (for rotated outputs).
2018-04-18 08:35:28 +10:00
Ryan Dwyer
c685ef081f Create sway_workspace struct. 2018-04-17 09:31:34 +10:00
Ryan Dwyer
52420cc24d Implement fullscreen. 2018-04-16 20:36:40 +10:00
db
f555edf353 remove empty workspace when focusing its output
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-15 08:30:30 +02:00
Dominique Martinet
1fd21650d7 seat_set_focus_wrap: fix use-after-free when destroying last focused container 2018-04-13 14:58:23 +09:00
Danny Bautista
1edb2bd892 Implement cursor event simulation with sway commands. 2018-04-10 12:40:50 -04:00
Drew DeVault
07b6be6214
Merge pull request #1769 from acrisci/focus-inactive-fixes
Focus inactive fixes
2018-04-08 16:05:03 -04:00
Drew DeVault
0e3ddf255e Add input "identifier" map_to_output "identifier" 2018-04-08 15:09:12 -04:00
Tony Crisci
ae78f6fb93 Merge branch 'wlroots' into focus-inactive-fixes 2018-04-08 12:47:56 -04:00
Drew DeVault
9c5a88a7bd Fix cursor motion issues
Use only one canonical cursor x/y position and send cursor enter when
mouse is warped.

Tangentally related to #1714
2018-04-08 12:42:56 -04:00
emersion
5ebc99253a
Use wlr_surface_point_accepts_input for unmanaged surfaces 2018-04-08 11:43:18 -04:00
Tony Crisci
46280460a5 push all parents of focused container in focus stack 2018-04-08 11:34:38 -04:00
Drew DeVault
9114d3b84c Implement tablet tool support 2018-04-08 10:48:13 -04:00
Tony Crisci
de811823b6 seat focus inactive children foreach 2018-04-07 16:14:12 -04:00
Tony Crisci
c0f9ee7bd1 seat get focus inactive view 2018-04-07 16:06:36 -04:00
emersion
2b357af7ee
Give keyboard focus to unmanaged xwayland surfaces
This fixes dmenu
2018-04-07 14:03:30 -04:00
Drew DeVault
603e0e42c5 Add debug tree view 2018-04-06 11:49:27 -04:00
Drew DeVault
cca420b2f8 Fix focus_follows_mouse issues 2018-04-06 09:32:51 -04:00
Drew DeVault
b08f7e5183 Fix deletion of still-visible workspaces on unfocus 2018-04-06 09:26:49 -04:00
emersion
641807d920
Handle unmanaged surfaces motion 2018-04-05 18:48:35 -04:00
Tony Crisci
65f254f3fb Merge branch 'wlroots' into fix-focus-inactive 2018-04-04 22:36:09 -04:00
Tony Crisci
deda37469a fix focus child 2018-04-04 22:31:10 -04:00
emersion
8eff00f723 Remove unused SWAY_VIEW_TYPES 2018-04-04 22:03:14 -04:00
Tony Crisci
3e61718053 try to fix focus-inactive 2018-04-04 18:52:38 -04:00
Drew DeVault
d2d050d59c Address review feedback 2018-04-04 18:47:48 -04:00
Drew DeVault
b7e7794912 Implement input-inhibit in sway, swaylock 2018-04-04 18:47:48 -04:00
Drew DeVault
06fbd51ff5 Add input inhibitor to input manager 2018-04-04 18:47:48 -04:00
Drew DeVault
3ede718c06 Refocus the last focused container on lock exit 2018-04-04 18:47:48 -04:00
Tony Crisci
741e3959e3 Merge branch 'wlroots' into split-containers2 2018-04-04 00:20:44 -04:00
Tony Crisci
97b171649d move output damage to workspace destructor 2018-04-03 19:36:57 -04:00
Tony Crisci
b4c5f79725 move view and workspace destructors to container.c 2018-04-03 12:25:19 -04:00
Drew DeVault
0bf3b88019 Give layer shells under the shell layer focus 2018-04-02 21:17:16 -04:00
Drew DeVault
56078edd65 Give exclusive focus to layers above shell layer 2018-04-02 21:09:09 -04:00
Tony Crisci
a89096278b Merge branch 'wlroots' into split-containers 2018-04-02 19:22:10 -04:00
Tony Crisci
d434da5632 Merge branch 'wlroots' into split-containers 2018-04-02 16:09:27 -04:00
emersion
a4a241697a
Merge branch 'wlroots' into view-redesign 2018-04-02 15:30:58 -04:00
emersion
2f64ce86c4
Xwayland unmanaged views aren't views anymore 2018-04-02 14:35:43 -04:00
Tony Crisci
357a4401fa address feedback 2018-04-02 14:15:40 -04:00
Tony Crisci
2187684bd0 Merge branch 'wlroots' into split-containers 2018-04-02 14:06:04 -04:00
Tony Crisci
c7a6524954 fix segfault 2018-04-02 13:56:35 -04:00
Tony Crisci
5e024278a6 Merge branch 'wlroots' into seat-fixes 2018-04-02 13:23:43 -04:00
Tony Crisci
22287b42bf dont copy input config 2018-04-02 13:19:58 -04:00
Tony Crisci
35445b40a2 remove unused attachment config 2018-04-02 12:16:00 -04:00
Tony Crisci
a82c107c76 80col 2018-04-02 11:44:42 -04:00
Drew DeVault
b2d871cfe2 Partially implement move command
Works:

- move [container|window] to workspace <name>
    - Note, this should be able to move C_CONTAINER but this is untested
- move [workspace] to output [left|right|up|down|<name>]

Not implemented yet:

- move [left|right|up|down]
- move scratchpad
- move position
2018-04-02 11:12:18 -04:00
Tony Crisci
53bb7ea996 dont copy seat config on the seat 2018-04-02 10:37:31 -04:00
Tony Crisci
0828c77251 rename input-manager functions 2018-04-02 08:49:38 -04:00
Tony Crisci
e677c5b204 rename seat functions 2018-04-02 08:45:37 -04:00
Tony Crisci
eda425fdab fix some segfaults 2018-03-31 18:52:02 -04:00
Tony Crisci
2aec85bf24 clean up view destroy seat cleanup 2018-03-31 17:07:37 -04:00
Tony Crisci
6f7b33e691 handle container destroy in the seat 2018-03-31 15:38:59 -04:00
Tony Crisci
7706d83160 basic split containers 2018-03-31 15:37:16 -04:00
Drew DeVault
122b96abed
Merge pull request #1684 from swaywm/follow-warp
Implement focus_follows_mouse, mouse_warping
2018-03-31 15:32:29 -04:00
Drew DeVault
f2332dc75c Address review feedback 2018-03-31 15:20:43 -04:00
Drew DeVault
b9d2983324 Fix interaction between warping and following 2018-03-31 13:05:45 -04:00
Drew DeVault
9b38ef950f Implement focus_follows_mouse
Also contains two other small changes:

- Clicking any button will focus the container clicked (not just left)
- Remove seamless_mouse (doesn't make sense on wlroots)
2018-03-31 13:05:45 -04:00
Drew DeVault
ae6d459000 Implement mouse warping 2018-03-31 13:05:45 -04:00
emersion
98b67e2399
Fix xwayland configure in set_size 2018-03-31 11:30:15 -04:00
Drew DeVault
eb5a8e03ff Check for null container 2018-03-31 10:51:39 -04:00
Drew DeVault
e4fd47d3a1
Merge pull request #1682 from emersion/unmanaged-no-container
Make it clear that unmanaged views don't have a container
2018-03-31 10:49:06 -04:00
Drew DeVault
ccdcaa478f Fix bug with previous commit 2018-03-31 10:47:04 -04:00
emersion
a44a71c116
Make it clear that unmanaged views don't have a container
view->swayc is NULL anyway.
2018-03-31 10:39:05 -04:00
Drew DeVault
8aa195e311 Fix #1104 2018-03-31 09:45:11 -04:00
Drew DeVault
5c08e13e50 Set Xwayland seat on focus
Necessary to make primary selection syncronize
2018-03-31 09:29:34 -04:00
emersion
b237fa0b22
Set xwayland cursor 2018-03-31 00:24:38 -04:00
Drew DeVault
212b503992 Use wlr_surface_point_accepts_input 2018-03-30 23:08:24 -04:00
Drew DeVault
f5470f3338 Pass pointer events to surface layers 2018-03-30 21:03:35 -04:00
emersion
9665642765
Merge branch 'wlroots' into client-cursors 2018-03-30 19:04:06 -04:00
emersion
eb716c6c43
Fix segfaults when focusing a workspace 2018-03-30 16:12:02 -04:00
emersion
03255fd202
Fix pointer events for hidden workspaces 2018-03-30 15:33:16 -04:00
emersion
6c9d67b105
Handle set_cursor requests from clients
Allow clients to set a custom cursor if they have the seat's
pointer focus.
2018-03-30 10:53:18 -04:00
Drew DeVault
01af343912 Destroy empty workspaces when moving away 2018-03-30 10:47:19 -04:00
Drew DeVault
f26ecd9f58 Merge remote-tracking branch 'origin/wlroots' into swaybar-layers 2018-03-30 00:04:04 -04:00
Tony Crisci
8f490d7d2d Fix oversights from previous pull request 2018-03-29 23:53:38 -04:00
Tony Crisci
dc8c9fbeb6 Revert "Merge pull request #1653 from swaywm/revert-1647-refactor-tree"
This reverts commit 472e81f35d, reversing
changes made to 6b7841b11f.
2018-03-29 23:41:33 -04:00
Drew DeVault
d0c7f66e95
Revert "Refactor tree" 2018-03-29 23:29:29 -04:00
Tony Crisci
92c58b1e63 rename container_for_each_descendent 2018-03-29 23:08:59 -04:00
Drew DeVault
6836074fed Implement enough IPC for swaybar to work 2018-03-29 22:11:08 -04:00
Tony Crisci
4c394a0e9e address feedback 2018-03-29 21:22:39 -04:00
Tony Crisci
eca029f218 more renaming things 2018-03-29 17:06:29 -04:00
Tony Crisci
b90099b4b7 rename container functions 2018-03-29 16:40:40 -04:00
Tony Crisci
83d09cf594 remove swayc_t typedef 2018-03-29 14:31:10 -04:00
Tony Crisci
874f009866 move tree includes to their own directory 2018-03-29 14:21:42 -04:00
Drew DeVault
1e604f3e35 Update input events per swaywm/wlroots#765 2018-03-28 12:22:45 -04:00
Tony Crisci
ac8269d536 take seat param for handle_command and rename 2018-02-24 12:50:24 -05:00
Tony Crisci
4b3aa59b8b rename new_input listener on input-manager 2018-02-20 19:09:38 -05:00
Tony Crisci
083e11ac7c fix build for latest api 2018-02-14 15:08:10 -05:00
Tony Crisci
06c71f115b input device destroy 2018-02-14 14:47:59 -05:00
Tony Crisci
946d9459c5 get swayc in direction 2018-02-14 14:30:27 -05:00
Tony Crisci
ce3a1b3922 properly pick next focus 2018-02-10 18:19:53 -05:00
Tony Crisci
145b4fdf58 use bfs iterator to collect focus stack 2018-02-10 16:52:45 -05:00
Tony Crisci
a7d49da239 separate seat get focus and seat get focus inactive 2018-02-07 18:17:57 -05:00
Tony Crisci
5151502298 basic focus overhaul 2018-02-04 14:08:54 -05:00
Drew DeVault
b28602aa74 Implement workspaces 2018-01-30 23:09:21 -05:00
Dominique Martinet
5766f426aa config reload: destroy old seat when removed from config
This adds new sway_seat_destroy and sway_cursor_destroy helpers
and compare new and old config on free
2018-01-22 07:26:37 +01:00
emersion
0c58673c6a
Merge pull request #1574 from acrisci/config-refactor
Command criteria
2018-01-22 01:16:23 +01:00
Drew DeVault
c933781fac
Merge pull request #1570 from acrisci/config-references
Copy input config references
2018-01-21 11:17:07 -05:00
Tony Crisci
0e3eae4baa view interface 2018-01-21 09:09:53 -05:00
Tony Crisci
c353e01c85 add kill command 2018-01-20 14:10:11 -05:00
Tony Crisci
2bf76509f8 update for new wlr-keyboard modifiers 2018-01-17 11:47:27 -05:00
Tony Crisci
9f54cd8935 copy config references for input and seat 2018-01-17 09:49:02 -05:00
Tony Crisci
83ddd2d9db render override redirect 2018-01-14 13:19:21 -05:00
Dominique Martinet
67985e9031 sway: change all sway_log to wlr_log 2018-01-05 23:39:46 +01:00
Tony Crisci
8b4eb5d7d1 cleanup bindings 2018-01-04 07:54:14 -05:00
Tony Crisci
50e791cadb binding release 2018-01-04 07:25:52 -05:00
Tony Crisci
bd3ca70e3d fix nitpicks 2017-12-29 09:11:15 -05:00
Tony Crisci
62b7ab3959 overwrite old bindings 2017-12-28 18:50:22 -05:00
Tony Crisci
0b8481f41a fix keyboard_execute_bindcode 2017-12-28 16:52:12 -05:00
Tony Crisci
8d567cd062 bindcode 2017-12-28 16:24:23 -05:00
Tony Crisci
27cd633b40 run compositor bindings last 2017-12-27 19:07:17 -05:00
Tony Crisci
ccaedf5b15 run binding command 2017-12-27 15:25:16 -05:00
Tony Crisci
d941246d58 match user bindsym 2017-12-27 15:17:01 -05:00
Tony Crisci
daad222337 compositor bindings 2017-12-27 13:31:31 -05:00
Tony Crisci
eea80e7276 keyboard translate keysyms 2017-12-27 13:20:28 -05:00
Dominique Martinet
f3d8df45fc seat_configure_pointer: apply libinput config
Restore the code that used to be in config.c:apply_input_config() pre-wlroots
2017-12-24 20:54:48 +01:00
Tony Crisci
63f7fb9517 cleanup 2017-12-20 06:12:08 -05:00
Tony Crisci
f35575f71d handle keymap not found 2017-12-19 05:36:17 -05:00
Tony Crisci
39e7871a85 dont set cursor image on motion 2017-12-19 05:28:06 -05:00
Tony Crisci
730af5e721 use snprintf to get identifier len 2017-12-19 04:57:42 -05:00
Tony Crisci
a87960711a Merge branch 'feature/input' of github.com:acrisci/sway into feature/input 2017-12-18 10:45:04 -05:00
Tony Crisci
4c436a1a6f remove assumption of one device per identifier 2017-12-18 10:44:51 -05:00
Drew DeVault
b0291d126f Fix compile error 2017-12-17 21:00:17 -05:00
Tony Crisci
a27736adcd cleanup input-manager 2017-12-17 10:44:53 -05:00
Tony Crisci
88bcd43ebf seat fallback config 2017-12-17 10:39:22 -05:00
Tony Crisci
e27eff8a29 send keyboard enter on keyboard configuration 2017-12-17 08:30:20 -05:00
Tony Crisci
0256cd1473 fix keyboard hotplugging 2017-12-16 19:16:00 -05:00
Tony Crisci
9e4fc7253e get device id correctly 2017-12-16 14:03:58 -05:00
Tony Crisci
b0ed1ad28d device add/remove logging 2017-12-16 13:16:58 -05:00
Tony Crisci
24e2406429 strip whitespace for device id 2017-12-16 13:00:31 -05:00
Tony Crisci
b3a0309f26 fix logging issue for new wlroots 2017-12-16 07:39:22 -05:00
Tony Crisci
9fa70ce426 Merge branch 'wlroots' into feature/input 2017-12-16 07:33:23 -05:00
Tony Crisci
030fcb64da keyboard cleanup 2017-12-16 07:21:21 -05:00
Tony Crisci
9eecbb5d8a xkb config 2017-12-15 05:22:51 -05:00
Tony Crisci
92fef27eaa basic configuration 2017-12-14 11:11:56 -05:00
Tony Crisci
c173d30b92 seat configuration 2017-12-12 10:55:20 -05:00
Tony Crisci
163edc5a90 sway input device 2017-12-12 08:29:37 -05:00
Tony Crisci
9ae906cd37 sway pointer 2017-12-10 16:57:38 -05:00
Tony Crisci
4d449743c5 keyboard remove 2017-12-10 15:37:17 -05:00
Tony Crisci
609f63934a basic keyboard 2017-12-10 15:01:09 -05:00
Tony Crisci
6339c4f161 remove pointer device 2017-12-10 13:28:04 -05:00
Tony Crisci
21626e8153 seat focus on button press 2017-12-10 11:11:47 -05:00
Tony Crisci
5f644d78fc button and axis events 2017-12-10 10:08:16 -05:00
Tony Crisci
e69b052a6d working pointer motion 2017-12-10 08:48:44 -05:00
Tony Crisci
9333a7eb53 working xcursor 2017-12-09 14:06:00 -05:00
Tony Crisci
7c67bea942 sway xcursor manager 2017-12-09 11:51:28 -05:00
Tony Crisci
d76e745b73 input include directory 2017-12-08 08:07:47 -05:00
Tony Crisci
ec7fc42a00 sway cursor 2017-12-08 08:04:03 -05:00
Tony Crisci
f6f63f60d6 basic input manager and seat 2017-12-07 09:58:32 -05:00
Tony Crisci
21ce20885a rename input to input-manager 2017-12-07 07:35:10 -05:00
Drew DeVault
0f45fad18c Establish sway input submodule 2017-11-11 09:09:17 -05:00