aboutsummaryrefslogtreecommitdiff
path: root/include/sway/output.h
AgeCommit message (Collapse)Author
2018-08-02Revert "Revert "Fix popups""Ryan Dwyer
This reverts commit 9aa258d33a9baa42895214da7e82f4568fcb8f76. Reverting the revert, so that popups can be fixed.
2018-08-02Revert "Fix popups"Drew DeVault
This reverts commit de86d65627e96cffe77f4abf11c4a0b982326ff9.
2018-07-31Fix popupsRyan Dwyer
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)
2018-07-29Remove output_surface_for_each_surface from headeremersion
2018-07-29Completely switch over to new iteratorsemersion
2018-07-29wip: redesign output_view_for_each_surface iteratoremersion
2018-07-29wip: redesign output_layer_for_each_surface iteratoremersion
2018-07-29wip: redesign output_drag_icons_for_each_surface iteratoremersion
2018-07-29wip: redesign output_unmanaged_for_each_surface iteratoremersion
2018-07-25Improve rendering with a fullscreen opaque overlay surfaceemersion
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).
2018-07-07Split rendereremersion
2018-07-07Use opaque region to determine if frame done should be sentRyan Dwyer
2018-06-29Merge remote-tracking branch 'upstream/master' into atomicRyan Dwyer
2018-06-26layer_shell: order destroying before sway_outputDominique Martinet
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
2018-06-09WIP: Atomic layout updates ground workRyan Dwyer
2018-06-06Switch output storing from list_t to wl_listBrian Ashworth
2018-06-06Store sway_outputs so that they can be reenabledBrian Ashworth
2018-05-10Damage borders when damaging viewemersion
2018-04-06Simplify damage tracking functions, use them in layer shellemersion
2018-04-05Fix desktop_damage_whole_surfaceemersion
2018-04-05Add container_damage_wholeemersion
2018-04-05Add damage tracking for xwayland unmanaged surfacesemersion
2018-04-02Merge branch 'wlroots' into view-redesignemersion
2018-04-02Partially implement move commandDrew DeVault
Works: - move [container|window] to workspace <name> - Note, this should be able to move C_CONTAINER but this is untested - move [workspace] to output [left|right|up|down|<name>] Not implemented yet: - move [left|right|up|down] - move scratchpad - move position
2018-03-31Introduce common functions to create, map, unmap, destroy viewsemersion
2018-03-30Add lite damage trackingemersion
This skips the renderer if nothing has changed, and renders everything otherwise.
2018-03-29Some layer shell fixesDrew DeVault
Based on the corresponding rootston changes
2018-03-28Address review feedbackDrew DeVault
2018-03-28Render layer surfaces and respect exclusive zoneDrew DeVault
2018-03-28Add initial layer shell skeletonDrew DeVault
2018-02-14output destroyTony Crisci
2017-12-13Update output containers on output layout changeemersion
2017-12-12Add scale and transform events to sway_outputemersion
2017-11-25Arrange windows on desktopDrew DeVault
2017-11-19Add outputs to the treeDrew DeVault
2017-11-18Move everything to sway/old/Drew DeVault
2017-11-11Wire up output frame loopDrew DeVault
2017-01-13Add output wrappingDaniel Kessler
This fixes issue #733. Now if the user focuses output right but is at the rightmost monitor, the focus will wrap the the leftmost monitor. This commit adds a new function, swayc_opposite_output, which selects the opposite output given a position and a direction. Now, when calling output_by_name, we first check if there is an adjacent output to switch to. If that fails, we call swayc_opposite_output to handle wrapping.
2016-09-01Reorganize includesDrew DeVault