emersion
9e7a997433
rootston: map input devices with wlr_input_device.output_name
7 years ago
emersion
6e7c0b57f6
cursor: use NAN for unspecified axes, refactor absolute warping code
7 years ago
Guido Günther
b1bd0e2557
layer-shell: Fix crash when cursor is intially outside any output
...
On the X11 backend the cursor position might be outside the output
window so no output is returned leading to the assert to trigger. Use
sane fallback instead of crashing.
7 years ago
Guido Günther
24fa07565d
layer-shell: use output_damage_{whole,from}_local_surface on map/unmap
...
These handle rotation and scaling
7 years ago
Guido Günther
c4dff67e00
layer-shell: use output_damage_{whole,from}_local_surface for popups
...
Reuse what already handles rotation and scaling. This unbreaks popups
on rotated or scaled outputs.
7 years ago
Guido Günther
57cc4c319d
rootston: Send frame_done for popups too
...
Thanks @emersion
7 years ago
Guido Günther
ad22e02310
rootston: Damage layer-shell popups
7 years ago
Guido Günther
d4cb33c9fc
rootston: Let layer_surface_at look at popups
...
This allows them to receive input as well.
7 years ago
Drew DeVault
0a0627f5d0
Finish forward-porting @acrisci's positioner work
7 years ago
Drew DeVault
278aa84619
Basic layer popup rendering
7 years ago
Drew DeVault
edbf4a2f60
Implement output auto-selection in rootston
7 years ago
emersion
fa84b267e0
Remove wlr_surface::subsurface
7 years ago
emersion
70d820be25
Add wlr_renderer_init_wl_shm to advertize supported renderer formats
7 years ago
Guido Günther
47e1eda669
rootston: don't crash on shutdown
...
When e.g. running rootston under X11 it would otherwise crash when
closing rootston like:
#0 0x00007f0197da7327 in wl_list_remove () at /usr/lib/x86_64-linux-gnu/libwayland-server.so.0
#1 0x000056306fcee7fb in handle_destroy (listener=0x5630723a2948, data=0x5630723a5d20) at ../rootston/layer_shell.c:273
#2 0x00007f019800a552 in wlr_signal_emit_safe (signal=0x5630723a5e30, data=0x5630723a5d20) at ../util/signal.c:29
#3 0x00007f0197fef808 in layer_surface_destroy (surface=0x5630723a5d20) at ../types/wlr_layer_shell.c:169
#4 0x00007f0197ff0001 in client_handle_destroy (resource=0x56307229c4c0) at ../types/wlr_layer_shell.c:371
#5 0x00007f0197da2f30 in () at /usr/lib/x86_64-linux-gnu/libwayland-server.so.0
#6 0x00007f0197da77f9 in () at /usr/lib/x86_64-linux-gnu/libwayland-server.so.0
#7 0x00007f0197da301d in wl_client_destroy () at /usr/lib/x86_64-linux-gnu/libwayland-server.so.0
#8 0x00007f0197da30d8 in () at /usr/lib/x86_64-linux-gnu/libwayland-server.so.0
#9 0x00007f0197da4c12 in wl_event_loop_dispatch () at /usr/lib/x86_64-linux-gnu/libwayland-server.so.0
#10 0x00007f0197da344a in wl_display_run () at /usr/lib/x86_64-linux-gnu/libwayland-server.so.0
#11 0x000056306fcef069 in main (argc=3, argv=0x7ffd22032528) at ../rootston/main.c:83
since the output_destroy got already removed in handle_output_destroy.
7 years ago
Drew DeVault
63763d3279
Merge pull request #862 from emersion/renderer-scissor-upside-down
...
Make wlr_renderer_scissor take normal coords instead of upside-down ones
7 years ago
emersion
bcf5da5cd7
Merge pull request #866 from emersion/xwayland-unmapped-on-create
...
xwayland: emit new_surface when unmapped
7 years ago
emersion
fa02e30adf
xwayland: emit new_surface when unmapped
7 years ago
Dominique Martinet
555206cf60
Fix gcc string truncation warnings
7 years ago
emersion
1b802d9251
Make wlr_renderer_scissor take normal coords instead of upside-down ones
7 years ago
Drew DeVault
7efd9885b6
Merge pull request #853 from emersion/xwayland-client-timeout
...
Add wlr_xwayland_surface_ping
7 years ago
emersion
17d0440b75
Add wlr_xwayland_surface_ping
7 years ago
Drew DeVault
902d859c67
Fix syntax errors
...
Build before you commit, dumbass
7 years ago
Drew DeVault
7bb8512afb
Fix assertions with side-effects
...
Fixes #1725
7 years ago
Drew DeVault
bef5c1fd56
Merge pull request #850 from emersion/remove-backend-egl
...
backend: remove wlr_backend_get_egl
7 years ago
emersion
d2ebbd103c
backend: remove wlr_backend_get_egl
7 years ago
Bruno
ba5c0903f9
rootston: fix compilation without XWayland support
7 years ago
emersion
285cf12e37
Remove rootston surface iterator
7 years ago
emersion
4a9a9eae9a
Add surface iterators
7 years ago
Drew DeVault
da73b4f60b
Merge pull request #830 from swaywm/xdg-output
...
Add wlr_xdg_output_manager
7 years ago
Tancredi Orlando
74a4b1702b
Initialize rootston _surface
7 years ago
Drew DeVault
abfe7923c4
Add wlr_xdg_output_manager
7 years ago
emersion
3ea425d4e2
Fix xdg-shell popups, add wlr_xdg_surface_surface_at
7 years ago
emersion
c9d21106b4
Add wlr_xdg_surface_v6_surface_at and wlr_wl_shell_surface_surface_at
7 years ago
emersion
1a8b24bdd2
rootston: fix view_at
7 years ago
emersion
d16127b3cb
Fix wlr_surface_subsurface_at, change it to be wlr_surface_surface_at
7 years ago
emersion
f7539b9d14
rootston: send enter event for layer surfaces
7 years ago
Drew DeVault
56deff41b6
Implement input inhibit in rootston
7 years ago
Drew DeVault
3a8c7f283d
Add input-inhibitor example client
7 years ago
Drew DeVault
d88f3c1eb3
Fix segfault when clicking rootston desktop
7 years ago
Drew DeVault
9ce53d7dc4
Merge pull request #804 from swaywm/keyboard-layers
...
Add keyboard input to layer surfaces
7 years ago
Drew DeVault
333ab59902
Add wlr_surface_is_*_surface
...
And wlr_*_surface_from_wlr_surface
7 years ago
Drew DeVault
9ae861c416
Address review feedback
7 years ago
Drew DeVault
37036df822
Handle layer surfaces below shell surfaces
7 years ago
Danilo Spinella
046d909e7a
Change meson option names to use hypen
...
Replace underscore with hypen in meson option names, following style
recommendations.
http://mesonbuild.com/Style-guide.html#naming-options
7 years ago
Drew DeVault
a94f4d0edc
Always give keyboard focus to the topmost layer
7 years ago
Drew DeVault
883d8d306c
Identify topmost interactive layer surface
7 years ago
Drew DeVault
d466cc117f
Don't reset exclusive between layer shell passes
...
This is not the intended behavior of exclusive zones, the second pass is
meant to respect the usable area.
7 years ago
Drew DeVault
937362b552
FIx crash on touch down
7 years ago
Orestis Floros
3f6823092a
Initialize roots_output to fix -Wmaybe-uninitialized
...
With -O2:
../rootston/desktop.c: In function ‘desktop_surface_at’:
../rootston/desktop.c:714:18: error: ‘roots_output’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
if ((surface = layer_surface_at(roots_output,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
&roots_output->layers[ZWLR_LAYER_SHELL_V1_LAYER_BOTTOM],
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ox, oy, sx, sy))) {
~~~~~~~~~~~~~~~
7 years ago
emersion
692f1746cf
xwayland: specify xwm cursor stride in bytes
7 years ago
Drew DeVault
e19ee6d469
Add wlr_surface_point_accepts_input
...
Ref https://github.com/swaywm/sway/pull/1674
7 years ago
Drew DeVault
746e3759b7
Address review feedback
7 years ago
Drew DeVault
168f65fb7a
Minor bugfixes
7 years ago
Drew DeVault
e3eb487dc2
Add pointer support to layer shell example
7 years ago
Drew DeVault
dc412c514b
Find layer surfaces for input events
7 years ago
Drew DeVault
662f40b8ae
Refactor cursor event passhtrough
7 years ago
emersion
865b0aa123
xwayland: rename map_notify to map for consistency
7 years ago
Drew DeVault
b887af9a60
Fix maximized windows interaction with layer shell
...
If there were no layer surfaces the usable area of the output would be
an empty box.
7 years ago
emersion
a316396eab
Merge pull request #720 from acrisci/xdg-positioner
...
xdg-positioner
7 years ago
Tony Crisci
2e63d1a0ca
toplevel_box to toplevel_sx_box
7 years ago
Tony Crisci
27f450ac0e
add todo for rotated unconstrained popup
7 years ago
Tony Crisci
71da20dbde
add comment for output box in toplevel coords
7 years ago
Tony Crisci
67c8aec77f
popup constraint handle empty output layout
7 years ago
Tony Crisci
0bfcce50a9
xdg-positioner: honor constraint flags
7 years ago
Tony Crisci
dbffda7549
xdg-positioner wlr abstractions
7 years ago
Tony Crisci
c5cd805098
positioner rootston cleanup and bugfix
7 years ago
Tony Crisci
e2c4e1ef54
fix xdg-positioner left constrain bug
7 years ago
Drew DeVault
ac219cbda6
Remove width_mm from tablet events
7 years ago
Tony Crisci
738f5e3344
cleanup xdg-positioner rootston code
7 years ago
Drew DeVault
324b9d910d
Remove width_mm from wlr_touch events
7 years ago
Drew DeVault
a35a5786b0
Remove width_mm from wlr_pointer events
7 years ago
Tony Crisci
41e54ba632
Merge branch 'master' into xdg-positioner
7 years ago
Drew DeVault
3e5131e664
Address further review feedback
7 years ago
Drew DeVault
a1d5d20914
Address some more feedback
7 years ago
Drew DeVault
52fe2688ea
Address @emersion's feedback
7 years ago
Drew DeVault
776b81d499
Fix surface layer damage tracking
7 years ago
Drew DeVault
0e318df13d
Add margin animation to the example demo
7 years ago
Drew DeVault
86ca4bea6d
Fix layer rendering/layout bugs
7 years ago
Drew DeVault
097e87ca9f
Handle usable area for maximized windows
...
Also fixes some bugs
7 years ago
Drew DeVault
ab6c2bf584
Reset exclusivity after shell layer
...
Also fixes an issue which was applying exclusivity to all edges
7 years ago
Drew DeVault
df9dbf3170
Fix rebase issues; rearrange layers on destroy
7 years ago
Drew DeVault
11c57d22b0
Use 0 for default width/height (rather than -1)
7 years ago
Drew DeVault
d1c0e6fe2c
Add layer_surface.close
7 years ago
Drew DeVault
b73c4f48c1
Fix exclusive zone among other layers
7 years ago
Drew DeVault
8c98c18880
Gracefully deal with outputs being removed
7 years ago
Drew DeVault
f444a0d14c
Implement layer surface damage
7 years ago
Drew DeVault
4bf936360d
Arrange & render layer surfaces
7 years ago
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.
7 years ago
Drew DeVault
b31ce4220c
Add broken test client and rootston stubs
7 years ago
Drew DeVault
88eec637a4
Address feedback
7 years ago
Drew DeVault
f29d8b55ae
Initial scaffolding of layer shell
7 years ago
Tony Crisci
575bc81d54
Merge pull request #754 from emersion/popup-map-unmap-damage
...
[WIP] xdg-shell: damage view when popup is mapped/unmapped
7 years ago
emersion
4abca435cc
rootston: damage view when xdg-popup is mapped/unmapped
7 years ago
emersion
19a525f3b5
rootston: damage view when zxdg-popup-v6 is mapped/unmapped
7 years ago
Tony Crisci
edb643fc6c
basic xdg-positioner
7 years ago
Tony Crisci
9ff84db06d
unconstrain stubs
7 years ago
Tony Crisci
8371e2f41d
implement flip_x
7 years ago
Drew DeVault
1ed90541f9
Merge pull request #753 from emersion/xdg-shell-unmap-destroy
...
xdg-shell-v6: don't destroy role resources on unmap
7 years ago
emersion
171e28eaff
xdg-shell: don't destroy role resources on unmap, move toplevel fields
...
Ports 5233801530
and
334bab543d
to xdg-shell stable.
7 years ago
Drew DeVault
e9ccb705fb
Merge pull request #758 from martinetd/unfullscreen
...
rootston: Fix segfault in seat unfullscreening
7 years ago
Dominique Martinet
a0b52a0dff
Fix x11 backend
...
Need to include wlr/config.h before using the various WLR_HAS_xxx defines
7 years ago
Dominique Martinet
0c4d347d1e
rootston: Fix segfault in seat unfullscreening
...
==32557==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x000000425f96 bp 0x7fff8ac19de0 sp 0x7fff8ac19d20 T0)
==32557==The signal is caused by a READ memory access.
==32557==Hint: address points to the zero page.
#0 0x425f95 in roots_seat_set_focus ../rootston/seat.c:737
#1 0x40bcd6 in roots_cursor_press_button ../rootston/cursor.c:272
#2 0x40c1f7 in roots_cursor_handle_button ../rootston/cursor.c:298
#3 0x42179b in handle_cursor_button ../rootston/seat.c:58
#4 0x7f1651062367 in wlr_signal_emit_safe ../util/signal.c:29
#5 0x7f165101b532 in handle_pointer_button ../types/wlr_cursor.c:344
#6 0x7f1651062367 in wlr_signal_emit_safe ../util/signal.c:29
#7 0x7f1650ff633b in handle_pointer_button ../backend/libinput/pointer.c:85
#8 0x7f1650ff5291 in wlr_libinput_event ../backend/libinput/events.c:215
#9 0x7f1650ff3990 in wlr_libinput_readable ../backend/libinput/backend.c:35
#10 0x7f1650d88c11 in wl_event_loop_dispatch (/lib64/libwayland-server.so.0+0x9c11)
#11 0x7f1650d87449 in wl_display_run (/lib64/libwayland-server.so.0+0x8449)
#12 0x418e90 in main ../rootston/main.c:81
#13 0x7f164ff7ef29 in __libc_start_main (/lib64/libc.so.6+0x20f29)
#14 0x405829 in _start (/home/shared/wayland/wlroots/build/rootston/rootston+0x405829)
introduced by #680
7 years ago
Tony Crisci
bbd0e23fa7
xdg-positioner constraint detection
7 years ago
Drew DeVault
d1d983a303
Merge pull request #680 from Ongy/roots_unfullscreen
...
unset fullscreen when surface is brought to front
7 years ago
Drew DeVault
b1c4f01bad
Merge pull request #713 from ManDay/master
...
Make X11 fully optional
7 years ago
Markus Ongyerth
07ca976489
only unfullscreen when necessary
...
Check whether the newly focused view is the same as the one currently
fullscreen on that output, or override redirect and don't unfullscreen
in these cases.
7 years ago
Markus Ongyerth
43d7459734
unset fullscreen when surface is brought to front
...
The output fullscreen surfaces are drawn in front of everything, without
consideration for view z-order.
If a view is brought to front, unset any fullscreen view that would
cover this view to make sure the view is visible.
7 years ago
Drew DeVault
706f77e3c7
Address review feedback
7 years ago
emersion
334bab543d
xdg-shell-v6: move toplevel specific fields in wlr_xdg_toplevel_v6
7 years ago
Drew DeVault
891610081f
Merge pull request #751 from emersion/rotated-surface-damage
...
Fix damage tracking for rotated surfaces
7 years ago
emersion
140bc19476
rootston: add -D flag to enable damage tracking debugging
7 years ago
emersion
4555fc8a54
Fix damage tracking for rotated surfaces
...
It was broken because the damage extents were rotated about its
own center, not about the center of the surface.
This adds a new wlr_region_rotated_bounds that rotates regions.
This allows us to have only one code path (for both non-rotated
views and rotated views) and optimizes rendering for rotated
views.
7 years ago
emersion
793c3b3047
render: add simple functions to render rectangles and ellipses
7 years ago
Tony Crisci
f53575e3a3
unified xdg-surface close
7 years ago
emersion
a854c2f246
Merge branch 'master' into gles2-renderer-redesign
7 years ago
Dominique Martinet
d9a3c66942
rootston/output: fix leak in damage_from_surface
7 years ago
emersion
3581573bdc
render/gles2: make wlr_renderer_begin take viewport size
...
This allows raw GL calls outside wlr_renderer to be removed.
7 years ago
emersion
c41de2d1be
render: split render.h into wlr_renderer.h and wlr_texture.h
7 years ago
Dominique Martinet
a491f780b8
rootston rotation: change view->rotation sign
...
The convetion with wlr_matrix changed and it's a good time to remove
all these pesky minus signs
7 years ago
Drew DeVault
1956d3cedb
Merge pull request #722 from emersion/matrix-redesign
...
Matrix redesign
7 years ago
Tony Crisci
09413aa7f1
Merge pull request #711 from emersion/map-unmap
...
Add map/unmap to xdg-shell
7 years ago
emersion
303883ce49
rootston: properly emit view unmap event
7 years ago
emersion
e607d0f7ee
xdg-shell: add map/unmap support
7 years ago
emersion
8b58e1a3ad
Merge branch 'master' into matrix-redesign
7 years ago
emersion
824a95ad19
matrix: use 2D matrices
7 years ago
emersion
de0e40d621
Merge pull request #698 from agx/linux-dmabuf
...
Add initial linux_dmabuf protocol support
7 years ago
Guido Günther
eb4337b5ee
Wire up linux_dmabuf in rootston
7 years ago
emersion
d26b67cb06
matrix: unify API, don't use array pointers
7 years ago
emersion
b6a3f240c7
matrix: move to types/
7 years ago
emersion
dd8a7a29e1
rootston: don't center view if maximized
7 years ago
emersion
ace738dbca
xdg-shell-v6: next_geometry and geometry fields are not longer pointers in wlr_xdg_surface_v6
7 years ago
emersion
149209b72e
xdg-shell-v6: rename toplevel and popup fields in wlr_xdg_surface_v6 for consistency
7 years ago
emersion
e74ddaaf10
xdg-shell-v6: redesign the configure/ack_configure workflow
7 years ago
emersion
125138f1a0
rootston: unmap view after emitting destroy signal in view_destroy
7 years ago
emersion
c1c88bfe5d
rootston: destroy seat view on unmap
7 years ago
emersion
42637a52cf
rootston: don't segfault when getting size of an unmapped xdg-shell view
7 years ago
emersion
6ac3534df6
rootston: add destroy to view interface
7 years ago
emersion
1f8854f217
rootston: remove xdg-shell-v6 map/unmap listeners on destroy
7 years ago
emersion
9d6e17fb11
rootston: fix segfault in handle_tablet_tool_destroy
7 years ago
emersion
3f072bedd9
xdg-shell-v6: add map signal
7 years ago
Cedric Sodhi
ebdabc2030
Make X11 fully optional
...
Make X11 Backend (in addition to XWayland) optional and small bug fix on XWayland includes.
7 years ago
emersion
c27fd1e1ee
rootston: add view_map and view_unmap
7 years ago
Markus Ongyerth
14bb550bff
set alpha to 1.0 for drag icons
7 years ago
Markus Ongyerth
333110515e
set fullscreen alpha to 1
7 years ago
emersion
c2ba1869ce
Merge pull request #670 from Ongy/xwayland_unmanaged
...
add xwayland unmanaged tests to support dmenu
7 years ago
Markus Ongyerth
bb676013ed
add xwayland unmanaged tests to support dmenu
...
This adds `wlr_xwayland_surface_is_unamanged`, to allow compositors more
fine grained control over XWayland focus.
A surface that is unmanaged should not receive focus, while other
windows that are just override redirect may want it (dmenu).
The way unamanged is determined is taken from wlc.
7 years ago
Drew DeVault
3296365ce5
Merge pull request #659 from agx/alpha
...
Make wlr_render_with_matrix use alpha
7 years ago
Guido Günther
202a728ee9
rootstion: handle alpha in server side decorations
7 years ago
Guido Günther
9864f1c136
rootston: wire up window alpha keybinding
7 years ago
Guido Günther
e2ea1ebe48
rootston: Add alpha channel to views
7 years ago