aboutsummaryrefslogtreecommitdiff
path: root/runcmd/main.go
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2016-10-13 00:50:10 +0200
committerDimitri Sokolyuk <demon@dim13.org>2016-10-13 00:50:10 +0200
commit5417f3e0bf137a95d30cec9cb632bcc245ce1e85 (patch)
tree565cd49b9b5530448f596bd33ba7d74777247a3e /runcmd/main.go
parent66996dc337ce7f8a20814da28f39b6e6dc435be0 (diff)
cmd
Diffstat (limited to 'runcmd/main.go')
-rw-r--r--runcmd/main.go61
1 files changed, 0 insertions, 61 deletions
diff --git a/runcmd/main.go b/runcmd/main.go
deleted file mode 100644
index e2e5b52..0000000
--- a/runcmd/main.go
+++ /dev/null
@@ -1,61 +0,0 @@
-package main
-
-import (
- "log"
- "os"
- "os/exec"
-
- "dim13.org/redbutton"
-)
-
-type StateFn func(redbutton.Button) StateFn
-
-func Init(b redbutton.Button) StateFn {
- if b == redbutton.Armed {
- log.Println("Ready...")
- return Armed
- }
- return Init
-}
-
-func Armed(b redbutton.Button) StateFn {
- if b == redbutton.Pressed {
- log.Println("Go!")
- go Exec(os.Args[1:])
- return Reset
- }
- return Init
-}
-
-func Reset(b redbutton.Button) StateFn {
- if b == redbutton.Closed {
- return Init
- }
- return Reset
-}
-
-func Exec(args []string) {
- cmd := exec.Command(args[0], args[1:]...)
- out, err := cmd.CombinedOutput()
- if err != nil {
- log.Fatal(err)
- }
- log.Println(string(out))
-}
-
-func main() {
- if len(os.Args) < 2 {
- log.Fatal("Usage: ", os.Args[0], " <command>")
- }
-
- dev, err := redbutton.Open()
- if err != nil {
- log.Fatal(err)
- }
- defer dev.Close()
-
- state := redbutton.Poll(dev)
- for stateFn := Init; stateFn != nil; {
- stateFn = stateFn(<-state)
- }
-}