Ilia Bozhinov
24cf70ae96
backends: implement custom EGL and renderer initialization
...
Compositors now have more control over how the backend creates its
renderer. Currently all backends create an EGL/GLES2 renderer, so
the necessary attributes for creating the context are passed to a
user-provided callback function. It is responsible for initializing
provided wlr_egl and to return a renderer. On fail, return 0.
Fixes #987
2018-05-25 14:56:52 +03:00
Dorota Czaplejewicz
a94c56a828
rootston: Keep focus unchanged when non-focusable element clicked
...
Before this change, a view would lose focus after clicking something that's not keyboard-interactive. This would lead to edge cases with layer-shell windows like input methods, which are pointer-only-interactive, but are not intended to change the state of any focus.
2018-05-24 16:10:29 +02:00
Dorota Czaplejewicz
fa13493ad5
rootston: Disable keyboard focus on inactive views
...
After clicking on something non-interactive, the current view was getting deactivated, but still received keyboard events. roots_seat_set_focus now changes both together in this case.
2018-05-24 16:05:12 +02:00
emersion
41130fe54b
render: bind wl_drm in renderer
2018-05-21 19:07:08 +01:00
emersion
e849a68e6e
output: correctly clear screen when fullscreened
2018-05-20 13:44:18 +01:00
emersion
db84379242
Send axis source event
2018-05-12 13:53:21 +01:00
emersion
0b58579564
Add support for discrete axis values
2018-05-12 13:34:58 +01:00
emersion
8e831cd416
Merge pull request #959 from VincentVanlaer/xwayland-lazy
...
Add the option to start Xwayland only when a client connects
2018-05-08 23:04:26 +01:00
Vincent Vanlaer
6936be984f
Document xwayland rootston config changes
2018-05-08 22:54:45 +02:00
Vincent Vanlaer
ef1a24430a
Make lazy xwayland start default in rootston
2018-05-08 22:43:31 +02:00
emersion
6436ce6300
rootston: remove outdated comment
2018-05-08 15:51:21 +01:00
Markus Ongyerth
8931452e1d
add wlr_layer_surface_surface_at
...
Adds wlr_layer_surface_surface_at, this is consistent with the other
shell implementations, and simplifies handling in compositors.
2018-05-08 16:03:10 +02:00
Vincent Vanlaer
dbf4f9a231
Make startup command no longer wait for xwayland
2018-05-06 23:41:29 +02:00
Vincent Vanlaer
31861b3a7a
Add option to rootston to start xwayland lazy
2018-05-06 23:41:29 +02:00
Vincent Vanlaer
c80bf1591e
Allow xwayland to start lazily
...
Makes the xwayland startup process two phased.
The first phase just initialises the X11 sockets.
The second phase starts the Xwayland server itself.
When starting xwayland lazily the second phase will be postponed until
a client has connected to the X11 socket.
Changes in behaviour:
The DISPLAY environment is now set immediately after the X11 sockets
are created.
When the Xwayland server is killed or crashes, the sockets will not be
recreated, but reused.
Fixes #849 : Start up Xwayland lazily
2018-05-06 23:41:25 +02:00
emersion
393f7aaeff
Fix a rootston crash when a client creates non-topmost popups
2018-05-04 09:27:55 +01:00
Ilia Bozhinov
54bf3a36ca
rootston: remove mode and transform signals when output is destroyed
2018-05-03 11:57:54 +03:00
emersion
9e7a997433
rootston: map input devices with wlr_input_device.output_name
2018-04-29 14:30:13 +01:00
emersion
6e7c0b57f6
cursor: use NAN for unspecified axes, refactor absolute warping code
2018-04-28 09:24:38 +01:00
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.
2018-04-26 14:08:30 +02:00
Guido Günther
24fa07565d
layer-shell: use output_damage_{whole,from}_local_surface on map/unmap
...
These handle rotation and scaling
2018-04-24 13:11:42 +02:00
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.
2018-04-24 13:11:42 +02:00
Guido Günther
57cc4c319d
rootston: Send frame_done for popups too
...
Thanks @emersion
2018-04-23 11:24:31 +02:00
Guido Günther
ad22e02310
rootston: Damage layer-shell popups
2018-04-23 11:24:31 +02:00
Guido Günther
d4cb33c9fc
rootston: Let layer_surface_at look at popups
...
This allows them to receive input as well.
2018-04-23 11:24:31 +02:00
Drew DeVault
0a0627f5d0
Finish forward-porting @acrisci's positioner work
2018-04-23 11:24:06 +02:00
Drew DeVault
278aa84619
Basic layer popup rendering
2018-04-23 11:24:06 +02:00
Drew DeVault
edbf4a2f60
Implement output auto-selection in rootston
2018-04-22 19:15:49 +02:00
emersion
fa84b267e0
Remove wlr_surface::subsurface
2018-04-21 18:40:25 +01:00
emersion
70d820be25
Add wlr_renderer_init_wl_shm to advertize supported renderer formats
2018-04-20 23:58:30 +01:00
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.
2018-04-16 15:51:03 +02:00
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
2018-04-13 09:32:41 -04:00
emersion
bcf5da5cd7
Merge pull request #866 from emersion/xwayland-unmapped-on-create
...
xwayland: emit new_surface when unmapped
2018-04-13 08:48:01 -04:00
emersion
fa02e30adf
xwayland: emit new_surface when unmapped
2018-04-13 14:37:13 +02:00
Dominique Martinet
555206cf60
Fix gcc string truncation warnings
2018-04-13 14:37:53 +09:00
emersion
1b802d9251
Make wlr_renderer_scissor take normal coords instead of upside-down ones
2018-04-12 19:38:33 -04:00
Drew DeVault
7efd9885b6
Merge pull request #853 from emersion/xwayland-client-timeout
...
Add wlr_xwayland_surface_ping
2018-04-08 16:30:45 -04:00
emersion
17d0440b75
Add wlr_xwayland_surface_ping
2018-04-08 16:28:01 -04:00
Drew DeVault
902d859c67
Fix syntax errors
...
Build before you commit, dumbass
2018-04-08 12:50:52 -04:00
Drew DeVault
7bb8512afb
Fix assertions with side-effects
...
Fixes #1725
2018-04-08 12:49:48 -04:00
Drew DeVault
bef5c1fd56
Merge pull request #850 from emersion/remove-backend-egl
...
backend: remove wlr_backend_get_egl
2018-04-08 11:21:21 -04:00
emersion
d2ebbd103c
backend: remove wlr_backend_get_egl
2018-04-08 11:00:56 -04:00
Bruno
ba5c0903f9
rootston: fix compilation without XWayland support
2018-04-07 23:29:04 +01:00
emersion
285cf12e37
Remove rootston surface iterator
2018-04-05 14:18:21 -04:00
emersion
4a9a9eae9a
Add surface iterators
2018-04-05 14:18:17 -04:00
Drew DeVault
da73b4f60b
Merge pull request #830 from swaywm/xdg-output
...
Add wlr_xdg_output_manager
2018-04-05 13:58:01 -04:00
Tancredi Orlando
74a4b1702b
Initialize rootston _surface
2018-04-05 19:13:21 +02:00
Drew DeVault
abfe7923c4
Add wlr_xdg_output_manager
2018-04-05 12:40:30 -04:00
emersion
3ea425d4e2
Fix xdg-shell popups, add wlr_xdg_surface_surface_at
2018-04-04 17:45:24 -04:00
emersion
c9d21106b4
Add wlr_xdg_surface_v6_surface_at and wlr_wl_shell_surface_surface_at
2018-04-04 17:42:16 -04:00
emersion
1a8b24bdd2
rootston: fix view_at
2018-04-04 17:16:35 -04:00
emersion
d16127b3cb
Fix wlr_surface_subsurface_at, change it to be wlr_surface_surface_at
2018-04-04 16:48:23 -04:00
emersion
f7539b9d14
rootston: send enter event for layer surfaces
2018-04-03 20:18:04 -04:00
Drew DeVault
56deff41b6
Implement input inhibit in rootston
2018-04-03 15:09:53 -04:00
Drew DeVault
3a8c7f283d
Add input-inhibitor example client
2018-04-03 14:06:52 -04:00
Drew DeVault
d88f3c1eb3
Fix segfault when clicking rootston desktop
2018-04-03 11:30:37 -04:00
Drew DeVault
9ce53d7dc4
Merge pull request #804 from swaywm/keyboard-layers
...
Add keyboard input to layer surfaces
2018-04-02 20:45:39 -04:00
Drew DeVault
333ab59902
Add wlr_surface_is_*_surface
...
And wlr_*_surface_from_wlr_surface
2018-04-02 20:42:02 -04:00
Drew DeVault
9ae861c416
Address review feedback
2018-04-02 18:54:16 -04:00
Drew DeVault
37036df822
Handle layer surfaces below shell surfaces
2018-04-02 18:44:06 -04:00
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
2018-04-02 23:35:03 +02:00
Drew DeVault
a94f4d0edc
Always give keyboard focus to the topmost layer
2018-04-02 15:48:22 -04:00
Drew DeVault
883d8d306c
Identify topmost interactive layer surface
2018-04-02 15:16:14 -04:00
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.
2018-04-02 14:55:17 -04:00
Drew DeVault
937362b552
FIx crash on touch down
2018-03-31 09:55:41 -04:00
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))) {
~~~~~~~~~~~~~~~
2018-03-31 12:57:12 +03:00
emersion
692f1746cf
xwayland: specify xwm cursor stride in bytes
2018-03-31 00:22:58 -04:00
Drew DeVault
e19ee6d469
Add wlr_surface_point_accepts_input
...
Ref https://github.com/swaywm/sway/pull/1674
2018-03-30 23:02:11 -04:00
Drew DeVault
746e3759b7
Address review feedback
2018-03-30 20:34:00 -04:00
Drew DeVault
168f65fb7a
Minor bugfixes
2018-03-30 18:28:21 -04:00
Drew DeVault
e3eb487dc2
Add pointer support to layer shell example
2018-03-30 18:23:57 -04:00
Drew DeVault
dc412c514b
Find layer surfaces for input events
2018-03-30 17:27:10 -04:00
Drew DeVault
662f40b8ae
Refactor cursor event passhtrough
2018-03-30 17:27:10 -04:00
emersion
865b0aa123
xwayland: rename map_notify to map for consistency
2018-03-30 11:01:23 -04:00
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.
2018-03-29 12:18:50 -04:00
emersion
a316396eab
Merge pull request #720 from acrisci/xdg-positioner
...
xdg-positioner
2018-03-29 01:02:40 -04:00
Tony Crisci
2e63d1a0ca
toplevel_box to toplevel_sx_box
2018-03-28 23:24:39 -04:00
Tony Crisci
27f450ac0e
add todo for rotated unconstrained popup
2018-03-28 22:26:56 -04:00
Tony Crisci
71da20dbde
add comment for output box in toplevel coords
2018-03-28 20:51:25 -04:00
Tony Crisci
67c8aec77f
popup constraint handle empty output layout
2018-03-28 18:36:48 -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
Tony Crisci
c5cd805098
positioner rootston cleanup and bugfix
2018-03-28 12:46:41 -04:00
Tony Crisci
e2c4e1ef54
fix xdg-positioner left constrain bug
2018-03-28 12:12:00 -04:00
Drew DeVault
ac219cbda6
Remove width_mm from tablet events
2018-03-28 12:05:37 -04:00
Tony Crisci
738f5e3344
cleanup xdg-positioner rootston code
2018-03-28 11:42:01 -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
Drew DeVault
3e5131e664
Address further review feedback
2018-03-27 21:28:22 -04:00
Drew DeVault
a1d5d20914
Address some more feedback
2018-03-27 18:51:41 -04:00
Drew DeVault
52fe2688ea
Address @emersion's feedback
2018-03-27 18:51:41 -04:00
Drew DeVault
776b81d499
Fix surface layer damage tracking
2018-03-27 18:50:32 -04:00
Drew DeVault
0e318df13d
Add margin animation to the example demo
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
097e87ca9f
Handle usable area for maximized windows
...
Also fixes some bugs
2018-03-27 18:50:32 -04:00
Drew DeVault
ab6c2bf584
Reset exclusivity after shell layer
...
Also fixes an issue which was applying exclusivity to all edges
2018-03-27 18:50:32 -04:00
Drew DeVault
df9dbf3170
Fix rebase issues; rearrange layers on destroy
2018-03-27 18:50:32 -04:00
Drew DeVault
11c57d22b0
Use 0 for default width/height (rather than -1)
2018-03-27 18:50:32 -04:00
Drew DeVault
d1c0e6fe2c
Add layer_surface.close
2018-03-27 18:50:32 -04:00