purebred-0.1.0.0: An mail user agent built around notmuch

Safe HaskellNone
LanguageHaskell2010

Types

Description

Basic types for the UI used by this library

Synopsis

Documentation

data MailIndex Source #

main application interface

The main UI shows a list of e-mails, allows the user to manipulate the notmuch search and composes e-mails from here.

data HeadersState Source #

Constructors

ShowAll 
Filtered 

data NotmuchSettings a Source #

Constructors

NotmuchSettings 

Fields

Instances

Generic (NotmuchSettings a) Source # 

Associated Types

type Rep (NotmuchSettings a) :: * -> * #

NFData a => NFData (NotmuchSettings a) Source # 

Methods

rnf :: NotmuchSettings a -> () #

type Rep (NotmuchSettings a) Source # 
type Rep (NotmuchSettings a) = D1 * (MetaData "NotmuchSettings" "Types" "purebred-0.1.0.0-7C0awzuPSRHAk1Rxyu44aZ" False) (C1 * (MetaCons "NotmuchSettings" PrefixI True) ((:*:) * (S1 * (MetaSel (Just Symbol "_nmSearch") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * Text)) ((:*:) * (S1 * (MetaSel (Just Symbol "_nmDatabase") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * a)) (S1 * (MetaSel (Just Symbol "_nmNewTag") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * Tag)))))

data Configuration a b c Source #

Instances

Generic (Configuration a b c) Source # 

Associated Types

type Rep (Configuration a b c) :: * -> * #

Methods

from :: Configuration a b c -> Rep (Configuration a b c) x #

to :: Rep (Configuration a b c) x -> Configuration a b c #

(NFData c, NFData b, NFData a) => NFData (Configuration a b c) Source # 

Methods

rnf :: Configuration a b c -> () #

type Rep (Configuration a b c) Source # 

type ConfigurationLens v = forall a b c. Lens' (Configuration a b c) v Source #

confEditor :: Lens (Configuration a b c) (Configuration a b' c) b b' Source #

data ComposeViewSettings Source #

Instances

Generic ComposeViewSettings Source # 
NFData ComposeViewSettings Source # 

Methods

rnf :: ComposeViewSettings -> () #

type Rep ComposeViewSettings Source # 

newtype HelpViewSettings Source #

Instances

Generic HelpViewSettings Source # 
NFData HelpViewSettings Source # 

Methods

rnf :: HelpViewSettings -> () #

type Rep HelpViewSettings Source # 
type Rep HelpViewSettings = D1 * (MetaData "HelpViewSettings" "Types" "purebred-0.1.0.0-7C0awzuPSRHAk1Rxyu44aZ" True) (C1 * (MetaCons "HelpViewSettings" PrefixI True) (S1 * (MetaSel (Just Symbol "_hvKeybindings") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [Keybinding Help ScrollingHelpView])))

data IndexViewSettings Source #

Instances

Generic IndexViewSettings Source # 
NFData IndexViewSettings Source # 

Methods

rnf :: IndexViewSettings -> () #

type Rep IndexViewSettings Source # 

data MailViewSettings Source #

data ViewName Source #

Instances

Eq ViewName Source # 
Ord ViewName Source # 
Show ViewName Source # 
Generic ViewName Source # 

Associated Types

type Rep ViewName :: * -> * #

Methods

from :: ViewName -> Rep ViewName x #

to :: Rep ViewName x -> ViewName #

NFData ViewName Source # 

Methods

rnf :: ViewName -> () #

Titleize ViewName Source # 
type Rep ViewName Source # 
type Rep ViewName = D1 * (MetaData "ViewName" "Types" "purebred-0.1.0.0-7C0awzuPSRHAk1Rxyu44aZ" False) ((:+:) * ((:+:) * (C1 * (MetaCons "Threads" PrefixI False) (U1 *)) ((:+:) * (C1 * (MetaCons "Mails" PrefixI False) (U1 *)) (C1 * (MetaCons "ViewMail" PrefixI False) (U1 *)))) ((:+:) * (C1 * (MetaCons "ComposeView" PrefixI False) (U1 *)) ((:+:) * (C1 * (MetaCons "Help" PrefixI False) (U1 *)) (C1 * (MetaCons "FileBrowser" PrefixI False) (U1 *)))))

data View Source #

Constructors

View 

data AppState Source #

Overall application state

Constructors

AppState 

Fields

data Action (v :: ViewName) (ctx :: Name) a Source #

Constructors

Action 

Fields

Instances

Generic (Action v ctx a) Source # 

Associated Types

type Rep (Action v ctx a) :: * -> * #

Methods

from :: Action v ctx a -> Rep (Action v ctx a) x #

to :: Rep (Action v ctx a) x -> Action v ctx a #

NFData (Action v ctx a) Source # 

Methods

rnf :: Action v ctx a -> () #

type Rep (Action v ctx a) Source # 
type Rep (Action v ctx a) = D1 * (MetaData "Action" "Types" "purebred-0.1.0.0-7C0awzuPSRHAk1Rxyu44aZ" False) (C1 * (MetaCons "Action" PrefixI True) ((:*:) * (S1 * (MetaSel (Just Symbol "_aDescription") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [Text])) (S1 * (MetaSel (Just Symbol "_aAction") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (AppState -> EventM Name a)))))

aAction :: Getter (Action v ctx a) (AppState -> EventM Name a) Source #

data Keybinding (v :: ViewName) (ctx :: Name) Source #

Constructors

Keybinding 

Fields

Instances

Eq (Keybinding v ctx) Source # 

Methods

(==) :: Keybinding v ctx -> Keybinding v ctx -> Bool #

(/=) :: Keybinding v ctx -> Keybinding v ctx -> Bool #

NFData (Keybinding v ctx) Source #

HACK: the Event is only evaluated to WHNF. There is no NFData instance for Event and I don't want to make an orphan instance for it.

Methods

rnf :: Keybinding v ctx -> () #

kbEvent :: Getter (Keybinding v ctx) Event Source #

kbAction :: Getter (Keybinding v ctx) (Action v ctx (Next AppState)) Source #

aDescription :: Getter (Action v ctx a) [Text] Source #

decodeLenient :: ByteString -> Text Source #

Utility for safe conversion from bytestring to text

data TagOp Source #

Tag operations

Constructors

RemoveTag Tag 
AddTag Tag 
ResetTags 

Instances

Eq TagOp Source # 

Methods

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

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

Show TagOp Source # 

Methods

showsPrec :: Int -> TagOp -> ShowS #

show :: TagOp -> String #

showList :: [TagOp] -> ShowS #

data Tag :: * #

Instances

Eq Tag 

Methods

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

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

Ord Tag 

Methods

compare :: Tag -> Tag -> Ordering #

(<) :: Tag -> Tag -> Bool #

(<=) :: Tag -> Tag -> Bool #

(>) :: Tag -> Tag -> Bool #

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

max :: Tag -> Tag -> Tag #

min :: Tag -> Tag -> Tag #

Show Tag 

Methods

showsPrec :: Int -> Tag -> ShowS #

show :: Tag -> String #

showList :: [Tag] -> ShowS #

IsString Tag

Throws exception if not a valid tag.

Methods

fromString :: String -> Tag #

NFData Tag 

Methods

rnf :: Tag -> () #