Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "log"
- "github.com/marcusolsson/tui-go"
- )
- var logo string = "My Logo"
- func main() {
- Login()
- }
- func Login() {
- inUser := tui.NewEntry()
- inUser.SetFocused(true)
- inPass := tui.NewEntry()
- inPass.SetEchoMode(tui.EchoModePassword)
- form := tui.NewGrid(0, 0)
- form.AppendRow(tui.NewLabel("Username"), tui.NewLabel("Password"))
- form.AppendRow(inUser, inPass)
- // TODO: create OnActivated function
- btnLogin := tui.NewButton("[Login]")
- // TODO: create OnActivated function
- btnRegister := tui.NewButton("[Register]")
- buttons := tui.NewHBox(
- tui.NewSpacer(),
- tui.NewPadder(1, 0, btnLogin),
- tui.NewPadder(1, 0, btnRegister),
- )
- window := tui.NewVBox(
- tui.NewPadder(1, 1, form),
- buttons,
- )
- window.SetBorder(true)
- root := tui.NewVBox(
- tui.NewSpacer(),
- window,
- tui.NewSpacer(),
- )
- tui.DefaultFocusChain.Set(inUser, inPass, btnLogin, btnRegister)
- ui, err := tui.New(root)
- if err != nil {
- log.Fatal(err)
- }
- ui.SetKeybinding("Esc", func() { ui.Quit() })
- if err := ui.Run(); err != nil {
- log.Fatal(err)
- }
- }
- package main
- import (
- "net"
- "log"
- "io"
- "os/exec"
- "github.com/kr/pty"
- )
- func main() {
- ln, err := net.Listen("tcp", ":2323")
- if err != nil {
- log.Fatal(err)
- }
- defer ln.Close()
- for {
- conn, err := ln.Accept()
- if err != nil {
- log.Fatal(err)
- }
- go startProg(conn)
- }
- }
- func startProg(conn net.Conn) {
- defer conn.Close()
- term, err := pty.StartWithSize(
- exec.Command("./program"),
- &pty.Winsize{Cols: 100, Rows: 30},
- )
- if err != nil {
- log.Fatal(err)
- }
- defer term.Close()
- go io.Copy(term, conn)
- io.Copy(conn, term)
- }
Add Comment
Please, Sign In to add comment