Allow for optional external viewer args

In order to pass in options like `--new-window` to an external viewer like
`firefox`, optional args can now be defined in configuration. See
config-example.yaml for an example.
This commit is contained in:
Dave Gallant
2020-04-04 22:55:33 -04:00
parent 49ea48976d
commit 073db44b81
6 changed files with 24 additions and 14 deletions

8
cui/colours.go Normal file
View File

@@ -0,0 +1,8 @@
package cui
import "github.com/jroimartin/gocui"
const (
selectionBgColor = gocui.ColorWhite
selectionFgColor = gocui.ColorBlack
)

View File

@@ -63,8 +63,9 @@ func openFeed(g *gocui.Gui, v *gocui.View) error {
func openItem(g *gocui.Gui, v *gocui.View) error {
_, cy := v.Cursor()
item := Controller.Rss.Feeds[currentFeed].Items[cy]
viewer := Controller.Config.ExternalViewer
err := exec.Command(viewer, item.Link).Start()
err := exec.Command(
Controller.Config.ExternalViewer,
append(Controller.Config.ExternalViewerArgs, item.Link)...).Start()
if err != nil {
log.Fatal(err)
@@ -138,8 +139,8 @@ func layout(g *gocui.Gui) error {
}
v.Title = "Feeds"
v.Highlight = true
v.SelBgColor = gocui.ColorGreen
v.SelFgColor = gocui.ColorBlack
v.SelBgColor = selectionBgColor
v.SelFgColor = selectionFgColor
if _, err = setCurrentViewOnTop(g, "feeds"); err != nil {
return err
@@ -154,8 +155,8 @@ func layout(g *gocui.Gui) error {
}
v.Title = "Items"
v.Highlight = true
v.SelBgColor = gocui.ColorGreen
v.SelFgColor = gocui.ColorBlack
v.SelBgColor = selectionBgColor
v.SelFgColor = selectionFgColor
}
return nil
}