[PATCH weston 09/11] shell: Manage toplevel surfaces on all workspaces in one list
Bill Spitzak
spitzak at gmail.com
Sat Jan 26 08:34:33 PST 2013
On 01/26/2013 06:33 AM, Jonas Ådahl wrote:
> Instead of linking and unlinking per-workspace layers to the output
> cycle, keep all toplevel surfaces in one per-shell list. Shell surfaces
> now has a visibility flag, and surfaces that has visibility set to true
> will be added to a reintroduced toplevel layer.
>
> Changing active workspace corresponds to updating the visibility flag
> and marking the toplevel layer as dirty. Before an output repaint, if
> the toplevel has been marked as dirty, the shell will repopulate the
> toplevel surface with visible surfaces.
>
> Structuring surfaces this way as the benefit of simple stacking order
> across outputs.
>
> Black surfaces are currently managed as a special case, stacked on the
> toplevel layer beneath a fullscreen surface in the pre output repaint
> hook.
Could fullscreen be considered a "workspace" rather than using this
black window? Ie showing a fullscreen window is as though you switched
that output to a workspace that contains only that window. This would
get rid of the black surface, instead the desktop surface would be used
for this.
I personally feel that fullscreen should mean "it goes above the panel"
and thus transparent areas will still show the panel, other windows, and
the desktop. If you want full speed of direct mapping then the
fullscreen window should be opaque (or at least claim to be opaque by
setting the opaque region to the full size).
But if fullscreen is intended to hide everything else, it sure sounds
like a "workspace" to me.
More information about the wayland-devel
mailing list