To reproduce this you need a client which can go fullscreen but won't cover the whole screen - that's what the black view is there for.
Steps to reproduce:
Launch some random client (e.g. weston-terminal)
Launch the client as specified above and make it fullscreen
Mod+tab to go to the first client. Mod+tab to go back to the fullscreen client
At this point you expect the fullscreen client to be on the screen, with the black view right behind it, covering what the client doesn't. However what you'll have is: [ fullscreen client ] [ other client ] [ black view ].
In the video, I launch gnome-terminal and make it fullscreen with mod-shift-f.
This is a problem related to lower_fullscreen_layer never being reversed, I'll send a patch to the list in a bit.
Created attachment 93054 [details]
Author: Emilio Pozuelo Monfort <firstname.lastname@example.org>
Date: Thu Jan 30 14:01:10 2014 +0100
desktop-shell: Properly handle lowered fullscreen surfaces
lower_fullscreen_surface() was removing fullscreen surfaces from
the fullscreen layer and inserting them in the normal workspace
layer. However, those fullscreen surfaces were never put back in
the fullscreen layer, causing bugs such as unrelated surfaces
being drawn between a fullscreen surface and its black view.
Change the lower_fullscreen_surface() logic so that it lowers
fullscreen surfaces to the workspace layer *and* hides the
black views. Make this reversible by re-configuring the lowered
fullscreen surface: when it is re-configured, the black view
will be shown again and the surface will be restacked in the