Commit Graph

691 Commits

Author SHA1 Message Date
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
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
emersion 510ce27fb7
Re-enable hardware cursors 2017-11-01 11:01:18 +01:00
emersion 0beae99188
Apply output transformation to pointer events in Wayland backend 2017-11-01 11:00:27 +01:00
emersion ec22fe7134
Make wlr_output_interface.enable optional 2017-10-31 15:19:55 +01:00
emersion d2581eadbc
Assert mandatory impl fields in wlr_output_init 2017-10-31 15:08:45 +01:00
emersion 7dc716a2bb
Fix memory leak in wlr_cursor 2017-10-31 14:58:58 +01:00
emersion 2c63aa2056
Destroy x11 output with backend 2017-10-31 14:21:12 +01:00
emersion c97b5ac4ce
Fix output_cursor_render bounds check 2017-10-31 13:48:09 +01:00
emersion 9142def292
Do not render off-screen software cursors 2017-10-31 12:57:20 +01:00
emersion ca9dfd2e14
Emit add event after configuring wlr_output_layout_output 2017-10-31 12:30:57 +01:00
emersion ae9a46fc9b
Remove outdated TODOs, use wlr_surface_has_buffer 2017-10-31 12:30:57 +01:00
emersion 6a74a3586f
Fix wlr_cursor_destroy, handle device remove in examples/multi-cursor 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 95566c6bdf
Transform cursor hotspot, fix wayland cursor hotspot 2017-10-31 12:30:56 +01:00
emersion 6656e25fd4
Transform cursor hotspot 2017-10-31 12:30:56 +01:00
emersion 2e2d63a164
Manage wlr_output_cursor from wlr_cursor 2017-10-31 12:30:56 +01:00
emersion 1b6c729360
Add wlr_output_cursor 2017-10-31 12:30:03 +01:00
Tony Crisci e9c2cf09dc
Merge pull request #361 from emersion/output-layout-checked-allocs
Check allocation errors in wlr_output_layout
2017-10-31 07:07:06 -04:00
emersion 88f85f7477
Fix code style issues 2017-10-31 12:01:49 +01:00
emersion 816d6890ee
Fix remaining unchecked allocs in types and code style 2017-10-31 11:58:39 +01:00
emersion 78245a3998
Check allocation errors in wlr_output_layout 2017-10-31 11:29:53 +01: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
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 a43acae000
Send server-decoration ack event automatically 2017-10-27 00:02:30 +02:00
emersion e84d573b91
Complete server-decoration implementation 2017-10-24 23:22:27 +02:00
emersion e521b0404b
Add server-decoration skeleton 2017-10-24 21:56:18 +02:00
emersion 9ccf66f53d
Remove gamma_control->link from list in destroy 2017-10-24 21:44:30 +02:00
Drew DeVault bbf08f3ef9 Merge pull request #262 from acrisci/feature/data-device-selection
wlr-data-device
2017-10-24 08:22:13 -04:00
Drew DeVault 93042e844b Merge pull request #325 from acrisci/bug/texture-destroy
Revert "wlr-surface: destroy texture on null buffer commit"
2017-10-24 08:22:06 -04:00
Tony Crisci 1dbe314937 Merge branch 'master' into feature/data-device-selection 2017-10-24 07:57:36 -04:00
Tony Crisci 06d8893543 wlr-seat: edit todos 2017-10-24 07:24:48 -04:00
Tony Crisci d33a9f8eaa wlr-seat: keyboard redesign 2017-10-24 07:18:11 -04:00
emersion eea532911a
Send output current mode when changed 2017-10-23 21:03:00 +02:00
Tony Crisci 6e7caaee6b Revert "wlr-surface: destroy texture on null buffer commit"
This reverts commit 0e7d13fab7.
2017-10-23 09:09:12 -04:00
Tony Crisci 0e7d13fab7 wlr-surface: destroy texture on null buffer commit 2017-10-22 21:07:54 -04:00
Tony Crisci d1dd0a6970 refactor buffer detection 2017-10-22 21:07:32 -04:00
emersion 1cc8f21d8e
Cleanup wlr_gamma_control 2017-10-22 23:11:26 +02:00
emersion e1d213fccd
Create globals only for enabled outputs in DRM backend 2017-10-22 22:21:23 +02:00
Drew DeVault c5fff08f8a Forgot to rename these 2017-10-22 10:56:40 -04:00
emersion 4952a633ca
Remove interface version checks 2017-10-22 11:18:27 +02:00
Drew DeVault 16f35ecbea Merge branch 'master' into heghe/wl_list 2017-10-21 22:03:48 -04:00
Drew DeVault 169b68b17c Rename remaining refs to wlr_list 2017-10-21 22:02:36 -04:00
Drew DeVault 24ae081001 Merge pull request #308 from ascent12/render-fixups
Render fixups
2017-10-21 18:08:58 -04:00
Scott Anderson 37b8a096a9 Pass backend to render 2017-10-22 10:39:23 +13:00
Scott Anderson 822a9f65a4 Add pointer to backend inside wlr_output 2017-10-22 10:36:07 +13:00
Scott Anderson 9b984253e2 Move egl.h to render/egl.h 2017-10-22 10:36:07 +13:00
Tony Crisci 3c7ef3aae6 Merge branch 'master' into feature/data-device-selection 2017-10-21 09:43:24 -04:00
Tony Crisci a87b60e31e Merge branch 'master' into feature/data-device-selection 2017-10-21 09:37:58 -04:00
emersion c8570d0e42
Remove wl_list_init when using wl_signal_add 2017-10-21 12:35:51 +02:00
Tony Crisci eaed6b6d29 wl-output: send layout position 2017-10-20 07:29:01 -04: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 a339b10dcd xdg-shell: improve configure request change detection 2017-10-20 11:44:36 +03:00
Tony Crisci a5659b65c7 xdg-shell: send same-as-current configure if needed 2017-10-20 11:44:36 +03:00
Tony Crisci fcf4724da9 xdg-shell: improve configure request change detection 2017-10-19 10:15:56 -04:00
Tony Crisci ec83d9df58 xdg-shell: send same-as-current configure if needed 2017-10-19 09:57:55 -04:00
Tony Crisci 39308cb868 Merge branch 'master' into feature/data-device-selection 2017-10-18 15:43:13 -04:00