bludigon-0.1.1.0: Configurable blue light filter
Safe HaskellNone
LanguageHaskell2010

Bludigon

Synopsis

main

For most configurations bludigon should be called directly from the main function in $XDG_CONFIG_HOME/bludigon/bludigon.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 Bludigon.RGB

Enum Trichromaticity Source # 
Instance details

Defined in Bludigon.RGB

Eq Trichromaticity Source # 
Instance details

Defined in Bludigon.RGB

Ord Trichromaticity Source # 
Instance details

Defined in Bludigon.RGB

Read Trichromaticity Source # 
Instance details

Defined in Bludigon.RGB

Show Trichromaticity Source # 
Instance details

Defined in Bludigon.RGB

Generic Trichromaticity Source # 
Instance details

Defined in Bludigon.RGB

Associated Types

type Rep Trichromaticity :: Type -> Type #

Default Trichromaticity Source # 
Instance details

Defined in Bludigon.RGB

NFData Trichromaticity Source # 
Instance details

Defined in Bludigon.RGB

Methods

rnf :: Trichromaticity -> () #

type Rep Trichromaticity Source # 
Instance details

Defined in Bludigon.RGB

An alternative way to declaring Trichromaticity directly is to use Temperature and the conversion function temperature.

data Temperature Source #

Arbitrary precision temperature in Kelvin

Instances

Instances details
Bounded Temperature Source # 
Instance details

Defined in Bludigon.RGB.Temperature

Enum Temperature Source # 
Instance details

Defined in Bludigon.RGB.Temperature

Eq Temperature Source # 
Instance details

Defined in Bludigon.RGB.Temperature

Fractional Temperature Source # 
Instance details

Defined in Bludigon.RGB.Temperature

Num Temperature Source # 
Instance details

Defined in Bludigon.RGB.Temperature

Ord Temperature Source # 
Instance details

Defined in Bludigon.RGB.Temperature

Read Temperature Source # 
Instance details

Defined in Bludigon.RGB.Temperature

Real Temperature Source # 
Instance details

Defined in Bludigon.RGB.Temperature

RealFrac Temperature Source # 
Instance details

Defined in Bludigon.RGB.Temperature

Show Temperature Source # 
Instance details

Defined in Bludigon.RGB.Temperature

Generic Temperature Source # 
Instance details

Defined in Bludigon.RGB.Temperature

Associated Types

type Rep Temperature :: Type -> Type #

Default Temperature Source # 
Instance details

Defined in Bludigon.RGB.Temperature

Methods

def :: Temperature #

NFData Temperature Source # 
Instance details

Defined in Bludigon.RGB.Temperature

Methods

rnf :: Temperature -> () #

type Rep Temperature Source # 
Instance details

Defined in Bludigon.RGB.Temperature

type Rep Temperature = D1 ('MetaData "Temperature" "Bludigon.RGB.Temperature" "bludigon-0.1.1.0-inplace" 'True) (C1 ('MetaCons "Temperature" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Rational)))

Control

Modules with instances of MonadControl can be found under Bludigon.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 Bludigon.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 Bludigon.Control.Count

Associated Types

type ControlConstraint (ControlCountT m) a Source #

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

Defined in Bludigon.Control.Print

Associated Types

type ControlConstraint (ControlPrintT m) a Source #

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

Defined in Bludigon.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 Bludigon.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 Bludigon.Gamma.*.

class Monad m => MonadGamma m where Source #

Methods

gamma :: m Trichromaticity Source #

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

Instances

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

Defined in Bludigon.Gamma.Linear

Monad m => MonadGamma (GammaConstT m) Source # 
Instance details

Defined in Bludigon.Gamma.Const

Recolor

Modules with instances of MonadRecolor can be found under Bludigon.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 Bludigon.Recolor.Print

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

Defined in Bludigon.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 Bludigon.Control.Count

Methods

def :: ConfigCount #

Default ConfigWait Source # 
Instance details

Defined in Bludigon.Control.Wait

Methods

def :: ConfigWait #

Default Trichromaticity Source # 
Instance details

Defined in Bludigon.RGB

Default Chromaticity Source # 
Instance details

Defined in Bludigon.RGB

Methods

def :: Chromaticity #

Default Temperature Source # 
Instance details

Defined in Bludigon.RGB.Temperature

Methods

def :: Temperature #

Default ConfigX Source # 
Instance details

Defined in Bludigon.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) #