summaryrefslogtreecommitdiff
path: root/gui/probe
diff options
context:
space:
mode:
authorCalvin Morrison <calvin@pobox.com>2026-08-22 13:16:35 -0400
committerCalvin Morrison <calvin@pobox.com>2026-08-22 13:16:35 -0400
commit9aacce8b3b54060d0037eca897856d7273e6e5e8 (patch)
treea98ea0cb151a7ded56fe681d6782986b2807dfcf /gui/probe
parent5ef4699d05bc919255449a9af780f216a0589a72 (diff)
gui: a /dev/draw layer in go, with no cgo and no devdraw
9fans.net/go/draw builds for plan9 but shells out to plan9port's devdraw, which 9front does not have. This talks to /dev/draw itself: the protocol is file i/o, so a pure-go client is a few hundred lines under an already-complete idea. draw/keyboard.go opens /dev/cons and turns the console raw, as libdraw's initkeyboard does. Without it rio keeps its line editor on the window and paints what you type over the drawing. draw/snarf.go writes /dev/snarf, which is what every other program on the system means by copy. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Diffstat (limited to 'gui/probe')
-rw-r--r--gui/probe/go.mod3
-rw-r--r--gui/probe/main.go5
2 files changed, 8 insertions, 0 deletions
diff --git a/gui/probe/go.mod b/gui/probe/go.mod
new file mode 100644
index 0000000..6edd0a9
--- /dev/null
+++ b/gui/probe/go.mod
@@ -0,0 +1,3 @@
+module probe
+
+go 1.21
diff --git a/gui/probe/main.go b/gui/probe/main.go
new file mode 100644
index 0000000..26b925b
--- /dev/null
+++ b/gui/probe/main.go
@@ -0,0 +1,5 @@
+package main
+
+import "fmt"
+
+func main() { fmt.Println("hello from go on plan9") }