From 9aacce8b3b54060d0037eca897856d7273e6e5e8 Mon Sep 17 00:00:00 2001 From: Calvin Morrison Date: Sat, 22 Aug 2026 13:16:35 -0400 Subject: 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 --- gui/probe/go.mod | 3 +++ gui/probe/main.go | 5 +++++ 2 files changed, 8 insertions(+) create mode 100644 gui/probe/go.mod create mode 100644 gui/probe/main.go (limited to 'gui/probe') 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") } -- cgit v1.2.3