i3-blocks-go/blocks/app/main.go
Simon Vieille 79fe14e059
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
use flag instead os os.Args
2022-08-30 15:42:28 +02:00

43 lines
945 B
Go

package main
import (
"flag"
"fmt"
r "gitnet.fr/deblan/i3-blocks-go/rendering"
"os"
"os/exec"
"sync"
)
func runCmd(wg *sync.WaitGroup, value string) {
defer wg.Done()
command := exec.Command("tmux", "new", "-d", value)
command.Run()
}
func main() {
var wg sync.WaitGroup
argBlockName := flag.String("block", "app", "block name")
argName := flag.String("name", "", "name of the app")
argCommand := flag.String("cmd", "", "command to run on click")
argBgColor := flag.String("bg-color", "#333333", "background color")
argFbColor := flag.String("fg-color", "#ffffff", "foreground color")
flag.Parse()
if os.Getenv("BLOCK_BUTTON") == "1" && *argCommand != "" {
wg.Add(1)
go runCmd(&wg, *argCommand)
}
options := r.NewBlockOptions()
options.FullText = r.TextWithPadding(*argName, r.FB{
Background: *argBgColor,
Foreground: *argFbColor,
})
block := r.Block(*argBlockName, options)
fmt.Println(block)
wg.Wait()
}