The apt repo hosting these packages has been unmaintained for quite a
while, and we've excluded ~/.stack/programs from the cache long time
ago, so we can just let stack handle the installation. It's not much
slower than installing via apt, and even if it was, some matrix jobs
need to use the slow path anyway.
Related: 9fce3805fc ("ci: Use system GHC in Stack to not waste GH Actions cache space")
Related: 7d10e470d7 ("ci: Avoid caching GHC")
The "haskell/actions/hlint-run" GitHub Action produces annotations which
GitHub shows in the code diff, in addition to just failing the workflow
when there are any suggestions. Also, now it runs in parallel to the
other workflows.
Related: https://github.com/xmonad/xmonad-contrib/issues/669
Related: dd26fcc3f1
The version of unix removes the 3rd Maybe FileMode argument of openFd,
so we need to handle this breaking change using a MIN_VERSION macro. The
argument is integrated with the OpenFileFlags argument and the
integrated value in defaultFileFlags is Nothing, so there's no
difference between the two function calls.
Users often mistakenly use className to query the application (resource)
name of a window; probably since WM_CLASS even has "class" in its name,
so confusion ensues. Improve the documentation to explicitly state
which of the two strings in WM_CLASS the respective functions match.
As advised in [1], provide a way to set the path for the xmessage and
ghc binaries via XMONAD_XMESSAGE and XMONAD_GHC environment variables.
[1]: 36d5761b3e
This reverts commit 29475fa7f8.
xmonad/xmonad-contrib#731 fixes the WindowNavigation issue with alpha
channels, so we can re-enable alpha support. A subsequent commit will
bump versions/dependencies to keep things in sync, although strictly
speaking that's not necessary here.
As discussed in #401, while hlint complains on a definition like
(<||>) x y = ifM x (pure True) y
because it could be eta reduced, actually doing that and writing
(<||>) x = ifM x (pure True)
feels a bit awkward. The solution is to always actually define these
kinds of infix operators in an infix way; i.e., we write
x <||> y = ifM x (pure True) y
instead. For the sake of consistency, it now seems prudent to define
all infix operators in this way (with exceptions for literal aliases,
like `(<+>) = mappend`).
Related: https://github.com/xmonad/xmonad/pull/401
This reverts commit c537a0658a.
A discussion of why, as well as a new way forward, in being discussed in
https://github.com/xmonad/xmonad/issues/395
However, since we would like to release a new minor version soon-ish,
it's better to revert this for now.
Fixes: e5a258f19c ("Revert "Merge pull request #350 from Thiago4532/opaque-window-border"")
This reverts commit dbe9c4f799, reversing
changes made to f6e4e278b5.
A discussion of why, as well as a new way forward, in being discussed in
https://github.com/xmonad/xmonad/issues/395
However, since we would like to release a new minor version soon-ish,
it's better to revert this for now.
Single-commit pull requests are discouraged by the core team now, so
drop that section and just refer to cbeams a kernel docs instead.
Related: https://github.com/xmonad/xmonad/issues/341
On IRC an issue came up where a user couldn't press M-] since they were
using a German keyboard layout and ] is put behind some AltGr
combination. The correct way to specify that would be something along
the lines of M-M5-9, but we don't really want to go into that in the
tutorial. Thus, only use the obvious modifiers, as well as letters,
which should work on every layout.