Commit Graph

671 Commits

Author SHA1 Message Date
emersion e29a0df8c1
output: fix software cursors damage tracking 2018-01-19 14:08:47 +01:00
emersion a0f24b809e
output: add damage event 2018-01-19 13:13:46 +01:00
emersion 443bd4cd89
output: fullscreen surface damage tracking 2018-01-19 11:20:27 +01:00
emersion bde255933e
output: add wlr_output::damage, fixes #572 2018-01-18 19:47:21 +01:00
Tony Crisci b6f29e87e8 dont use pointer for modifiers 2018-01-17 08:31:15 -05:00
Tony Crisci 43896af90f Merge branch 'master' into modifier-fixes 2018-01-17 08:27:47 -05:00
Tony Crisci dc701b72fc abstract box matrix 2018-01-16 07:14:47 -05:00
Drew DeVault b331c5c2c5
Merge pull request #549 from emersion/output-enabled
Add wlr_output::enabled
2018-01-15 20:53:13 -05:00
Tony Crisci c690420501
Merge pull request #562 from emersion/xwayland-fullscreen-render-children
xwayland: render children window in fullscreen
2018-01-15 07:53:32 -05:00
Tony Crisci e46d2dd0f8
Merge pull request #556 from raazvvann/heghe/idle-protocol
Idle protocol
2018-01-14 15:55:04 -05:00
emersion 65b28b3823
xwayland: render children window in fullscreen 2018-01-14 18:19:37 +01:00
Markus Ongyerth dfae5ff98f Update comment for wlr_headless_backend_create 2018-01-13 21:41:04 +01:00
Markus Ongyerth c00e9d1416 adds remote argument to wayland backend create
Add a remote display name argument to wlr_wl_backend_create.
If NULL is passed to the wayland backend at all times, creating a
wayland backend *after* the compositor was started up, would require
changing the WAYLAND_DISPLAY environment variable.
2018-01-13 21:20:15 +01:00
Heghedus Razvan 21cc5e6fef Add idle protocol
Signed-off-by: Heghedus Razvan <heghedus.razvan@gmail.com>
2018-01-10 14:32:41 +02:00
Tony Crisci b40a5f084a keyboard grab enter with modifiers 2018-01-06 11:06:09 -05:00
emersion 8ebd7d4dbe
output: rename resolution event to mode 2018-01-06 12:42:32 +01:00
Tony Crisci 0ef2df21f2 compositor modifier hook 2018-01-05 07:00:50 -05:00
emersion d9ecfbaf32
Add wlr_output enable event 2018-01-04 14:51:36 +01:00
emersion 771263380c
Add wlr_output::enabled 2018-01-04 12:46:15 +01:00
Tony Crisci ce3a48c316
Merge pull request #542 from emersion/abstract-data-source
Abstract data sources
2018-01-04 06:15:17 -05:00
Drew DeVault b23bd8ea28
Merge pull request #544 from emersion/fix-views-outside-output-layout
Fix views outside output layout
2018-01-01 11:45:08 -05:00
Drew DeVault d438a877fd
Merge pull request #545 from emersion/fix-output-destroy
Free fullscreen surface and cursors when destroying output
2018-01-01 11:33:43 -05:00
Calvin Lee 5a26ed645a Allow configurable verbosity 2017-12-31 14:50:19 -07:00
emersion 9ac9ba861f
Free fullscreen surface and cursors when destroying output 2017-12-31 13:00:35 +01:00
emersion 1fe1d64042
Fix views outside output layout 2017-12-31 12:49:06 +01:00
emersion 38ed3b4245
seat: rename selection_source to selection_data_source, remove unused data_device 2017-12-30 09:58:04 +01:00
emersion b20aed66d6
Abstract wlr_primary_selection_source 2017-12-29 23:23:00 +01:00
emersion f237b5c7a7
Make wlr_data_source abstract.
This removes some fields specific to sources coming from clients.

This adds some drag'n'drop-related callbacks.
2017-12-29 22:51:33 +01:00
Dominique Martinet ec952931a1 wlr_xwayland: preserve end of struct on restart
This is more robust than trying to recopy a few fields.
Note: wlr_xwayland->events.ready now resets after each trigger, so one can
hook on it again and be called when restart is ready
2017-12-29 20:50:50 +01:00
Dominique Martinet e0eafa0429 xwayland: listen to wlr_seat destroy signal 2017-12-29 19:00:08 +01:00
Dominique Martinet 58488ec5ce wlr_seat: add destroy signal 2017-12-29 17:55:03 +01:00
Dominique Martinet bb0d888f25 xwayland selection: further cleanup on Xwayland exit
This is necessary if our last primary/clipboard selection was on Xwayland,
and we try to paste to native wayland after Xwayland died
2017-12-29 16:30:59 +01:00
Drew DeVault c23bd2ab7a Further fixes to header install dir 2017-12-28 14:38:52 -05: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 71e42dae90
libwlroots: Add shared library versioning 2017-12-27 18:00:13 +01:00
Björn Esser 48ecbff691
include: Generate and install version-header 2017-12-27 17:13:58 +01:00
Björn Esser 892f7a5db0
include: Install headers in an isolated include-dir 2017-12-27 17:13:58 +01: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 5c5f0611c4 xwayland: role committed 2017-12-27 06:50:21 -05: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
emersion 43435d4915
Add output transform helpers docs 2017-12-27 11:17:25 +01: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 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
Tony Crisci ee39dff1e7 rootston: handle backend creation failed 2017-12-20 05:51:23 -05:00
Tony Crisci 58e69c9ce1 multibackend remove subbackend 2017-12-19 18:49:00 -05:00
Tony Crisci a937016e38 remove session from multibackend 2017-12-19 18:25:46 -05:00
Tony Crisci 4e804ef40f add backend destroy event 2017-12-19 18:14:47 -05:00
Dominique Martinet fcd7062542 x11 backend: add wlr_input_device_is_x11 2017-12-19 20:40:36 +01:00
Dominique Martinet 169bc9fa10 wl backend: add wlr_input_device_is_wl 2017-12-19 20:20:32 +01:00
Dominique Martinet d9eaca6c9f headless backend: add wlr_output_is_headless 2017-12-19 20:17:47 +01:00
Dominique Martinet 995383b049 headless backend: add wlr_input_device_is_headless 2017-12-19 20:16:12 +01:00
Dominique Martinet be95147385 drm backend: add wlr_output_is_drm 2017-12-19 20:13:49 +01:00
Dominique Martinet dabfe159de wl backend: add wlr_output_is_wl 2017-12-19 20:13:49 +01:00
Dominique Martinet f83b16bc17 x11 backend: add wlr_output_is_x11 2017-12-19 20:13:49 +01:00
Dominique Martinet 3e228b0b2a libinput backend: add wlr_input_device_is_libinput 2017-12-19 20:13:49 +01:00
emersion 4a36ba4bdd
Destroy multi backend on display destroy 2017-12-19 18:28:47 +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 b99d1f4fcc
Refactor wlr_egl_init to accept config_attribs 2017-12-17 23:51:04 +01:00
emersion bc5bdb7793
Add headless input devices 2017-12-17 18:49:20 +01:00
emersion 0256de0002
Add full refresh rate support to custom modes 2017-12-17 18:02:55 +01:00
emersion 3970264ccf
Initialize headless backend 2017-12-17 12:56:42 +01: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 51db087210
Introduce fractional scaling 2017-12-15 01:00:03 +01:00
emersion 6b42bfad18
Merge branch 'master' into xwm-selection 2017-12-14 23:59:04 +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 6ef0219763
Merge branch 'master' into xwm-selection 2017-12-14 11:20:38 +01:00
Tony Crisci ea4b871e16 xwm: user custom event handler 2017-12-13 17:54:19 -05: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
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 2c6e52c164
Add docs for wlr_keyboard_set_repeat_info 2017-12-08 17:06:31 +01:00
emersion a3c0f97810
Make keyboard repeat info configurable 2017-12-08 17:03:05 +01:00
Tony Crisci 35188834db Merge branch 'master' into feature/xwm-selection 2017-12-08 09:22:44 -05:00
emersion c5fa415a03
Send wl_surface.{enter,leave} to cursor surfaces 2017-12-08 14:23:33 +01:00
Tony Crisci 4c60072be5 move get_resize_name to xcursor 2017-12-08 06:08:06 -05:00
Tony Crisci d74ac69f7b bring edges into wlr 2017-12-08 06:03:57 -05:00
emersion 6001235b04
Listen to display destroy in session
It's not the backend's responsibility to destroy the session anymore.
2017-12-08 11:17:56 +01:00
emersion b06535718d
Do not destroy wl_client in wlr_xwayland_finish 2017-12-08 01:38:45 +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 bf2b58eb6d
Add wlr_output_set_scale
Fixes #465
2017-12-06 16:36:46 +01:00
Tony Crisci 86df909256 xwayland: remove xwayland param from xsurface methods 2017-12-03 17:30:57 -05:00
Drew DeVault 3f70043d00
Merge pull request #458 from acrisci/refactor/wlr-decoration-modes
wrap server decoration modes
2017-12-03 14:13:27 -05:00
Tony Crisci 344ca222db wrap server decoration modes 2017-12-03 13:39:29 -05:00
Tony Crisci 41d7bad470 wl-shell: add commit event 2017-12-03 12:37:23 -05:00
emersion 6a69b4419f
Make wlr_output_transform_* functions public, refactoring 2017-12-01 09:15:33 +01:00
emersion f4754ad1a2
Fix surface transforms 2017-11-30 23:58:12 +01:00
Tony Crisci fc17c74516 xwayland: clean up seat setting 2017-11-22 08:23:23 -05:00
Tony Crisci b0683874e9 xwm: send selection data 2017-11-22 08:10:06 -05:00
Tony Crisci 39e2ea8420 xwm: get selection targets 2017-11-21 18:09:25 -05: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 54f1135c05
Fix fullscreen in xdg-shell 2017-11-20 20:53:13 +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 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
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 f61986e8db rename touch slot to touch id 2017-11-16 17:53:52 -05:00
Tony Crisci fb18e345a6 wlr-seat: return serial from touch down interface 2017-11-16 17:44:10 -05: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 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 469729d3af wlr-seat: document seat touch functions 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 a317ecdab8 Run startup command after xwayland is ready 2017-11-12 16:01:48 -05:00
emersion 28fc813ca9
Merge branch 'master' into cursor-scale 2017-11-12 21:16:45 +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 09279b90a6
Add wlr_output.serial 2017-11-11 19:09:34 +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 5f3b27347c
Merge pull request #404 from emolitor/CPP-Compatibility
Remove VLA from session.h
2017-11-10 10:18:43 -05:00
Eric Molitor 5be11a5c95 Remove VLA from session.h
VLAs are optional C11 features and not supported by C++.
2017-11-10 15:12:00 +00: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 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 62734d0553
Merge pull request #380 from emersion/xwayland-root-cursor
Set xwayland root cursor
2017-11-02 12:28:31 -04:00
emersion 3f4ad47421
Use compositor theme for xwm cursor 2017-11-02 16:49:22 +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 60c018c017
Fix hidden software cursors, fix cursor transformations on DRM backend 2017-11-01 14:25:41 +01:00
Drew DeVault a6930cd8ea Handle output enter/leave correctly 2017-11-01 08:51:59 -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 0beae99188
Apply output transformation to pointer events in Wayland backend 2017-11-01 11:00:27 +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 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
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 875a5b446f remove time usec 2017-10-30 15:43:06 -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
Tony Crisci c01248cf17 Merge branch 'master' into feature/xwm-rewrite 2017-10-29 10:43:10 -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
Tony Crisci c555a66dda Merge branch 'master' into feature/xwm-rewrite 2017-10-27 15:22:00 -04:00
Tony Crisci 325def3841 xwm: create colormap and visual depth detection 2017-10-27 15:20:50 -04:00
Tony Crisci be297d9d14 xwm: net wm state 2017-10-27 13:17:34 -04:00
Tony Crisci 6a4290b86a xwm: moveresize events 2017-10-27 10:48:09 -04:00
emersion a43acae000
Send server-decoration ack event automatically 2017-10-27 00:02:30 +02:00
Tony Crisci 4a106648c4 xwm: remove incorrect implementation of net wm state 2017-10-26 15:58:18 -04: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 2ff94d0036 xwm: get rid of displayable surfaces list 2017-10-24 18:57:20 -04: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
Tony Crisci 79e14f65e0 xwm: fix lists 2017-10-24 14:37:18 -04:00