aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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-24Merge pull request #895 from agx/layer-shell-popup-damageDrew DeVault
layer-shell: use output_damage_{whole,from}_local_surface
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-24Merge pull request #893 from emersion/fix-subsurface-recreateemersion
Fix protocol error when a client destroys and re-creates a subsurface
2018-04-23Fix protocol error when a client destroys and re-creates a subsurfaceemersion
2018-04-23Merge pull request #891 from agx/layer-shell-popup-grabDrew DeVault
examples/layer-shell: take grab on the popup
2018-04-23examples/layer-shell: take an explicit grab on the popupGuido Günther
This demonstrates popups can be closed by clicking on the area outside the popup and parent.
2018-04-23Merge pull request #877 from agx/layer-popupsDrew DeVault
Layer popups: work on top of PR 867
2018-04-23examples: Allow to close the popupGuido Günther
So we can the xdg_popup_destroy path.
2018-04-23examples: Handle input entering popup in layer-shellGuido Günther
Change the cursor when entering the popup and make mouse buttons change the red component of the square. This makes sure we can handle input correctly.
2018-04-23rootston: Send frame_done for popups tooGuido Günther
Thanks @emersion
2018-04-23examples: Animate popup in layer-shellGuido Günther
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-23examples: Drop unused variableGuido Günther
2018-04-23Fix popup positioning & double popupsDrew DeVault
2018-04-23Move get_geometry call back to xdg-shellDrew DeVault
2018-04-23Finish forward-porting @acrisci's positioner workDrew DeVault
2018-04-23Forward-port xdg-shell-v6 positioner improvementsDrew DeVault
2018-04-23Basic layer popup renderingDrew DeVault
2018-04-23Add (shitty) support for popups to layer exampleDrew DeVault
2018-04-23Generalize xdg-shell popups and add to layer-shellDrew DeVault
2018-04-23Merge pull request #887 from swaywm/layer-optional-outputDrew DeVault
Update layer shell with optional wl_output
2018-04-23assert(surface->output); after new_surface emitDrew DeVault
2018-04-22Update layer shell example -o behaviorDrew DeVault
2018-04-22Implement output auto-selection in rootstonDrew DeVault
2018-04-22Update layer shell with optional wl_outputDrew DeVault
2018-04-22Merge pull request #885 from emersion/remove-surface-subsurfaceDrew DeVault
Remove wlr_surface::subsurface, add wlr_subcompositor
2018-04-22Merge pull request #886 from n3rdopolis/patch-2emersion
xwayland: preserve the PATH variable
2018-04-21xwayland: preserve the PATH variable n3rdopolis
Some systems don't have xwayland in /usr/bin, but in other paths. wlroots was unable to find Xwayland binaries outside of standard locations
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 #883 from atomnuker/masterDrew DeVault
Do not advertize *RGB8888 as supported shm formats
2018-04-21Do not advertize *RGB8888 as supported shm formatsRostislav Pehlivanov
They're always available and supported, and are added automatically. Adding them again just duplicates them.
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