Guido Günther
805039457a
wlr_surface: fix indentation
2018-03-23 08:59:48 +01:00
Tony Crisci
30b8fb5572
Merge branch 'master' into xdg-positioner
2018-03-22 20:06:53 -04:00
Dominique Martinet
e86cd4dc33
wlr_pointer: fix potential null deref
...
if pointer is null here we'd access pointer->events... anyway
2018-03-22 21:27:49 +01:00
Dominique Martinet
de955a0f63
xdg_popup_grab: add listener on seat destroy
2018-03-22 21:25:41 +01:00
emersion
731ee24089
xdg-shell, xdg-shell-v6: don't emit unmap if surface is unmapped
...
Some clients create an xdg_surface, then create an xdg_toplevel,
but don't map it and destroy it right after. The xdg_surface ends
up in a state where it isn't mapped but role-specific resources
have been allocated. xdg_surface_unmap needs to free these
resources without emitting the unmap signal.
2018-03-21 20:11:53 +01:00
emersion
c41de2d1be
render: split render.h into wlr_renderer.h and wlr_texture.h
2018-03-19 23:16:29 +01:00
emersion
6ecb0eefcb
render/gles2: transpose matrices before binding them
...
Setting glUniformMatrix3fv's transpose parameter to GL_TRUE is
not allowed for OpenGL ES 2.
This adds a wlr_matrix_transpose function.
2018-03-19 20:21:02 +01:00
Drew DeVault
1956d3cedb
Merge pull request #722 from emersion/matrix-redesign
...
Matrix redesign
2018-03-17 15:22:00 -04:00
Tony Crisci
09413aa7f1
Merge pull request #711 from emersion/map-unmap
...
Add map/unmap to xdg-shell
2018-03-17 10:00:54 -04:00
emersion
7894fca224
matrix: rename wlr_matrix_texture to wlr_matrix_projection
2018-03-15 21:26:45 +01:00
emersion
e607d0f7ee
xdg-shell: add map/unmap support
2018-03-15 20:15:09 +01:00
emersion
42cc575266
xdg-shell-v6: fix wl_list_remove called twice
2018-03-15 20:14:47 +01:00
emersion
361d7c857e
xdg-shell-v6: don't leak wlr_xdg_surface_v6_configure.toplevel_state
2018-03-15 19:40:57 +01:00
emersion
1914a1aa2b
surface: drop wlr_surface_get_matrix
2018-03-15 18:35:22 +01:00
emersion
8b58e1a3ad
Merge branch 'master' into matrix-redesign
2018-03-15 15:48:09 +01:00
emersion
824a95ad19
matrix: use 2D matrices
2018-03-15 15:33:58 +01:00
emersion
de0e40d621
Merge pull request #698 from agx/linux-dmabuf
...
Add initial linux_dmabuf protocol support
2018-03-15 12:45:07 +01:00
Guido Günther
eb4337b5ee
Wire up linux_dmabuf in rootston
2018-03-15 12:40:18 +01:00
Guido Günther
14cdb6153f
Add initial linux_dmabuf protocol support
...
Tested with
./weston-simple-dmabuf-drm
./weston-simple-dmabuf-drm --import-immediate=1
./weston-simple-dmabuf-drm --y-inverted=1
(and combinations)
Supports only single plane XRGB dmabufs for now.
2018-03-15 12:40:18 +01:00
emersion
d26b67cb06
matrix: unify API, don't use array pointers
2018-03-15 11:10:56 +01:00
emersion
b6a3f240c7
matrix: move to types/
2018-03-15 09:11:27 +01:00
Tony Crisci
8836b167bf
store xdg-positioner properties on the popup
2018-03-13 19:21:08 -04:00
Tony Crisci
b2926a6c62
differentiate xdg-toplevel roles
2018-03-13 19:11:02 -04:00
emersion
ace738dbca
xdg-shell-v6: next_geometry and geometry fields are not longer pointers in wlr_xdg_surface_v6
2018-03-13 22:17:25 +01:00
emersion
149209b72e
xdg-shell-v6: rename toplevel and popup fields in wlr_xdg_surface_v6 for consistency
2018-03-13 22:09:44 +01:00
emersion
657e5c8c0d
xdg-shell-v6: changed wlr_xdg_surface_v6_configure.toplevel_state to be NULL if surface isn't a toplevel
2018-03-13 22:05:35 +01:00
emersion
e74ddaaf10
xdg-shell-v6: redesign the configure/ack_configure workflow
2018-03-13 19:57:21 +01:00
Tony Crisci
647c2e68ba
Merge pull request #696 from emersion/fix-output-layout-destroy-global
...
output-layout: fix output global not destroyed
2018-03-12 21:41:45 -04:00
emersion
adec3f5c0f
xdg-shell-v6: add unmap support, add more protocol errors
2018-03-12 10:41:57 +01:00
emersion
8e3d294d6a
output: fix trailing cursor at (0, 0) on startup
2018-03-11 11:21:40 +01:00
emersion
3f072bedd9
xdg-shell-v6: add map signal
2018-03-10 11:18:50 +01:00
emersion
a951fbb264
output: don't move hidden cursors
...
When using the DRM backend and multiple outputs, that reduces the
number of commits.
2018-03-07 10:22:39 +01:00
Scott Anderson
3c9fc7c68e
Add const to x11 and input interfaces
2018-03-06 21:16:18 +13:00
emersion
aa2b62fbff
output-layout: fix output global not destroyed
2018-03-01 17:53:15 +01:00
Drew DeVault
0820557c8c
Merge pull request #693 from emersion/fix-output-bind-multiple
...
Fix clients binding multiple times to the same output
2018-03-01 11:23:41 -05:00
emersion
90148e64ab
Fix clients binding multiple times to the same output
2018-03-01 10:19:48 +01:00
Drew DeVault
3296365ce5
Merge pull request #659 from agx/alpha
...
Make wlr_render_with_matrix use alpha
2018-02-25 13:16:35 -05:00
Guido Günther
d08792bfff
Add alpha to wlr_render_with_matrix
...
so we can use the alpha channel to e.g. blend in textures
2018-02-25 13:47:48 +01:00
Tony Crisci
b7b86a9591
Merge pull request #641 from Ongy/idle-inhibit
...
Add idle-inhibit implementation
2018-02-24 10:15:18 -05:00
Markus Ongyerth
67285c1d57
idle-inhibit: style adjustments and motivation
2018-02-23 13:18:05 +01:00
emersion
b1e2718dd7
xwayland: fix some use-after-free in xwm
2018-02-23 10:20:53 +01:00
Tony Crisci
1c1b5b1b17
Merge pull request #662 from emersion/surface-resize-frame-done
...
surface: don't reset frame_callback_list on resize
2018-02-22 17:33:22 -05:00
emersion
f0404f6d75
surface: don't reset frame_callback_list on resize
2018-02-22 22:40:02 +01:00
Markus Ongyerth
a715826751
move activity_notify into events in wlr_idle
...
This moves the `struct wl_signal activity_notify` in `struct wlr_idle`
into a local `struct {} events` to keep consistency with other modules
in the library.
2018-02-22 21:14:28 +01:00
Markus Ongyerth
87a7afb641
idle-inhibit: second feedback pass
2018-02-21 16:22:04 +01:00
Markus Ongyerth
3016133f91
idle-inhibit: feedback pass
2018-02-20 13:41:10 +01:00
emersion
4eaffc3e45
primary-selection: fix crash in device_handle_set_selection
2018-02-20 12:33:13 +01:00
Drew DeVault
1d9be89e2d
Revert "ELF Visibility"
2018-02-19 18:01:27 -05:00
Drew DeVault
09cfa39392
Merge pull request #632 from acrisci/output-layout-adjacent
...
add wlr_output_layout_adjacent_output
2018-02-19 18:00:32 -05:00
Scott Anderson
86269052eb
Explicitly export EFL symbols
2018-02-19 14:26:40 +13:00
Drew DeVault
c951000198
Remove XXX comment
2018-02-18 11:21:08 -05:00
Tony Crisci
9933b7ad95
fix direction determination
2018-02-17 17:54:57 -05:00
Tony Crisci
d2c7defa10
Merge branch 'master' into output-layout-adjacent
2018-02-17 16:34:32 -05:00
Markus Ongyerth
50d573b2ca
implements the idle_inhibit protocol type
...
This adds the types/wlr_idle_inhibit_v1 implementation.
2018-02-17 12:37:12 +01:00
Dominique Martinet
4941befeb0
Merge pull request #1 from emersion/martinetd/xdg_shell
...
Wrap wl_resource_get_user_data into safer helper functions (for xdg-shell stable too)
2018-02-16 18:52:04 +01:00
emersion
4b354745fe
xdg-shell: wrap wl_resource_get_user_data
2018-02-16 18:38:06 +01:00
emersion
717bdccb6e
Merge remote-tracking branch 'upstream/master' into martinetd/xdg_shell
2018-02-16 18:25:58 +01:00
Drew DeVault
8c1cc45c7d
Merge pull request #629 from emersion/safe-wl-resource-get-user-data
...
Wrap wl_resource_get_user_data into safer helper functions
2018-02-16 09:27:26 -05:00
Dominique Martinet
ac78bdb6bc
xdg shells: fix typo s/positives/positive/
2018-02-15 12:26:20 +01:00
Dominique Martinet
56ab3e9b10
xdg_shell stable: fix zero-sized positioner anchor_rect
...
We used 0 as unset-check value before, which was fine when 0-width
was invalid, but isn't anymore
2018-02-15 08:07:57 +01:00
Dominique Martinet
714f90a9d0
xdg_shell stable: allow zero-sized positioner set_anchor_rect
...
This is a protocol difference with xdg-shell-unstable-v6
2018-02-15 07:29:55 +01:00
Dominique Martinet
d1b28ec812
wayland protocol headers: use double-quote for includes
...
These headers are not installed so we should look for these locally
2018-02-15 07:17:02 +01:00
Dominique Martinet
6ae96c4832
wlr_xdg_shell: (style) add break to final switch case
2018-02-15 07:16:28 +01:00
Tony Crisci
85871cb666
add wlr_output_layout_adjacent_output
2018-02-14 14:10:31 -05:00
Rodrigo Lourenço
168e26489a
Add missing dependencies
2018-02-14 18:42:39 +00:00
Dominique Martinet
1080bf69f8
xdg_shell: add input validatoin for positioner anchor/gravity
2018-02-14 19:02:24 +01:00
Dominique Martinet
7d26a6debd
xdg-shell stable: copy-pasta implementation
2018-02-14 12:52:30 +01:00
emersion
392d54a35d
Wrap wl_resource_get_user_data into safer helper functions
...
This ensures we're not incorrectly casting a resource.
Fixes #628
2018-02-13 23:48:46 +01:00
emersion
c2e1474010
Reformat all #include directives
2018-02-12 21:29:23 +01:00
emersion
36ead80cd1
Make wlr_signal_emit_safe private
2018-02-12 19:52:47 +01:00
emersion
10ecf871f2
Remove wlr_backend.events.{output_remove,device_remove}
2018-02-12 10:36:43 +01:00
emersion
5e58d46cc1
Add wlr_signal_emit_safe
2018-02-12 09:12:31 +01:00
emersion
a9632341bf
output_damage: listen to transform and scale output events
2018-02-11 13:07:00 +01:00
emersion
ec837e3c9e
Introduce wlr_output_damage
2018-02-11 12:49:30 +01:00
emersion
bf6d245400
Swap buffers with damage
2018-02-09 22:54:14 +01:00
emersion
cdd55b5d19
Merge remote-tracking branch 'upstream/master' into output-damage
2018-02-09 14:50:26 +01:00
Vincent Vanlaer
8dcb2f2d6b
Prevent cursor from getting stuck at infinity
2018-02-04 22:40:24 +01:00
emersion
1cea73d2d8
rootston: fix rotated views damage tracking
2018-02-04 11:59:04 +01:00
emersion
faa57341ca
output: replace raw GL calls by wlr_renderer_* calls
2018-02-03 10:01:42 +01:00
emersion
3d3ea32137
Merge remote-tracking branch 'upstream/master' into output-damage
2018-02-03 00:15:44 +01:00
emersion
8eed857292
output: add destroy signal for wlr_output_cursor
2018-02-01 12:08:35 +01:00
emersion
edb4c8d858
output: damage whole output when fullscreen surface size changes
2018-01-30 22:06:10 +01:00
emersion
a295c805c4
output: fix output_damage_whole for scaled outputs
2018-01-30 21:42:12 +01:00
emersion
babdd6ccf7
backend: fix use-after-free when destroying backends
...
The backend destroy signal is emitted before the output_remove
signal is. When the destroy signal is emitted listeners remove
their output_remove listener, so the output_remove signal is never
received and listeners have an invalid output pointer.
The correct way to solve this would be to remove the output_remove
signal completely and use the wlr_output.events.destroy signal
instead. This isn't yet possible because wl_signal_emit is unsafe
and listeners cannot be removed in listeners.
2018-01-30 19:45:57 +01:00
emersion
704130cc11
output: fix performance issues with wlr_output_schedule_frame
2018-01-30 14:45:02 +01:00
emersion
d498855b9d
backend/drm: fix hw cursor position on rotated and scaled outputs
...
output: add wlr_output_transformed_resolution
2018-01-30 10:23:35 +01:00
emersion
51c22d39a4
Merge remote-tracking branch 'upstream/master' into output-damage
2018-01-29 23:24:09 +01:00
emersion
2cc989e097
output: restrict provided damage to output bounds
2018-01-29 23:21:30 +01:00
Tony Crisci
ed5b1fdedd
Merge pull request #580 from emersion/screenshooter-renderer-backport
...
Backport screenshooter fixes from the renderer redesign v1
2018-01-29 17:13:23 -05:00
emersion
7881d039b6
rootston: fix output_damage_whole
...
This should fix artifacts when leaving fullscreen on rotated outputs.
2018-01-28 21:58:02 +01:00
emersion
5bbff20b8d
Fix assertion failed in data_source_notify_finish
2018-01-28 21:48:05 +01:00
emersion
e049610b47
surface: copy buffer damage to surface damage
2018-01-28 21:29:51 +01:00
emersion
1ee61dbd0f
Merge remote-tracking branch 'upstream/master' into output-damage
2018-01-28 21:22:50 +01:00
emersion
485aa87468
output: fix fullscreen on transformed outputs
2018-01-28 10:40:38 +01:00
emersion
861d5bdff2
surface: fix damage when resizing a surface in QT apps
2018-01-27 21:49:40 +01:00
Guido Günther
1633b8d793
wlr_keyboard: use correct printf format string for keymap_size
...
keymap_size is a size_t. Otherwise the build fails on arm like
../types/wlr_keyboard.c: In function 'wlr_keyboard_set_keymap':
../include/wlr/util/log.h:34:17: error: format '%lu' expects argument of type 'long unsigned int', but argument 5 has type 'size_t {aka unsigned int}' [-Werror=format=]
_wlr_log(verb, "[%s:%d] " fmt, _strip_path(__FILE__), __LINE__, ##__VA_ARGS__)
^
../types/wlr_keyboard.c:218:3: note: in expansion of macro 'wlr_log'
wlr_log(L_ERROR, "creating a keymap file for %lu bytes failed", kb->keymap_size);
^~~~~~~
../types/wlr_keyboard.c:218:50: note: format string is defined here
wlr_log(L_ERROR, "creating a keymap file for %lu bytes failed", kb->keymap_size);
~~^
%u
2018-01-27 12:23:26 +01:00
emersion
7adf13e284
Fix flickering when switching VT
2018-01-27 11:16:42 +01:00
emersion
7111dd79ef
rootston: damage tracking for rotated views
2018-01-27 10:43:17 +01:00
emersion
a011a1cb07
screenshooter: request a buffer swap
2018-01-26 22:41:19 +01:00
emersion
8d58ed502b
output: add wlr_output_schedule_frame
2018-01-26 22:39:23 +01:00
emersion
ece2c1e4e2
Damage tracking for transformed outputs
2018-01-26 22:11:09 +01:00
emersion
6281deb90f
Merge remote-tracking branch 'upstream/master' into output-damage
2018-01-24 14:48:01 +01:00
Markus Ongyerth
f946c10cb1
re-adds wlr_output_update_enabled
...
Re-add the wlr_output_update_enabled to make sure
wlr_output::events.enable is called when the output enabled state
changes.
2018-01-24 10:23:48 +01:00
emersion
4fa90b0511
Backport screenshooter fixes from the renderer redesign v1
...
This backports some changes to #319 to fix the screenshooter data
format. This also adds wlr_backend_get_renderer which will be
useful to support multiple renderers.
2018-01-23 22:06:54 +01:00
Markus Ongyerth
3cf7225cec
decouples outputenable state and wl_output global
...
This decouples wlr_output_enable and the wl_global.
The previously internal functions wlr_output_(destroy/create)_global are
exposed and used automatically in the wlr_output_layout to create/tear
down the global.
The compositor can handle them itself if it wants to, but I think this
is the right moment to create/destroy the wl_output when the
wlr_output_layout is used.
2018-01-23 17:40:12 +01:00
emersion
4d282c8590
rootston: damage tracking for drag icons
2018-01-23 13:37:58 +01:00
emersion
3f1c4f5be7
rootston: damage tracking for wl_shell
2018-01-22 16:01:32 +01:00
emersion
a8cb02f585
surface: add damage when subsurface moves
2018-01-22 10:34:23 +01:00
emersion
f5507ec677
cursor: fix segfault when destroying a wlr_output_layout with a wlr_cursor attached
2018-01-22 09:29:52 +01:00
emersion
59c53e8333
Merge remote-tracking branch 'upstream/master' into output-damage
2018-01-21 22:18:06 +01:00
emersion
66ae4071a7
rootston: damage tracking for xdg popups
2018-01-21 21:06:37 +01:00
Johannes Schramm
dcc743047b
style: include brackets for if/while/for, even if it's a single statement
2018-01-21 16:28:21 +01:00
emersion
eeffe11337
surface: add wlr_surface new_subsurface and wlr_subsurface destroy events
2018-01-21 14:22:33 +01:00
emersion
0365b587f0
output: add damage tracking via buffer age
2018-01-21 00:06:35 +01:00
emersion
4ca38b84ed
backend/drm: fix hardware cursors not moving
...
This adds back `wlr_output::needs_swap`. This allows a backend to
request buffer swaps even if the output isn't damaged. This is
needed by the DRM backend to trigger pageflips when the cursor
moves.
2018-01-20 16:43:14 +01:00
emersion
ddafcb86a2
surface: add resize damage
2018-01-20 00:52:43 +01:00
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
f061a1da63
output: fix software cursor artifacts
2018-01-18 22:18:53 +01:00
emersion
59ba8f35ed
rootston: use surface damage
2018-01-18 21:34:10 +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
Drew DeVault
b331c5c2c5
Merge pull request #549 from emersion/output-enabled
...
Add wlr_output::enabled
2018-01-15 20:53:13 -05:00
emersion
0eebaf98d0
drm: do not pageflip when enabling output
2018-01-15 21:49:37 +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
emersion
33c427a6aa
output_layout: disabled outputs are just like enabled outputs
2018-01-07 18:40:58 +01:00
Tony Crisci
b40a5f084a
keyboard grab enter with modifiers
2018-01-06 11:06:09 -05:00
Tony Crisci
2bd3a75f80
fix send modifiers in wlr-seat set keyboard
2018-01-06 10:31:32 -05:00
Tony Crisci
670d336099
Merge branch 'master' into modifier-fixes
2018-01-06 09:41:13 -05:00
Tony Crisci
9765232096
update xkb state on layout change
2018-01-06 09:36:57 -05:00
Tony Crisci
ca0f456d6c
wlr-keyboard set layout error handling
2018-01-06 09:06:19 -05:00
Tony Crisci
fcab1e87ed
fix data-device keyboard grab signature
2018-01-06 08:32:44 -05:00
emersion
8ebd7d4dbe
output: rename resolution event to mode
2018-01-06 12:42:32 +01:00
emersion
6fe380a176
output_layout: handle output enable event
2018-01-06 12:39:15 +01:00
Markus Ongyerth
6834067ef5
sends the modifiers on wlr_seat_set_keyboard
...
Without this, a client will lose modifiers for one keyboard, when a key
is pressed on the other.
With this the client will always use the modifiers tate of the keyboard
the key was pressed on.
2018-01-05 22:20:46 +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
emersion
c599d8024c
Remove serial validation TODOs
2018-01-03 16:46:59 +01: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
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
720c1154dc
Fix use-after-free when destroying an offer
2017-12-30 09:26:48 +01:00
emersion
b20aed66d6
Abstract wlr_primary_selection_source
2017-12-29 23:23:00 +01:00
emersion
062809723a
Data source resource now holds a struct client_data_source *
2017-12-29 23:01:35 +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
d7cefccaee
wlr_seat_destroy: emit seat itself as data on destroy event
2017-12-29 20:29:40 +01:00
Dominique Martinet
58488ec5ce
wlr_seat: add destroy signal
2017-12-29 17:55:03 +01:00
Timidger
6e9cef4ed6
Don't send custom mode info twice on DRM refresh
2017-12-28 11:12:44 -06:00
Timidger
f56ce11aa0
Fixes #535 send mode info on DRM refresh once
...
When DRM refreshed, wlr_output_set_mode is called. It would then call
the DRM set_mode callback which sends the updated matrix and mode info.
However once that call completed it would then immediantly send the
information again. This is handled poorly by xwayland, causing it to
scale up the clients twice.
2017-12-28 11:12:44 -06:00
Dominique Martinet
b0e440b5b1
xdg_toplevel send_configure: also post no_memory to resource on ENOMEM
2017-12-28 16:33:08 +01:00
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
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
emersion
a7d7659a93
Fix render errors with gnome-terminal
2017-10-18 20:13:59 +02:00
Tony Crisci
b7c622a319
Merge branch 'master' into feature/data-device-selection
2017-10-17 16:01:17 -04:00
Drew DeVault
9129687ad6
Merge pull request #280 from acrisci/bug/xdg-shell-pending-different-force
...
xdg-shell: force configure when pending different
2017-10-17 09:34:47 -04:00
Tony Crisci
82076bd772
xdg-shell: force configure when pending different
2017-10-17 09:22:50 -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
2bd52c83ce
bug: detect invalid texture in xdg-shell
2017-10-17 08:29:57 -04:00
emersion
786f4bdd4d
Disable hardware cursors for now
2017-10-17 00:04:33 +02:00
Tony Crisci
19784360f1
bug: fix view centering
2017-10-16 14:35:16 -04:00
Tony Crisci
09f16058c8
cleanup: redo buggy set pointer function
2017-10-16 10:00:32 -04:00
Tony Crisci
f9d578700e
bug: fix seat handle destroy handler
2017-10-16 09:14:16 -04:00
Tony Crisci
c0e8585a4c
data-device: handle multiple data devices
2017-10-16 08:56:59 -04:00
Tony Crisci
2d35e20691
data-device: keyboard grabs
2017-10-16 07:52:04 -04:00
Tony Crisci
570a951947
data-device: button release drag bugfixes
2017-10-16 06:43:41 -04:00
Tony Crisci
3f3110452c
wlr-seat: pointer state button info
2017-10-16 06:31:53 -04:00
Tony Crisci
34f27ff691
wlr-seat: selection signal
2017-10-16 05:07:09 -04:00
Tony Crisci
02f4acc69f
data-device: refactor set selections for xwayland
2017-10-15 14:49:43 -04:00
Tony Crisci
df0a8d3abe
wlr-data-device: drag icons
2017-10-15 11:06:03 -04:00
Tony Crisci
a1bfa4a2f2
wlr-data-device: basic drag and drop
2017-10-15 05:59:52 -04:00
Tony Crisci
07259cf8ea
wlr-data-device: source actions
2017-10-15 05:59:52 -04:00
Tony Crisci
25831d287e
wlr-data-device: offer set actions
2017-10-15 05:59:52 -04:00
Tony Crisci
3892acecac
wlr-data-device: basic clipboard
2017-10-15 05:59:52 -04:00
Tony Crisci
6a7560fae0
wlr-data-device interface
2017-10-15 05:59:52 -04:00
emersion
08720db01d
Release buffer in wlr_surface_flush_damage
2017-10-14 13:33:34 +02:00
emersion
6dc0517bb1
Fix software cursor when setting committed cursor surface
2017-10-14 13:24:29 +02:00
emersion
dd5114a514
Fix client cursors when software cursors are used
2017-10-14 12:44:25 +02:00
emersion
8fd4ae5de8
Fix cursor role name, fix segfault when surface->resource is NULL
2017-10-14 12:21:36 +02:00
Tony Crisci
327f656c35
bug: emit wlr-seat pointer grab end event
2017-10-12 13:33:42 -04:00
emersion
19860c03f7
Better handling of hidden cursors in wayland backend, add TODOs
2017-10-12 13:25:29 +02:00
emersion
92daa790bb
Allow to update the cursor hotspot without its pixels
2017-10-12 09:40:51 +02:00
Drew DeVault
2272f3d47c
Don't segfault wlr_keyboard when no xkb state
2017-10-11 22:45:39 -04:00
emersion
5c6a933890
Do not call wlr_surface_state_release_buffer anymore
2017-10-11 20:29:21 +02:00
Drew DeVault
f73cb2aa1f
Merge pull request #260 from versusvoid/fix-accessing-freed-client
...
Destroy surfaces on client destruction (XDG shell)
2017-10-11 09:08:39 -04:00
Versus Void
508a21f93e
Destroy surfaces on client destruction
2017-10-11 16:02:16 +00:00
Drew DeVault
bf5299a3a5
Merge pull request #252 from myfreeweb/freebsd-compat
...
Add FreeBSD compatibility
2017-10-11 08:54:28 -04:00
emersion
67f0c3ca42
Rename release label
2017-10-11 14:02:41 +02:00
emersion
36b4465eb9
Do not release buffer before emitting commit event
2017-10-11 08:38:32 +02:00
Greg V
a5fe9aa736
Add FreeBSD compatibility
2017-10-11 00:07:21 +03:00
emersion
669a452aef
Fix wlr_output_layout_intersects
2017-10-10 20:05:10 +02:00
Tony Crisci
821cf92498
wl-shell: fix popup grab
2017-10-10 12:20:39 -04:00
Tony Crisci
f7e7f6271d
wl-shell: cleanup
2017-10-10 11:13:11 -04:00
Tony Crisci
1b2742d0b2
bug: emit surface new event later
2017-10-10 10:28:43 -04:00
Tony Crisci
d4c065e59b
wl_shell: map transient surfaces closer to parent
2017-10-10 08:39:08 -04:00
Tony Crisci
22a16a59ca
wl-shell: basic pointer grab
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
Drew DeVault
fbddc81b59
Merge pull request #254 from versusvoid/fix-frame-callback-double-free
...
Destroy callbacks before callback list reinitialization
2017-10-10 08:37:19 -04:00
Versus Void
d3af2c09c2
Destroy callbacks before callback list reinitialization
2017-10-10 13:16:56 +03: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
Drew DeVault
1c3c2ff90a
Merge pull request #250 from acrisci/feature/surface-finder-to-wlr
...
move surface finder functions to wlroots
2017-10-09 17:28:27 -04:00
Tony Crisci
100b39c608
bug: null buffer commit detection
2017-10-09 17:19:17 -04:00
Tony Crisci
654e2ccd6b
move surface finder functions to wlroots
2017-10-09 16:51:55 -04:00
emersion
b1cba36aeb
Call frame_callback_list after rendering the cursor
2017-10-09 19:34:56 +02:00
emersion
8f7962ed44
Do not commit surface on set_cursor, breaks GTK+ apps
2017-10-09 15:45:46 +02:00
emersion
b76e64e7bf
Fix cleanup old cursor surface in wlr_output_set_cursor_surface
2017-10-09 15:23:58 +02:00
emersion
c4c948c5d9
Use attach x,y when computing hotspot, set sx,sy in surface_attach
2017-10-09 00:08:54 +02:00
emersion
008e1d596d
Fix cursor stride
2017-10-09 00:02:21 +02:00
emersion
c7a4346bfc
Hide cursor when surface == NULL
2017-10-08 23:39:38 +02:00
emersion
bceaee6eb7
Stop listening to cursor surface when manually setting cursor data
2017-10-08 23:29:04 +02:00
emersion
cebb202f7d
Set and check cursor surface role
2017-10-08 23:24:57 +02:00
emersion
8a77d1b6a2
Listen to cursor surface commit & destroy events
2017-10-08 23:11:59 +02:00
Tony Crisci
761b35339e
bug: handle commit empty buffer
2017-10-08 17:03:27 -04:00
emersion
17354b630a
Read surface buffer to set output cursor
2017-10-08 22:30:31 +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
78d3582b70
Add request_set_cursor event
2017-10-08 20:32:43 +02:00
emersion
7b6d785f52
Rename wlr_surface->signals to events
2017-10-08 19:12:28 +02:00
Tony Crisci
db15ab77b4
use input bounds for pointer events
2017-10-08 12:33:39 -04:00
Drew DeVault
9e1ff2dce9
Merge pull request #140 from emersion/screenshooter
...
Add screenshooter
2017-10-08 10:06:41 -04: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
9721dc80e1
wlr-data-source: cleanup
2017-10-07 16:41:45 -04:00
Tony Crisci
1fd81ebf2d
wlr-data-source: add set_actions stub
2017-10-07 16:39:03 -04:00
Tony Crisci
51de398885
bug: fix clipboard
2017-10-07 16:33:22 -04:00
Tony Crisci
d61621e2fa
wlr-data-device-mgr: cleanup
2017-10-07 15:49:44 -04:00
Tony Crisci
4f848000af
Merge branch 'master' into feature/xdg-popup
2017-10-07 13:04:04 -04:00
emersion
a87f016017
Remove cairo dependency, write raw pixels
2017-10-07 19:01:11 +02:00
Tony Crisci
4680943e74
xdg-seat: keyboard grabs
2017-10-07 12:52:02 -04:00
emersion
b27b6cd69c
Check wl_shm_buffer format
2017-10-07 18:25:27 +02:00
emersion
4374c52135
Free screenshot state
2017-10-07 16:22:03 +02:00
emersion
ecd5263d4d
Flip screenshots
2017-10-07 16:22:03 +02:00
emersion
d4cc82f11a
Call glReadPixels right before swapping buffers
2017-10-07 16:22:03 +02:00
emersion
d0db6a80ab
Add post_frame event to wlr_output, use wlr_drm_plane_make_current in wlr_drm_output_read_pixels
2017-10-07 16:22:02 +02:00
emersion
35f9700251
First attempt to implement screenshooter
2017-10-07 16:22:02 +02:00
emersion
1c8b72e0cd
Add screenshooter skeleton
2017-10-07 16:22:02 +02:00
emersion
2ffa4f3fce
When output has no modes, send one anyway
2017-10-07 14:01:25 +02:00
Drew DeVault
08ccc7f653
Merge pull request #221 from versusvoid/wayland-xkb_state_update_mask
...
Use xkb_state_update_mask() with Wayland backend
2017-10-06 15:16:10 -04:00
Versus Void
568b270cdf
Use xkb_state_update_mask() with Wayland backend
...
Fix #158
2017-10-06 22:02:29 +00:00
emersion
69aff9b35e
Implement wlr_xdg_toplevel_v6_send_close
2017-10-06 16:03:35 +02:00
Tony Crisci
27ee171d25
xdg-popup: protocol errors and ungrab
2017-10-06 08:41:43 -04:00
Tony Crisci
67ea307753
xdg-shell: cleanup
2017-10-06 07:52:18 -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
Tony Crisci
d3ebf99b0f
xdg-popup: basic pointer grab
2017-10-06 06:54:43 -04:00
Versus Void
641d08ce7e
Transform hotspot with cursor
...
Fix #188
2017-10-06 09:07:08 +03:00
Tony Crisci
17b134e178
wlr-seat: pointer grab interface
2017-10-05 13:30:46 -04:00
Versus Void
134f708c55
Fix double free
2017-10-05 19:02:18 +00:00
Tony Crisci
30eabf38b8
Merge branch 'master' into feature/xdg-popup
2017-10-03 18:58:38 -04:00
Drew DeVault
836242b0c4
Merge pull request #197 from versusvoid/buffer-reset
...
Reset buffer resource pointer on destroy signal.
2017-10-03 15:28:48 -04:00
Versus Void
606311c755
Reset buffer resource pointer on destroy signal
2017-10-03 19:57:54 +00:00
Tony Crisci
d1cb0edf20
wlr-seat: honor seat version
2017-10-03 15:18:22 -04:00
Drew DeVault
5f3c56de28
Merge pull request #184 from emersion/rootston-keys
...
Keyboard modifiers
2017-10-03 10:36:16 -04:00
emersion
521e893528
Add modifiers signal, remove wlr_keyboard_update_modifiers
2017-10-03 14:03:26 +02:00
emersion
d71344bcdd
Fix modifiers support with backend != wayland
2017-10-03 09:15:48 +02:00
emersion
d3d9aca40c
Add modifiers support in wayland backend, parse modifiers in rootston config
2017-10-03 08:46:11 +02:00
emersion
3a8fdebaaa
Fix modifiers handling, add wlr_keyboard_get_modifiers
2017-10-03 08:46:11 +02:00
emersion
2fccff16eb
Begin modifiers support
2017-10-03 08:46:11 +02:00
Versus Void
2207d616c9
Free xkb structures on wlr_keyboard destroy
2017-10-03 08:34:30 +03:00
Tony Crisci
e003296c23
xdg-popup: render popups in the right place
2017-10-02 19:10:36 -04:00
Tony Crisci
86b66f1d6f
xdg-popup: configure requests
2017-10-02 19:10:36 -04:00
Tony Crisci
97cdcccaf0
xdg-surface: get popup
2017-10-02 19:10:36 -04:00
Tony Crisci
c665f905ff
xdg-positioner
2017-10-02 19:10:36 -04:00
Tony Crisci
aae8bdea30
xdg-shell: protocol destroy
2017-10-02 06:28:07 -04:00
Tony Crisci
28f7256148
xdg-toplevel: fix memory leaks
2017-09-30 17:13:32 -04:00
Tony Crisci
8b7ae61ad4
subsurface handle parent destroy
2017-09-30 13:24:59 -04:00
Tony Crisci
19e30aab9b
subcompositor protocol errors
2017-09-30 08:55:40 -04:00
Tony Crisci
93f79378f7
subsurface stacking requests
2017-09-30 08:55:40 -04:00
Tony Crisci
3a04f5b2db
consistently name surface state variables
2017-09-30 08:55:40 -04:00
Tony Crisci
693e30dff7
refactor surface commit
2017-09-30 08:55:40 -04:00
Tony Crisci
86bc4840a0
subsurface commit and render
2017-09-30 08:55:40 -04:00
Tony Crisci
5cbb4f5ca0
refactor surface commit
2017-09-30 08:55:40 -04:00
Tony Crisci
cb2d05e83b
subsurface sync and position
2017-09-30 08:55:40 -04:00
Tony Crisci
7f39578824
cleanup wlr_surface.[ch]
2017-09-30 08:55:40 -04:00
Tony Crisci
68eeebc647
subsurface implementation stubs
2017-09-30 08:55:40 -04:00
Tony Crisci
78cd62a663
publish subcompositor global
2017-09-30 08:55:40 -04:00
Tony Crisci
a4196fd9c9
cleanup wlr_compositor.c
2017-09-30 08:55:40 -04:00
Tony Crisci
0f56326cb8
fix libinput wlr-keyboard use after free
2017-09-28 20:29:26 -04:00
Drew DeVault
262c3b1638
Remove unnecessary logging
2017-09-28 18:47:52 -04:00
Drew DeVault
c92199a953
Merge pull request #163 from emersion/wl_shell-fixes
...
wl_shell fixes
2017-09-28 13:29:49 -04:00
emersion
8146d60a87
Fix 80 char limit with 4 width tabs
2017-09-28 19:24:33 +02:00
Drew DeVault
220a6e9bf6
Add xwayland activate and fix EGL bug
2017-09-28 09:11:16 -04:00
Drew DeVault
906a816abf
Fix rootston keyboard, add Xwayland
2017-09-28 08:54:57 -04:00
emersion
baed05b55e
Add TODO for pointer grab in set_popup
2017-09-28 13:46:30 +02:00
emersion
643a69f0b2
Call wlr_surface_set_role in wl_shell_get_shell_surface
2017-09-28 13:41:17 +02:00
emersion
55d2462180
Remove ping_timer when destroying wlr_wl_shell_surface
2017-09-28 13:34:22 +02:00
emersion
9d405cffa7
Use enums instead of uint32_t where applicable
2017-09-28 13:12:01 +02:00
emersion
dbdfc46448
Add helper shell_surface_set_state
2017-09-28 13:06:59 +02:00
emersion
3d03ef2d02
role -> state
2017-09-28 12:45:47 +02:00
emersion
27ca8eaced
Fix typo: s/transcient/transient/
2017-09-28 12:38:41 +02:00
emersion
a04462ba8b
wl_shell: listen for wlr_surface destroy signal
2017-09-28 01:31:31 +02:00
emersion
eaa414bbd8
wl_shell: properly set wl_surface->resource
2017-09-28 01:10:39 +02:00
emersion
d41a4a0bae
wl_shell: gluten-free cosmetic variable renaming
2017-09-28 01:02:30 +02:00
emersion
d6c6b7c506
class_ -> class, free more stuff in destroy_shell_surface
2017-09-27 23:47:39 +02:00
emersion
241fec4d87
wl_shell: add wlr_wl_shell_surface_{configure,popup_done}
2017-09-27 23:45:09 +02:00
emersion
14ab56b6c5
wl_shell: implement set_popup request
2017-09-27 23:10:33 +02:00
emersion
663bfe4cd8
wlr_wl_shell: implement all requests except set_popup
2017-09-27 21:15:31 +02:00
emersion
e001e40022
Set view->surface
2017-09-27 15:03:35 +02:00
emersion
acf58e04de
Fix segfault, add wl_shell view
2017-09-27 14:48:53 +02:00
emersion
ed9a43c213
Add first try to add wl_shell to rootston
2017-09-26 23:59:25 +02:00
Drew DeVault
1ddda91b1b
Fix broken keyboard handling
2017-09-25 16:44:26 -04:00
Drew DeVault
e6a6634bc5
Minor tweaks to (broken) keyboard support
2017-09-25 08:47:00 -04:00
Drew DeVault
f4387b437f
Merge branch 'master' into rootston
2017-09-25 08:29:51 -04:00
Drew DeVault
61e451ea1b
Move keyboard logic to wlr_{keyboard,seat}
2017-09-24 14:12:56 -04:00
Drew DeVault
eaf6c0ccf4
Implement pointer motion and buttons
2017-09-23 17:48:13 -04:00
Tony Crisci
84a8f1b42d
add keys array param to seat keyboard enter
2017-09-23 14:41:57 -04:00
Tony Crisci
9cde828c94
bugfix: correct type in keyboard resource destroy
2017-09-23 14:10:17 -04:00
Tony Crisci
3895593998
wlr-seat: keyboard layout
2017-09-23 14:09:54 -04:00
Tony Crisci
30b5d76426
wlr-seat: keyboard modifiers
2017-09-22 17:09:47 -04:00
Tony Crisci
cef1f60522
wlr-seat-keyboard: basic events
2017-09-22 16:28:11 -04:00
Drew DeVault
e5e6dab7fd
Fix use of serial on motion_request
2017-09-22 11:11:53 -04:00
Tony Crisci
e38248f34c
wlr-seat: implement cursor axis events
...
Axis events for the cursor are generated with the scroll wheel.
2017-09-22 10:30:09 -04:00
Tony Crisci
00cc20b0a8
wlr-seat: add guards for no pointer resource
2017-09-22 09:29:17 -04:00
Drew DeVault
d558745633
Handle tablet motion in example compositor
2017-09-21 18:51:33 -04:00
Tony Crisci
7a3edf6e62
use double for cursor coordinates
2017-09-21 11:38:04 -04:00
Tony Crisci
8b74450b39
wlr_seat: pointer events
2017-09-20 19:43:49 -04:00
Tony Crisci
aeaa983631
wlr_seat: formatting cleanup
2017-09-19 15:38:06 -04:00
Tony Crisci
f46befec7c
use wl_list_for_each_safe() to unlink client surfaces
2017-09-17 09:42:27 -04:00
Tony Crisci
94d4b9249c
xdg-shell-v6 misc cleanup
2017-09-16 20:31:34 -04:00
Tony Crisci
5b9373a791
xdg-toplevel-v6 set parent
2017-09-16 20:07:19 -04:00
Tony Crisci
2573c429ee
reset pending geometry on ack configure
2017-09-16 19:32:23 -04:00
Tony Crisci
49a24225a2
toplevel protocol errors
2017-09-16 18:22:25 -04:00
Tony Crisci
94f4f1878d
xdg-surface-v6: implement ping
2017-09-16 12:35:49 -04:00
Tony Crisci
0f865c547a
xdg-toplevel-v6: seat events
2017-09-16 08:31:08 -04:00
Tony Crisci
27161a673f
xdg-shell new surface and ack configure events
2017-09-15 08:53:08 -04:00
Tony Crisci
569b147bba
schedule configure request on toplevel first commit
2017-09-15 07:50:13 -04:00
Tony Crisci
a0bdbc92ba
xdg-shell-toplevel configure requests
2017-09-14 16:27:14 -04:00
Tony Crisci
45a3b761a6
xdg-surface-v6: add events
2017-09-14 08:39:57 -04:00
Tony Crisci
50f4275298
implement xdg-toplevel state properties
2017-09-13 09:19:10 -04:00
Tony Crisci
353629b034
xdg-surface geometry
2017-09-13 08:44:32 -04:00
Tony Crisci
2fd5c7999b
set title and app_id
2017-09-13 07:57:16 -04:00
Tony Crisci
9d2dc8447a
use wlr_surface on shell struct and listen to events
2017-09-13 07:57:16 -04:00
Tony Crisci
b2c71287f2
set toplevel role on wlr_surface
2017-09-13 07:57:14 -04:00
Tony Crisci
c5f8f81e58
xdg_surface: handle wlr_surface destroy
2017-09-11 17:24:55 -04:00
Tony Crisci
4752b84f4e
wlr_xdg_shell_v6.c: fix formatting
2017-09-11 16:26:51 -04:00
Tony Crisci
74e9578889
add surface destroy signal
2017-09-11 13:01:53 -04:00
Markus Ongyerth
935b6d871e
fixes use after free caused by signal lists
...
A structs throughout the code use implementation specific free
functions.
When those functions are not used, they simply call free() on their
data, but this leaves around wl_signals linked into listeners.
When those listeners try to remove themself from the list, they write
into the now free memory.
This commit adds calls to remove the signals from those lists, so the
listeners can safely call wl_list_remove
2017-09-08 16:02:26 +02:00
emersion
7d43d662f5
Fix gamma_size event sent to wrong resource
2017-09-06 22:22:40 +02:00
emersion
6f98b5a337
Add set_gamma and get_gamma_size to wlr_output_impl
2017-09-06 18:53:08 +02:00
emersion
cd125377fc
Add wlr_output_{set_gamma,get_gamma_size}
2017-09-06 17:34:09 +02:00
emersion
1b588e7c1f
Add gamma_control skeleton
2017-09-06 14:48:27 +02:00
Drew DeVault
586ae674ae
Merge pull request #136 from acrisci/bug/rename-output-layout-create
...
Rename wlr_output_layout_init()
2017-09-06 08:29:55 +09:00
Tony Crisci
e733b0e643
Rename wlr_output_layout_init()
...
Rename wlr_output_layout_init() to wlr_output_layout_create() to be consistent
with the rest of the api.
2017-09-05 17:53:29 -04:00
Tony Crisci
6c24300d13
wlr_cursor_device create and destroy
...
Refactor wlr_cursor_device creation and destruction into their own functions.
Properly unsubscribe from signals in the wlr_cursor_device_destroy function.
2017-09-05 17:48:02 -04:00
Tony Crisci
57c18c38bb
wlr_cursor: handle layout changes
...
Add the layout `destroy` and `change` events.
When a layout is destroyed, detach is from the wlr_cursor.
When a layout is changed, warp the cursor to the closest layout boundary.
2017-09-05 07:48:28 -04:00
Tony Crisci
d84deb0742
add wlr_output destroy event
2017-08-31 07:47:44 -04:00
Tony Crisci
fa3d4ecc84
fix layout hotplugging issue in output-layout.c
2017-08-31 07:47:44 -04:00
Tony Crisci
f25511ee3d
refactor wlr_output_layout to use wlr_box
2017-08-31 07:47:44 -04:00
Tony Crisci
40bd6bcc43
implement output layout auto configuration
2017-08-31 07:47:44 -04:00
Tony Crisci
368f74e4df
Refactor meson build files
...
Use tabs for indentation and break up function calls over 80 col.
2017-08-30 14:30:47 -04:00
Tony Crisci
d9ab631f5d
bugfix: set cursor coords on warp_unchecked
2017-08-29 12:48:45 -04:00
Tony Crisci
b6031d1065
refactor wlr_output_layout_closest_point
2017-08-29 12:36:39 -04:00
Tony Crisci
9b65d0b3f0
refactor and rename wlr_geometry to wlr_box
2017-08-29 12:36:39 -04:00
Tony Crisci
a51b76083e
rename wlr_cursor_init to wlr_cursor_create
2017-08-29 12:36:39 -04:00
Tony Crisci
1fb8bc9340
wlr_cursor.c: fix formatting
2017-08-29 12:36:39 -04:00
Tony Crisci
3449777a8d
wlr_output_layout.c: fix style
2017-08-29 12:36:39 -04:00
Tony Crisci
4fbe322fa6
fix memory errors
2017-08-28 11:07:54 -04:00
Tony Crisci
ab1a12b174
fix formatting in types/meson.build
2017-08-28 11:07:21 -04:00
Tony Crisci
5c845f14ed
handle input device destroy
2017-08-28 10:29:53 -04:00
Tony Crisci
df0ee7f25f
implement tablet tool devices
2017-08-28 10:23:14 -04:00
Tony Crisci
0dc3aecfd4
refactor device mapping calculation
2017-08-27 20:10:46 -04:00
Tony Crisci
5e06d61e42
implement touch up and touch down
2017-08-27 17:35:12 -04:00
Tony Crisci
ed126b0881
add touch events
2017-08-27 11:34:25 -04:00
Tony Crisci
ac503a47a7
intersect cursor and device regions
2017-08-26 11:55:24 -04:00
Tony Crisci
0a97b68278
implement cursor and device geometry mapping
2017-08-26 08:32:11 -04:00
Tony Crisci
98f4cdfccb
implement wlr_cursor_map_input_to_output
2017-08-26 08:32:11 -04:00
Tony Crisci
13e895d943
implement wlr_cursor_map_to_output
2017-08-26 08:32:11 -04:00
Tony Crisci
a4810203cc
change output layout coords to double type
2017-08-26 08:32:11 -04:00
Tony Crisci
f69a7afd36
assert cursor layout for move and warp functions
2017-08-26 08:32:11 -04:00
Tony Crisci
0cba06dcef
implement wlr_cursor_warp
2017-08-26 08:32:11 -04:00
Tony Crisci
dd68f680e4
handle cursor to output edge cases
2017-08-26 08:32:11 -04:00
Tony Crisci
431e1ddeca
smooth pointer transitioning between outputs
2017-08-26 08:32:11 -04:00
Tony Crisci
9978349903
use safe for_each when freeing cursor devices
2017-08-26 08:32:11 -04:00
Tony Crisci
e3d47376dc
add wlr_cursor basic implementation
2017-08-26 08:32:11 -04:00
Dominique Martinet
3391e5b634
xwayland: fix style issues
2017-08-23 22:03:49 +02:00
Dominique Martinet
ea906ea3e2
wlr surface/shell types: add message on creation
...
Not sure if we really want to keep that, would be helpful to get more
logging levels at some point
2017-08-23 22:03:49 +02:00
Dominique Martinet
3cc5b1acc6
wlr_compositor: add signal for create_surface
2017-08-23 22:03:49 +02:00
Dominique Martinet
ee3c5c7fef
wlr_seat: fix destroy with multiple handles
...
Need to use for_each_safe because wl_resource_destroy's callback will
remove the handle from the list itself
2017-08-21 07:59:08 +02:00
Dominique Martinet
1ca08dc4cb
wlr_compositor: change _init/finish to _create/destroy
2017-08-19 23:17:39 +02:00
Dominique Martinet
4110788159
move wl_compositor into wlroots as wlr_compositor
2017-08-19 21:56:51 +02:00
Dominique Martinet
84c0c87a5d
wlr_surface: change update_size/damage to bool
2017-08-19 14:37:57 +02:00
Dominique Martinet
4da976bfad
wlr_surface: small refactoring
...
- split surface damage and buffer damage
- the pending buffers are always valid, so can be 'fini'shed
- consider opaque buffer and input buffer in commit, just to free
- only update size if scale/transform/buffer changed
2017-08-19 09:31:06 +02:00
Dominique Martinet
03b29eb32c
wlr region/surface: explicitely select interface fields
2017-08-19 09:31:06 +02:00
Dominique Martinet
fc1a851415
wlr_surface: clear/fini buffers when appropriate
2017-08-19 09:31:06 +02:00
Dominique Martinet
f24b3df980
wlr renderer/texture: rename init to create when it does alloc
2017-08-19 08:33:31 +02:00
Drew DeVault
a1551bccc0
Merge pull request #107 from nyorain/wlr_data_device_manager
...
Implement wlr_data_{source,device,device_manager}
2017-08-18 14:05:51 -04:00
nyorain
f2a9098691
Fix wlr_data_device_manager
2017-08-18 19:58:36 +02:00
Dominique Martinet
bb3b9d0156
wlr_surface: use post_event instead of queue
...
This fixes not sending anything back to the client if the only event
it's waiting for is a buffer release, and nothing else is in the pipe.
Workaround for #102 - there probably is a better solution as weston and
wlc do not need to use post_event here.
2017-08-18 19:38:11 +02:00
nyorain
154d2ad941
Fix data_device destruction
2017-08-18 19:12:31 +02:00
nyorain
86314caa5b
Implement wlr_data_{source,device,device_manager}
2017-08-18 18:56:21 +02:00
Tony Crisci
c6631e2140
Fix wild pointer to buffer
...
After the buffer is released from the release event, it should no longer be
accessed.
Fixes a GTK crash.
2017-08-18 12:41:42 -04:00
Drew DeVault
e5fd858394
Merge pull request #101 from nyorain/texture_fix
...
Fix surface buffer uploading
2017-08-18 10:16:45 -04:00
Dominique Martinet
978f935947
output: default scale to 1
...
This prevents us from telling application our scale is 0, when it has no
reason to be.
2017-08-18 16:01:40 +02:00
Drew DeVault
3138c5ddf0
Clean up wlr_output_layout
2017-08-17 21:06:28 -04:00
Tony Crisci
5a9baf487e
add helper methods for intersection
2017-08-17 21:05:13 -04:00
Tony Crisci
420bd3e422
bugfix: correctly get the output_layout
2017-08-17 21:05:13 -04:00
Tony Crisci
2e9e237f9d
layout-output example: handle empty config
2017-08-17 21:05:13 -04:00
Tony Crisci
44181b57ac
Add wlr_output_layout implementation
...
An output layout consists of a mapping of outputs to their position in a global
coordinate system that usually cooresponds to the output position in physical
space in front of the user.
Add an example that allows configuration of an output layout and demonstrates
its boundaries with a bouncing image.
2017-08-17 21:05:13 -04:00
nyorain
10eee58d2d
Fix surface buffer uploading
2017-08-17 17:50:09 +02:00
nyorain
2db04c369e
Fix style issues in wlr_seat
2017-08-17 14:14:31 +02:00
nyorain
ad22b4874d
Fix wlr_seat; add to example compositor
2017-08-17 13:06:53 +02:00
Drew DeVault
af5db7a44c
Initial pass on wlr_seat
2017-08-17 12:57:04 +02:00
Drew DeVault
19d6442f52
Merge pull request #91 from martinetd/move_wl_shell
...
Move wl_shell into wlroots
2017-08-15 17:39:18 -04:00
Drew DeVault
27c13d621d
Merge pull request #88 from 4e554c4c/alloc_crashing
...
Prevent alloc errors from crashing
2017-08-15 12:21:58 -04:00
Dominique Martinet
dca3f630dd
Fix wlr_wl/xdg_shell_destroy segfault
...
- Implement xdg_shell_destroy and use it at the right place
(impl->destroy is never called)
- Remove wl_global_destroy for now, something is missing with the
display/registry_resource_list
2017-08-15 15:52:20 +02:00
Dominique Martinet
f9b55dfa95
Make wlr_wl_shell_create work like xdg
...
Also:
- rename wlr_xdg_shell_v6_init to create as that is what it does
- free wlr_xdg_shell on failure to create wl_global, the struct
is not initialized enough to call destroy at that point
2017-08-15 15:36:02 +02:00
Dominique Martinet
d49edc8243
wl_shell/compositor surface: do not check if it's in list before removing
2017-08-15 15:34:26 +02:00
Dominique Martinet
5dae8e1be8
example compositor: only iterate over wl_shell and xdg_shell surfaces
2017-08-15 15:34:26 +02:00
Dominique Martinet
f4e6b138fb
Move wl_shell into wlroots
2017-08-15 15:13:23 +02:00
Drew DeVault
f60b53c6e3
Change how surface matricies are calculated
2017-08-15 08:52:30 -04:00
Tony Crisci
d5f98dbf61
refactor getting surface size into a function
2017-08-15 08:22:22 -04:00
Tony Crisci
2bf2dbb2bd
formatting fixup
2017-08-15 07:41:25 -04:00
Tony Crisci
5b1ce84350
implement buffer transform
2017-08-15 07:36:51 -04:00
Tony Crisci
84c6dbd58d
remove unused dimension from buffer calculations
2017-08-15 07:36:51 -04:00
Tony Crisci
e46ec57b43
implement surface sizing
2017-08-15 07:36:51 -04:00
Tony Crisci
b49650b555
initialize buffer damage before conversion
2017-08-15 07:36:50 -04:00
Tony Crisci
d87c58416b
clip surface damage to surface size
2017-08-15 07:36:50 -04:00
Tony Crisci
72a33b736f
implement texture get buffer size
2017-08-15 07:36:50 -04:00
Tony Crisci
f0f190bfa5
implement buffer scale
...
Keep track of the scale of the buffer set by surface.set_buffer_scale.
Calculate the height and width of the texture from the buffer depending on the
scale when it is attached.
Use buffer damage to determine the damage of the buffer when flushing damage.
Convert surface damage to buffer damage and union to the surface buffer_damage
prior to flushing damage.
2017-08-15 07:36:50 -04:00
Tony Crisci
e22e443717
fix formatting in surface_damage
2017-08-15 07:36:50 -04:00
Tony Crisci
0b3d56384f
implement surface_damage_buffer
2017-08-15 07:36:17 -04:00
nyorain
7d0bf9a1a7
Simplify tablet pad destruction
2017-08-15 12:16:23 +02:00
Calvin Lee
5cc7342606
Prevent alloc errors from crashing
...
Resolves #76
2017-08-15 08:04:57 +02:00
nyorain
aa20634309
Simplify input device destruction code
2017-08-14 18:23:20 +02:00
nyorain
f998bb8299
Fix style issues
2017-08-14 17:09:56 +02:00
Dominique Martinet
4bbf718e7d
impl->destroy cleanup:
...
- remove trivial destroy() function
- make sure we check impl and impl->destroy before calling
- always call free if not implemented
2017-08-14 16:22:31 +02:00
Dominique Martinet
ba20d5b3ca
Refactor out wlr_touch_state
2017-08-14 16:22:31 +02:00
Dominique Martinet
bd67849c03
Refactor out wlr_tablet_tool_state
2017-08-14 16:22:31 +02:00
Dominique Martinet
a289940bff
Refactor out wlr_tablet_pad_state
2017-08-14 16:22:31 +02:00
Dominique Martinet
53e7bebd23
Refactor out wlr_pointer_state
2017-08-14 16:22:31 +02:00
Dominique Martinet
0a3246ad97
Refactor out wlr_keyboard_state
2017-08-14 16:22:31 +02:00
Dominique Martinet
e6ad67911b
Refactor out wlr_input_device_state
2017-08-14 16:22:31 +02:00
Dominique Martinet
db77530a35
Fix output destory: impl->destroy must be called last + obvious double-free
2017-08-14 15:05:45 +02:00
Drew DeVault
2facf1df65
Fix software cursors
2017-08-14 08:43:17 -04:00
Drew DeVault
0de5eed048
Fix double free on wlr_outputs
2017-08-14 08:37:44 -04:00
Drew DeVault
41e735242d
Remove wlr_output_state, update backends
2017-08-13 11:38:03 -04:00
Drew DeVault
d4b4bfb8bc
Fix #64
2017-08-13 08:26:32 -04:00