Safe Haskell | None |
---|---|
Language | Haskell2010 |
Types
Description
Basic types for the UI used by this library
Synopsis
- data PurebredEvent
- = NotifyNumThreads Int Generation
- | NotifyNewMailArrived Int
- | InputValidated (Lens' AppState (Maybe Error)) (Maybe Error)
- newtype Generation = Generation Integer
- data EntityCommand m a = EntityCommand {
- _ccAfterExit :: (MonadIO m, MonadError Error m) => (ExitCode, Tainted ByteString) -> a -> m Text
- _ccResource :: (MonadIO m, MonadError Error m) => ResourceSpec m a
- _ccProcessConfig :: ByteString -> a -> ProcessConfig () () ()
- _ccRunProcess :: (MonadError Error m, MonadIO m) => ProcessConfig () () () -> m (ExitCode, Tainted ByteString)
- _ccEntity :: ByteString
- data MailcapHandler = MailcapHandler {}
- data TempfileOnExit
- data CopiousOutput
- data MakeProcess
- data ResourceSpec m a = ResourceSpec {}
- data TagOp
- data NotmuchThread = NotmuchThread {
- _thSubject :: Text
- _thAuthors :: [Text]
- _thDate :: UTCTime
- _thTags :: [Tag]
- _thReplies :: Int
- _thId :: ByteString
- data NotmuchMail = NotmuchMail {}
- data Keybinding (v :: ViewName) (ctx :: Name) = Keybinding {}
- data Action (v :: ViewName) (ctx :: Name) a = Action {
- _aDescription :: [Text]
- _aAction :: StateT AppState (EventM Name) a
- data AppState = AppState {
- _asConfig :: InternalConfiguration
- _asMailIndex :: MailIndex
- _asMailView :: MailView
- _asCompose :: Compose
- _asError :: Maybe Error
- _asViews :: ViewSettings
- _asFileBrowser :: FileBrowser
- _asLocalTime :: UTCTime
- _asAsync :: Async
- newtype Async = Async {
- _aValidation :: Maybe ThreadId
- data FileBrowser = CreateFileBrowser {
- _fbEntries :: List Name (Toggleable FileSystemEntry)
- _fbSearchPath :: Editor FilePath Name
- data FileSystemEntry
- type Toggleable a = (Bool, a)
- data ViewSettings = ViewSettings {
- _vsViews :: Map ViewName View
- _vsFocusedView :: FocusRing ViewName
- newtype Layer = Layer (Vector Tile)
- data View = View {}
- type Layers = Vector Layer
- data Tile = Tile ViewState Name
- data ViewState
- data ViewName
- = Threads
- | Mails
- | ViewMail
- | ComposeView
- | Help
- | FileBrowser
- data MailViewSettings = MailViewSettings {
- _mvIndexRows :: Int
- _mvTextWidth :: Int
- _mvPreferredContentType :: ContentType
- _mvHeadersToShow :: CI ByteString -> Bool
- _mvKeybindings :: [Keybinding ViewMail ScrollingMailView]
- _mvManageMailTagsKeybindings :: [Keybinding ViewMail ManageMailTagsEditor]
- _mvMailListOfAttachmentsKeybindings :: [Keybinding ViewMail MailListOfAttachments]
- _mvOpenWithKeybindings :: [Keybinding ViewMail MailAttachmentOpenWithEditor]
- _mvPipeToKeybindings :: [Keybinding ViewMail MailAttachmentPipeToEditor]
- _mvFindWordEditorKeybindings :: [Keybinding ViewMail ScrollingMailViewFindWordEditor]
- _mvMailcap :: [(ContentType -> Bool, MailcapHandler)]
- _mvSaveToDiskKeybindings :: [Keybinding ViewMail SaveToDiskPathEditor]
- _mvToKeybindings :: [Keybinding ViewMail ComposeTo]
- data IndexViewSettings = IndexViewSettings {
- _ivBrowseThreadsKeybindings :: [Keybinding Threads ListOfThreads]
- _ivSearchThreadsKeybindings :: [Keybinding Threads SearchThreadsEditor]
- _ivManageThreadTagsKeybindings :: [Keybinding Threads ManageThreadTagsEditor]
- _ivFromKeybindings :: [Keybinding Threads ComposeFrom]
- _ivToKeybindings :: [Keybinding Threads ComposeTo]
- _ivSubjectKeybindings :: [Keybinding Threads ComposeSubject]
- newtype HelpViewSettings = HelpViewSettings {}
- data ComposeViewSettings = ComposeViewSettings {
- _cvFromKeybindings :: [Keybinding ComposeView ComposeFrom]
- _cvToKeybindings :: [Keybinding ComposeView ComposeTo]
- _cvCcKeybindings :: [Keybinding ComposeView ComposeCc]
- _cvBccKeybindings :: [Keybinding ComposeView ComposeBcc]
- _cvSubjectKeybindings :: [Keybinding ComposeView ComposeSubject]
- _cvSendMailCmd :: Builder -> IO (Either Error ())
- _cvListOfAttachmentsKeybindings :: [Keybinding ComposeView ComposeListOfAttachments]
- _cvIdentities :: [Mailbox]
- _cvConfirmKeybindings :: [Keybinding ComposeView ConfirmDialog]
- type ConfigurationLens v = forall z a b c. Lens' (Configuration z a b c) v
- type InternalConfiguration = Configuration InternalConfigurationFields FilePath String FilePath
- type UserConfiguration = Configuration () (IO FilePath) (IO String) (IO FilePath)
- type InternalConfigurationFields = (BChan PurebredEvent, String, Text -> IO ())
- data Configuration extra a b c = Configuration {
- _confTheme :: AttrMap
- _confNotmuch :: NotmuchSettings a
- _confEditor :: b
- _confMailView :: MailViewSettings
- _confIndexView :: IndexViewSettings
- _confComposeView :: ComposeViewSettings
- _confHelpView :: HelpViewSettings
- _confDefaultView :: ViewName
- _confFileBrowserView :: FileBrowserSettings c
- _confCharsets :: CharsetLookup
- _confExtra :: extra
- data Delay
- data FileBrowserSettings a = FileBrowserSettings {}
- data NotmuchSettings a = NotmuchSettings {
- _nmSearch :: Text
- _nmDatabase :: a
- _nmNewTag :: Tag
- _nmDraftTag :: Tag
- _nmSentTag :: Tag
- _nmHasNewMailSearch :: Text
- _nmHasNewMailCheckDelay :: Maybe Delay
- data Compose = Compose {
- _cFrom :: Editor Text Name
- _cTo :: Editor Text Name
- _cCc :: Editor Text Name
- _cBcc :: Editor Text Name
- _cSubject :: Editor Text Name
- _cTemp :: Text
- _cAttachments :: List Name MIMEMessage
- _cKeepDraft :: Dialog ConfirmDraft
- data ConfirmDraft
- data MailView = MailView {
- _mvMail :: Maybe MIMEMessage
- _mvBody :: MailBody
- _mvHeadersState :: HeadersState
- _mvAttachments :: List Name WireEntity
- _mvSaveToDiskPath :: Editor Text Name
- _mvOpenCommand :: Editor Text Name
- _mvPipeCommand :: Editor Text Name
- _mvFindWordEditor :: Editor Text Name
- _mvScrollSteps :: FocusRing ScrollStep
- data HeadersState
- data Line = Line [Match] Int Text
- type ScrollStep = (Int, Int, Match)
- data Match = Match Int Int Int
- newtype Paragraph = Paragraph [Line]
- data MailBody = MailBody Source [Paragraph]
- type Source = Text
- data MailIndex = MailIndex {
- _miListOfMails :: ListWithLength Vector (Toggleable NotmuchMail)
- _miListOfThreads :: ListWithLength V (Toggleable NotmuchThread)
- _miListOfThreadsGeneration :: Generation
- _miSearchThreadsEditor :: Editor Text Name
- _miMailTagsEditor :: Editor Text Name
- _miThreadTagsEditor :: Editor Text Name
- _miNewMail :: Int
- data ListWithLength t a = ListWithLength (GenericList Name t a) (Maybe Int)
- data Name
- = SearchThreadsEditor
- | ListOfMails
- | ListOfThreads
- | ScrollingMailView
- | ScrollingMailViewFindWordEditor
- | ComposeHeaders
- | ComposeFrom
- | ComposeTo
- | ComposeCc
- | ComposeBcc
- | ComposeSubject
- | ComposeListOfAttachments
- | ScrollingHelpView
- | ManageMailTagsEditor
- | ManageThreadTagsEditor
- | ListOfFiles
- | ManageFileBrowserSearchPath
- | MailListOfAttachments
- | MailAttachmentOpenWithEditor
- | MailAttachmentPipeToEditor
- | StatusBar
- | ConfirmDialog
- | SaveToDiskPathEditor
- listList :: Lens' (ListWithLength t a) (GenericList Name t a)
- listLength :: Lens' (ListWithLength t a) (Maybe Int)
- miMails :: Lens' MailIndex (ListWithLength Vector (Toggleable NotmuchMail))
- miThreads :: Lens' MailIndex (ListWithLength V (Toggleable NotmuchThread))
- miListOfMails :: Lens' MailIndex (GenericList Name Vector (Toggleable NotmuchMail))
- miListOfThreads :: Lens' MailIndex (GenericList Name V (Toggleable NotmuchThread))
- miListOfThreadsGeneration :: Lens' MailIndex Generation
- miSearchThreadsEditor :: Lens' MailIndex (Editor Text Name)
- miMailTagsEditor :: Lens' MailIndex (Editor Text Name)
- miThreadTagsEditor :: Lens' MailIndex (Editor Text Name)
- miNewMail :: Lens' MailIndex Int
- mbParagraph :: Traversal' MailBody Paragraph
- mbSource :: Lens' MailBody Source
- matchCount :: MailBody -> Int
- pLine :: Traversal' Paragraph Line
- mLinenumber :: Lens' Match Int
- stNumber :: Lens' ScrollStep Int
- stMatch :: Lens' ScrollStep Match
- hasMatches :: Line -> Bool
- lMatches :: Lens' Line [Match]
- lText :: Lens' Line Text
- lNumber :: Lens' Line Int
- mvMail :: Lens' MailView (Maybe MIMEMessage)
- mvHeadersState :: Lens' MailView HeadersState
- mvAttachments :: Lens' MailView (List Name WireEntity)
- mvSaveToDiskPath :: Lens' MailView (Editor Text Name)
- mvOpenCommand :: Lens' MailView (Editor Text Name)
- mvPipeCommand :: Lens' MailView (Editor Text Name)
- mvFindWordEditor :: Lens' MailView (Editor Text Name)
- mvScrollSteps :: Lens' MailView (FocusRing ScrollStep)
- mvBody :: Lens' MailView MailBody
- cFrom :: Lens' Compose (Editor Text Name)
- cTo :: Lens' Compose (Editor Text Name)
- cCc :: Lens' Compose (Editor Text Name)
- cBcc :: Lens' Compose (Editor Text Name)
- cSubject :: Lens' Compose (Editor Text Name)
- cTemp :: Lens' Compose Text
- cAttachments :: Lens' Compose (List Name MIMEMessage)
- cKeepDraft :: Lens' Compose (Dialog ConfirmDraft)
- nmSearch :: Lens' (NotmuchSettings a) Text
- nmDatabase :: Lens (NotmuchSettings a) (NotmuchSettings b) a b
- nmNewTag :: Lens' (NotmuchSettings a) Tag
- nmDraftTag :: Lens' (NotmuchSettings a) Tag
- nmSentTag :: Lens' (NotmuchSettings a) Tag
- nmHasNewMailSearch :: Lens' (NotmuchSettings a) Text
- nmHasNewMailCheckDelay :: Lens' (NotmuchSettings a) (Maybe Delay)
- fbKeybindings :: Lens' (FileBrowserSettings a) [Keybinding FileBrowser ListOfFiles]
- fbSearchPathKeybindings :: Lens' (FileBrowserSettings a) [Keybinding FileBrowser ManageFileBrowserSearchPath]
- fbHomePath :: Lens (FileBrowserSettings a) (FileBrowserSettings a') a a'
- confTheme :: ConfigurationLens AttrMap
- confEditor :: Lens (Configuration z a b c) (Configuration z a b' c) b b'
- confNotmuch :: Lens (Configuration z a b c) (Configuration z 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 z a b c) (Configuration z a b c') (FileBrowserSettings c) (FileBrowserSettings c')
- confCharsets :: ConfigurationLens CharsetLookup
- confExtra :: Lens (Configuration extra a b c) (Configuration extra' a b c) extra extra'
- confBChan :: Lens' InternalConfiguration (BChan PurebredEvent)
- confBoundary :: Lens' InternalConfiguration String
- confLogSink :: Lens' InternalConfiguration (Text -> IO ())
- cvFromKeybindings :: Lens' ComposeViewSettings [Keybinding ComposeView ComposeFrom]
- cvToKeybindings :: Lens' ComposeViewSettings [Keybinding ComposeView ComposeTo]
- cvCcKeybindings :: Lens' ComposeViewSettings [Keybinding ComposeView ComposeCc]
- cvBccKeybindings :: Lens' ComposeViewSettings [Keybinding ComposeView ComposeBcc]
- cvSubjectKeybindings :: Lens' ComposeViewSettings [Keybinding ComposeView ComposeSubject]
- cvSendMailCmd :: Lens' ComposeViewSettings (Builder -> IO (Either Error ()))
- cvListOfAttachmentsKeybindings :: Lens' ComposeViewSettings [Keybinding ComposeView ComposeListOfAttachments]
- cvIdentities :: Lens' ComposeViewSettings [Mailbox]
- cvConfirmKeybindings :: Lens' ComposeViewSettings [Keybinding ComposeView ConfirmDialog]
- hvKeybindings :: Lens' HelpViewSettings [Keybinding Help ScrollingHelpView]
- ivBrowseThreadsKeybindings :: Lens' IndexViewSettings [Keybinding Threads ListOfThreads]
- ivSearchThreadsKeybindings :: Lens' IndexViewSettings [Keybinding Threads SearchThreadsEditor]
- ivManageThreadTagsKeybindings :: Lens' IndexViewSettings [Keybinding Threads ManageThreadTagsEditor]
- ivFromKeybindings :: Lens' IndexViewSettings [Keybinding Threads ComposeFrom]
- ivToKeybindings :: Lens' IndexViewSettings [Keybinding Threads ComposeTo]
- ivSubjectKeybindings :: Lens' IndexViewSettings [Keybinding Threads ComposeSubject]
- mvIndexRows :: Lens' MailViewSettings Int
- mvTextWidth :: 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]
- mvMailListOfAttachmentsKeybindings :: Lens' MailViewSettings [Keybinding ViewMail MailListOfAttachments]
- mvOpenWithKeybindings :: Lens' MailViewSettings [Keybinding ViewMail MailAttachmentOpenWithEditor]
- mvPipeToKeybindings :: Lens' MailViewSettings [Keybinding ViewMail MailAttachmentPipeToEditor]
- mvFindWordEditorKeybindings :: Lens' MailViewSettings [Keybinding ViewMail ScrollingMailViewFindWordEditor]
- mvMailcap :: Lens' MailViewSettings [(ContentType -> Bool, MailcapHandler)]
- mvSaveToDiskKeybindings :: Lens' MailViewSettings [Keybinding ViewMail SaveToDiskPathEditor]
- mvToKeybindings :: Lens' MailViewSettings [Keybinding ViewMail ComposeTo]
- hasCopiousoutput :: Traversal' [(ContentType -> Bool, MailcapHandler)] (ContentType -> Bool, MailcapHandler)
- veName :: Lens' Tile Name
- veState :: Lens' Tile ViewState
- vLayers :: Lens' View Layers
- vFocus :: Lens' View Name
- layeriso :: Iso' Layer (Vector Tile)
- tile :: Name -> Traversal' Layer Tile
- vsViews :: Lens' ViewSettings (Map ViewName View)
- vsFocusedView :: Lens' ViewSettings (FocusRing ViewName)
- fsEntryName :: Getter FileSystemEntry String
- fbEntries :: Lens' FileBrowser (List Name (Toggleable FileSystemEntry))
- fbSearchPath :: Lens' FileBrowser (Editor FilePath Name)
- aValidation :: Lens' Async (Maybe ThreadId)
- 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
- asLocalTime :: Lens' AppState UTCTime
- asAsync :: Lens' AppState Async
- aAction :: Getter (Action v ctx a) (StateT AppState (EventM Name) a)
- aDescription :: Getter (Action v ctx a) [Text]
- kbEvent :: Getter (Keybinding v ctx) Event
- kbAction :: Getter (Keybinding v ctx) (Action v ctx (Next AppState))
- mailSubject :: Lens' NotmuchMail Text
- mailFrom :: Lens' NotmuchMail Text
- mailDate :: Lens' NotmuchMail UTCTime
- mailTags :: Lens' NotmuchMail [Tag]
- mailId :: Lens' NotmuchMail 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
- rsAcquire :: (MonadError Error m, MonadIO m) => Lens' (ResourceSpec m a) (m a)
- rsFree :: (MonadError Error m, MonadIO m) => Lens' (ResourceSpec m a) (a -> m ())
- rsUpdate :: (MonadError Error m, MonadIO m) => Lens' (ResourceSpec m a) (a -> ByteString -> m ())
- mpCommand :: Lens' MakeProcess (NonEmpty Char)
- isCopiousOutput :: CopiousOutput -> Bool
- mhMakeProcess :: Lens' MailcapHandler MakeProcess
- mhCopiousoutput :: Lens' MailcapHandler CopiousOutput
- mhKeepTemp :: Lens' MailcapHandler TempfileOnExit
- ccAfterExit :: (MonadIO m, MonadError Error m) => Lens' (EntityCommand m a) ((ExitCode, Tainted ByteString) -> a -> m Text)
- ccEntity :: Lens' (EntityCommand m a) ByteString
- ccProcessConfig :: Lens' (EntityCommand m a) (ByteString -> a -> ProcessConfig () () ())
- ccResource :: (MonadIO m, MonadError Error m) => Lens' (EntityCommand m a) (ResourceSpec m a)
- ccRunProcess :: (MonadError Error m, MonadIO m) => Lens' (EntityCommand m a) (ProcessConfig () () () -> m (ExitCode, Tainted ByteString))
- data Tag
Documentation
data PurebredEvent Source #
Purebred event type. In the future we can abstract this over
a custom event type to allow plugins to define their own events.
But I've YAGNI'd it for now because it will require an event
type parameter on AppState
, which will be a noisy change.
Constructors
NotifyNumThreads Int Generation | |
NotifyNewMailArrived Int | |
InputValidated (Lens' AppState (Maybe Error)) (Maybe Error) |
newtype Generation Source #
A serial number that can be used to match (or ignore as irrelevant) asynchronous events to current application state.
Use the Eq
and Ord
instances to compare generations. The
constructor is hidden; use firstGeneration
as the first
generation, and use nextGeneration
to monotonically increment
it.
Constructors
Generation Integer |
Instances
Eq Generation Source # | |
Defined in Types | |
Ord Generation Source # | |
Defined in Types Methods compare :: Generation -> Generation -> Ordering (<) :: Generation -> Generation -> Bool (<=) :: Generation -> Generation -> Bool (>) :: Generation -> Generation -> Bool (>=) :: Generation -> Generation -> Bool max :: Generation -> Generation -> Generation min :: Generation -> Generation -> Generation |
data EntityCommand m a Source #
Command configuration which is bound to an acquired resource (e.g. a tempfile) filtered through an external command. The resource may or may not be cleaned up after the external command exits.
Constructors
EntityCommand | |
Fields
|
data MailcapHandler Source #
Constructors
MailcapHandler | |
Fields
|
Instances
Generic MailcapHandler Source # | |
Defined in Types Associated Types type Rep MailcapHandler :: Type -> Type | |
NFData MailcapHandler Source # | |
Defined in Types Methods rnf :: MailcapHandler -> () | |
type Rep MailcapHandler Source # | |
Defined in Types type Rep MailcapHandler = D1 (MetaData "MailcapHandler" "Types" "purebred-0.1.0.0-6Fm27DmStndB0W4WaAwgGx" False) (C1 (MetaCons "MailcapHandler" PrefixI True) (S1 (MetaSel (Just "_mhMakeProcess") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 MakeProcess) :*: (S1 (MetaSel (Just "_mhCopiousoutput") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 CopiousOutput) :*: S1 (MetaSel (Just "_mhKeepTemp") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 TempfileOnExit)))) |
data TempfileOnExit Source #
Constructors
KeepTempfile | |
DiscardTempfile |
Instances
Generic TempfileOnExit Source # | |
Defined in Types Associated Types type Rep TempfileOnExit :: Type -> Type | |
NFData TempfileOnExit Source # | |
Defined in Types Methods rnf :: TempfileOnExit -> () | |
type Rep TempfileOnExit Source # | |
Defined in Types type Rep TempfileOnExit = D1 (MetaData "TempfileOnExit" "Types" "purebred-0.1.0.0-6Fm27DmStndB0W4WaAwgGx" False) (C1 (MetaCons "KeepTempfile" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "DiscardTempfile" PrefixI False) (U1 :: Type -> Type)) |
data CopiousOutput Source #
Constructors
CopiousOutput | |
IgnoreOutput |
Instances
Generic CopiousOutput Source # | |
Defined in Types Associated Types type Rep CopiousOutput :: Type -> Type | |
NFData CopiousOutput Source # | |
Defined in Types Methods rnf :: CopiousOutput -> () | |
type Rep CopiousOutput Source # | |
Defined in Types type Rep CopiousOutput = D1 (MetaData "CopiousOutput" "Types" "purebred-0.1.0.0-6Fm27DmStndB0W4WaAwgGx" False) (C1 (MetaCons "CopiousOutput" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "IgnoreOutput" PrefixI False) (U1 :: Type -> Type)) |
data MakeProcess Source #
Instances
Generic MakeProcess Source # | |
Defined in Types Associated Types type Rep MakeProcess :: Type -> Type | |
NFData MakeProcess Source # | |
Defined in Types Methods rnf :: MakeProcess -> () | |
type Rep MakeProcess Source # | |
Defined in Types type Rep MakeProcess = D1 (MetaData "MakeProcess" "Types" "purebred-0.1.0.0-6Fm27DmStndB0W4WaAwgGx" False) (C1 (MetaCons "Shell" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (NonEmpty Char))) :+: C1 (MetaCons "Process" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (NonEmpty Char)) :*: S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [String]))) |
data ResourceSpec m a Source #
A bracket-style type for creating and releasing acquired resources (e.g. temporary files). Note that extending this is perhaps not worth it and we should perhaps look at ResourceT if necessary.
Constructors
ResourceSpec | |
Fields
|
Tag operations
data NotmuchThread Source #
Constructors
NotmuchThread | |
Fields
|
Instances
Eq NotmuchThread Source # | |
Defined in Types | |
Show NotmuchThread Source # | |
Defined in Types Methods showsPrec :: Int -> NotmuchThread -> ShowS show :: NotmuchThread -> String showList :: [NotmuchThread] -> ShowS | |
ManageTags NotmuchThread Source # | |
Defined in Storage.Notmuch Methods tags :: Lens' NotmuchThread [Tag] Source # |
data NotmuchMail Source #
an email from the notmuch database
Constructors
NotmuchMail | |
Instances
Eq NotmuchMail Source # | |
Defined in Types | |
Show NotmuchMail Source # | |
Defined in Types Methods showsPrec :: Int -> NotmuchMail -> ShowS show :: NotmuchMail -> String showList :: [NotmuchMail] -> ShowS | |
ManageTags NotmuchMail Source # | |
Defined in Storage.Notmuch Methods tags :: Lens' NotmuchMail [Tag] Source # |
data Keybinding (v :: ViewName) (ctx :: Name) Source #
Instances
Eq (Keybinding v ctx) Source # | |
Defined in Types Methods (==) :: Keybinding v ctx -> Keybinding v ctx -> Bool (/=) :: Keybinding v ctx -> Keybinding v ctx -> Bool | |
NFData (Keybinding v ctx) Source # | HACK: the |
Defined in Types Methods rnf :: Keybinding v ctx -> () |
data Action (v :: ViewName) (ctx :: Name) a Source #
Constructors
Action | |
Fields
|
Overall application state
Constructors
AppState | |
Fields
|
State needed to be kept for keeping track of concurrent/asynchronous actions
Constructors
Async | |
Fields
|
data FileBrowser Source #
Constructors
CreateFileBrowser | |
Fields
|
data FileSystemEntry Source #
Instances
Eq FileSystemEntry Source # | |
Defined in Types Methods (==) :: FileSystemEntry -> FileSystemEntry -> Bool (/=) :: FileSystemEntry -> FileSystemEntry -> Bool | |
Ord FileSystemEntry Source # | |
Defined in Types Methods compare :: FileSystemEntry -> FileSystemEntry -> Ordering (<) :: FileSystemEntry -> FileSystemEntry -> Bool (<=) :: FileSystemEntry -> FileSystemEntry -> Bool (>) :: FileSystemEntry -> FileSystemEntry -> Bool (>=) :: FileSystemEntry -> FileSystemEntry -> Bool max :: FileSystemEntry -> FileSystemEntry -> FileSystemEntry min :: FileSystemEntry -> FileSystemEntry -> FileSystemEntry | |
Show FileSystemEntry Source # | |
Defined in Types Methods showsPrec :: Int -> FileSystemEntry -> ShowS show :: FileSystemEntry -> String showList :: [FileSystemEntry] -> ShowS |
type Toggleable a = (Bool, a) Source #
An item carrying it's selected state. Used in order to mark list items.
data ViewSettings Source #
Constructors
ViewSettings | |
Fields
|
Constructors
Threads | |
Mails | |
ViewMail | |
ComposeView | |
Help | |
FileBrowser |
Instances
Eq ViewName Source # | |
Ord ViewName Source # | |
Show ViewName Source # | |
Generic ViewName Source # | |
NFData ViewName Source # | |
Titleize ViewName Source # | |
type Rep ViewName Source # | |
Defined in Types type Rep ViewName = D1 (MetaData "ViewName" "Types" "purebred-0.1.0.0-6Fm27DmStndB0W4WaAwgGx" False) ((C1 (MetaCons "Threads" PrefixI False) (U1 :: Type -> Type) :+: (C1 (MetaCons "Mails" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "ViewMail" PrefixI False) (U1 :: Type -> Type))) :+: (C1 (MetaCons "ComposeView" PrefixI False) (U1 :: Type -> Type) :+: (C1 (MetaCons "Help" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "FileBrowser" PrefixI False) (U1 :: Type -> Type)))) |
data MailViewSettings Source #
Constructors
MailViewSettings | |
Fields
|
Instances
Generic MailViewSettings Source # | |
Defined in Types Associated Types type Rep MailViewSettings :: Type -> Type Methods from :: MailViewSettings -> Rep MailViewSettings x to :: Rep MailViewSettings x -> MailViewSettings | |
NFData MailViewSettings Source # | |
Defined in Types Methods rnf :: MailViewSettings -> () | |
type Rep MailViewSettings Source # | |
Defined in Types type Rep MailViewSettings = D1 (MetaData "MailViewSettings" "Types" "purebred-0.1.0.0-6Fm27DmStndB0W4WaAwgGx" False) (C1 (MetaCons "MailViewSettings" PrefixI True) (((S1 (MetaSel (Just "_mvIndexRows") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int) :*: (S1 (MetaSel (Just "_mvTextWidth") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int) :*: S1 (MetaSel (Just "_mvPreferredContentType") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 ContentType))) :*: (S1 (MetaSel (Just "_mvHeadersToShow") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (CI ByteString -> Bool)) :*: (S1 (MetaSel (Just "_mvKeybindings") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Keybinding ViewMail ScrollingMailView]) :*: S1 (MetaSel (Just "_mvManageMailTagsKeybindings") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Keybinding ViewMail ManageMailTagsEditor])))) :*: ((S1 (MetaSel (Just "_mvMailListOfAttachmentsKeybindings") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Keybinding ViewMail MailListOfAttachments]) :*: (S1 (MetaSel (Just "_mvOpenWithKeybindings") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Keybinding ViewMail MailAttachmentOpenWithEditor]) :*: S1 (MetaSel (Just "_mvPipeToKeybindings") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Keybinding ViewMail MailAttachmentPipeToEditor]))) :*: ((S1 (MetaSel (Just "_mvFindWordEditorKeybindings") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Keybinding ViewMail ScrollingMailViewFindWordEditor]) :*: S1 (MetaSel (Just "_mvMailcap") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [(ContentType -> Bool, MailcapHandler)])) :*: (S1 (MetaSel (Just "_mvSaveToDiskKeybindings") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Keybinding ViewMail SaveToDiskPathEditor]) :*: S1 (MetaSel (Just "_mvToKeybindings") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Keybinding ViewMail ComposeTo])))))) |
data IndexViewSettings Source #
Constructors
Instances
Generic IndexViewSettings Source # | |
Defined in Types Associated Types type Rep IndexViewSettings :: Type -> Type Methods from :: IndexViewSettings -> Rep IndexViewSettings x to :: Rep IndexViewSettings x -> IndexViewSettings | |
NFData IndexViewSettings Source # | |
Defined in Types Methods rnf :: IndexViewSettings -> () | |
type Rep IndexViewSettings Source # | |
Defined in Types type Rep IndexViewSettings = D1 (MetaData "IndexViewSettings" "Types" "purebred-0.1.0.0-6Fm27DmStndB0W4WaAwgGx" False) (C1 (MetaCons "IndexViewSettings" PrefixI True) ((S1 (MetaSel (Just "_ivBrowseThreadsKeybindings") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Keybinding Threads ListOfThreads]) :*: (S1 (MetaSel (Just "_ivSearchThreadsKeybindings") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Keybinding Threads SearchThreadsEditor]) :*: S1 (MetaSel (Just "_ivManageThreadTagsKeybindings") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Keybinding Threads ManageThreadTagsEditor]))) :*: (S1 (MetaSel (Just "_ivFromKeybindings") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Keybinding Threads ComposeFrom]) :*: (S1 (MetaSel (Just "_ivToKeybindings") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Keybinding Threads ComposeTo]) :*: S1 (MetaSel (Just "_ivSubjectKeybindings") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Keybinding Threads ComposeSubject]))))) |
newtype HelpViewSettings Source #
Constructors
HelpViewSettings | |
Fields |
Instances
Generic HelpViewSettings Source # | |
Defined in Types Associated Types type Rep HelpViewSettings :: Type -> Type Methods from :: HelpViewSettings -> Rep HelpViewSettings x to :: Rep HelpViewSettings x -> HelpViewSettings | |
NFData HelpViewSettings Source # | |
Defined in Types Methods rnf :: HelpViewSettings -> () | |
type Rep HelpViewSettings Source # | |
Defined in Types type Rep HelpViewSettings = D1 (MetaData "HelpViewSettings" "Types" "purebred-0.1.0.0-6Fm27DmStndB0W4WaAwgGx" True) (C1 (MetaCons "HelpViewSettings" PrefixI True) (S1 (MetaSel (Just "_hvKeybindings") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Keybinding Help ScrollingHelpView]))) |
data ComposeViewSettings Source #
Constructors
Instances
Generic ComposeViewSettings Source # | |
Defined in Types Associated Types type Rep ComposeViewSettings :: Type -> Type Methods from :: ComposeViewSettings -> Rep ComposeViewSettings x to :: Rep ComposeViewSettings x -> ComposeViewSettings | |
NFData ComposeViewSettings Source # | |
Defined in Types Methods rnf :: ComposeViewSettings -> () | |
type Rep ComposeViewSettings Source # | |
Defined in Types type Rep ComposeViewSettings = D1 (MetaData "ComposeViewSettings" "Types" "purebred-0.1.0.0-6Fm27DmStndB0W4WaAwgGx" False) (C1 (MetaCons "ComposeViewSettings" PrefixI True) (((S1 (MetaSel (Just "_cvFromKeybindings") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Keybinding ComposeView ComposeFrom]) :*: S1 (MetaSel (Just "_cvToKeybindings") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Keybinding ComposeView ComposeTo])) :*: (S1 (MetaSel (Just "_cvCcKeybindings") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Keybinding ComposeView ComposeCc]) :*: S1 (MetaSel (Just "_cvBccKeybindings") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Keybinding ComposeView ComposeBcc]))) :*: ((S1 (MetaSel (Just "_cvSubjectKeybindings") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Keybinding ComposeView ComposeSubject]) :*: S1 (MetaSel (Just "_cvSendMailCmd") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Builder -> IO (Either Error ())))) :*: (S1 (MetaSel (Just "_cvListOfAttachmentsKeybindings") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Keybinding ComposeView ComposeListOfAttachments]) :*: (S1 (MetaSel (Just "_cvIdentities") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Mailbox]) :*: S1 (MetaSel (Just "_cvConfirmKeybindings") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Keybinding ComposeView ConfirmDialog])))))) |
type ConfigurationLens v = forall z a b c. Lens' (Configuration z a b c) v Source #
type InternalConfiguration = Configuration InternalConfigurationFields FilePath String FilePath Source #
type UserConfiguration = Configuration () (IO FilePath) (IO String) (IO FilePath) Source #
type InternalConfigurationFields = (BChan PurebredEvent, String, Text -> IO ()) Source #
data Configuration extra a b c Source #
Constructors
Configuration | |
Fields
|
Instances
Generic (Configuration extra a b c) Source # | |
Defined in Types Associated Types type Rep (Configuration extra a b c) :: Type -> Type Methods from :: Configuration extra a b c -> Rep (Configuration extra a b c) x to :: Rep (Configuration extra a b c) x -> Configuration extra a b c | |
(NFData a, NFData b, NFData c, NFData extra) => NFData (Configuration extra a b c) Source # | |
Defined in Types Methods rnf :: Configuration extra a b c -> () | |
type Rep (Configuration extra a b c) Source # | |
Defined in Types type Rep (Configuration extra a b c) = D1 (MetaData "Configuration" "Types" "purebred-0.1.0.0-6Fm27DmStndB0W4WaAwgGx" False) (C1 (MetaCons "Configuration" PrefixI True) (((S1 (MetaSel (Just "_confTheme") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 AttrMap) :*: S1 (MetaSel (Just "_confNotmuch") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (NotmuchSettings a))) :*: (S1 (MetaSel (Just "_confEditor") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 b) :*: (S1 (MetaSel (Just "_confMailView") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 MailViewSettings) :*: S1 (MetaSel (Just "_confIndexView") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 IndexViewSettings)))) :*: ((S1 (MetaSel (Just "_confComposeView") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 ComposeViewSettings) :*: (S1 (MetaSel (Just "_confHelpView") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 HelpViewSettings) :*: S1 (MetaSel (Just "_confDefaultView") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 ViewName))) :*: (S1 (MetaSel (Just "_confFileBrowserView") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (FileBrowserSettings c)) :*: (S1 (MetaSel (Just "_confCharsets") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 CharsetLookup) :*: S1 (MetaSel (Just "_confExtra") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 extra)))))) |
Instances
Generic Delay Source # | |
NFData Delay Source # | |
type Rep Delay Source # | |
Defined in Types type Rep Delay = D1 (MetaData "Delay" "Types" "purebred-0.1.0.0-6Fm27DmStndB0W4WaAwgGx" False) (C1 (MetaCons "Seconds" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int)) :+: C1 (MetaCons "Minutes" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int))) |
data FileBrowserSettings a Source #
Constructors
FileBrowserSettings | |
Instances
Generic (FileBrowserSettings a) Source # | |
Defined in Types Associated Types type Rep (FileBrowserSettings a) :: Type -> Type Methods from :: FileBrowserSettings a -> Rep (FileBrowserSettings a) x to :: Rep (FileBrowserSettings a) x -> FileBrowserSettings a | |
NFData a => NFData (FileBrowserSettings a) Source # | |
Defined in Types Methods rnf :: FileBrowserSettings a -> () | |
type Rep (FileBrowserSettings a) Source # | |
Defined in Types type Rep (FileBrowserSettings a) = D1 (MetaData "FileBrowserSettings" "Types" "purebred-0.1.0.0-6Fm27DmStndB0W4WaAwgGx" False) (C1 (MetaCons "FileBrowserSettings" PrefixI True) (S1 (MetaSel (Just "_fbKeybindings") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Keybinding FileBrowser ListOfFiles]) :*: (S1 (MetaSel (Just "_fbSearchPathKeybindings") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Keybinding FileBrowser ManageFileBrowserSearchPath]) :*: S1 (MetaSel (Just "_fbHomePath") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)))) |
data NotmuchSettings a Source #
Constructors
NotmuchSettings | |
Fields
|
Instances
Generic (NotmuchSettings a) Source # | |
Defined in Types Associated Types type Rep (NotmuchSettings a) :: Type -> Type Methods from :: NotmuchSettings a -> Rep (NotmuchSettings a) x to :: Rep (NotmuchSettings a) x -> NotmuchSettings a | |
NFData a => NFData (NotmuchSettings a) Source # | |
Defined in Types Methods rnf :: NotmuchSettings a -> () | |
type Rep (NotmuchSettings a) Source # | |
Defined in Types type Rep (NotmuchSettings a) = D1 (MetaData "NotmuchSettings" "Types" "purebred-0.1.0.0-6Fm27DmStndB0W4WaAwgGx" False) (C1 (MetaCons "NotmuchSettings" PrefixI True) ((S1 (MetaSel (Just "_nmSearch") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text) :*: (S1 (MetaSel (Just "_nmDatabase") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a) :*: S1 (MetaSel (Just "_nmNewTag") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Tag))) :*: ((S1 (MetaSel (Just "_nmDraftTag") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Tag) :*: S1 (MetaSel (Just "_nmSentTag") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Tag)) :*: (S1 (MetaSel (Just "_nmHasNewMailSearch") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text) :*: S1 (MetaSel (Just "_nmHasNewMailCheckDelay") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Delay)))))) |
data ConfirmDraft Source #
Instances
Show ConfirmDraft Source # | |
Defined in Types Methods showsPrec :: Int -> ConfirmDraft -> ShowS show :: ConfirmDraft -> String showList :: [ConfirmDraft] -> ShowS |
Constructors
MailView | |
Fields
|
data HeadersState Source #
A line of text with arbitrary length and possible matching sub strings
type ScrollStep = (Int, Int, Match) Source #
A scroll step indicated by the sequential number, line number and the match. The sequential number is used for visual purposes to render a status like: 2 of 30 matches
A match of a substring in the current line of text
Constructors
Match | |
Fields
|
A paragraph in the mail body
Type representing a specific entity from an e-mail for display.
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 | |
Fields
|
data ListWithLength t a Source #
A brick list, with a field that optionally contains its length.
Rather than reading the length from the underlying list, to support
lazy loading we have a separate field that optionally contains the
length. Widgets should read the length from this field and must
handle the Nothing
case.
For strict lists (e.g. Vector-based) the length can be recorded when constructed. For lazy lists, it could be left empty, or a thread could be spawned to compute the length in the background and update the value when the length is known.
Constructors
ListWithLength (GenericList Name t a) (Maybe Int) |
Instances
WithContext (ListWithLength t e) Source # | |
Defined in UI.Status.Main Methods renderContext :: AppState -> ListWithLength t e -> Widget Name Source # |
Used to identify widgets in brick
Constructors
listList :: Lens' (ListWithLength t a) (GenericList Name t a) Source #
listLength :: Lens' (ListWithLength t a) (Maybe Int) Source #
miMails :: Lens' MailIndex (ListWithLength Vector (Toggleable NotmuchMail)) Source #
miThreads :: Lens' MailIndex (ListWithLength V (Toggleable NotmuchThread)) Source #
miListOfMails :: Lens' MailIndex (GenericList Name Vector (Toggleable NotmuchMail)) Source #
miListOfThreads :: Lens' MailIndex (GenericList Name V (Toggleable NotmuchThread)) Source #
miListOfThreadsGeneration :: Lens' MailIndex Generation Source #
miSearchThreadsEditor :: Lens' MailIndex (Editor Text Name) Source #
miMailTagsEditor :: Lens' MailIndex (Editor Text Name) Source #
miThreadTagsEditor :: Lens' MailIndex (Editor Text Name) Source #
mbParagraph :: Traversal' MailBody Paragraph Source #
matchCount :: MailBody -> Int Source #
mLinenumber :: Lens' Match Int Source #
stNumber :: Lens' ScrollStep Int Source #
stMatch :: Lens' ScrollStep Match Source #
hasMatches :: Line -> Bool Source #
mvHeadersState :: Lens' MailView HeadersState Source #
mvAttachments :: Lens' MailView (List Name WireEntity) Source #
mvSaveToDiskPath :: Lens' MailView (Editor Text Name) Source #
mvOpenCommand :: Lens' MailView (Editor Text Name) Source #
mvPipeCommand :: Lens' MailView (Editor Text Name) Source #
mvFindWordEditor :: Lens' MailView (Editor Text Name) Source #
mvScrollSteps :: Lens' MailView (FocusRing ScrollStep) Source #
cAttachments :: Lens' Compose (List Name MIMEMessage) Source #
cKeepDraft :: Lens' Compose (Dialog ConfirmDraft) Source #
nmSearch :: Lens' (NotmuchSettings a) Text Source #
nmDatabase :: Lens (NotmuchSettings a) (NotmuchSettings b) a b Source #
nmNewTag :: Lens' (NotmuchSettings a) Tag Source #
nmDraftTag :: Lens' (NotmuchSettings a) Tag Source #
nmSentTag :: Lens' (NotmuchSettings a) Tag Source #
nmHasNewMailSearch :: Lens' (NotmuchSettings a) Text Source #
nmHasNewMailCheckDelay :: Lens' (NotmuchSettings a) (Maybe Delay) 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 #
confTheme :: ConfigurationLens AttrMap Source #
confEditor :: Lens (Configuration z a b c) (Configuration z a b' c) b b' Source #
confNotmuch :: Lens (Configuration z a b c) (Configuration z a' b c) (NotmuchSettings a) (NotmuchSettings a') Source #
confFileBrowserView :: Lens (Configuration z a b c) (Configuration z a b c') (FileBrowserSettings c) (FileBrowserSettings c') Source #
confCharsets :: ConfigurationLens CharsetLookup Source #
confExtra :: Lens (Configuration extra a b c) (Configuration extra' a b c) extra extra' Source #
confBChan :: Lens' InternalConfiguration (BChan PurebredEvent) Source #
confBoundary :: Lens' InternalConfiguration String Source #
confLogSink :: Lens' InternalConfiguration (Text -> IO ()) Source #
cvSendMailCmd :: Lens' ComposeViewSettings (Builder -> IO (Either Error ())) Source #
cvListOfAttachmentsKeybindings :: Lens' ComposeViewSettings [Keybinding ComposeView ComposeListOfAttachments] Source #
cvIdentities :: Lens' ComposeViewSettings [Mailbox] Source #
hvKeybindings :: Lens' HelpViewSettings [Keybinding Help ScrollingHelpView] Source #
ivSearchThreadsKeybindings :: Lens' IndexViewSettings [Keybinding Threads SearchThreadsEditor] Source #
ivManageThreadTagsKeybindings :: Lens' IndexViewSettings [Keybinding Threads ManageThreadTagsEditor] Source #
ivToKeybindings :: Lens' IndexViewSettings [Keybinding Threads ComposeTo] Source #
mvIndexRows :: Lens' MailViewSettings Int Source #
mvTextWidth :: Lens' MailViewSettings Int Source #
mvPreferredContentType :: Lens' MailViewSettings ContentType Source #
mvHeadersToShow :: Getter MailViewSettings (CI ByteString -> Bool) Source #
mvManageMailTagsKeybindings :: Lens' MailViewSettings [Keybinding ViewMail ManageMailTagsEditor] Source #
mvMailListOfAttachmentsKeybindings :: Lens' MailViewSettings [Keybinding ViewMail MailListOfAttachments] Source #
mvOpenWithKeybindings :: Lens' MailViewSettings [Keybinding ViewMail MailAttachmentOpenWithEditor] Source #
mvPipeToKeybindings :: Lens' MailViewSettings [Keybinding ViewMail MailAttachmentPipeToEditor] Source #
mvFindWordEditorKeybindings :: Lens' MailViewSettings [Keybinding ViewMail ScrollingMailViewFindWordEditor] Source #
mvMailcap :: Lens' MailViewSettings [(ContentType -> Bool, MailcapHandler)] Source #
mvSaveToDiskKeybindings :: Lens' MailViewSettings [Keybinding ViewMail SaveToDiskPathEditor] Source #
mvToKeybindings :: Lens' MailViewSettings [Keybinding ViewMail ComposeTo] Source #
hasCopiousoutput :: Traversal' [(ContentType -> Bool, MailcapHandler)] (ContentType -> Bool, MailcapHandler) Source #
vsFocusedView :: Lens' ViewSettings (FocusRing ViewName) Source #
fsEntryName :: Getter FileSystemEntry String Source #
fbEntries :: Lens' FileBrowser (List Name (Toggleable FileSystemEntry)) Source #
fbSearchPath :: Lens' FileBrowser (Editor FilePath Name) Source #
aValidation :: Lens' Async (Maybe ThreadId) Source #
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 #
asLocalTime :: Lens' AppState UTCTime Source #
aDescription :: Getter (Action v ctx a) [Text] Source #
kbEvent :: Getter (Keybinding v ctx) Event Source #
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 #
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
rsAcquire :: (MonadError Error m, MonadIO m) => Lens' (ResourceSpec m a) (m a) Source #
rsFree :: (MonadError Error m, MonadIO m) => Lens' (ResourceSpec m a) (a -> m ()) Source #
rsUpdate :: (MonadError Error m, MonadIO m) => Lens' (ResourceSpec m a) (a -> ByteString -> m ()) Source #
mpCommand :: Lens' MakeProcess (NonEmpty Char) Source #
isCopiousOutput :: CopiousOutput -> Bool Source #
mhMakeProcess :: Lens' MailcapHandler MakeProcess Source #
mhCopiousoutput :: Lens' MailcapHandler CopiousOutput Source #
mhKeepTemp :: Lens' MailcapHandler TempfileOnExit Source #
ccAfterExit :: (MonadIO m, MonadError Error m) => Lens' (EntityCommand m a) ((ExitCode, Tainted ByteString) -> a -> m Text) Source #
ccEntity :: Lens' (EntityCommand m a) ByteString Source #
ccProcessConfig :: Lens' (EntityCommand m a) (ByteString -> a -> ProcessConfig () () ()) Source #
ccResource :: (MonadIO m, MonadError Error m) => Lens' (EntityCommand m a) (ResourceSpec m a) Source #
ccRunProcess :: (MonadError Error m, MonadIO m) => Lens' (EntityCommand m a) (ProcessConfig () () () -> m (ExitCode, Tainted ByteString)) Source #
Instances
Eq Tag | |
Ord Tag | |
Show Tag | |
IsString Tag | |
Defined in Notmuch.Tag Methods fromString :: String -> Tag | |
NFData Tag | |
Defined in Notmuch.Tag |