blucontrol-0.3.0.1: 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

RGB

RGB values are represented by Trichromaticity.

data Trichromaticity Source #

combination of Chromaticitys for the colors red, green and blue

Instances

Instances details
Bounded Trichromaticity Source # 
Instance details

Defined in Blucontrol.RGB

Enum Trichromaticity Source # 
Instance details

Defined in Blucontrol.RGB

Eq Trichromaticity Source # 
Instance details

Defined in Blucontrol.RGB

Ord Trichromaticity Source # 
Instance details

Defined in Blucontrol.RGB

Read Trichromaticity Source # 
Instance details

Defined in Blucontrol.RGB

Show Trichromaticity Source # 
Instance details

Defined in Blucontrol.RGB

Generic Trichromaticity Source # 
Instance details

Defined in Blucontrol.RGB

Associated Types

type Rep Trichromaticity :: Type -> Type #

Default Trichromaticity Source # 
Instance details

Defined in Blucontrol.RGB

NFData Trichromaticity Source # 
Instance details

Defined in Blucontrol.RGB

Methods

rnf :: Trichromaticity -> () #

RGB Trichromaticity Source # 
Instance details

Defined in Blucontrol.RGB

MonadBase IO m => MonadGamma Trichromaticity (GammaLinearT Trichromaticity m) Source # 
Instance details

Defined in Blucontrol.Gamma.Linear

type Rep Trichromaticity Source # 
Instance details

Defined in Blucontrol.RGB

An alternative way, which avoids declaring Trichromaticity directly, uses the RGB type class.

class RGB c where Source #

convertible to 8-bit RGB values

Methods

toRGB :: c -> Trichromaticity Source #

Instances

Instances details
RGB Trichromaticity Source # 
Instance details

Defined in Blucontrol.RGB

RGB Temperature Source # 
Instance details

Defined in Blucontrol.RGB.Temperature

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.Control

Associated Types

type ControlConstraint IO a Source #

Methods

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

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

Defined in Blucontrol.Control.Count

Associated Types

type ControlConstraint (ControlCountT m) a Source #

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

Defined in Blucontrol.Control.Print

Associated Types

type ControlConstraint (ControlPrintT m) a Source #

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

Defined in Blucontrol.Control.Wait

Associated Types

type ControlConstraint (ControlWaitT m) a Source #

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

Defined in Blucontrol.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, RGB c) => MonadGamma c m | m -> c where Source #

Methods

gamma :: m c Source #

Calculate an RGB 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 #

Methods

recolor :: Trichromaticity -> m () Source #

Instances

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

Defined in Blucontrol.Recolor.Print

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

Defined in Blucontrol.Recolor.X

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 ConfigCount Source # 
Instance details

Defined in Blucontrol.Control.Count

Methods

def :: ConfigCount #

Default ConfigWait Source # 
Instance details

Defined in Blucontrol.Control.Wait

Methods

def :: ConfigWait #

Default Trichromaticity Source # 
Instance details

Defined in Blucontrol.RGB

Default Chromaticity Source # 
Instance details

Defined in Blucontrol.RGB

Methods

def :: Chromaticity #

Default Temperature Source # 
Instance details

Defined in Blucontrol.RGB.Temperature

Methods

def :: Temperature #

Default ConfigX Source # 
Instance details

Defined in Blucontrol.Recolor.X

Methods

def :: ConfigX #

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 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) #