Merge branches 'pr/grabkeys-nosymbol', 'pr/extensible-config' and 'pr/funding'

This commit is contained in:
Tomas Janousek
2021-05-21 11:49:52 +01:00
4 changed files with 16 additions and 2 deletions

2
.github/FUNDING.yml vendored Normal file
View File

@@ -0,0 +1,2 @@
github:
- liskin

View File

@@ -41,6 +41,9 @@
Instead, the manpage source is regenerated and manpage rebuilt Instead, the manpage source is regenerated and manpage rebuilt
automatically in CI. automatically in CI.
* Added the `extensibleConf` field to `XConfig` which makes it easier for
contrib modules to have composable configuration (custom hooks, …).
## 0.15 (September 30, 2018) ## 0.15 (September 30, 2018)
* Reimplement `sendMessage` to deal properly with windowset changes made * Reimplement `sendMessage` to deal properly with windowset changes made

View File

@@ -277,6 +277,7 @@ instance (a ~ Choose Tall (Choose (Mirror Tall) Full)) => Default (XConfig a) wh
, XMonad.handleExtraArgs = \ xs theConf -> case xs of , XMonad.handleExtraArgs = \ xs theConf -> case xs of
[] -> return theConf [] -> return theConf
_ -> fail ("unrecognized flags:" ++ show xs) _ -> fail ("unrecognized flags:" ++ show xs)
, XMonad.extensibleConf = M.empty
} }
-- | The default set of configuration values itself -- | The default set of configuration values itself

View File

@@ -23,7 +23,7 @@ module XMonad.Core (
XConf(..), XConfig(..), LayoutClass(..), XConf(..), XConfig(..), LayoutClass(..),
Layout(..), readsLayout, Typeable, Message, Layout(..), readsLayout, Typeable, Message,
SomeMessage(..), fromMessage, LayoutMessages(..), SomeMessage(..), fromMessage, LayoutMessages(..),
StateExtension(..), ExtensionClass(..), StateExtension(..), ExtensionClass(..), ConfExtension(..),
runX, catchX, userCode, userCodeDef, io, catchIO, installSignalHandlers, uninstallSignalHandlers, runX, catchX, userCode, userCodeDef, io, catchIO, installSignalHandlers, uninstallSignalHandlers,
withDisplay, withWindowSet, isRoot, runOnWorkspaces, withDisplay, withWindowSet, isRoot, runOnWorkspaces,
getAtom, spawn, spawnPID, xfork, recompile, trace, whenJust, whenX, getAtom, spawn, spawnPID, xfork, recompile, trace, whenJust, whenX,
@@ -122,6 +122,11 @@ data XConfig l = XConfig
, rootMask :: !EventMask -- ^ The root events that xmonad is interested in , rootMask :: !EventMask -- ^ The root events that xmonad is interested in
, handleExtraArgs :: !([String] -> XConfig Layout -> IO (XConfig Layout)) , handleExtraArgs :: !([String] -> XConfig Layout -> IO (XConfig Layout))
-- ^ Modify the configuration, complain about extra arguments etc. with arguments that are not handled by default -- ^ Modify the configuration, complain about extra arguments etc. with arguments that are not handled by default
, extensibleConf :: !(M.Map TypeRep ConfExtension)
-- ^ Stores custom config information.
--
-- The module "XMonad.Util.ExtensibleConf" in xmonad-contrib
-- provides additional information and a simple interface for using this.
} }
@@ -383,7 +388,7 @@ data LayoutMessages = Hide -- ^ sent when a layout becomes non-visi
instance Message LayoutMessages instance Message LayoutMessages
-- --------------------------------------------------------------------- -- ---------------------------------------------------------------------
-- Extensible state -- Extensible state/config
-- --
-- | Every module must make the data it wants to store -- | Every module must make the data it wants to store
@@ -410,6 +415,9 @@ data StateExtension =
| forall a. (Read a, Show a, ExtensionClass a) => PersistentExtension a | forall a. (Read a, Show a, ExtensionClass a) => PersistentExtension a
-- ^ Persistent extension -- ^ Persistent extension
-- | Existential type to store a config extension.
data ConfExtension = forall a. Typeable a => ConfExtension a
-- --------------------------------------------------------------------- -- ---------------------------------------------------------------------
-- | General utilities -- | General utilities
-- --