aboutsummaryrefslogtreecommitdiff
path: root/rootston
AgeCommit message (Collapse)Author
2018-07-07rootston: Handle modeline parameterGuido Günther
This allows to pass custom modes.
2018-06-24use seat function to end grabTony Crisci
2018-06-24Merge branch 'master' into cancel-grab-on-focus-changeTony Crisci
2018-06-17Merge branch 'master' into screencontentemersion
2018-06-13surface: remove wlr_surface.textureemersion
The texture is managed by the surface's wlr_buffer now. In particular, the buffer can destroy the texture early if it becomes invalid.
2018-06-10rootston: Cancel existing keyboard grab when changing focusGenki Sky
It's possible that a non-default keyboard grab exists when we are trying to change focus. For example, say there is an XDG popup when we click on a different window. This popup's keyboard grab will swallow any keyboard_notify_enter(), meaning the newly-clicked window won't receive keyboard input. So, we cancel any existing grabs in roots_seat_set_focus(). Before this fix, a window would have been set as active but not receive keyboard entry. Fixes #233. Signed-off-by: Genki Sky <sky@genki.is>
2018-06-08rootston: destroy xwayland before all clientsemersion
Destroying all clients disconnects the xwayland client, and xwayland automatically restarts when disconnected.
2018-06-06dont damage drag icon after update_positionTony Crisci
2018-06-05update drag position at the right timesTony Crisci
2018-06-05handle drag icon map in rootstonTony Crisci
2018-06-05rename drag-icon map to unmapTony Crisci
2018-06-01Add wlr_surface_get_geometryMarkus Ongyerth
This function defaults and clips the xdg-surface geometry to the bounding box of the surface + its subsurfaces, as specified by the protocol spec.
2018-05-31Merge branch 'master' into screencontentemersion
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-29rootston: enable export-dmabufemersion
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.