Tony Crisci
bd828e23de
dont allocate xdg-positioner attrs
2018-03-28 18:33:21 -04:00
Tony Crisci
376d1cc0da
rename xdg-positioner structs
2018-03-28 18:30:38 -04:00
emersion
3effe153bc
xwayland: make wayland → xwayland work
2018-03-28 17:32:52 -04:00
Tony Crisci
4ab88a5330
xdg-positioner bugfix
2018-03-28 17:04:55 -04:00
Tony Crisci
0bfcce50a9
xdg-positioner: honor constraint flags
2018-03-28 16:55:16 -04:00
Tony Crisci
dbffda7549
xdg-positioner wlr abstractions
2018-03-28 16:27:08 -04:00
emersion
2a34b154e6
xwayland: send DND_DROP
2018-03-28 15:33:23 -04:00
emersion
73394deb76
xwayland: send DND_POSITION
2018-03-28 14:16:14 -04:00
emersion
0d7a81ccdf
xwayland: send DND_ENTER
2018-03-28 12:59:11 -04:00
Drew DeVault
324b9d910d
Remove width_mm from wlr_touch events
2018-03-28 11:04:40 -04:00
Drew DeVault
a35a5786b0
Remove width_mm from wlr_pointer events
2018-03-28 10:46:50 -04:00
Tony Crisci
41e54ba632
Merge branch 'master' into xdg-positioner
2018-03-28 00:20:39 -04:00
Tony Crisci
330ee08126
Merge pull request #744 from emersion/texture-redesign
...
Redesign wlr_texture
2018-03-28 00:14:57 -04:00
Drew DeVault
7d89e7e58d
Assign layer surface role
2018-03-27 23:08:41 -04:00
Drew DeVault
96a8df2f9a
Fix ack configure/configure flow
...
Prevents FOUC/improves frame perfect rendering goal
2018-03-27 22:50:55 -04:00
Drew DeVault
52fe2688ea
Address @emersion's feedback
2018-03-27 18:51:41 -04:00
Drew DeVault
e841e5602b
Address @emersion's feedback
2018-03-27 18:50:32 -04:00
Drew DeVault
86ca4bea6d
Fix layer rendering/layout bugs
2018-03-27 18:50:32 -04:00
Drew DeVault
d1c0e6fe2c
Add layer_surface.close
2018-03-27 18:50:32 -04:00
Drew DeVault
4bf936360d
Arrange & render layer surfaces
2018-03-27 18:50:09 -04:00
Drew DeVault
fcf8c6c8a2
Fix issues preventing layer from getting allocated
...
Now all of the steps to get rootston a reference to the layer surface
are correctly wired up.
2018-03-27 18:50:09 -04:00
Drew DeVault
88eec637a4
Address feedback
2018-03-27 18:50:09 -04:00
Drew DeVault
1628730b09
Add wlr_layer_surface_configure
2018-03-27 18:50:09 -04:00
Drew DeVault
4a8c0c0784
Destroy layer surfaces when client is destroyed
2018-03-27 18:50:09 -04:00
Drew DeVault
b06105b564
Implement layer surface requests
2018-03-27 18:50:09 -04:00
Drew DeVault
3ba57fccd1
Wire up layer surface resources to stubs
2018-03-27 18:50:09 -04:00
Drew DeVault
f29d8b55ae
Initial scaffolding of layer shell
2018-03-27 18:50:09 -04:00
Tony Crisci
8371e2f41d
implement flip_x
2018-03-27 14:49:31 -04:00
emersion
171e28eaff
xdg-shell: don't destroy role resources on unmap, move toplevel fields
...
Ports 5233801530
and
334bab543d
to xdg-shell stable.
2018-03-27 10:25:02 -04:00
Tony Crisci
bbd0e23fa7
xdg-positioner constraint detection
2018-03-26 23:48:32 -04:00
emersion
334bab543d
xdg-shell-v6: move toplevel specific fields in wlr_xdg_toplevel_v6
2018-03-26 19:32:21 -04:00
emersion
adf4fb08dd
Merge branch 'master' into texture-redesign
2018-03-26 19:13:13 -04:00
emersion
5233801530
xdg-shell-v6: don't destroy role resources on unmap
...
The motivation for this is:
- `get_popup` and `get_toplevel` allocate role-specific resources.
- On the first non-null commit, the surface gets mapped.
- On a null commit, the surface gets unmapped. It can be mapped
again with a non-null commit.
- When the role object (xdg-toplevel or xdg-popup) is
destroyed, the surface is unmapped and role-specific resources
are destroyed. The client can call `get_popup` or `get_toplevel`
again on that surface.
- When the xdg-surface object is destroyed, the surface is
unmapped, role-specific resources are destroyed and the surface
itself is destroyed.
2018-03-26 18:35:45 -04:00
Tony Crisci
4da18f7fc3
xdg-positioner attrs
2018-03-26 12:46:04 -04:00
Tony Crisci
5617a59598
Merge pull request #741 from emersion/unmapped-surface-destroy
...
xdg-shell, xdg-shell-v6: don't emit unmap if surface is unmapped
2018-03-25 11:04:37 -04:00
emersion
c63d94483b
Redesign wlr_texture
...
- Textures are now immutable (apart from those created from raw
pixels), no more invalid textures
- Move all wl_drm stuff in wlr_renderer
- Most of wlr_texture fields are now private
- Remove some duplicated DMA-BUF code in the DRM backend
- Add more assertions
- Stride is now always given as bytes rather than pixels
- Drop wl_shm functions
Fun fact: this patch has been written 10,000 meters up in the air.
2018-03-24 23:48:32 -04:00
Tony Crisci
f53575e3a3
unified xdg-surface close
2018-03-24 15:11:26 -04:00
Guido Günther
b1852096c5
linux-dmabuf: Support multi plane formats like NV12
2018-03-23 09:03:31 +01:00
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