Fix test failures on GHC 8 for `abort` and `new_abort` caused by `error`
appending the stack trace to the error message (since base
4.9.0.0)[1]. This fixes#36.
An alternative is to use `errorWithoutStackTrace` (new in base 4.9.0.0),
but this then requires use of CPP for backwards compatibility.
Remove type constraints prompting GHC to warn about redundant
constraints.
Tested with 7.6.3, 7.8.4, 7.10.3, 8.0.1 (all on NixOS).
[1] https://hackage.haskell.org/package/base-4.9.0.0/docs/GHC-Stack.html
Changes include:
- compatibility with base-4 or 3 (base-2 untested) by using
extensible-exceptions. This adds an additional dependency for users of
ghc<6.10)
- list all dependencies again when -ftesting (change in Cabal-1.8.0.2)
- remove unnecessary imports
- suppress -fwarn-unused-do-bind, with appropriate Cabal-1.8 workaround,
described here:
http://www.haskell.org/pipermail/xmonad/2010-January/009554.html
* Read is no longer a superclass of Layout
* All of the core layouts have moved to the new Layouts.hs module
* Select has been replaced by the new statically typed Choose combinator,
which is heavily based on David Roundy's NewSelect proposal for
XMonadContrib. Consequently:
- Rather than a list of choosable layouts, we use the ||| combinator to
combine several layouts into a single switchable layout
- We've lost the capability to JumpToLayout and PrevLayout. Both can be
added with some effort
I realize this is a big change, but the name 'findIndex' was confusing for me, since I expected it to return some sort of integer. What it actually does, of course, is return a workspace tag, which might be more general than an index.
Of course, this change breaks several contrib modules; I'll submit a patch to make the change there as well.
I want to reuse Properties' Arbitrary instance (as well as the T and
NonNegative types) in an upcoming set of SwapWorkspaces QC props.
`module Main where import Main` doesn't work too well. :)
If this patch is accepted, the darcs 'test' pref should be modified to
"-itests tests/Main.hs".
First, if float is called with window which is on a hidden workspace,
then the window will remain on that hidden workspace.
Now the focus should change more as expected:
float w = (view current) . (shiftWin ws w)
where
current is the current screen/workspace
shiftWin ws w is: - view the workspace w is on
- set focus on w
- shift ws
- set focus back to window it was on that workspace
unless w was focused
shiftWin was add to StackSet.hs