Commit Graph

651 Commits

Author SHA1 Message Date
Dominique Martinet 8e24aaa3c6 style: fix sizeof() calls without parentheses 2017-12-28 16:28:19 +01:00
Dominique Martinet da3ef46daf xdg_toplevel send_configure: abort on ENOMEM instead of sending partial configure 2017-12-28 16:08:45 +01:00
Dominique Martinet 3eb4fa15ee ENOMEM checks: consistently check wl_array_add return 2017-12-28 09:48:35 +01:00
Drew DeVault 9c163b7d38
Merge pull request #531 from acrisci/keyboard-num-keycodes
wlr-keyboard: keep track of number of keycodes pressed
2017-12-27 16:14:06 -08:00
Tony Crisci e8b810ce3e keep track of number of keycodes pressed 2017-12-27 18:58:43 -05:00
Björn Esser ff13849624
config: Avoid clash with other config-headers 2017-12-27 17:13:58 +01:00
Tony Crisci 815d71a3aa validate grab serial for shell events 2017-12-27 08:04:01 -05:00
emersion a79dc7df51
Merge pull request #524 from acrisci/role-committed
[wip] Role committed
2017-12-27 13:02:49 +01:00
Tony Crisci e42d762a88 drag-icon: surface committed 2017-12-27 06:41:14 -05:00
Tony Crisci 68328700c7 wl-shell: role committed 2017-12-27 06:32:54 -05:00
Tony Crisci e809250171
Merge pull request #519 from emersion/xwayland-primary-selection
Implement xwayland primary selection sync
2017-12-27 06:23:04 -05:00
Tony Crisci d5ffa26564 xdg-shell: role-committed func 2017-12-27 06:15:25 -05:00
Tony Crisci 5a18f62fee add role-committed hook 2017-12-27 06:06:29 -05:00
Tony Crisci 6c2242e66b
Merge pull request #522 from emersion/fix-drm-output-transform-cursor
Fix cursor on transformed output with DRM backend
2017-12-27 05:48:45 -05:00
Björn Esser 57a09c8ca4
config: Put all defines into config.h 2017-12-26 18:51:27 +01:00
emersion e737f65e38
Fix cursor on transformed output with DRM backend 2017-12-26 18:16:37 +01:00
emersion 4a11609b76
Fix use-after-free when destroying selection sources 2017-12-25 18:18:26 +01:00
emersion 6dffaa7bb7
Implement xwayland primary selection sync 2017-12-25 16:10:16 +01:00
emersion d4d860666c
Correctly free primary selection manager & source 2017-12-23 17:43:55 +01:00
emersion 077bdfa789
Send primary selection when clients get keyboard focus 2017-12-23 00:03:15 +01:00
emersion 4476f79850
Fix primary clipboard issues 2017-12-22 23:45:07 +01:00
emersion a95d09d561
Add missing gtk-primary-selection interfaces 2017-12-22 22:22:29 +01:00
emersion 0a171d3ace
Add wlr_primary_selection_device_manager and wlr_primary_selection_source 2017-12-22 19:20:12 +01:00
emersion 01cefbb868
Output fixes
Fixes setting a hardware cursor image twice (used to fallback to
software cursor) and destroy handlers.
2017-12-19 11:06:09 +01:00
Tony Crisci d654a12b2e remove display_destroy unlisten before output free 2017-12-18 16:24:56 -05:00
Tony Crisci c59210ad17 remove display destroy when output is destroyed 2017-12-18 15:10:32 -05:00
Tony Crisci c838679393 fix memory leaks 2017-12-18 14:53:24 -05:00
Tony Crisci 20327d82cb Merge branch 'master' into keyboard-fixes 2017-12-18 10:04:27 -05:00
Tony Crisci 37c83d5c6d misc keyboard fixes 2017-12-18 09:59:59 -05:00
emersion 2c31cac116
Do not segfault when loading an unknown keymap 2017-12-18 15:11:05 +01:00
Drew DeVault f3769a4b1f
Merge pull request #496 from emersion/headless-backend
Headless backend
2017-12-17 20:48:01 -05:00
Drew DeVault 10c72f4bf6
Merge pull request #487 from emersion/xwm-selection
xwm clipboard sync, 2nd edition
2017-12-17 20:03:26 -05:00
emersion 804c7a73a6
Allow clients to unset the selection 2017-12-18 00:44:43 +01:00
emersion 0256de0002
Add full refresh rate support to custom modes 2017-12-17 18:02:55 +01:00
Drew DeVault 3363ea869a
Merge pull request #492 from emersion/seat-client-multiple-resources
Support multiple resources per seat client
2017-12-16 11:53:14 -05:00
emersion 50d91bd260
Fix potential memory leak 2017-12-16 17:46:07 +01:00
emersion 9e345f0f98
Simplify seat pointer functions 2017-12-16 17:17:07 +01:00
emersion 9310d101bc
Fix potential segfault 2017-12-16 16:16:29 +01:00
Drew DeVault 95fddf2fa8 s/L_INFO/L_DEBUG/ @ software cursor fallback 2017-12-16 09:56:30 -05:00
emersion 8af6fbd7a0
Support multiple resources per seat client for data_device 2017-12-16 14:22:59 +01:00
emersion 4f0443a344
Support multiple resources per seat client for pointer, keyboard, touch 2017-12-16 13:53:39 +01:00
emersion 80b0b327de
Remove fractional output PR artifact 2017-12-15 17:14:30 +01:00
emersion 51db087210
Introduce fractional scaling 2017-12-15 01:00:03 +01:00
Drew DeVault 23fb663ea4
Merge pull request #453 from emersion/surface-transform
Add surface transforms support
2017-12-14 14:43:04 -05:00
emersion 466e86b7b2
Merge branch 'master' into surface-transform 2017-12-14 20:31:18 +01:00
emersion 75ef7860bb
Merge branch 'master' into display-destroy 2017-12-14 20:29:30 +01:00
emersion 257559d890
Remove output instead of terminating display when a wayland backend view closed 2017-12-13 21:48:59 +01:00
emersion 3b4b8953d9
Update output layout when scale or transform changes 2017-12-12 21:58:00 +01:00
emersion c67a5824b8
Merge branch 'master' into display-destroy 2017-12-11 16:14:03 +01:00
emersion 529675b7b0
Add wlr_output_set_custom_mode 2017-12-11 12:14:23 +01:00
Dominique Martinet 542d886984 wlr_seat: send keyboard modifiers to the right client on enter
We were previously sending modifiers to the leaving client instead.
Fixes #476.
2017-12-10 08:09:33 +01:00
Drew DeVault eb4e91f96d
Merge pull request #474 from emersion/customize-repeat-info
Make keyboard repeat info configurable
2017-12-08 15:47:11 -05:00
emersion a3c0f97810
Make keyboard repeat info configurable 2017-12-08 17:03:05 +01:00
emersion 15bb9a53b4
Fix unscaled cursor sx, sy 2017-12-08 14:40:57 +01:00
emersion 5dc303fc26
Fix client cursors hotspot on scaled outputs 2017-12-08 14:33:02 +01:00
emersion c5fa415a03
Send wl_surface.{enter,leave} to cursor surfaces 2017-12-08 14:23:33 +01:00
emersion 18eb1eee3f
Listen to display destroy in xwayland, rename wlr_egl_free 2017-12-08 00:59:37 +01:00
emersion bdb6e0b84c
Remove destroy event in screenshooter for now 2017-12-07 01:19:41 +01:00
emersion 0e066f0d76
Listen to display destroy in output 2017-12-07 01:12:04 +01:00
emersion cbf5763c22
Listen to display destroy in xdg-shell-v6 2017-12-07 01:08:35 +01:00
emersion 9ddaea14a1
Listen to display destroy in wl-shell 2017-12-07 01:05:49 +01:00
emersion 983ea3033f
Listen to display destroy in seat 2017-12-07 01:02:07 +01:00
emersion 088ff9a614
Listen to display destroy in gamma control manager 2017-12-07 00:55:50 +01:00
emersion c7900663bc
Add display destroy listener to data device 2017-12-07 00:50:55 +01:00
emersion e6d2e72401
Remove display destroy listeners, add compositor listener 2017-12-07 00:44:45 +01:00
emersion 32591d66d6
Add display destroy listener in server decoration 2017-12-07 00:36:05 +01:00
emersion dfe11a2b0e
Add display destroy listener in screenshooter, destroy display in rootston 2017-12-07 00:13:06 +01:00
emersion dac0233804
Send new output to clients when changing transform 2017-12-06 16:54:08 +01:00
emersion bf2b58eb6d
Add wlr_output_set_scale
Fixes #465
2017-12-06 16:36:46 +01:00
Tony Crisci 41d7bad470 wl-shell: add commit event 2017-12-03 12:37:23 -05:00
emersion 4a56957a37
Fix inverted flipped-90 and flipped-270 2017-12-01 09:49:32 +01:00
emersion 6a69b4419f
Make wlr_output_transform_* functions public, refactoring 2017-12-01 09:15:33 +01:00
Tony Crisci 5d7eb438d9
Merge pull request #437 from emersion/fullscreen
Fullscreen support
2017-11-30 03:25:05 -05:00
emersion 0781f6e483
Fix initial hardware cursor position 2017-11-29 00:26:55 +01:00
emersion cc2468923b
Fix non-HiDPI-aware fullscreen surface rendering in wlr_output 2017-11-21 21:12:12 +01:00
emersion 3262661e1e
Fix HiDPI support 2017-11-21 20:58:15 +01:00
emersion 5a664e1e46
Fix messed up outputs after fullscreen 2017-11-21 18:43:22 +01:00
emersion dcb168914e
Merge branch 'master' into fullscreen 2017-11-21 18:34:12 +01:00
Drew DeVault 1228d0da19
Merge pull request #387 from emersion/laggy-move-resize
Fix laggy move-resize
2017-11-21 11:13:18 -05:00
emersion 17d9e2ce35
Unify view events naming, remove client from event structs 2017-11-21 09:50:00 +01:00
emersion 151901123f
Merge branch 'master' into refactor-wlr-list 2017-11-20 21:15:58 +01:00
emersion a268f57ed5
Forgot a call to glClear 2017-11-20 21:05:05 +01:00
emersion 54f1135c05
Fix fullscreen in xdg-shell 2017-11-20 20:53:13 +01:00
emersion 80998cdf57
Add support for fullscreen xwayland views 2017-11-20 17:58:26 +01:00
emersion b04a9a248d
Initial fullscreen support 2017-11-20 17:27:36 +01:00
emersion 7904b625f0
Merge branch 'master' into laggy-move-resize 2017-11-19 22:28:51 +01:00
Tony Crisci af23192ede wlr-seat: remove client bound and unbound signal 2017-11-19 11:13:59 -05:00
Tony Crisci 8f38b0504b wlr-data-device: map icon by default 2017-11-19 10:14:57 -05:00
Tony Crisci 3b74db467b data-device: wlr-drag-icon 2017-11-19 09:33:55 -05:00
emersion 016744ef4d
Refactor wlr_list inside wlroots 2017-11-19 00:17:40 +01:00
Tony Crisci 458fe633df data-device: fix memory leak 2017-11-18 14:04:20 -05:00
Tony Crisci f277f28eef Merge branch 'master' into feature/wlr-seat-touch 2017-11-18 13:43:25 -05:00
emersion cd566ccd8e
Add cursor theme to rootston config 2017-11-18 09:47:53 +01:00
emersion a3a8b7bfd8
Fixed a bug with move-resize, removed xdg-shell ack_configure event
Fixed move-resizing a view when only one coordinate changes.
2017-11-18 09:09:23 +01:00
emersion e2843d87c8
Ensure to move the view when configured 2017-11-17 23:52:42 +01:00
Tony Crisci fb18e345a6 wlr-seat: return serial from touch down interface 2017-11-16 17:44:10 -05:00
Tony Crisci 4434be835d wlr-seat: clear touch focus on touch point destroy 2017-11-16 17:20:55 -05:00
Tony Crisci ae7d8870e7 data-device: bug: fix touch detection 2017-11-16 16:45:56 -05:00
Tony Crisci 584ff1df4c Merge branch 'master' into feature/wlr-seat-touch 2017-11-16 16:19:17 -05:00
emersion bb79ada49f
Fix a bunch of mistakes detected with scan-build 2017-11-16 10:30:54 +01:00
emersion bf1f461eba
Call wl_output_send_done when current mode is updated 2017-11-15 22:35:16 +01:00
Tony Crisci 12758a00a2 rootston: touch to focus 2017-11-15 08:34:48 -05:00
Tony Crisci ac4841ba37 put dnd icon in the right place 2017-11-15 08:34:48 -05:00
Tony Crisci a337e95505 wlr-touch: make dnd work 2017-11-15 08:34:48 -05:00
Tony Crisci 4eab61f86f wlr-seat: refactor touch grab interface 2017-11-15 08:34:48 -05:00
Tony Crisci b310fdac82 wlr-data-device: cleanup 2017-11-15 08:34:48 -05:00
Tony Crisci 6a516f7c41 basic touch dnd 2017-11-15 08:34:48 -05:00
Tony Crisci 94e7dc8a3e data-device: touch grab stubs 2017-11-15 08:34:48 -05:00
Tony Crisci cbb6fd7352 wlr-seat: touch grab begin and end 2017-11-15 08:34:48 -05:00
Tony Crisci 4240096b83 wlr-seat: default touch grab 2017-11-15 08:34:48 -05:00
Tony Crisci e5a31ae870 wlr-seat: basic touch 2017-11-15 08:34:48 -05:00
emersion 3f6cf517b9
Add wlr_xdg_surface_v6_popup_get_position 2017-11-15 14:03:13 +01:00
emersion f8b43940b1
Merge branch 'master' into cursor-scale 2017-11-12 22:12:50 +01:00
Drew DeVault 1e0e73efaa Spawn views on last active output 2017-11-12 09:55:28 -05:00
emersion 8605243459
Introduce wlr_xcursor_manager 2017-11-12 11:10:56 +01:00
emersion ac1573b0e7
Add scale parameter to wlr_cursor_set_image 2017-11-11 17:27:44 +01:00
Tony Crisci 2a9dc60f28 Merge branch 'master' into feature/multiseat 2017-11-11 09:59:39 -05:00
Drew DeVault e6babc07a0
Merge pull request #390 from emersion/rootston-maximize
Maximize views in rootston
2017-11-10 08:26:20 -05:00
Drew DeVault 425713b837 Merge branch 'hidpi' 2017-11-10 08:21:50 -05:00
Timidger 80bf3cfff0 Fixes #399 Adds wlr_data_device_manager destructor
Fixed issues
2017-11-09 18:52:58 -08:00
Tony Crisci 739361aa70 wlr-keyboard: take out modifiers event struct (for now) 2017-11-09 17:29:28 -05:00
emersion bf1b12a725
Fix maximize delay in xdg-shell 2017-11-09 21:41:11 +01:00
emersion 26dadacb71
Add wl_shell support for maximized views 2017-11-09 20:06:05 +01:00
Drew DeVault 66587eb430 Merge remote-tracking branch 'origin/master' into hidpi 2017-11-09 08:36:27 -05:00
Tony Crisci 79f5bd6ef8 Merge branch 'master' into feature/multiseat 2017-11-08 20:21:59 -05:00
emersion 882e620639
Always read state from wlr_keyboard in the seat 2017-11-08 19:02:56 +01:00
emersion 84d5e6bbb4
Send current keyboard state when entering a surface 2017-11-08 10:57:46 +01:00
Tony Crisci 09c6092423 multiseat: somewhat working 2017-11-07 15:56:11 -05:00
Tony Crisci b74c4cf974 Merge branch 'master' into feature/multiseat 2017-11-05 08:09:45 -05:00
Drew DeVault 2f6cfe4057 Fix software cursors on scaled outputs
There was an issue where it would only work within the boundaries of the
unscaled resolution.
2017-11-04 11:47:34 -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
Drew DeVault 86b8729998 Merge remote-tracking branch 'origin/master' into hidpi 2017-11-02 23:34:02 -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
emersion f8de7aa0fd
Add checks for wl_resource_create 2017-11-02 23:14:24 +01:00
emersion 0384c9c094
Process surface position for software cursor hotspots 2017-11-02 19:24:48 +01:00
emersion b46d2a8b33
Fix wlr_output_cursor_destroy 2017-11-02 11:42:42 +01:00
emersion d11973ed7d
Fix disabled cursors 2017-11-02 11:37:43 +01:00
emersion e18460c981
Add wlr_output.needs_swap 2017-11-01 20:08:15 +01:00
emersion 0df7a3c22d
Add wlr_seat_pointer_request_set_cursor_event.serial 2017-11-01 18:15:37 +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 a15b35aa10
Remove mysterious hotspot switch in DRM backend 2017-11-01 14:36:58 +01:00
emersion 60c018c017
Fix hidden software cursors, fix cursor transformations on DRM backend 2017-11-01 14:25:41 +01:00
Drew DeVault b2ff9f13b7
Merge pull request #368 from acrisci/bug/seat-clear-focus
wlr-seat bug: dont set focus surface to null then clear focus
2017-11-01 09:20:49 -04:00
Tony Crisci b23dd6a6f8 wlr-seat bug: dont set focus surface to null then clear focus 2017-11-01 09:08:35 -04:00
Drew DeVault ed74f473d6 Fix various rebase-related bugs 2017-11-01 08:57:30 -04:00
Drew DeVault 8c0929cfb3 Fix backwards bit banging 2017-11-01 08:51:59 -04:00
Drew DeVault c8f97a3a2c Use surface matrix for software cursors
A similar change should probably be applied to hardware cursors, though
more complicated. Also, this doesn't actually fix the issue where the
cursor is too small when over a scale=2 surface. Apparently they don't
set their cursor scales to 2. Seems like a client bug? idk
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