SVI fc8ab952b5 d01 Удаление ошмётков графики 3 vuotta sitten
..
terminfo fc8ab952b5 d01 Удаление ошмётков графики 3 vuotta sitten
.appveyor.yml fc8ab952b5 d01 Удаление ошмётков графики 3 vuotta sitten
.gitignore fc8ab952b5 d01 Удаление ошмётков графики 3 vuotta sitten
.travis.yml fc8ab952b5 d01 Удаление ошмётков графики 3 vuotta sitten
AUTHORS fc8ab952b5 d01 Удаление ошмётков графики 3 vuotta sitten
CHANGESv2.md fc8ab952b5 d01 Удаление ошмётков графики 3 vuotta sitten
LICENSE fc8ab952b5 d01 Удаление ошмётков графики 3 vuotta sitten
README-wasm.md fc8ab952b5 d01 Удаление ошмётков графики 3 vuotta sitten
README.md fc8ab952b5 d01 Удаление ошмётков графики 3 vuotta sitten
TUTORIAL.md fc8ab952b5 d01 Удаление ошмётков графики 3 vuotta sitten
UKRAINE.md fc8ab952b5 d01 Удаление ошмётков графики 3 vuotta sitten
attr.go fc8ab952b5 d01 Удаление ошмётков графики 3 vuotta sitten
cell.go fc8ab952b5 d01 Удаление ошмётков графики 3 vuotta sitten
charset_stub.go fc8ab952b5 d01 Удаление ошмётков графики 3 vuotta sitten
charset_unix.go fc8ab952b5 d01 Удаление ошмётков графики 3 vuotta sitten
charset_windows.go fc8ab952b5 d01 Удаление ошмётков графики 3 vuotta sitten
color.go fc8ab952b5 d01 Удаление ошмётков графики 3 vuotta sitten
colorfit.go fc8ab952b5 d01 Удаление ошмётков графики 3 vuotta sitten
console_stub.go fc8ab952b5 d01 Удаление ошмётков графики 3 vuotta sitten
console_win.go fc8ab952b5 d01 Удаление ошмётков графики 3 vuotta sitten
doc.go fc8ab952b5 d01 Удаление ошмётков графики 3 vuotta sitten
encoding.go fc8ab952b5 d01 Удаление ошмётков графики 3 vuotta sitten
errors.go fc8ab952b5 d01 Удаление ошмётков графики 3 vuotta sitten
event.go fc8ab952b5 d01 Удаление ошмётков графики 3 vuotta sitten
interrupt.go fc8ab952b5 d01 Удаление ошмётков графики 3 vuotta sitten
key.go fc8ab952b5 d01 Удаление ошмётков графики 3 vuotta sitten
mouse.go fc8ab952b5 d01 Удаление ошмётков графики 3 vuotta sitten
nonblock_bsd.go fc8ab952b5 d01 Удаление ошмётков графики 3 vuotta sitten
nonblock_unix.go fc8ab952b5 d01 Удаление ошмётков графики 3 vuotta sitten
paste.go fc8ab952b5 d01 Удаление ошмётков графики 3 vuotta sitten
resize.go fc8ab952b5 d01 Удаление ошмётков графики 3 vuotta sitten
runes.go fc8ab952b5 d01 Удаление ошмётков графики 3 vuotta sitten
screen.go fc8ab952b5 d01 Удаление ошмётков графики 3 vuotta sitten
simulation.go fc8ab952b5 d01 Удаление ошмётков графики 3 vuotta sitten
stdin_unix.go fc8ab952b5 d01 Удаление ошмётков графики 3 vuotta sitten
style.go fc8ab952b5 d01 Удаление ошмётков графики 3 vuotta sitten
terms_default.go fc8ab952b5 d01 Удаление ошмётков графики 3 vuotta sitten
terms_dynamic.go fc8ab952b5 d01 Удаление ошмётков графики 3 vuotta sitten
terms_static.go fc8ab952b5 d01 Удаление ошмётков графики 3 vuotta sitten
tscreen.go fc8ab952b5 d01 Удаление ошмётков графики 3 vuotta sitten
tscreen_stub.go fc8ab952b5 d01 Удаление ошмётков графики 3 vuotta sitten
tscreen_unix.go fc8ab952b5 d01 Удаление ошмётков графики 3 vuotta sitten
tty.go fc8ab952b5 d01 Удаление ошмётков графики 3 vuotta sitten
tty_unix.go fc8ab952b5 d01 Удаление ошмётков графики 3 vuotta sitten
wscreen.go fc8ab952b5 d01 Удаление ошмётков графики 3 vuotta sitten

README-wasm.md

WASM for Tcell

You can build Tcell project into a webpage by compiling it slightly differently. This will result in a Tcell project you can embed into another html page, or use as a standalone page.

Building your project

WASM needs special build flags in order to work. You can build it by executing

GOOS=js GOARCH=wasm go build -o yourfile.wasm

Additional files

You also need 5 other files in the same directory as the wasm. Four (tcell.html, tcell.js, termstyle.css, and beep.wav) are provided in the webfiles directory. The last one, wasm_exec.js, can be copied from GOROOT into the current directory by executing

cp "$(go env GOROOT)/misc/wasm/wasm_exec.js" ./

In tcell.js, you also need to change the constant

const wasmFilePath = "yourfile.wasm"

to the file you outputed to when building.

Displaying your project

Standalone

You can see the project (with an white background around the terminal) by serving the directory. You can do this using any framework, including another golang project:

// server.go

package main

import (
	"log"
	"net/http"
)

func main() {
	log.Fatal(http.ListenAndServe(":8080",
		http.FileServer(http.Dir("/path/to/dir/to/serve")),
	))
}

To see the webpage with this example, you can type in localhost:8080/tcell.html into your browser while server.go is running.

Embedding

It is recomended to use an iframe if you want to embed the app into a webpage:

<iframe src="tcell.html" title="Tcell app"></iframe>

Other considerations

Accessing files

io.Open(filename) and other related functions for reading file systems do not work; use http.Get(filename) instead.