packages feed

blucontrol 0.3.0.1 → 0.3.1.0

raw patch · 6 files changed

+54/−2 lines, 6 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

+ Blucontrol.Control.Count: instance Control.Monad.Trans.Control.MonadTransControl Blucontrol.Control.Count.ControlCountT
+ Blucontrol.Gamma.Modifier: data GammaModifierT c m a
+ Blucontrol.Gamma.Modifier: instance (Control.Monad.Base.MonadBase GHC.Types.IO m, Blucontrol.Gamma.MonadGamma c m) => Blucontrol.Gamma.MonadGamma c (Blucontrol.Gamma.Modifier.GammaModifierT c m)
+ Blucontrol.Gamma.Modifier: instance Control.Monad.Base.MonadBase b m => Control.Monad.Base.MonadBase b (Blucontrol.Gamma.Modifier.GammaModifierT c m)
+ Blucontrol.Gamma.Modifier: instance Control.Monad.Reader.Class.MonadReader r m => Control.Monad.Reader.Class.MonadReader r (Blucontrol.Gamma.Modifier.GammaModifierT c m)
+ Blucontrol.Gamma.Modifier: instance Control.Monad.Trans.Class.MonadTrans (Blucontrol.Gamma.Modifier.GammaModifierT c)
+ Blucontrol.Gamma.Modifier: instance Control.Monad.Trans.Control.MonadBaseControl b m => Control.Monad.Trans.Control.MonadBaseControl b (Blucontrol.Gamma.Modifier.GammaModifierT c m)
+ Blucontrol.Gamma.Modifier: instance Control.Monad.Trans.Control.MonadTransControl (Blucontrol.Gamma.Modifier.GammaModifierT c)
+ Blucontrol.Gamma.Modifier: instance GHC.Base.Applicative m => GHC.Base.Applicative (Blucontrol.Gamma.Modifier.GammaModifierT c m)
+ Blucontrol.Gamma.Modifier: instance GHC.Base.Functor m => GHC.Base.Functor (Blucontrol.Gamma.Modifier.GammaModifierT c m)
+ Blucontrol.Gamma.Modifier: instance GHC.Base.Monad m => GHC.Base.Monad (Blucontrol.Gamma.Modifier.GammaModifierT c m)
+ Blucontrol.Gamma.Modifier: runGammaModifierT :: (c -> IO c) -> GammaModifierT c m a -> m a
- Blucontrol.Control.Concat: data ControlConcatT (t1 :: (* -> *) -> * -> *) (t2 :: (* -> *) -> * -> *) (m :: * -> *) a
+ Blucontrol.Control.Concat: data ControlConcatT (t1 :: (Type -> Type) -> Type -> Type) (t2 :: (Type -> Type) -> Type -> Type) (m :: Type -> Type) a

Files

CHANGELOG.md view
@@ -1,5 +1,10 @@ # Revision history for blucontrol +## 0.3.1.0 *30 May 2021*++* New module `Blucontrol.Gamma.Modifier`.+* New command line flag `-i`/`--ignore-config` to stick to the default configuration.+ ## 0.3.0.1 *28 Apr 2021*  * Support GHC 9.0.1.
blucontrol.cabal view
@@ -1,5 +1,5 @@ name:                blucontrol-version:             0.3.0.1+version:             0.3.1.0 synopsis:            Configurable blue light filter description:         This application is a blue light filter, with the main focus on                      configurability.@@ -33,6 +33,7 @@                        Blucontrol.Gamma                        Blucontrol.Gamma.Const                        Blucontrol.Gamma.Linear+                       Blucontrol.Gamma.Modifier                        Blucontrol.Main                        Blucontrol.Main.CLI                        Blucontrol.Main.Control
src/Blucontrol/Control/Concat.hs view
@@ -9,10 +9,11 @@ import Control.Monad.Base import Control.Monad.Trans import Control.Monad.Trans.Control+import Data.Kind  import Blucontrol.Control -newtype ControlConcatT (t1 :: (* -> *) -> * -> *) (t2 :: (* -> *) -> * -> *) (m :: * -> *) a = ControlConcatT { unControlConcatT :: t2 (t1 m) a }+newtype ControlConcatT (t1 :: (Type -> Type) -> Type -> Type) (t2 :: (Type -> Type) -> Type -> Type) (m :: Type -> Type) a = ControlConcatT { unControlConcatT :: t2 (t1 m) a }   deriving (Applicative, Functor, Monad, MonadBase b, MonadBaseControl b)  instance (forall m. Monad m => Monad (t1 m), MonadTrans t1, MonadTrans t2) => MonadTrans (ControlConcatT t1 t2) where
src/Blucontrol/Control/Count.hs view
@@ -24,6 +24,19 @@ instance MonadTrans ControlCountT where   lift = ControlCountT . lift . lift +-- TODO: workaround for ghc-9.0.1+defaultLiftWith2' :: (Monad m)+                  => (Run ControlCountT -> m a)+                  -> ControlCountT m a+defaultLiftWith2' f = ControlCountT $ liftWith $ \run -> liftWith $ \run' -> f $ run' . run . unControlCountT++instance MonadTransControl ControlCountT where+  type StT ControlCountT a = StT (ReaderT ConfigCount) (StT (StateT Natural) a)+  -- TODO: workaround for ghc-9.0.1+  --liftWith = defaultLiftWith2 ControlCountT unControlCountT+  liftWith = defaultLiftWith2'+  restoreT = defaultRestoreT2 ControlCountT+ instance MonadBaseControl IO m => MonadControl (ControlCountT m) where   type ControlConstraint (ControlCountT m) a = CountableException a   doInbetween a = do if isException a
+ src/Blucontrol/Gamma/Modifier.hs view
@@ -0,0 +1,29 @@+{-# LANGUAGE UndecidableInstances #-}++module Blucontrol.Gamma.Modifier (+  GammaModifierT+, runGammaModifierT+) where++import Control.Monad.Base+import Control.Monad.Except+import Control.Monad.Reader+import Control.Monad.Trans.Control++import Blucontrol.Gamma++newtype GammaModifierT c m a = GammaModifierT { unGammaModifierT :: ReaderT (c -> IO c) m a }+  deriving (Applicative, Functor, Monad, MonadBase b, MonadBaseControl b, MonadTrans, MonadTransControl)++instance MonadReader r m => MonadReader r (GammaModifierT c m) where+  ask = lift ask+  local f tma = liftWith $ \ run ->+    local f $ run tma++instance (MonadBase IO m, MonadGamma c m) => MonadGamma c (GammaModifierT c m) where+  gamma = do oldGamma <- lift gamma+             modifyGamma <- GammaModifierT ask+             liftBase $ modifyGamma oldGamma++runGammaModifierT :: (c -> IO c) -> GammaModifierT c m a -> m a+runGammaModifierT modify tma = runReaderT (unGammaModifierT tma) modify
src/Blucontrol/Main/CLI.hs view
@@ -20,6 +20,7 @@  data Flag = Help           | Version+          | IgnoreConfig   deriving (Eq, Generic, Ord, Read, Show)  instance NFData Flag@@ -27,6 +28,7 @@ options :: [OptDescr Flag] options = [ Option ['h'] ["help"] (NoArg Help) "Explain CLI usage"           , Option ['v'] ["version"] (NoArg Version) "Display version"+          , Option ['i'] ["ignore-config"] (NoArg IgnoreConfig) "Use default configuration"           ]  launch :: IO ()@@ -45,6 +47,7 @@     [] -> build     [Version] -> do printVersion                     exitSuccess+    [IgnoreConfig] -> return ()     _ -> do printUsage             exitFailure