blucontrol-0.5.1.0: Configurable blue light filter
Safe HaskellNone
LanguageHaskell2010

Blucontrol

Synopsis

main

For most configurations blucontrol should be called directly from the main function in $XDG_CONFIG_HOME/blucontrol/blucontrol.hs

ConfigControl will set the monads in which recoloring and calculation of the gamma values will take place.

data ConfigControl m g r Source #

Constructors

ConfigControl 

Fields

Control

Modules with instances of MonadControl can be found under Blucontrol.Control.*.

class MonadBaseControl IO m => MonadControl m where Source #

Associated Types

type ControlConstraint m a :: Constraint Source #

Give a constraint to allow doInbetween to handle a polymorphic argument. This is usfeul to allow arguments wrapped in monadic state StM from running MonadGamma and MonadRecolor.

Methods

doInbetween Source #

Arguments

:: ControlConstraint m a 
=> a

the returned value from the last call of recolor including monadic state

-> m ()

the side effect to be run inbetween recoloring

This function will be called after recoloring the screen.

Instances

Instances details
MonadControl IO Source # 
Instance details

Defined in Blucontrol.Monad.Control

Associated Types

type ControlConstraint IO a Source #

Methods

doInbetween :: ControlConstraint IO a => a -> IO () Source #

MonadBaseControl IO m => MonadControl (ControlWaitT m) Source # 
Instance details

Defined in Blucontrol.Monad.Control.Wait

Associated Types

type ControlConstraint (ControlWaitT m) a Source #

MonadBaseControl IO m => MonadControl (ControlPrintT m) Source # 
Instance details

Defined in Blucontrol.Monad.Control.Print

Associated Types

type ControlConstraint (ControlPrintT m) a Source #

MonadBaseControl IO m => MonadControl (ControlCountT m) Source # 
Instance details

Defined in Blucontrol.Monad.Control.Count

Associated Types

type ControlConstraint (ControlCountT m) a Source #

(MonadControl (t1 m), MonadControl (t2 (t1 m)), MonadTrans t2) => MonadControl (ControlConcatT t1 t2 m) Source # 
Instance details

Defined in Blucontrol.Monad.Control.Concat

Associated Types

type ControlConstraint (ControlConcatT t1 t2 m) a Source #

Methods

doInbetween :: ControlConstraint (ControlConcatT t1 t2 m) a => a -> ControlConcatT t1 t2 m () Source #

To compose instances of MonadControl avoid function composition, as it won't compose doInbetween. Use !> instead.

(!>) :: (t1 m a -> m a) -> (t2 (t1 m) a -> t1 m a) -> ControlConcatT t1 t2 m a -> m a infixr 5 Source #

Gamma

Modules with instances of MonadGamma can be found under Blucontrol.Gamma.*.

class Monad m => MonadGamma m where Source #

Associated Types

type GammaValue m Source #

Methods

gamma :: m (GammaValue m) Source #

Calculate a gamma value. This is a monadic function, to allow the value to be dependent on side effects like time and location.

Recolor

Modules with instances of MonadRecolor can be found under Blucontrol.Recolor.*.

class Monad m => MonadRecolor m where Source #

Associated Types

type RecolorValue m Source #

Methods

recolor :: RecolorValue m -> m () Source #

Apply a gamma value. This is a monadic function, to allow application to external programs like an X display server.

Instances

Instances details
MonadBaseControl IO m => MonadRecolor (RecolorXT m) Source # 
Instance details

Defined in Blucontrol.Monad.Recolor.X

Associated Types

type RecolorValue (RecolorXT m) Source #

(MonadBaseControl IO m, Show c) => MonadRecolor (RecolorPrintT c m) Source # 
Instance details

Defined in Blucontrol.Monad.Recolor.Print

Associated Types

type RecolorValue (RecolorPrintT c m) Source #

other

class Default a where #

A class for types with a default value.

Minimal complete definition

Nothing

Methods

def :: a #

The default value for this type.

Instances

Instances details
Default Double 
Instance details

Defined in Data.Default.Class

Methods

def :: Double #

Default Float 
Instance details

Defined in Data.Default.Class

Methods

def :: Float #

Default Int 
Instance details

Defined in Data.Default.Class

Methods

def :: Int #

Default Int8 
Instance details

Defined in Data.Default.Class

Methods

def :: Int8 #

Default Int16 
Instance details

Defined in Data.Default.Class

Methods

def :: Int16 #

Default Int32 
Instance details

Defined in Data.Default.Class

Methods

def :: Int32 #

Default Int64 
Instance details

Defined in Data.Default.Class

Methods

def :: Int64 #

Default Integer 
Instance details

Defined in Data.Default.Class

Methods

def :: Integer #

Default Ordering 
Instance details

Defined in Data.Default.Class

Methods

def :: Ordering #

Default Word 
Instance details

Defined in Data.Default.Class

Methods

def :: Word #

Default Word8 
Instance details

Defined in Data.Default.Class

Methods

def :: Word8 #

Default Word16 
Instance details

Defined in Data.Default.Class

Methods

def :: Word16 #

Default Word32 
Instance details

Defined in Data.Default.Class

Methods

def :: Word32 #

Default Word64 
Instance details

Defined in Data.Default.Class

Methods

def :: Word64 #

Default () 
Instance details

Defined in Data.Default.Class

Methods

def :: () #

Default VisualInfo 
Instance details

Defined in Graphics.X11.Xlib.Types

Methods

def :: VisualInfo #

Default All 
Instance details

Defined in Data.Default.Class

Methods

def :: All #

Default Any 
Instance details

Defined in Data.Default.Class

Methods

def :: Any #

Default CShort 
Instance details

Defined in Data.Default.Class

Methods

def :: CShort #

Default CUShort 
Instance details

Defined in Data.Default.Class

Methods

def :: CUShort #

Default CInt 
Instance details

Defined in Data.Default.Class

Methods

def :: CInt #

Default CUInt 
Instance details

Defined in Data.Default.Class

Methods

def :: CUInt #

Default CLong 
Instance details

Defined in Data.Default.Class

Methods

def :: CLong #

Default CULong 
Instance details

Defined in Data.Default.Class

Methods

def :: CULong #

Default CLLong 
Instance details

Defined in Data.Default.Class

Methods

def :: CLLong #

Default CULLong 
Instance details

Defined in Data.Default.Class

Methods

def :: CULLong #

Default CFloat 
Instance details

Defined in Data.Default.Class

Methods

def :: CFloat #

Default CDouble 
Instance details

Defined in Data.Default.Class

Methods

def :: CDouble #

Default CPtrdiff 
Instance details

Defined in Data.Default.Class

Methods

def :: CPtrdiff #

Default CSize 
Instance details

Defined in Data.Default.Class

Methods

def :: CSize #

Default CSigAtomic 
Instance details

Defined in Data.Default.Class

Methods

def :: CSigAtomic #

Default CClock 
Instance details

Defined in Data.Default.Class

Methods

def :: CClock #

Default CTime 
Instance details

Defined in Data.Default.Class

Methods

def :: CTime #

Default CUSeconds 
Instance details

Defined in Data.Default.Class

Methods

def :: CUSeconds #

Default CSUSeconds 
Instance details

Defined in Data.Default.Class

Methods

def :: CSUSeconds #

Default CIntPtr 
Instance details

Defined in Data.Default.Class

Methods

def :: CIntPtr #

Default CUIntPtr 
Instance details

Defined in Data.Default.Class

Methods

def :: CUIntPtr #

Default CIntMax 
Instance details

Defined in Data.Default.Class

Methods

def :: CIntMax #

Default CUIntMax 
Instance details

Defined in Data.Default.Class

Methods

def :: CUIntMax #

Default ConfigWait Source # 
Instance details

Defined in Blucontrol.Monad.Control.Wait

Methods

def :: ConfigWait #

Default Brightness Source # 
Instance details

Defined in Blucontrol.Value.Brightness

Methods

def :: Brightness #

Default Temperature Source # 
Instance details

Defined in Blucontrol.Value.RGB.Temperature

Methods

def :: Temperature #

Default ConfigX Source # 
Instance details

Defined in Blucontrol.Monad.Recolor.X

Methods

def :: ConfigX #

Default ConfigCount Source # 
Instance details

Defined in Blucontrol.Monad.Control.Count

Methods

def :: ConfigCount #

Default [a] 
Instance details

Defined in Data.Default.Class

Methods

def :: [a] #

Default (Maybe a) 
Instance details

Defined in Data.Default.Class

Methods

def :: Maybe a #

Integral a => Default (Ratio a) 
Instance details

Defined in Data.Default.Class

Methods

def :: Ratio a #

Default a => Default (IO a) 
Instance details

Defined in Data.Default.Class

Methods

def :: IO a #

(Default a, RealFloat a) => Default (Complex a) 
Instance details

Defined in Data.Default.Class

Methods

def :: Complex a #

Default (First a) 
Instance details

Defined in Data.Default.Class

Methods

def :: First a #

Default (Last a) 
Instance details

Defined in Data.Default.Class

Methods

def :: Last a #

Default a => Default (Dual a) 
Instance details

Defined in Data.Default.Class

Methods

def :: Dual a #

Default (Endo a) 
Instance details

Defined in Data.Default.Class

Methods

def :: Endo a #

Num a => Default (Sum a) 
Instance details

Defined in Data.Default.Class

Methods

def :: Sum a #

Num a => Default (Product a) 
Instance details

Defined in Data.Default.Class

Methods

def :: Product a #

Default (RGB Word8) Source # 
Instance details

Defined in Blucontrol.Value.RGB

Methods

def :: RGB Word8 #

Default a => Default (WithBrightness a) Source # 
Instance details

Defined in Blucontrol.Value.Brightness

Methods

def :: WithBrightness a #

Default r => Default (e -> r) 
Instance details

Defined in Data.Default.Class

Methods

def :: e -> r #

(Default a, Default b) => Default (a, b) 
Instance details

Defined in Data.Default.Class

Methods

def :: (a, b) #

(Default a, Default b, Default c) => Default (a, b, c) 
Instance details

Defined in Data.Default.Class

Methods

def :: (a, b, c) #

(Default a, Default b, Default c, Default d) => Default (a, b, c, d) 
Instance details

Defined in Data.Default.Class

Methods

def :: (a, b, c, d) #

(Default a, Default b, Default c, Default d, Default e) => Default (a, b, c, d, e) 
Instance details

Defined in Data.Default.Class

Methods

def :: (a, b, c, d, e) #

(Default a, Default b, Default c, Default d, Default e, Default f) => Default (a, b, c, d, e, f) 
Instance details

Defined in Data.Default.Class

Methods

def :: (a, b, c, d, e, f) #

(Default a, Default b, Default c, Default d, Default e, Default f, Default g) => Default (a, b, c, d, e, f, g) 
Instance details

Defined in Data.Default.Class

Methods

def :: (a, b, c, d, e, f, g) #