surfaceNext, surfacePrev exclude floating windows
surfaceNext, surfacePrev exclude floating windows

I was naively passing the workspace to runLayout without filtering out
floating windows from its stack, like XMonad.Operations.windows does.
The fact that 'windows' does this filtering explains how layouts like
those in LimitWindows continue to behave correctly in the presence of
floating windows.

This fixes some incorrect behavior where the presence of a floating
windows caused visible windows (other than the focused one) to be
included in the surfaceRing.

xmonad/xmonad-contrib,xmonad/xmonad-contrib