From 8dd7388864605bf5474d36c14c00ea29731bd4a8 Mon Sep 17 00:00:00 2001 From: Thomas Sindt Date: Sat, 28 Feb 2026 23:36:39 +0100 Subject: [PATCH] umfangreicheres Beispiel --- pwsetup/pwsetup.go | 35 +++++++++++++++++++++++++++++------ 1 file changed, 29 insertions(+), 6 deletions(-) diff --git a/pwsetup/pwsetup.go b/pwsetup/pwsetup.go index 6325169..75cc949 100644 --- a/pwsetup/pwsetup.go +++ b/pwsetup/pwsetup.go @@ -8,24 +8,47 @@ package main import ( + "github.com/gdamore/tcell/v2" "github.com/rivo/tview" ) +type PWSetup struct { + samplerate string + buffersize string +} + +var pwsetup PWSetup + func main() { app := tview.NewApplication() - + pages := tview.NewPages() + + text := tview.NewTextView(). + SetTextColor(tcell.ColorGreen). + SetText("Samplerate: " + pwsetup.samplerate) + form := tview.NewForm(). - AddDropDown("SampleRate: ", []string{"44100", "48000", "96000"}, 0, func(option string, index int){ - + AddDropDown("SampleRate: ", []string{"44100", "48000", "96000"}, 0, func(option string, index int) { + pwsetup.samplerate = option + }). + AddDropDown("Buffer : ", []string{"64", "128", "256", "512", "1024", "2048"}, 0, func(option string, index int) { + pwsetup.buffersize = option }). - AddDropDown("Buffer : ", []string{"64", "128", "256", "512", "1024", "2048"}, 0, nil). AddTextView("Notes", "Set sample rate and buffersize for Pipewire", 40, 2, true, false). - AddButton("Set", nil). + AddButton("Set", func() { + text.SetText("SampleRate: " + pwsetup.samplerate) + pages.SwitchToPage("result") + }). AddButton("Quit", func() { app.Stop() }) + form.SetBorder(true).SetTitle(" Pipewire setup ").SetTitleAlign(tview.AlignLeft) - if err := app.SetRoot(form, true).EnableMouse(true).EnablePaste(true).Run(); err != nil { + + pages.AddPage("pwsetup", form, true, true) + pages.AddPage("result", text, true, false) + + if err := app.SetRoot(pages, true).EnableMouse(true).EnablePaste(true).Run(); err != nil { panic(err) } }