aboutsummaryrefslogtreecommitdiff
path: root/gui/cmd/krino-gui/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'gui/cmd/krino-gui/main.go')
-rw-r--r--gui/cmd/krino-gui/main.go34
1 files changed, 34 insertions, 0 deletions
diff --git a/gui/cmd/krino-gui/main.go b/gui/cmd/krino-gui/main.go
new file mode 100644
index 0000000..4142e8c
--- /dev/null
+++ b/gui/cmd/krino-gui/main.go
@@ -0,0 +1,34 @@
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+// krino-gui is a GTK4 window for krino: review a directory's plan and apply
+// the files you choose, look back over runs and undo them, and write rules.
+// Every decision is the engine's; see docs/gui-design.md.
+package main
+
+import (
+ "fmt"
+ "os"
+
+ "github.com/diamondburned/gotk4/pkg/gtk/v4"
+)
+
+// version is stamped at build time, as krino's is.
+var version = "dev"
+
+func main() {
+ if len(os.Args) > 1 && os.Args[1] == "--version" {
+ fmt.Println("krino-gui " + version)
+ return
+ }
+ app := gtk.NewApplication("xyz.labunix.krino", 0)
+ app.ConnectActivate(func() {
+ win := gtk.NewApplicationWindow(app)
+ win.SetTitle("krino")
+ win.SetDefaultSize(900, 600)
+ win.SetChild(gtk.NewLabel("krino-gui"))
+ win.Show()
+ })
+ if code := app.Run(os.Args); code != 0 {
+ os.Exit(code)
+ }
+}