pythia-0.1: A utility program for retrieving system information.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Pythia.Services.Battery

Description

This module exports battery related services.

Since: 0.1

Synopsis

Queries

queryBattery :: (MonadCatch m, MonadFileReader m, MonadPathReader m, MonadTypedProcess m) => BatteryApp -> m Battery Source #

Queries the battery.

Since: 0.1

Types

data Battery Source #

Full battery state, including percentage and status data.

Since: 0.1

Constructors

MkBattery 

Fields

Instances

Instances details
Generic Battery Source # 
Instance details

Defined in Pythia.Services.Battery.Types

Associated Types

type Rep Battery :: Type -> Type #

Methods

from :: Battery -> Rep Battery x #

to :: Rep Battery x -> Battery #

Show Battery Source #

Since: 0.1

Instance details

Defined in Pythia.Services.Battery.Types

NFData Battery Source #

Since: 0.1

Instance details

Defined in Pythia.Services.Battery.Types

Methods

rnf :: Battery -> () #

Eq Battery Source #

Since: 0.1

Instance details

Defined in Pythia.Services.Battery.Types

Methods

(==) :: Battery -> Battery -> Bool #

(/=) :: Battery -> Battery -> Bool #

Display Battery Source #

Since: 0.1

Instance details

Defined in Pythia.Services.Battery.Types

(k ~ A_Lens, a ~ Percentage, b ~ Percentage) => LabelOptic "percentage" k Battery Battery a b Source #

Since: 0.1

Instance details

Defined in Pythia.Services.Battery.Types

(k ~ A_Lens, a ~ BatteryStatus, b ~ BatteryStatus) => LabelOptic "status" k Battery Battery a b Source #

Since: 0.1

Instance details

Defined in Pythia.Services.Battery.Types

type Rep Battery Source #

Since: 0.1

Instance details

Defined in Pythia.Services.Battery.Types

type Rep Battery = D1 ('MetaData "Battery" "Pythia.Services.Battery.Types" "pythia-0.1-inplace" 'False) (C1 ('MetaCons "MkBattery" 'PrefixI 'True) (S1 ('MetaSel ('Just "percentage") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Percentage) :*: S1 ('MetaSel ('Just "status") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 BatteryStatus)))

data Percentage where Source #

Represents a percentage.

Since: 0.1

Bundled Patterns

pattern MkPercentage :: Word8 -> Percentage

Pattern synonym for Percentage.

Since: 0.1

Instances

Instances details
Generic Percentage Source # 
Instance details

Defined in Pythia.Data.Percentage.Internal

Associated Types

type Rep Percentage :: Type -> Type #

Show Percentage Source #

Since: 0.1

Instance details

Defined in Pythia.Data.Percentage.Internal

NFData Percentage Source #

Since: 0.1

Instance details

Defined in Pythia.Data.Percentage.Internal

Methods

rnf :: Percentage -> () #

Eq Percentage Source #

Since: 0.1

Instance details

Defined in Pythia.Data.Percentage.Internal

Ord Percentage Source #

Since: 0.1

Instance details

Defined in Pythia.Data.Percentage.Internal

Display Percentage Source #

Since: 0.1

Instance details

Defined in Pythia.Data.Percentage.Internal

Lift Percentage Source #

Since: 0.1

Instance details

Defined in Pythia.Data.Percentage.Internal

Methods

lift :: Quote m => Percentage -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => Percentage -> Code m Percentage #

type Rep Percentage Source #

Since: 0.1

Instance details

Defined in Pythia.Data.Percentage.Internal

type Rep Percentage = D1 ('MetaData "Percentage" "Pythia.Data.Percentage.Internal" "pythia-0.1-inplace" 'True) (C1 ('MetaCons "InternalPercentage" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Interval ('Closed 0) ('Closed 100) Word8))))

data BatteryStatus Source #

Represents battery charging status.

Since: 0.1

Constructors

Charging

Since: 0.1

Discharging

Since: 0.1

Full

Since: 0.1

Pending

Since: 0.1

Instances

Instances details
Generic BatteryStatus Source # 
Instance details

Defined in Pythia.Services.Battery.Types

Associated Types

type Rep BatteryStatus :: Type -> Type #

Show BatteryStatus Source #

Since: 0.1

Instance details

Defined in Pythia.Services.Battery.Types

NFData BatteryStatus Source #

Since: 0.1

Instance details

Defined in Pythia.Services.Battery.Types

Methods

rnf :: BatteryStatus -> () #

Eq BatteryStatus Source #

Since: 0.1

Instance details

Defined in Pythia.Services.Battery.Types

Display BatteryStatus Source #

Since: 0.1

Instance details

Defined in Pythia.Services.Battery.Types

type Rep BatteryStatus Source #

Since: 0.1

Instance details

Defined in Pythia.Services.Battery.Types

type Rep BatteryStatus = D1 ('MetaData "BatteryStatus" "Pythia.Services.Battery.Types" "pythia-0.1-inplace" 'False) ((C1 ('MetaCons "Charging" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Discharging" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Full" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Pending" 'PrefixI 'False) (U1 :: Type -> Type)))

Configuration

data BatteryApp Source #

Determines how we should query the system for battery state information.

Since: 0.1

Constructors

BatteryAppSysFs

Uses the sysfs interface i.e. /sys.

Since: 0.1

BatteryAppAcpi

Uses the ACPI utility.

Since: 0.1

BatteryAppUPower

Uses the UPower utility.

Since: 0.1

Instances

Instances details
Bounded BatteryApp Source #

Since: 0.1

Instance details

Defined in Pythia.Services.Battery.Types

Enum BatteryApp Source #

Since: 0.1

Instance details

Defined in Pythia.Services.Battery.Types

Generic BatteryApp Source # 
Instance details

Defined in Pythia.Services.Battery.Types

Associated Types

type Rep BatteryApp :: Type -> Type #

Show BatteryApp Source #

Since: 0.1

Instance details

Defined in Pythia.Services.Battery.Types

NFData BatteryApp Source #

Since: 0.1.0.0

Instance details

Defined in Pythia.Services.Battery.Types

Methods

rnf :: BatteryApp -> () #

Eq BatteryApp Source #

Since: 0.1

Instance details

Defined in Pythia.Services.Battery.Types

Ord BatteryApp Source #

Since: 0.1

Instance details

Defined in Pythia.Services.Battery.Types

type Rep BatteryApp Source #

Since: 0.1

Instance details

Defined in Pythia.Services.Battery.Types

type Rep BatteryApp = D1 ('MetaData "BatteryApp" "Pythia.Services.Battery.Types" "pythia-0.1-inplace" 'False) (C1 ('MetaCons "BatteryAppSysFs" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BatteryAppAcpi" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BatteryAppUPower" 'PrefixI 'False) (U1 :: Type -> Type)))