Commit graph

318 commits

Author SHA1 Message Date
Markus Ongyerth
23991861a4 works in review comments 2017-11-07 16:50:34 +01:00
Markus Ongyerth
8ca76ff7f2 explains 2 way keybind trying. 2017-11-07 12:55:19 +01:00
Markus Ongyerth
c88990d2c2 fix the keybind handling in rootston.
As mentioned in https://github.com/swaywm/wlroots/issues/393 keybinds
did't trigger / were checked with "odd" keys and modifiers.

This commit sends the keycode through two paths, one to get the keycode
and modifiers *after* xkb handles them, a secondary path to get a "raw"
keysym without modifiers and then add the modifiers rootston knows
about.

This will result in the `[Alt]+[Shift]+2` combination I mention earlier
going through the keybind detection twice.
  1) `[Alt]+[at]`
  2) `[Alt]+[Shift]+2`

When either combination is found, the appropriate keybind is executed.
The xkb handled version will be prefered over the "raw" version.
2017-11-07 12:48:44 +01:00
emersion
03d3fdc158
Basic maximization implementation for xdg-shell 2017-11-05 16:29:43 +01:00
Tony Crisci
2280928bb2 rootston: roots_cursor 2017-11-05 09:20:11 -05:00
Tony Crisci
b74c4cf974 Merge branch 'master' into feature/multiseat 2017-11-05 08:09:45 -05:00
emersion
3e3209cba2
Fix laggy move-resize in xdg-shell 2017-11-05 10:22:42 +01:00
Tony Crisci
704f0f158a rootston: move device init to seat 2017-11-04 13:12:35 -04:00
Tony Crisci
5354fe8729 move keyboard to seat 2017-11-04 09:23:57 -04:00
Drew DeVault
6d8e1abfc0 Improve input sensitivity
We now use doubles until the last minute, which makes it so we can move
the pointer more precisely. This also includes a fix for tablet tools,
which move absolutely and sometimes do not update the X or Y axis.
2017-11-04 01:35:12 -04:00
emersion
cf713edc10
Fix moving views when resizing below min size 2017-11-03 14:49:15 +01:00
Tony Crisci
9bd0f47efd rootston: refactor keyboard 2017-11-03 06:21:24 -04:00
Tony Crisci
447c561d15 rootston: seat config by device 2017-11-03 06:08:37 -04:00
Drew DeVault
86b8729998 Merge remote-tracking branch 'origin/master' into hidpi 2017-11-02 23:34:02 -04:00
Drew DeVault
975b9dc365 Fix view centering on HiDPI outputs 2017-11-02 23:33:06 -04:00
Drew DeVault
ca8cf7d48d Rethink HiDPI output layouts, fixes everything
Except for subsurfaces not rendering at the right scale. But that part
is (somewhat) easy.
2017-11-02 23:17:39 -04:00
Tony Crisci
53021f8ed4 rootston: break up input.h 2017-11-02 20:31:19 -04:00
emersion
3f4ad47421
Use compositor theme for xwm cursor 2017-11-02 16:49:22 +01:00
Drew DeVault
0d9d670dbd
Merge pull request #365 from emersion/wayland-backend-transform
Cursors ✕ Output Transformations fixes
2017-11-01 10:21:02 -04:00
emersion
60c018c017
Fix hidden software cursors, fix cursor transformations on DRM backend 2017-11-01 14:25:41 +01:00
Drew DeVault
ed74f473d6 Fix various rebase-related bugs 2017-11-01 08:57:30 -04:00
Drew DeVault
7f76f46318 Adjust rendering to compensate for disparate scale
Something about my math is off, but I'm not certain what. Would
appreciate a second opinion.
2017-11-01 08:51:59 -04:00
Drew DeVault
bafb970871 View view_at (and pointer events) for hidpi 2017-11-01 08:51:59 -04:00
Drew DeVault
a6930cd8ea Handle output enter/leave correctly 2017-11-01 08:51:59 -04:00
Drew DeVault
9861add146 Send surface enter output events to clients 2017-11-01 08:50:33 -04:00
Drew DeVault
a7446792a1 Consider scale factor when rendering views 2017-11-01 08:44:07 -04:00
Tony Crisci
1a756b3123 bugfix: dnd force cancel 2017-11-01 08:05:02 -04:00
Dominique Martinet
46c80fa51e rootston: fix startup with no config
Would choke on NULL name on strcmp later on:
 #0  0x00007ffff6e0ad4a in __strcmp_sse2_unaligned () at /usr/lib/libc.so.6
 #1  0x00005555555593d2 in config_get_keyboard (config=0x555555774f80, device=0x555555775768) at ../rootston/config.c:443
 #2  0x000055555555d7e3 in keyboard_add (device=0x555555775768, input=0x555555e96d70) at ../rootston/keyboard.c:206
 #3  0x000055555555ca39 in input_add_notify (listener=0x555555e96fa8, data=0x555555775768) at ../rootston/input.c:34
 #4  0x00007ffff7ba2b80 in wl_signal_emit (signal=0x5555557754f8, data=0x555555775768) at /usr/include/wayland-server-core.h:388
 #5  0x00007ffff7ba37e0 in wlr_x11_backend_start (backend=0x5555557754f0) at ../backend/x11/backend.c:286
 #6  0x00007ffff7b9372d in wlr_backend_start (backend=0x5555557754f0) at ../backend/backend.c:29
 #7  0x000055555555dcc0 in main (argc=1, argv=0x7fffffffe408) at ../rootston/main.c:39
2017-11-01 11:45:02 +01:00
Tony Crisci
c7c0d34e92
Merge pull request #352 from emersion/output-cursor
Add wlr_output_cursor
2017-10-31 17:58:28 -04:00
Tony Crisci
e5b49158b4 rootston: end grab on escape 2017-10-31 08:38:21 -04:00
emersion
ae9a46fc9b
Remove outdated TODOs, use wlr_surface_has_buffer 2017-10-31 12:30:57 +01:00
emersion
044173d1df
Add multi-pointer example 2017-10-31 12:30:57 +01:00
emersion
c3b09f73da
Fix cursor hotspot with rotated outputs on DRM backend 2017-10-31 12:30:57 +01:00
emersion
4230a577cc
Remove wlr_cursor_set_xcursor for now 2017-10-31 12:30:56 +01:00
emersion
c45f2eef0e
Fix rootston 2017-10-31 12:30:06 +01:00
Drew DeVault
ebca06bfe4
Merge pull request #358 from acrisci/refactor/sec-to-msec
refactor input time_sec to time_msec
2017-10-30 15:50:31 -04:00
Tony Crisci
74bca7251b rename wlr_seat to seat on seat structs 2017-10-30 08:44:39 -04:00
Tony Crisci
fddef4d58e rename seat handle to seat client 2017-10-30 08:37:54 -04:00
Tony Crisci
a224e74fad refactor input time_sec to time_msec 2017-10-30 06:40:06 -04:00
Valentin Hăloiu
34dcb083ca
Fix resize bounds check in rootson 2017-10-30 00:12:17 +01:00
Tony Crisci
c01248cf17 Merge branch 'master' into feature/xwm-rewrite 2017-10-29 10:43:10 -04:00
Drew DeVault
50e86a0efa Allow configuring output mode in rootston
Fixes #336
2017-10-28 15:32:08 -04:00
Drew DeVault
4281aefbf8
Merge pull request #324 from acrisci/feature/keyboard-redesign
wlr-seat: keyboard redesign
2017-10-28 10:56:41 -04:00
emersion
fb0c9a356e
Enforce resize bounds in rootston 2017-10-28 11:58:34 +02:00
Tony Crisci
c555a66dda Merge branch 'master' into feature/xwm-rewrite 2017-10-27 15:22:00 -04:00
emersion
2718b57180
Force resize for all edges in rootston 2017-10-27 20:36:25 +02:00
Drew DeVault
9f1ed70b81
Merge pull request #344 from emersion/compositor-action-cursors
Set compositor cursor for move, resize and rotate
2017-10-27 13:42:53 -04:00
emersion
315c01ba0f
Remove input.last_active_view 2017-10-27 19:21:26 +02:00
emersion
ec5beeb8b8
Move xcursor stuff into its own file 2017-10-27 19:09:38 +02:00
emersion
ad27cc3bff
Set compositor cursor for move, resize and rotate 2017-10-27 18:41:31 +02:00
Tony Crisci
6a4290b86a xwm: moveresize events 2017-10-27 10:48:09 -04:00
Drew DeVault
4bee96bd30 Merge pull request #333 from emersion/server-decoration
Add server-decoration protocol
2017-10-27 09:28:25 -04:00
emersion
a43acae000
Send server-decoration ack event automatically 2017-10-27 00:02:30 +02:00
emersion
882bda0664
Rename default keyboard section 2017-10-26 23:02:24 +02:00
emersion
c0c4816b13
Fix fallback when there are two config blocks for a keyboard 2017-10-26 22:38:03 +02:00
emersion
4e5d23daa9
Per-keyboard configuration 2017-10-26 19:59:32 +02:00
Tony Crisci
7914f4bda9 xwm: dont focus override redirect windows 2017-10-25 20:40:55 -04:00
emersion
7c85709de1
Focus last view on close in rootston 2017-10-25 20:34:40 +02:00
Tony Crisci
0d1dd84a48 xwm: improve activation and dont send focus twice 2017-10-25 08:39:28 -04:00
Tony Crisci
e5ee01254b xwm: map and unmap notify 2017-10-24 21:07:46 -04:00
Tony Crisci
a3f2754668 xwm: add surface to rootston on surface commit 2017-10-24 12:00:43 -04:00
Tony Crisci
1dbe314937 Merge branch 'master' into feature/data-device-selection 2017-10-24 07:57:36 -04:00
Tony Crisci
d33a9f8eaa wlr-seat: keyboard redesign 2017-10-24 07:18:11 -04:00
Drew DeVault
c5fff08f8a Forgot to rename these 2017-10-22 10:56:40 -04:00
Drew DeVault
16f35ecbea Merge branch 'master' into heghe/wl_list 2017-10-21 22:03:48 -04:00
Alexander Taylor
844f4387c7 Fixed default keybinding in config.c 2017-10-21 23:17:39 +01:00
Drew DeVault
1367ecc309 Merge pull request #309 from inclement/fix_rootston_default_config
Changed broken example rootston keybinding
2017-10-21 18:12:52 -04:00
Alexander Taylor
b5ed6dd6fc Changed broken default rootston keybinding 2017-10-21 23:05:55 +01:00
Tony Crisci
6fcac087fe rootston: remove mostly unused mapped icon param 2017-10-21 09:59:35 -04:00
Tony Crisci
3c7ef3aae6 Merge branch 'master' into feature/data-device-selection 2017-10-21 09:43:24 -04:00
Drew DeVault
ce2f945441 Merge pull request #303 from emersion/wl-signal-no-list-init
Remove wl_list_init when using wl_signal_add
2017-10-21 09:40:18 -04:00
Tony Crisci
a87b60e31e Merge branch 'master' into feature/data-device-selection 2017-10-21 09:37:58 -04:00
Alexander Taylor
613c792901 Moved comments in rootston keybinding example config
The comment strings are not stripped so the commands are not currently
recognised.
2017-10-21 14:31:54 +01:00
emersion
f2c4b80620
Remove calls to assert to check runtime errors in rootston 2017-10-21 13:25:39 +02:00
emersion
c8570d0e42
Remove wl_list_init when using wl_signal_add 2017-10-21 12:35:51 +02:00
Drew DeVault
1782d5e7b7 Implement simple touch support for rootston 2017-10-20 23:19:41 -04:00
D.B
8c759d7abe Add startup command option to rootston
Allows specifying a command to run at startup.
2017-10-20 17:49:04 +02:00
Heghedus Razvan
1d716241af Replace list_t with wl_list in wlr_output
Signed-off-by: Heghedus Razvan <heghedus.razvan@gmail.com>
2017-10-20 11:46:09 +03:00
Tony Crisci
169bc216ed rootston: view set position 2017-10-19 12:33:02 -04:00
emersion
f874c3d585
Add a default meta key 2017-10-18 22:46:52 +02:00
Tony Crisci
c00a94ca76 data-device: fix drag icon position 2017-10-17 17:21:11 -04:00
Tony Crisci
b7c622a319 Merge branch 'master' into feature/data-device-selection 2017-10-17 16:01:17 -04:00
Drew DeVault
62371a9974 Merge pull request #257 from emersion/fix-client-cursors
[WIP] Fix client cursors
2017-10-17 09:22:43 -04:00
Tony Crisci
19784360f1 bug: fix view centering 2017-10-16 14:35:16 -04:00
Tony Crisci
b8de0a29b4 rootston: handle icon already being in the list 2017-10-16 08:00:01 -04:00
Tony Crisci
df0a8d3abe wlr-data-device: drag icons 2017-10-15 11:06:03 -04:00
Tony Crisci
6a7560fae0 wlr-data-device interface 2017-10-15 05:59:52 -04:00
emersion
8fd4ae5de8
Fix cursor role name, fix segfault when surface->resource is NULL 2017-10-14 12:21:36 +02:00
Versus Void
96079ff897 Move binding parsing to separate function 2017-10-12 22:21:43 +00:00
Versus Void
db3368ba43 New binding to switch windows 2017-10-12 22:21:35 +00:00
emersion
29abf93bb6
Check pointer focused surface instead of view at cursor 2017-10-12 14:28:37 +02:00
Drew DeVault
bf5299a3a5 Merge pull request #252 from myfreeweb/freebsd-compat
Add FreeBSD compatibility
2017-10-11 08:54:28 -04:00
Greg V
a5fe9aa736 Add FreeBSD compatibility 2017-10-11 00:07:21 +03:00
Tony Crisci
f7e7f6271d wl-shell: cleanup 2017-10-10 11:13:11 -04:00
Tony Crisci
fe3c6c929b wl-shell: popup input handling 2017-10-10 10:00:09 -04:00
Tony Crisci
d4c065e59b wl_shell: map transient surfaces closer to parent 2017-10-10 08:39:08 -04:00
Tony Crisci
cd1204f71f wl-shell: render popups in the right place 2017-10-10 08:39:08 -04:00
Versus Void
a6db47196c Upload texture on surface commit 2017-10-10 11:18:38 +03:00
Drew DeVault
c39bfe7f84 Merge pull request #206 from emersion/client-cursor
Client provided cursors
2017-10-09 17:56:05 -04:00
Tony Crisci
654e2ccd6b move surface finder functions to wlroots 2017-10-09 16:51:55 -04:00
Drew DeVault
d0d6413772 Merge pull request #220 from versusvoid/optional-xwayland
Make Xwayland optional
2017-10-09 08:09:03 -04:00
emersion
8492174088
Switch back to compositor cursor when switching from one view to another 2017-10-09 13:12:38 +02:00
emersion
f44c44502d
Check client is focused before setting client cursor 2017-10-09 13:06:53 +02:00
emersion
4d157fe5de
Switch back to compositor cursor when leaving view 2017-10-09 12:51:28 +02:00
emersion
8a77d1b6a2
Listen to cursor surface commit & destroy events 2017-10-08 23:11:59 +02:00
emersion
9b83caa658
Add wlr_output_set_cursor_surface 2017-10-08 21:21:06 +02:00
emersion
65d57920e5
rootston: handle request_set_cursor 2017-10-08 20:37:47 +02:00
emersion
7b6d785f52
Rename wlr_surface->signals to events 2017-10-08 19:12:28 +02:00
Drew DeVault
74d31983b5 Center views on focused output 2017-10-08 13:02:08 -04:00
Drew DeVault
82a6598ca7 Merge pull request #243 from acrisci/feature/input-bounds
Use wl_surface input bounds for input handling
2017-10-08 12:52:53 -04:00
Drew DeVault
8dcf3bfdf7 Merge pull request #239 from emersion/center-views
Center views in rootston
2017-10-08 12:51:42 -04:00
Tony Crisci
db15ab77b4 use input bounds for pointer events 2017-10-08 12:33:39 -04:00
emersion
b72da6cc44
Only center toplevel xdg shell views 2017-10-08 18:21:39 +02:00
emersion
518ef46ef2
Activate new views 2017-10-08 18:19:05 +02:00
emersion
e66e18f4de
Only center toplevel wl_shell views 2017-10-08 18:02:11 +02:00
emersion
3774d6c2c0
Center wl shell views 2017-10-08 17:59:38 +02:00
emersion
3c6f2f29bf
Do not remove the commit listener 2017-10-08 17:28:19 +02:00
Drew DeVault
9e1ff2dce9 Merge pull request #140 from emersion/screenshooter
Add screenshooter
2017-10-08 10:06:41 -04:00
emersion
d09d01236b
Center xdg shell views 2017-10-08 12:17:25 +02:00
emersion
0ce3135304
Move read_pixels from output to renderer 2017-10-08 02:11:56 +02:00
Drew DeVault
543601e86c Merge pull request #183 from acrisci/feature/xdg-popup
xdg-popup
2017-10-07 17:40:46 -04:00
Tony Crisci
117586c872 bug: fix a subsurface location calculation 2017-10-07 16:53:10 -04:00
Tony Crisci
4f848000af Merge branch 'master' into feature/xdg-popup 2017-10-07 13:04:04 -04:00
Tony Crisci
4680943e74 xdg-seat: keyboard grabs 2017-10-07 12:52:02 -04:00
emersion
05096ab458
rootston: create screenshooter interface 2017-10-07 16:22:03 +02:00
Versus Void
9cab66f0f9 Make xwayland compile-time optional 2017-10-06 21:50:25 +00:00
Versus Void
decd87043f Add config option to disable Xwayland 2017-10-06 21:48:50 +00:00
emersion
f402598ee1
Match default keybindings with sway's 2017-10-06 17:10:24 +02:00
emersion
fbca280949
Unset input->active_view when view is destroyed 2017-10-06 16:51:16 +02:00
emersion
b21f783c34
Disconnect wl_shell clients when closing 2017-10-06 16:44:55 +02:00
emersion
ecc0f712af
Update rootston.ini.example 2017-10-06 16:09:43 +02:00
emersion
69aff9b35e
Implement wlr_xdg_toplevel_v6_send_close 2017-10-06 16:03:35 +02:00
emersion
972e9dbd1b
Add close command, add close for xwayland 2017-10-06 16:03:35 +02:00
emersion
8ff548cdba
Require exec prefix to execute shell commands 2017-10-06 16:02:40 +02:00
Drew DeVault
6aafc2f61a Merge pull request #223 from versusvoid/xwayland-activate
Activate only active xwayland views
2017-10-06 09:34:48 -04:00
Drew DeVault
528f000a7a Deactivate xwayland when focus leaves there 2017-10-06 09:34:22 -04:00
Tony Crisci
48ae4fc588 rootston: handle grab end 2017-10-06 07:32:59 -04:00
Tony Crisci
4657f10dd2 Merge branch 'master' into feature/xdg-popup 2017-10-06 07:04:27 -04:00
Versus Void
4d7ff3cb48 Activate only active xwayland views
Fix #217
2017-10-06 13:57:25 +03:00
Versus Void
641d08ce7e Transform hotspot with cursor
Fix #188
2017-10-06 09:07:08 +03:00
Drew DeVault
7d57c1463d Fix #210 2017-10-05 14:55:55 -04:00
Versus Void
1b1346462e Fix focusing null view 2017-10-05 21:32:49 +00:00
Tony Crisci
9bf03e1a71 bug: use milisecond granularity for time events 2017-10-05 14:25:56 -04:00
Tony Crisci
17b134e178 wlr-seat: pointer grab interface 2017-10-05 13:30:46 -04:00
Drew DeVault
d74a6d254f Merge pull request #198 from emersion/rootston-move-resize-rotate
rootston: force move, resize and rotate
2017-10-05 13:12:29 -04:00
Versus Void
c5df6ca900 Fix memory leaks 2017-10-05 20:01:56 +00:00
emersion
1a775adbde
rootston: fix rotated subsurfaces 2017-10-04 23:05:57 +02:00
emersion
3b226ba81a
rootston: rotation by steps 2017-10-04 22:01:54 +02:00
emersion
09a6d863cf
rootston: fix cursor coordinates for rotated subsurfaces 2017-10-04 21:17:16 +02:00
emersion
dd07618727
rootston: rotate cursor coordinates 2017-10-04 21:05:00 +02:00