21 lines
No EOL
639 B
Nim
21 lines
No EOL
639 B
Nim
# https://vincent.bernat.im/en/blog/2017-write-own-terminal
|
|
import gintro/[gtk, glib, gobject, gio, vte]
|
|
|
|
proc appActivate(app: Application) =
|
|
let window = newApplicationWindow(app)
|
|
window.title = "GTK3 & Nim"
|
|
window.defaultSize = (600, 200)
|
|
let terminal = newTerminal()
|
|
let environ = getEnviron()
|
|
let command = environ.environGetenv("SHELL")
|
|
var pid = 0
|
|
echo terminal.spawnSync({}, nil, [command], [], {SpawnFlag.leaveDescriptorsOpen}, nil, nil, pid, nil)
|
|
window.add(terminal)
|
|
showAll(window)
|
|
|
|
proc main =
|
|
let app = newApplication("org.gtk.example")
|
|
connect(app, "activate", appActivate)
|
|
discard run(app)
|
|
|
|
main() |