aboutsummaryrefslogtreecommitdiffstats
path: root/sway/desktop/output.c
Commit message (Collapse)AuthorAge
...
* Close popups when changing focusLibravatar Ryan Dwyer2018-07-31
| | | | Also reverts the send frame done changes from the previous commit.
* Fix popupsLibravatar Ryan Dwyer2018-07-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes the render and container_at order for popups. Fixes #2210 For rendering: * render_view_surfaces has been renamed to render_view_toplevels * render_view_toplevels now uses output_surface_for_each_surface (which is now public), as that function uses wlr_surface_for_each_surface which doesn't descend into popups * Views now have a for_each_popup iterator, which is used by the renderer to render the focused view's popups * When rendering a popup, toplevels (xdg subsurfaces) of that popup are also rendered For sending frame done, the logic has been updated to match the rendering logic: * send_frame_done_container no longer descends into popups * for_each_popup is used to send frame done to the focused view's popups and their child toplevels For container_at: * floating_container_at is now static, which means it had to be moved higher in the file. * container_at now considers popups for the focused view before checking containers. * tiling_container_at has been introduced, so that it doesn't call container_at recursively (it would check popups recursively if it did)
* Fix segfault with fullscreenLibravatar emersion2018-07-30
|
* Merge pull request #2367 from emersion/iterator-redesignLibravatar Drew DeVault2018-07-30
|\ | | | | Refactor surface iterators
| * Make output_surface_for_each_surface_iterator staticLibravatar emersion2018-07-29
| |
| * Remove unused output_from_wlr_outputLibravatar emersion2018-07-29
| |
| * Remove output_surface_for_each_surface from headerLibravatar emersion2018-07-29
| |
| * Completely switch over to new iteratorsLibravatar emersion2018-07-29
| |
| * wip: redesign output_view_for_each_surface iteratorLibravatar emersion2018-07-29
| |
| * wip: redesign output_layer_for_each_surface iteratorLibravatar emersion2018-07-29
| |
| * wip: redesign output_drag_icons_for_each_surface iteratorLibravatar emersion2018-07-29
| |
| * wip: redesign output_unmanaged_for_each_surface iteratorLibravatar emersion2018-07-29
| |
* | Fix title textures on scale changeLibravatar Brian Ashworth2018-07-30
|/
* Allow containers to be fullscreenLibravatar Ryan Dwyer2018-07-26
|
* Merge pull request #2353 from emersion/render-opaque-overlayLibravatar Drew DeVault2018-07-25
|\ | | | | Improve rendering with a fullscreen opaque overlay surface
| * Improve rendering with a fullscreen opaque overlay surfaceLibravatar emersion2018-07-25
| | | | | | | | | | | | | | | | | | | | | | | | The rendering code doesn't use the exclusive input surface at all anymore to decide to skip rendering of shell surfaces. This fixes a weird situation in which a client requests exclusive input but isn't an overlay layer surface. The renderer also renders all overlay surfaces in this situation, not just one. This simplifies the code and fixes rendering when there are more than one overlay surfaces (e.g. for a virtual keyboard to type the lockscreen password).
* | reverted includes of "sway/config.h" and replaced with "config.h" from meson ↵Libravatar Pascal Pascher2018-07-25
| | | | | | | | build
* | style fixes, exclude sway/desctop/xwayland.c when enable_xwayland: falseLibravatar Pascal Pascher2018-07-24
| |
* | Added meson option "enable_xwayland" (default: true) to enable/disable ↵Libravatar Pascal Pascher2018-07-24
|/ | | | xwayland support
* Fix damage issue when moving and resizingLibravatar Ryan Dwyer2018-07-22
|
* Simplify transactions by utilising a dirty flag on containersLibravatar Ryan Dwyer2018-07-14
| | | | | | | | | | | | | | | This PR changes the way we handle transactions to a more simple method. The new method is to mark containers as dirty from low level code (eg. arranging, or container_destroy, and eventually seat_set_focus), then call transaction_commit_dirty which picks up those containers and runs them through a transaction. The old methods of using transactions (arrange_and_commit, or creating one manually) are now no longer possible. The highest-level code (execute_command and view implementation handlers) will call transaction_commit_dirty, so most other code just needs to set containers as dirty. This is done by arranging, but can also be done by calling container_set_dirty.
* Fix output_has_opaque_lockscreenLibravatar emersion2018-07-13
|
* Update for swaywm/wlroots#1126Libravatar emersion2018-07-09
|
* Split rendererLibravatar emersion2018-07-07
|
* Fix titles when container titles contain UTF-8 charactersLibravatar Ryan Dwyer2018-07-07
| | | | | | | | | | | | | | The title and marks textures would have their height set from the config's computed max font height, but the textures were not regenerated when the config's max font height changed which made a gap appear. Rather than making it regenerate the title textures every time the config font height was changed, I've changed it to just make the textures the height of the title itself and fill any gap when rendering. Also, the title_width and marks_width variables have been renamed to make it more obvious that they are in output-buffer-local coordinates. Fixes #1936.
* Translate surface by its geo when doing opaque box checkLibravatar Ryan Dwyer2018-07-07
|
* Don't clear when using opaque lockscreenLibravatar Ryan Dwyer2018-07-07
|
* Detect opaque lockscreen when using a solid colorLibravatar Ryan Dwyer2018-07-07
|
* Use pixman_region32_contains_rectangleLibravatar Ryan Dwyer2018-07-07
|
* Use opaque region to determine if frame done should be sentLibravatar Ryan Dwyer2018-07-07
|
* Don't send frame done to surfaces behind lockscreenLibravatar Ryan Dwyer2018-07-07
| | | | | Also, when rendering, don't descend into the tree if the lockscreen is active. Just render the lockscreen's surfaces.
* Use wlr_surface.buffer_damageLibravatar emersion2018-07-05
|
* Updates per wlroots#1076Libravatar Drew DeVault2018-07-05
|
* sway views: add helpers to get view and layer from wlr_surfaceLibravatar Dominique Martinet2018-06-30
|
* Merge remote-tracking branch 'upstream/master' into atomicLibravatar Ryan Dwyer2018-06-30
|\
| * Fix crash with stacking layout after f42bf0ad4Libravatar Rostislav Pehlivanov2018-06-30
| | | | | | | | The "simple" rendering function only applies to tiled views.
| * Revert "Don't unmaximize floating views"Libravatar Rostislav Pehlivanov2018-06-30
| | | | | | | | This reverts commit 97672295ed50d1d6272876c4a3b6b5607cab05c6.
* | Render saved buffers with the surface's dimensionsLibravatar Ryan Dwyer2018-06-29
| |
* | Merge remote-tracking branch 'upstream/master' into atomicLibravatar Ryan Dwyer2018-06-29
|\|
| * layer_shell: order destroying before sway_outputLibravatar Dominique Martinet2018-06-26
| | | | | | | | | | | | | | | | | | Both sway_output and sway_layer_shell listen to wlr's output destroy event, but sway_layer_shell needs to access into sway_output's data strucure and needs to be destroyed first. Resolve this by making sway_layer_shell listen to a new event that happens at start of sway_output's destroy handler
* | Fix crash when disconnecting outputLibravatar Ryan Dwyer2018-06-26
| | | | | | | | | | | | | | | | | | | | | | | | We were freeing the sway_output immediately upon disconnect which left a dangling pointer in the output's container. It then tried to use the pointer when the container is freed. We don't need to store the sway_output in an output's container which is destroying, so the fix is to set the pointer to NULL and remove the use in container_free. Also added an arrange when the output is disconnected for good measure.
* | Fix crash related to stacks and tabsLibravatar Ryan Dwyer2018-06-24
| |
* | Fix crash when deleting last child in a tabbed or stacked containerLibravatar Ryan Dwyer2018-06-23
| | | | | | | | | | There was no `current` child because the container was destroyed. This makes it fall back to looking in the parent's current children list.
* | Implement atomic layout updates for tree operationsLibravatar Ryan Dwyer2018-06-23
| | | | | | | | | | This implements atomic layout updates for when views map, reparent or unmap.
* | Preserve buffers during transactionsLibravatar Ryan Dwyer2018-06-18
| | | | | | | | | | * Also fix parts of the rendering where it was rendering the pending state instead of current.
* | Merge remote-tracking branch 'upstream/master' into atomicLibravatar Ryan Dwyer2018-06-18
|\|
| * Update for swaywm/wlroots#1060Libravatar emersion2018-06-16
| |
* | Merge remote-tracking branch 'upstream/master' into atomicLibravatar Ryan Dwyer2018-06-11
|\|
| * Render drag iconsLibravatar emersion2018-06-09
| |
| * Fix compilation errors related to disabled outputsLibravatar emersion2018-06-09
| |