From 32328e33ded904cf05399c7ae68b467755d56f2b Mon Sep 17 00:00:00 2001 From: Jonathan Dowland Date: Fri, 9 Feb 2024 21:51:00 +0000 Subject: [PATCH] feat: ui: Add a dark theme I wanted a theme with roughly the same degree of colour as the default but which was easier on my eyes late at night. Signed-off-by: Jonathan Dowland --- hledger-ui/Hledger/UI/Theme.hs | 23 +++++++++++++++++++++++ hledger-ui/hledger-ui.1 | 2 +- hledger-ui/hledger-ui.info | 2 +- hledger-ui/hledger-ui.m4.md | 2 +- hledger-ui/hledger-ui.txt | 2 +- 5 files changed, 27 insertions(+), 4 deletions(-) diff --git a/hledger-ui/Hledger/UI/Theme.hs b/hledger-ui/Hledger/UI/Theme.hs index 88cf5e595b0..06883bd6c11 100644 --- a/hledger-ui/Hledger/UI/Theme.hs +++ b/hledger-ui/Hledger/UI/Theme.hs @@ -103,6 +103,29 @@ themesList = [ (attrName "list" <> attrName "selected" , defAttr & reverseVideo) ]) + ,("dark", attrMap (white `on` black & dim) [ + (attrName "border" , white `on` black) + , (attrName "border" <> attrName "bold" , currentAttr & bold) + , (attrName "border" <> attrName "depth" , active) + , (attrName "border" <> attrName "filename" , currentAttr) + , (attrName "border" <> attrName "key" , active) + , (attrName "border" <> attrName "minibuffer" , white `on` black & bold) + , (attrName "border" <> attrName "query" , active) + , (attrName "border" <> attrName "selected" , active) + , (attrName "error" , fg red) + , (attrName "help" , currentAttr & bold) + , (attrName "help" <> attrName "heading" , fg blue) + , (attrName "help" <> attrName "key" , active) + , (attrName "list" <> attrName "amount" <> attrName "decrease" , fg red) + , (attrName "list" <> attrName "amount" <> attrName "decrease" <> attrName "selected" , red `on` black & bold) + , (attrName "list" <> attrName "balance" , currentAttr) + , (attrName "list" <> attrName "balance" <> attrName "negative" , fg red) + , (attrName "list" <> attrName "balance" <> attrName "positive" , fg white) + , (attrName "list" <> attrName "balance" <> attrName "negative" <> attrName "selected" , red `on` black & bold) + , (attrName "list" <> attrName "balance" <> attrName "positive" <> attrName "selected" , yellow `on` black & bold) + , (attrName "list" <> attrName "selected" , yellow `on` black & bold) + ]) + ] -- halfbrightattr = defAttr & dim diff --git a/hledger-ui/hledger-ui.1 b/hledger-ui/hledger-ui.1 index f2aa3dbbd61..4c10310d99e 100644 --- a/hledger-ui/hledger-ui.1 +++ b/hledger-ui/hledger-ui.1 @@ -49,7 +49,7 @@ hledger\-ui provides the following options: \f[CR]\-w \-\-watch\f[R] watch for data and date changes and reload automatically .TP -\f[CR]\-\-theme=default|terminal|greenterm\f[R] +\f[CR]\-\-theme=default|terminal|greenterm|dark\f[R] use this custom display theme .TP \f[CR]\-\-menu\f[R] diff --git a/hledger-ui/hledger-ui.info b/hledger-ui/hledger-ui.info index 7bce215aa14..69618b1cc3e 100644 --- a/hledger-ui/hledger-ui.info +++ b/hledger-ui/hledger-ui.info @@ -66,7 +66,7 @@ the data. '-w --watch' watch for data and date changes and reload automatically -'--theme=default|terminal|greenterm' +'--theme=default|terminal|greenterm|dark' use this custom display theme '--menu' diff --git a/hledger-ui/hledger-ui.m4.md b/hledger-ui/hledger-ui.m4.md index 12069c00e49..587b7e6652c 100644 --- a/hledger-ui/hledger-ui.m4.md +++ b/hledger-ui/hledger-ui.m4.md @@ -57,7 +57,7 @@ hledger-ui provides the following options: `-w --watch` : watch for data and date changes and reload automatically -`--theme=default|terminal|greenterm` +`--theme=default|terminal|greenterm|dark` : use this custom display theme `--menu` diff --git a/hledger-ui/hledger-ui.txt b/hledger-ui/hledger-ui.txt index 2e5bcace945..906545538c1 100644 --- a/hledger-ui/hledger-ui.txt +++ b/hledger-ui/hledger-ui.txt @@ -44,7 +44,7 @@ OPTIONS -w --watch watch for data and date changes and reload automatically - --theme=default|terminal|greenterm + --theme=default|terminal|greenterm|dark use this custom display theme --menu start in the menu screen