forked from gizak/termui
-
Notifications
You must be signed in to change notification settings - Fork 13
Expand file tree
/
Copy pathmain.go
More file actions
49 lines (40 loc) · 1.1 KB
/
main.go
File metadata and controls
49 lines (40 loc) · 1.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
package main
import (
"log"
ui "github.com/metaspartan/gotui/v5"
"github.com/metaspartan/gotui/v5/widgets"
)
func main() {
if err := ui.Init(); err != nil {
log.Fatalf("failed to initialize gotui: %v", err)
}
defer ui.Close()
// Set global background to Blue
ui.ClearBackground(ui.ColorBlue)
p := widgets.NewParagraph()
p.Text = "The entire terminal background should be BLUE!"
p.SetRect(5, 5, 50, 10)
p.Border = true
p.Title = "Global Background"
// Style: Blue Background, Black Text, Black Border
p.BackgroundColor = ui.ColorBlue
p.TextStyle = ui.NewStyle(ui.ColorBlack, ui.ColorBlue)
p.BorderStyle = ui.NewStyle(ui.ColorBlack, ui.ColorBlue)
p.TitleStyle = ui.NewStyle(ui.ColorBlack, ui.ColorBlue)
// Instructions
info := widgets.NewParagraph()
info.Text = "Press q to quit"
info.SetRect(5, 12, 50, 15)
info.BackgroundColor = ui.ColorBlue
info.TextStyle = ui.NewStyle(ui.ColorBlack, ui.ColorBlue)
info.BorderStyle = ui.NewStyle(ui.ColorBlack, ui.ColorBlue)
ui.Render(p, info)
uiEvents := ui.PollEvents()
for {
e := <-uiEvents
switch e.ID {
case "q", "<C-c>":
return
}
}
}