aboutsummaryrefslogtreecommitdiff
path: root/rootston
AgeCommit message (Collapse)Author
2018-05-30rootston: xdg-shell*: Fix get_size() for newly-mapped viewsGenki Sky
The user-visible issue is that newly-mapped xdg-shell* windows would sometimes start with their top-left-corner, rather than their center, in the center of the screen. This is because get_size() would conservatively fall back on (width, height) == (0, 0) if both set_window_geometry() had not been called, and it found view->wlr_surface to be NULL. But, view->wlr_surface is only set to non-NULL in view_map(). We call get_size() before this. Fortunately, the wlr_surface in question is accessible via view->xdg_shell{,_v6}->surface, so always fall back on that. We can assert its presence instead of further falling back on (width, height) == (0, 0). Signed-off-by: Genki Sky <sky@genki.is>
2018-05-29rootston: use wl_display_destroy_clientsemersion
2018-05-29Merge pull request #999 from dcz-purism/virtual-keyboardemersion
Support virtual keyboard protocol
2018-05-28virtual-keyboard: add support for the virtual-keyboard-v1 protocolDorota Czaplejewicz
2018-05-25Merge pull request #993 from emersion/bind-wl-drm-in-rendereremersion
render: bind wl_drm in renderer
2018-05-25backends: implement custom EGL and renderer initializationIlia Bozhinov
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-24rootston: Keep focus unchanged when non-focusable element clickedDorota Czaplejewicz
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-24rootston: Disable keyboard focus on inactive viewsDorota Czaplejewicz
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-21render: bind wl_drm in rendereremersion
2018-05-20output: correctly clear screen when fullscreenedemersion
2018-05-12Send axis source eventemersion
2018-05-12Add support for discrete axis valuesemersion
2018-05-08Merge pull request #959 from VincentVanlaer/xwayland-lazyemersion
Add the option to start Xwayland only when a client connects
2018-05-08Document xwayland rootston config changesVincent Vanlaer
2018-05-08Make lazy xwayland start default in rootstonVincent Vanlaer
2018-05-08rootston: remove outdated commentemersion
2018-05-08add wlr_layer_surface_surface_atMarkus Ongyerth
Adds wlr_layer_surface_surface_at, this is consistent with the other shell implementations, and simplifies handling in compositors.
2018-05-06Make startup command no longer wait for xwaylandVincent Vanlaer
2018-05-06Add option to rootston to start xwayland lazyVincent Vanlaer
2018-05-06Allow xwayland to start lazilyVincent Vanlaer
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-04Fix a rootston crash when a client creates non-topmost popupsemersion
2018-05-03rootston: remove mode and transform signals when output is destroyedIlia Bozhinov
2018-04-29rootston: map input devices with wlr_input_device.output_nameemersion
2018-04-28cursor: use NAN for unspecified axes, refactor absolute warping codeemersion
2018-04-26layer-shell: Fix crash when cursor is intially outside any outputGuido Günther
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-24layer-shell: use output_damage_{whole,from}_local_surface on map/unmapGuido Günther
These handle rotation and scaling
2018-04-24layer-shell: use output_damage_{whole,from}_local_surface for popupsGuido Günther
Reuse what already handles rotation and scaling. This unbreaks popups on rotated or scaled outputs.
2018-04-23rootston: Send frame_done for popups tooGuido Günther
Thanks @emersion
2018-04-23rootston: Damage layer-shell popupsGuido Günther
2018-04-23rootston: Let layer_surface_at look at popupsGuido Günther
This allows them to receive input as well.
2018-04-23Finish forward-porting @acrisci's positioner workDrew DeVault
2018-04-23Basic layer popup renderingDrew DeVault
2018-04-22Implement output auto-selection in rootstonDrew DeVault
2018-04-21Remove wlr_surface::subsurfaceemersion
2018-04-20Add wlr_renderer_init_wl_shm to advertize supported renderer formatsemersion
2018-04-16rootston: don't crash on shutdownGuido Günther
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-13Merge pull request #862 from emersion/renderer-scissor-upside-downDrew DeVault
Make wlr_renderer_scissor take normal coords instead of upside-down ones
2018-04-13Merge pull request #866 from emersion/xwayland-unmapped-on-createemersion
xwayland: emit new_surface when unmapped
2018-04-13xwayland: emit new_surface when unmappedemersion
2018-04-13Fix gcc string truncation warningsDominique Martinet
2018-04-12Make wlr_renderer_scissor take normal coords instead of upside-down onesemersion
2018-04-08Merge pull request #853 from emersion/xwayland-client-timeoutDrew DeVault
Add wlr_xwayland_surface_ping
2018-04-08Add wlr_xwayland_surface_pingemersion
2018-04-08Fix syntax errorsDrew DeVault
Build before you commit, dumbass
2018-04-08Fix assertions with side-effectsDrew DeVault
Fixes #1725
2018-04-08Merge pull request #850 from emersion/remove-backend-eglDrew DeVault
backend: remove wlr_backend_get_egl
2018-04-08backend: remove wlr_backend_get_eglemersion
2018-04-07rootston: fix compilation without XWayland supportBruno
2018-04-05Remove rootston surface iteratoremersion
2018-04-05Add surface iteratorsemersion