1
0
mirror of https://github.com/taigrr/wtf synced 2025-01-18 04:03:14 -08:00

Add Makefile support for 'make install' and version info

This commit is contained in:
Chris Cummer 2018-04-23 17:35:14 -07:00
parent 34dcdbbe66
commit 5a31de74fe
4 changed files with 39 additions and 14 deletions

View File

@ -0,0 +1,2 @@
install:
go install -ldflags="-X main.version=$(shell git describe --always --long --dirty)"

View File

@ -1,7 +1,7 @@
package status package status
import ( import (
//"fmt" "fmt"
//"sort" //"sort"
//"strings" //"strings"
"time" "time"
@ -17,12 +17,14 @@ type Widget struct {
wtf.TextWidget wtf.TextWidget
Current int Current int
Version string
} }
func NewWidget() *Widget { func NewWidget(version string) *Widget {
widget := Widget{ widget := Widget{
TextWidget: wtf.NewTextWidget(" 🎉 Status ", "status"), TextWidget: wtf.NewTextWidget(" 🎉 Status ", "status"),
Current: 0, Current: 0,
Version: version,
} }
return &widget return &widget
@ -35,14 +37,14 @@ func (widget *Widget) Refresh() {
return return
} }
//_, _, w, _ := widget.View.GetInnerRect() _, _, w, _ := widget.View.GetInnerRect()
//widget.View.Clear() widget.View.Clear()
//fmt.Fprintf( fmt.Fprintf(
//widget.View, widget.View,
//fmt.Sprintf("\n%%%ds", w-1), fmt.Sprintf("\n%%%ds", w-1),
//widget.timezones(), widget.Version,
//) )
widget.RefreshedAt = time.Now() widget.RefreshedAt = time.Now()
} }

View File

@ -1,8 +1,6 @@
package todo package todo
import ( import ()
"fmt"
)
type List struct { type List struct {
Items []*Item Items []*Item

27
wtf.go
View File

@ -2,9 +2,9 @@ package main
import ( import (
"flag" "flag"
"fmt"
"os" "os"
"time" "time"
//"math/rand"
"github.com/gdamore/tcell" "github.com/gdamore/tcell"
"github.com/olebedev/config" "github.com/olebedev/config"
@ -99,19 +99,42 @@ func refreshAllModules() {
} }
} }
func versionInfo() {
fmt.Printf("Version: %s\n", version)
os.Exit(0)
}
var result = wtf.CreateConfigDir() var result = wtf.CreateConfigDir()
var Config *config.Config var Config *config.Config
var FocusTracker wtf.FocusTracker var FocusTracker wtf.FocusTracker
var Widgets []wtf.TextViewer var Widgets []wtf.TextViewer
var version = "dev"
/* -------------------- Main -------------------- */ /* -------------------- Main -------------------- */
func main() { func main() {
// Optional argument to accept path to a config file // Optional argument to accept path to a config file
configFile := flag.String("config", "~/.wtf/config.yml", "Path to config file") configFile := flag.String("config", "~/.wtf/config.yml", "Path to config file")
flagVersion := flag.Bool("version", false, "Show version info")
flag.Parse() flag.Parse()
if *flagVersion {
versionInfo()
}
// If we're just displaying the version, exit early
args := flag.Args()
cmd := args[0]
switch cmd {
case "help", "--help", "-h":
os.Exit(0)
case "version", "--version":
versionInfo()
}
Config = wtf.LoadConfigFile(*configFile) Config = wtf.LoadConfigFile(*configFile)
wtf.Config = Config wtf.Config = Config
@ -140,7 +163,7 @@ func main() {
newrelic.NewWidget(), newrelic.NewWidget(),
opsgenie.NewWidget(), opsgenie.NewWidget(),
security.NewWidget(), security.NewWidget(),
status.NewWidget(), status.NewWidget(version),
textfile.NewWidget(), textfile.NewWidget(),
todo.NewWidget(), todo.NewWidget(),
weather.NewWidget(), weather.NewWidget(),