slotThe 5995d6c117 X.C.Desktop: Add type signatures
When we applied hlint hints in bd5b969d9b,
the definition of desktopLayoutModifiers got (via the hint to eta
reduce) changed from

    desktopLayoutModifiers layout = avoidStruts layout

to

    desktopLayoutModifiers = avoidStruts

While the former is general enough to infer the type signature

    LayoutClass l a => l a -> ModifiedLayout AvoidStruts l a

the latter just sees the usage site of

    , layoutHook = desktopLayoutModifiers $ layoutHook def

in the desktopConfig function and thus—through the magic of
MonomorphismRestriction—infers the specialized type

    Choose Tall (Choose (Mirror Tall) Full) Window
      -> ModifiedLayout AvoidStruts
           (Choose Tall (Choose (Mirror Tall) Full)) Window

This obviously completely falls apart once someone wants to change the
layout and still uses desktopLayoutModifiers (unaware that it is just
avoidStruts at the moment).  The easy fix is to give things type
signatures, so nothing needs to be inferred.

The _actual_ solution would be, in my opinion, to completely deprecate
X.C.Desktop and remove it in a future release, as well as to completely
rewrite the provided Example.hs.  This needs more deliberation though.

Fixes: https://github.com/xmonad/xmonad-contrib/issues/560
Related: bd5b969d9b
2021-06-14 18:36:04 +02:00
2021-06-06 18:47:13 +01:00
2021-06-06 18:59:05 +02:00
2021-06-06 18:59:05 +02:00
2021-06-14 18:36:04 +02:00
2019-09-27 16:43:04 -04:00
2021-06-06 18:59:05 +02:00
2021-06-10 14:03:52 +02:00
2020-12-11 17:46:03 +05:30
2007-11-01 20:20:41 +00:00
2021-06-04 19:04:17 +01:00

xmonad-contrib: Third Party Extensions to the xmonad Window Manager

Tests Open Source Helpers

You need the ghc compiler and xmonad window manager installed in order to use these extensions.

For installation and configuration instructions, please see the xmonad website, the documents included with the xmonad source distribution, and the online haddock documentation.

Getting or Updating XMonadContrib

(To use git xmonad-contrib you must also use the git version of xmonad.)

Contributing

Haskell code contributed to this repo should live under the appropriate subdivision of the XMonad namespace (currently includes Actions, Config, Hooks, Layout, Prompt, and Util). For example, to use the Grid layout, one would import:

XMonad.Layout.Grid

For further details, see the documentation for the XMonad.Doc.Developing module, XMonad's CONTRIBUTING.md and the xmonad website.

License

Code submitted to the contrib repo is licensed under the same license as xmonad itself, with copyright held by the authors.

Description
Languages
Haskell 99.6%
C 0.2%
Shell 0.1%