aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-04-21Fix segfaults in wlr_surface_is_*emersion
2018-04-21Add wlr_subcompositoremersion
2018-04-21Remove wlr_surface::subsurfaceemersion
2018-04-21Merge pull request #880 from emersion/advertize-renderer-formatsDrew DeVault
Advertize supported renderer formats
2018-04-21Merge pull request #881 from emersion/prefixed-unexported-symbolsDrew DeVault
Remove a few local prefixed symbols
2018-04-21Use tabs instead of spaces in symbols fileemersion
2018-04-21Remove a few local prefixed symbolsemersion
2018-04-20Add wlr_renderer_init_wl_shm to advertize supported renderer formatsemersion
2018-04-18Merge pull request #875 from Ongy/keyboard_orderDrew DeVault
reorder xkb state handling in wlr_keyboard
2018-04-18reorder xkb state handling in wlr_keyboardMarkus Ongyerth
wlr_keyboard manages the xkb-common state of the compositor. It used to update the state, update the modifiers, then notify the compositor. When [Shift_L] was pressed and released, this resulted in an event chain: Modifiers: Shift Key: Shift_L (Pressed) Modifiers: Key: Shift_L (Release) The xkb-docs state that the state should be updated *after* the key was handled [1], to prevent the new state from influencing the actual key generated. To achieve this, the event to the compositor is emitted, *before* wlroots handles the xkb and internal keyboard state. With this patch applied, the emitted events ill be: Modifiers: Key: Shift_L (Pressed) Modifiers: Shift Key: Shift_L (Release) [1] https://xkbcommon.org/doc/current/group__state.html#gac554aa20743a621692c1a744a05e06ce
2018-04-17Merge pull request #873 from emersion/output-dont-emit-mode-twiceDrew DeVault
output: don't emit the mode event if it hasn't changed
2018-04-18output: don't emit the mode event if it hasn't changedemersion
This also fixes #535.
2018-04-16Merge pull request #871 from agx/layer-shell-crashemersion
rootston: don't crash on shutdown
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-15Merge pull request #870 from psychon/x11_needs_swapDrew DeVault
x11 backend: Expose events mean "needs swap"
2018-04-15x11 backend: Expose events mean "needs swap"Uli Schlachter
When the X11 server sends an expose event, that means that "this rectangle here (the event contains x,y,width,height) has undefined contents on your window; please redraw that". This means that we need a swap. However, so far the code does not actually enforce that a swap happens. For example, start rootston, switch to another workspace and then switch back. The rootston window will not be redrawn (before commit 52b058c2a31fb, it would just be fully white; after that commit it will show whatever was visible on the old workspace). This is because the drawing code concludes that nothing needs to be done. However, in fact a swap is necessary. This reverts commit e79d92458852373, because its optimisation is already done now: wlr_output_update_needs_swap() emits a signal, which is handled by wlr_output_damage with a call to wlr_output_schedule_frame(). This function does nothing if a frame is already pending. Thus, the optimisation from commit e79d92458852373 now happens implicitly. Signed-off-by: Uli Schlachter <psychon@znc.in>
2018-04-15Merge pull request #869 from psychon/x11-cleanupsemersion
Some changes to the x11 backend
2018-04-15x11 backend: Ignore expose if frame is pendingUli Schlachter
When resizing rootston with the mouse, the result is really slow. One can see that rootston needs quite a while for drawing the newly visible area. This is because every single expose event is handled on its own and causes (apparently) a full repaint or at least a swap. This commit improves things by only causing a new frame if none is pending already. With this change, there is almost no delay in rootston drawing the newly visible area. Signed-off-by: Uli Schlachter <psychon@znc.in>
2018-04-15x11 backend: Do not set a back pixel on windowsUli Schlachter
Before this commit, the x11 server would fill any exposed area with white before the wlroots x11 backend got a chance to do anything. This was e.g. visible when running rootston and resizing the window: When the window becomes larger, the new area is filled with black. By just not setting a back pixel value, this commit gets rid of this behaviour. Signed-off-by: Uli Schlachter <psychon@znc.in>
2018-04-15x11_handle_input_event: Remove return valueUli Schlachter
handle_x11_event() and x11_handle_input_event() react to different kinds of events, so it does not make much of a difference if x11_handle_input_event() signals if it handled an event or not. Signed-off-by: Uli Schlachter <psychon@znc.in>
2018-04-15handle_x11_event: Remove return valueUli Schlachter
This function always returns "false", so its return type can simply be changed to void. Signed-off-by: Uli Schlachter <psychon@znc.in>
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-13Merge pull request #864 from martinetd/wl_scanner_codeDrew DeVault
Use 'private-code' for wayland-scanner code generation
2018-04-13Merge pull request #865 from martinetd/str_truncationDrew DeVault
Fix gcc string truncation warnings
2018-04-13Merge pull request #857 from emersion/shell-always-unmapDrew DeVault
Always unmap before destroying surface
2018-04-13Use 'private-code' for wayland-scanner code generationDominique Martinet
They deprecated 'code' for 'public-code', but suggest using 'private-code'...
2018-04-13Fix gcc string truncation warningsDominique Martinet
2018-04-12Update README.mdDrew DeVault
2018-04-12Update README.mdDrew DeVault
2018-04-12Update LICENSE year (MIT license)Drew DeVault
2018-04-12Make wlr_renderer_scissor take normal coords instead of upside-down onesemersion
2018-04-12Merge pull request #861 from emersion/fix-output-transform-composeDrew DeVault
Fix wlr_output_transform_compose
2018-04-12Fix wlr_output_transform_composeemersion
2018-04-12Merge pull request #860 from emersion/fix-xdg-popup-atDrew DeVault
Fix wlr_xdg_surface_surface_at for popups
2018-04-12Fix wlr_xdg_surface_surface_at for popupsemersion
2018-04-11Always unmap before destroying surfaceemersion
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 #851 from emersion/xwayland-window-type-menuDrew DeVault
xwayland: add _NET_WM_WINDOW_TYPE_MENU support
2018-04-08xwayland: add _NET_WM_WINDOW_TYPE_MENU supportemersion
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-07Merge pull request #847 from bpinto/bugfix/compilation-without-xwayland-supportDrew DeVault
rootston: fix compilation without XWayland support
2018-04-07rootston: fix compilation without XWayland supportBruno
2018-04-07Fix destruction of popups without grabsDrew DeVault
Fixes #846
2018-04-07Merge pull request #843 from emersion/fix-xwayland-unmap-signalDrew DeVault
Emit xwayland unmap signal before unmapping