43 lines
857 B
Go
43 lines
857 B
Go
|
package main
|
||
|
|
||
|
import (
|
||
|
"flag"
|
||
|
"fmt"
|
||
|
"git.ophivana.moe/cat/fortify/internal/state"
|
||
|
"os"
|
||
|
"text/tabwriter"
|
||
|
)
|
||
|
|
||
|
var (
|
||
|
stateActionEarly [2]bool
|
||
|
)
|
||
|
|
||
|
func init() {
|
||
|
flag.BoolVar(&stateActionEarly[0], "state", false, "print state information of active launchers")
|
||
|
flag.BoolVar(&stateActionEarly[1], "state-current", false, "print state information of active launchers for the specified user")
|
||
|
}
|
||
|
|
||
|
// tryState is called after app initialisation
|
||
|
func tryState() {
|
||
|
var w *tabwriter.Writer
|
||
|
|
||
|
switch {
|
||
|
case stateActionEarly[0]:
|
||
|
state.MustPrintLauncherStateGlobal(&w, a.RunDir())
|
||
|
case stateActionEarly[1]:
|
||
|
state.MustPrintLauncherState(&w, a.RunDir(), a.Uid)
|
||
|
default:
|
||
|
return
|
||
|
}
|
||
|
|
||
|
if w != nil {
|
||
|
if err := w.Flush(); err != nil {
|
||
|
fmt.Println("warn: error formatting output:", err)
|
||
|
}
|
||
|
} else {
|
||
|
fmt.Println("No information available")
|
||
|
}
|
||
|
|
||
|
os.Exit(0)
|
||
|
}
|