This commit is contained in:
2026-04-06 09:49:47 +02:00
parent 500bfcba3c
commit 2032e61672
3 changed files with 60 additions and 0 deletions

5
pws/go.mod Normal file
View File

@@ -0,0 +1,5 @@
module pws
go 1.26.1
require github.com/rthornton128/goncurses v0.0.0-20251206192105-7e6d2302acca // indirect

2
pws/go.sum Normal file
View File

@@ -0,0 +1,2 @@
github.com/rthornton128/goncurses v0.0.0-20251206192105-7e6d2302acca h1:kFR/H0Y6K2vP5EU0lYLoRWXIiLPztK1r6DTUeSkNo08=
github.com/rthornton128/goncurses v0.0.0-20251206192105-7e6d2302acca/go.mod h1:AHlKFomPTwmO7H2vL8d7VNrQNQmhMi/DBhDnHRhjbCo=

53
pws/pws.go Normal file
View File

@@ -0,0 +1,53 @@
package main
// with this tool you can setup a pipewire audio configuration
// you can select the bitrate and the buffersize for your audiocard
// you need ncurses to be installed on your system
import (
"log"
gc "github.com/rthornton128/goncurses"
)
func main() {
// setup main window
stdscr, err := gc.Init()
if err != nil {
log.Fatal(err)
}
defer gc.End()
// HasColors can be used to determine whether the current terminal
// has the capability of using colours. You could then chose whether or
// not to use some other mechanism, like using A_REVERSE, instead
if !gc.HasColors() {
log.Fatal("Example requires a colour capable terminal")
}
// Must be called after Init but before using any colour related functions
if err := gc.StartColor(); err != nil {
log.Fatal(err)
}
gc.Echo(false)
// Initialize a colour pair. Should only fail if an improper pair value
// is given
if err := gc.InitPair(1, gc.C_BLACK, gc.C_CYAN); err != nil {
log.Fatal("InitPair failed: ", err)
}
stdscr.Keypad(true)
// ColorOn/Off is a shortcut to calling AttrOn/Off(gc.ColorPair(pair))
stdscr.ColorOn(1)
stdscr.SetBackground(gc.Char(' ') | gc.ColorPair(1))
stdscr.MovePrint(12, 30, "Hello, World!!!")
stdscr.MovePrint(13, 30, "Hello, World in Color!!!")
stdscr.Refresh()
stdscr.GetChar()
stdscr.ColorOff(1)
}