上のキャプチャのように指定した箇所(今回は画面左下)に文字列を出力する方法を見ていきます。
画面左下に文字列を出力するには、画面左下の座標を把握する必要があります。
画面(スクリーン)のサイズはScreenパッケージのSizeメソッドで取得出来ます。
tcell/screen.go at main · gdamore/tcell
上記内容を踏まえた上で、tcellのscreen.SetContentメソッドについてで作成したコードを改修します。
package main import ( "github.com/gdamore/tcell/v2" ) func main() { screen, err := tcell.NewScreen() if err != nil { panic(err) } if err := screen.Init(); err != nil { panic(err) } defer screen.Fini() runes := []rune{'a', 'b', 'c'} // screen.Size()でw(幅)とh(高さ)を取得できるが、wは使用しないので破棄 _, h := screen.Size() screen.SetContent(0, h-1, 'z', runes, tcell.StyleDefault) screen.Show() // Escでプログラムを終了できるようにする for { ev := screen.PollEvent() // イベントを取得する switch ev := ev.(type) { case *tcell.EventKey: switch ev.Key() { // 何のキーが押されたか?を調べる case tcell.KeyEscape: // ESCキーが押されたら終了する return } default: // } } }
_, h := screen.Size()
で画面の幅と高さを取得し、
screen.SetContent(0, h-1, 'z', runes, tcell.StyleDefault)
で、幅ギリギリの箇所(h-1)で文字列を出力するように指定しています。