Safe Haskell | None |
---|---|
Language | Haskell2010 |
Types
Description
Basic types for the UI used by this library
- data Name
- data MailIndex = MailIndex {}
- miListOfMails :: Lens' MailIndex (List Name NotmuchMail)
- miListOfThreads :: Lens' MailIndex (List Name NotmuchThread)
- miSearchThreadsEditor :: Lens' MailIndex (Editor Text Name)
- miMailTagsEditor :: Lens' MailIndex (Editor Text Name)
- miThreadTagsEditor :: Lens' MailIndex (Editor Text Name)
- data HeadersState
- data MailView = MailView {}
- mvMail :: Lens' MailView (Maybe MIMEMessage)
- mvHeadersState :: Lens' MailView HeadersState
- data Compose = Compose {}
- cMail :: Lens' Compose ByteString
- cFrom :: Lens' Compose (Editor Text Name)
- cTo :: Lens' Compose (Editor Text Name)
- cSubject :: Lens' Compose (Editor Text Name)
- cAttachments :: Lens' Compose (List Name MIMEMessage)
- data NotmuchSettings a = NotmuchSettings {
- _nmSearch :: Text
- _nmDatabase :: a
- _nmNewTag :: Tag
- nmSearch :: Lens' (NotmuchSettings a) Text
- nmDatabase :: Lens (NotmuchSettings a) (NotmuchSettings b) a b
- nmNewTag :: Lens' (NotmuchSettings a) Tag
- data FileBrowserSettings a = FileBrowserSettings {}
- fbKeybindings :: Lens' (FileBrowserSettings a) [Keybinding FileBrowser ListOfFiles]
- fbSearchPathKeybindings :: Lens' (FileBrowserSettings a) [Keybinding FileBrowser ManageFileBrowserSearchPath]
- fbHomePath :: Lens (FileBrowserSettings a) (FileBrowserSettings a') a a'
- data Configuration a b c = Configuration {}
- type UserConfiguration = Configuration (IO FilePath) (IO String) (IO FilePath)
- type InternalConfiguration = Configuration FilePath String FilePath
- type ConfigurationLens v = forall a b c. Lens' (Configuration a b c) v
- confTheme :: ConfigurationLens Theme
- confEditor :: Lens (Configuration a b c) (Configuration a b' c) b b'
- confNotmuch :: Lens (Configuration a b c) (Configuration a' b c) (NotmuchSettings a) (NotmuchSettings a')
- confMailView :: ConfigurationLens MailViewSettings
- confIndexView :: ConfigurationLens IndexViewSettings
- confComposeView :: ConfigurationLens ComposeViewSettings
- confHelpView :: ConfigurationLens HelpViewSettings
- confDefaultView :: ConfigurationLens ViewName
- confFileBrowserView :: Lens (Configuration a b c) (Configuration a b c') (FileBrowserSettings c) (FileBrowserSettings c')
- data ComposeViewSettings = ComposeViewSettings {
- _cvFromKeybindings :: [Keybinding ComposeView ComposeFrom]
- _cvToKeybindings :: [Keybinding ComposeView ComposeTo]
- _cvSubjectKeybindings :: [Keybinding ComposeView ComposeSubject]
- _cvSendMailCmd :: ByteString -> IO String
- _cvListOfAttachmentsKeybindings :: [Keybinding ComposeView ListOfAttachments]
- _cvBoundary :: String
- _cvIdentities :: [Mailbox]
- cvFromKeybindings :: Lens' ComposeViewSettings [Keybinding ComposeView ComposeFrom]
- cvToKeybindings :: Lens' ComposeViewSettings [Keybinding ComposeView ComposeTo]
- cvSubjectKeybindings :: Lens' ComposeViewSettings [Keybinding ComposeView ComposeSubject]
- cvSendMailCmd :: Lens' ComposeViewSettings (ByteString -> IO String)
- cvListOfAttachmentsKeybindings :: Lens' ComposeViewSettings [Keybinding ComposeView ListOfAttachments]
- cvBoundary :: Lens' ComposeViewSettings String
- cvIdentities :: Lens' ComposeViewSettings [Mailbox]
- newtype HelpViewSettings = HelpViewSettings {}
- hvKeybindings :: Lens' HelpViewSettings [Keybinding Help ScrollingHelpView]
- data IndexViewSettings = IndexViewSettings {
- _ivBrowseThreadsKeybindings :: [Keybinding Threads ListOfThreads]
- _ivBrowseMailsKeybindings :: [Keybinding Mails ListOfMails]
- _ivSearchThreadsKeybindings :: [Keybinding Threads SearchThreadsEditor]
- _ivManageMailTagsKeybindings :: [Keybinding Mails ManageMailTagsEditor]
- _ivManageThreadTagsKeybindings :: [Keybinding Threads ManageThreadTagsEditor]
- _ivFromKeybindings :: [Keybinding Threads ComposeFrom]
- _ivToKeybindings :: [Keybinding Threads ComposeTo]
- _ivSubjectKeybindings :: [Keybinding Threads ComposeSubject]
- ivBrowseThreadsKeybindings :: Lens' IndexViewSettings [Keybinding Threads ListOfThreads]
- ivBrowseMailsKeybindings :: Lens' IndexViewSettings [Keybinding Mails ListOfMails]
- ivSearchThreadsKeybindings :: Lens' IndexViewSettings [Keybinding Threads SearchThreadsEditor]
- ivManageMailTagsKeybindings :: Lens' IndexViewSettings [Keybinding Mails ManageMailTagsEditor]
- ivManageThreadTagsKeybindings :: Lens' IndexViewSettings [Keybinding Threads ManageThreadTagsEditor]
- ivFromKeybindings :: Lens' IndexViewSettings [Keybinding Threads ComposeFrom]
- ivToKeybindings :: Lens' IndexViewSettings [Keybinding Threads ComposeTo]
- ivSubjectKeybindings :: Lens' IndexViewSettings [Keybinding Threads ComposeSubject]
- data MailViewSettings = MailViewSettings {}
- mvIndexRows :: Lens' MailViewSettings Int
- mvPreferredContentType :: Lens' MailViewSettings ContentType
- mvHeadersToShow :: Getter MailViewSettings (CI ByteString -> Bool)
- mvKeybindings :: Lens' MailViewSettings [Keybinding ViewMail ScrollingMailView]
- mvManageMailTagsKeybindings :: Lens' MailViewSettings [Keybinding ViewMail ManageMailTagsEditor]
- data ViewName
- = Threads
- | Mails
- | ViewMail
- | ComposeView
- | Help
- | FileBrowser
- data View = View {}
- vWidgets :: Lens' View [Name]
- vFocus :: Lens' View (FocusRing Name)
- data ViewSettings = ViewSettings {}
- vsViews :: Lens' ViewSettings (Map ViewName View)
- vsFocusedView :: Lens' ViewSettings (FocusRing ViewName)
- data FileSystemEntry
- fsEntryName :: Getter FileSystemEntry String
- data FileBrowser = CreateFileBrowser {}
- fbEntries :: Lens' FileBrowser (List Name (Bool, FileSystemEntry))
- fbSearchPath :: Lens' FileBrowser (Editor FilePath Name)
- data AppState = AppState {}
- asConfig :: Lens' AppState InternalConfiguration
- asMailIndex :: Lens' AppState MailIndex
- asMailView :: Lens' AppState MailView
- asCompose :: Lens' AppState Compose
- asError :: Lens' AppState (Maybe Error)
- asViews :: Lens' AppState ViewSettings
- asFileBrowser :: Lens' AppState FileBrowser
- data Action (v :: ViewName) (ctx :: Name) a = Action {}
- aAction :: Getter (Action v ctx a) (AppState -> EventM Name a)
- data Keybinding (v :: ViewName) (ctx :: Name) = Keybinding {}
- kbEvent :: Getter (Keybinding v ctx) Event
- kbAction :: Getter (Keybinding v ctx) (Action v ctx (Next AppState))
- aDescription :: Getter (Action v ctx a) [Text]
- data NotmuchMail = NotmuchMail {
- _mailSubject :: Text
- _mailFrom :: Text
- _mailDate :: UTCTime
- _mailTags :: [Tag]
- _mailId :: ByteString
- mailSubject :: Lens' NotmuchMail Text
- mailFrom :: Lens' NotmuchMail Text
- mailDate :: Lens' NotmuchMail UTCTime
- mailTags :: Lens' NotmuchMail [Tag]
- mailId :: Lens' NotmuchMail ByteString
- data NotmuchThread = NotmuchThread {
- _thSubject :: Text
- _thAuthors :: [Text]
- _thDate :: UTCTime
- _thTags :: [Tag]
- _thReplies :: Int
- _thId :: ByteString
- thSubject :: Lens' NotmuchThread Text
- thAuthors :: Lens' NotmuchThread [Text]
- thDate :: Lens' NotmuchThread UTCTime
- thTags :: Lens' NotmuchThread [Tag]
- thReplies :: Lens' NotmuchThread Int
- thId :: Lens' NotmuchThread ByteString
- decodeLenient :: ByteString -> Text
- data TagOp
- data Tag :: *
Documentation
Used to identify widgets in brick
Constructors
Instances
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.
Constructors
MailIndex | |
miListOfMails :: Lens' MailIndex (List Name NotmuchMail) Source #
miListOfThreads :: Lens' MailIndex (List Name NotmuchThread) Source #
data HeadersState Source #
Constructors
MailView | |
Fields |
mvHeadersState :: Lens' MailView HeadersState Source #
cMail :: Lens' Compose ByteString Source #
cAttachments :: Lens' Compose (List Name MIMEMessage) Source #
data NotmuchSettings a Source #
Constructors
NotmuchSettings | |
Fields
|
Instances
Generic (NotmuchSettings a) Source # | |
NFData a => NFData (NotmuchSettings a) Source # | |
type Rep (NotmuchSettings a) Source # | |
nmSearch :: Lens' (NotmuchSettings a) Text Source #
nmDatabase :: Lens (NotmuchSettings a) (NotmuchSettings b) a b Source #
nmNewTag :: Lens' (NotmuchSettings a) Tag Source #
data FileBrowserSettings a Source #
Constructors
FileBrowserSettings | |
Instances
Generic (FileBrowserSettings a) Source # | |
NFData a => NFData (FileBrowserSettings a) Source # | |
type Rep (FileBrowserSettings a) Source # | |
fbKeybindings :: Lens' (FileBrowserSettings a) [Keybinding FileBrowser ListOfFiles] Source #
fbSearchPathKeybindings :: Lens' (FileBrowserSettings a) [Keybinding FileBrowser ManageFileBrowserSearchPath] Source #
fbHomePath :: Lens (FileBrowserSettings a) (FileBrowserSettings a') a a' Source #
data Configuration a b c Source #
Constructors
Configuration | |
Instances
Generic (Configuration a b c) Source # | |
(NFData c, NFData b, NFData a) => NFData (Configuration a b c) Source # | |
type Rep (Configuration a b c) Source # | |
type UserConfiguration = Configuration (IO FilePath) (IO String) (IO FilePath) 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 #
confNotmuch :: Lens (Configuration a b c) (Configuration a' b c) (NotmuchSettings a) (NotmuchSettings a') Source #
confFileBrowserView :: Lens (Configuration a b c) (Configuration a b c') (FileBrowserSettings c) (FileBrowserSettings c') Source #
data ComposeViewSettings Source #
Constructors
Instances
cvSendMailCmd :: Lens' ComposeViewSettings (ByteString -> IO String) Source #
cvListOfAttachmentsKeybindings :: Lens' ComposeViewSettings [Keybinding ComposeView ListOfAttachments] Source #
cvBoundary :: Lens' ComposeViewSettings String Source #
cvIdentities :: Lens' ComposeViewSettings [Mailbox] Source #
hvKeybindings :: Lens' HelpViewSettings [Keybinding Help ScrollingHelpView] Source #
data IndexViewSettings Source #
Constructors
Instances
ivSearchThreadsKeybindings :: Lens' IndexViewSettings [Keybinding Threads SearchThreadsEditor] Source #
ivManageMailTagsKeybindings :: Lens' IndexViewSettings [Keybinding Mails ManageMailTagsEditor] Source #
ivManageThreadTagsKeybindings :: Lens' IndexViewSettings [Keybinding Threads ManageThreadTagsEditor] Source #
ivToKeybindings :: Lens' IndexViewSettings [Keybinding Threads ComposeTo] Source #
mvIndexRows :: Lens' MailViewSettings Int Source #
mvHeadersToShow :: Getter MailViewSettings (CI ByteString -> Bool) Source #
mvManageMailTagsKeybindings :: Lens' MailViewSettings [Keybinding ViewMail ManageMailTagsEditor] Source #
Constructors
Threads | |
Mails | |
ViewMail | |
ComposeView | |
Help | |
FileBrowser |
data ViewSettings Source #
Constructors
ViewSettings | |
vsFocusedView :: Lens' ViewSettings (FocusRing ViewName) Source #
data FileSystemEntry Source #
Instances
fsEntryName :: Getter FileSystemEntry String Source #
data FileBrowser Source #
Constructors
CreateFileBrowser | |
Fields
|
fbEntries :: Lens' FileBrowser (List Name (Bool, FileSystemEntry)) Source #
fbSearchPath :: Lens' FileBrowser (Editor FilePath Name) Source #
Overall application state
Constructors
AppState | |
Fields
|
asConfig :: Lens' AppState InternalConfiguration Source #
asMailIndex :: Lens' AppState MailIndex Source #
asMailView :: Lens' AppState MailView Source #
asViews :: Lens' AppState ViewSettings Source #
asFileBrowser :: Lens' AppState FileBrowser Source #
data Keybinding (v :: ViewName) (ctx :: Name) Source #
kbEvent :: Getter (Keybinding v ctx) Event Source #
aDescription :: Getter (Action v ctx a) [Text] Source #
data NotmuchMail Source #
an email from the notmuch database
Constructors
NotmuchMail | |
Fields
|
Instances
mailSubject :: Lens' NotmuchMail Text Source #
mailFrom :: Lens' NotmuchMail Text Source #
mailDate :: Lens' NotmuchMail UTCTime Source #
mailTags :: Lens' NotmuchMail [Tag] Source #
mailId :: Lens' NotmuchMail ByteString Source #
data NotmuchThread Source #
Constructors
NotmuchThread | |
Fields
|
Instances
thSubject :: Lens' NotmuchThread Text Source #
thAuthors :: Lens' NotmuchThread [Text] Source #
thDate :: Lens' NotmuchThread UTCTime Source #
thTags :: Lens' NotmuchThread [Tag] Source #
thReplies :: Lens' NotmuchThread Int Source #
thId :: Lens' NotmuchThread ByteString Source #
decodeLenient :: ByteString -> Text Source #
Utility for safe conversion from bytestring to text
Tag operations