From 51ab51cf8cf9cc1403d3600595f88a6f2dbf811c Mon Sep 17 00:00:00 2001 From: Rasmus Lindroth Date: Tue, 27 Jul 2021 17:45:13 +0200 Subject: [PATCH] shorter hints --- config.go | 7 +++++++ feed.go | 48 ++++++++++++++++++++++---------------------- linkoverlay.go | 6 +++--- media.go | 8 ++++---- messagebox.go | 14 ++++++------- util.go | 10 ++++++--- visibilityoverlay.go | 2 +- 7 files changed, 53 insertions(+), 42 deletions(-) diff --git a/config.go b/config.go index 905432f..6f4da10 100644 --- a/config.go +++ b/config.go @@ -30,6 +30,7 @@ type GeneralConfig struct { NotificationFeed bool QuoteReply bool CharLimit int + ShortHints bool } type StyleConfig struct { @@ -239,6 +240,7 @@ func parseGeneral(cfg *ini.File) GeneralConfig { general.NotificationFeed = cfg.Section("general").Key("notification-feed").MustBool(true) general.QuoteReply = cfg.Section("general").Key("quote-reply").MustBool(false) general.CharLimit = cfg.Section("general").Key("char-limit").MustInt(500) + general.ShortHints = cfg.Section("general").Key("short-hints").MustBool(false) return general } @@ -467,6 +469,11 @@ quote-reply=false # default=500 char-limit=500 +# If you've learnt all the shortcut keys you can remove the help text and +# only show the key in tui. So it gets less cluttered. +# default=false +short-hints=false + [media] # Your image viewer # default=xdg-open diff --git a/feed.go b/feed.go index 16d17f3..fe6f88f 100644 --- a/feed.go +++ b/feed.go @@ -176,34 +176,34 @@ func showTootOptions(app *App, status *mastodon.Status, showSensitive bool) (str app.UI.StatusView.ScrollToBeginning() var info []string if status.Favourited == true { - info = append(info, ColorKey(app.Config.Style, "Un", "F", "avorite")) + info = append(info, ColorKey(app.Config, "Un", "F", "avorite")) } else { - info = append(info, ColorKey(app.Config.Style, "", "F", "avorite")) + info = append(info, ColorKey(app.Config, "", "F", "avorite")) } if status.Reblogged == true { - info = append(info, ColorKey(app.Config.Style, "Un", "B", "oost")) + info = append(info, ColorKey(app.Config, "Un", "B", "oost")) } else { - info = append(info, ColorKey(app.Config.Style, "", "B", "oost")) + info = append(info, ColorKey(app.Config, "", "B", "oost")) } - info = append(info, ColorKey(app.Config.Style, "", "T", "hread")) - info = append(info, ColorKey(app.Config.Style, "", "R", "eply")) - info = append(info, ColorKey(app.Config.Style, "", "V", "iew")) - info = append(info, ColorKey(app.Config.Style, "", "U", "ser")) + info = append(info, ColorKey(app.Config, "", "T", "hread")) + info = append(info, ColorKey(app.Config, "", "R", "eply")) + info = append(info, ColorKey(app.Config, "", "V", "iew")) + info = append(info, ColorKey(app.Config, "", "U", "ser")) if len(status.MediaAttachments) > 0 { - info = append(info, ColorKey(app.Config.Style, "", "M", "edia")) + info = append(info, ColorKey(app.Config, "", "M", "edia")) } if len(urls)+len(status.Mentions)+len(status.Tags) > 0 { - info = append(info, ColorKey(app.Config.Style, "", "O", "pen")) + info = append(info, ColorKey(app.Config, "", "O", "pen")) } - info = append(info, ColorKey(app.Config.Style, "", "A", "vatar")) + info = append(info, ColorKey(app.Config, "", "A", "vatar")) if status.Account.ID == app.Me.ID { - info = append(info, ColorKey(app.Config.Style, "", "D", "elete")) + info = append(info, ColorKey(app.Config, "", "D", "elete")) } if status.Bookmarked == false { - info = append(info, ColorKey(app.Config.Style, "", "S", "ave")) + info = append(info, ColorKey(app.Config, "", "S", "ave")) } else { - info = append(info, ColorKey(app.Config.Style, "Un", "S", "ave")) + info = append(info, ColorKey(app.Config, "Un", "S", "ave")) } controls := strings.Join(info, " ") @@ -240,28 +240,28 @@ func showUser(app *App, user *mastodon.Account, relation *mastodon.Relationship, var controlItems []string if app.Me.ID != user.ID { if relation.Following { - controlItems = append(controlItems, ColorKey(app.Config.Style, "Un", "F", "ollow")) + controlItems = append(controlItems, ColorKey(app.Config, "Un", "F", "ollow")) } else { - controlItems = append(controlItems, ColorKey(app.Config.Style, "", "F", "ollow")) + controlItems = append(controlItems, ColorKey(app.Config, "", "F", "ollow")) } if relation.Blocking { - controlItems = append(controlItems, ColorKey(app.Config.Style, "Un", "B", "lock")) + controlItems = append(controlItems, ColorKey(app.Config, "Un", "B", "lock")) } else { - controlItems = append(controlItems, ColorKey(app.Config.Style, "", "B", "lock")) + controlItems = append(controlItems, ColorKey(app.Config, "", "B", "lock")) } if relation.Muting { - controlItems = append(controlItems, ColorKey(app.Config.Style, "Un", "M", "ute")) + controlItems = append(controlItems, ColorKey(app.Config, "Un", "M", "ute")) } else { - controlItems = append(controlItems, ColorKey(app.Config.Style, "", "M", "ute")) + controlItems = append(controlItems, ColorKey(app.Config, "", "M", "ute")) } if len(urls) > 0 { - controlItems = append(controlItems, ColorKey(app.Config.Style, "", "O", "pen")) + controlItems = append(controlItems, ColorKey(app.Config, "", "O", "pen")) } } if showUserControl { - controlItems = append(controlItems, ColorKey(app.Config.Style, "", "U", "ser")) + controlItems = append(controlItems, ColorKey(app.Config, "", "U", "ser")) } - controlItems = append(controlItems, ColorKey(app.Config.Style, "", "A", "vatar")) + controlItems = append(controlItems, ColorKey(app.Config, "", "A", "vatar")) controls = strings.Join(controlItems, " ") return text, controls @@ -1119,7 +1119,7 @@ func (n *NotificationsFeed) DrawToot() { switch notification.Type { case "follow": text = SublteText(n.app.Config.Style, FormatUsername(notification.Account)+" started following you\n\n") - controls = ColorKey(n.app.Config.Style, "", "U", "ser") + controls = ColorKey(n.app.Config, "", "U", "ser") case "favourite": pre := SublteText(n.app.Config.Style, FormatUsername(notification.Account)+" favorited your toot") + "\n\n" text, controls = showTootOptions(n.app, notification.Status, n.showSpoiler) diff --git a/linkoverlay.go b/linkoverlay.go index 8a49d1b..cf53144 100644 --- a/linkoverlay.go +++ b/linkoverlay.go @@ -28,10 +28,10 @@ func NewLinkOverlay(app *App) *LinkOverlay { l.List.SetHighlightFullLine(true) l.Flex.SetDrawFunc(app.Config.ClearContent) var items []string - items = append(items, ColorKey(app.Config.Style, "", "O", "pen")) - items = append(items, ColorKey(app.Config.Style, "", "Y", "ank")) + items = append(items, ColorKey(app.Config, "", "O", "pen")) + items = append(items, ColorKey(app.Config, "", "Y", "ank")) for _, cust := range app.Config.OpenCustom.OpenCustoms { - items = append(items, ColorKey(app.Config.Style, "", fmt.Sprintf("%d", cust.Index), cust.Name)) + items = append(items, ColorKey(app.Config, "", fmt.Sprintf("%d", cust.Index), cust.Name)) } l.TextBottom.SetText(strings.Join(items, " ")) return l diff --git a/media.go b/media.go index 670c630..0d2638a 100644 --- a/media.go +++ b/media.go @@ -93,10 +93,10 @@ func (m *MediaView) Draw() { m.TextTop.SetText(topText) var items []string - items = append(items, ColorKey(m.app.Config.Style, "", "A", "dd file")) - items = append(items, ColorKey(m.app.Config.Style, "", "D", "elete file")) - items = append(items, ColorKey(m.app.Config.Style, "", "E", "dit desc")) - items = append(items, ColorKey(m.app.Config.Style, "", "Esc", " Done")) + items = append(items, ColorKey(m.app.Config, "", "A", "dd file")) + items = append(items, ColorKey(m.app.Config, "", "D", "elete file")) + items = append(items, ColorKey(m.app.Config, "", "E", "dit desc")) + items = append(items, ColorKey(m.app.Config, "", "Esc", " Done")) m.TextBottom.SetText(strings.Join(items, " ")) } diff --git a/messagebox.go b/messagebox.go index 0ca016e..bd2895e 100644 --- a/messagebox.go +++ b/messagebox.go @@ -171,13 +171,13 @@ func (m *MessageBox) TootLength() int { func (m *MessageBox) Draw() { var items []string - items = append(items, ColorKey(m.app.Config.Style, "", "P", "ost")) - items = append(items, ColorKey(m.app.Config.Style, "", "E", "dit")) - items = append(items, ColorKey(m.app.Config.Style, "", "V", "isibility")) - items = append(items, ColorKey(m.app.Config.Style, "", "T", "oggle CW")) - items = append(items, ColorKey(m.app.Config.Style, "", "C", "ontent warning text")) - items = append(items, ColorKey(m.app.Config.Style, "", "M", "edia attachment")) - items = append(items, ColorKey(m.app.Config.Style, "", "I", "nclude quote")) + items = append(items, ColorKey(m.app.Config, "", "P", "ost")) + items = append(items, ColorKey(m.app.Config, "", "E", "dit")) + items = append(items, ColorKey(m.app.Config, "", "V", "isibility")) + items = append(items, ColorKey(m.app.Config, "", "T", "oggle CW")) + items = append(items, ColorKey(m.app.Config, "", "C", "ontent warning text")) + items = append(items, ColorKey(m.app.Config, "", "M", "edia attachment")) + items = append(items, ColorKey(m.app.Config, "", "I", "nclude quote")) status := strings.Join(items, " ") m.Controls.SetText(status) diff --git a/util.go b/util.go index 9813612..215087a 100644 --- a/util.go +++ b/util.go @@ -270,10 +270,14 @@ func FindFiles(s string) []string { return files } -func ColorKey(style StyleConfig, pre, key, end string) string { - color := ColorMark(style.TextSpecial2) - normal := ColorMark(style.Text) +func ColorKey(c *Config, pre, key, end string) string { + color := ColorMark(c.Style.TextSpecial2) + normal := ColorMark(c.Style.Text) key = tview.Escape("[" + key + "]") + if c.General.ShortHints { + pre = "" + end = "" + } text := fmt.Sprintf("%s%s%s%s%s%s", normal, pre, color, key, normal, end) return text } diff --git a/visibilityoverlay.go b/visibilityoverlay.go index 509398f..18f45ec 100644 --- a/visibilityoverlay.go +++ b/visibilityoverlay.go @@ -23,7 +23,7 @@ func NewVisibilityOverlay(app *App) *VisibilityOverlay { v.List.ShowSecondaryText(false) v.List.SetHighlightFullLine(true) v.Flex.SetDrawFunc(app.Config.ClearContent) - v.TextBottom.SetText(ColorKey(app.Config.Style, "", "Enter", "")) + v.TextBottom.SetText(ColorKey(app.Config, "", "Enter", "")) return v }