16aa8806001d279a24da8e2a43509537dfa546b0
Introduction (中文)
LTUI is a cross-platform terminal ui library based on Lua.
Build
We need install the cross-platform build utility xmake first.
$ xmake
Examples
Window
-- requires
local ltui = require("ltui")
local application = ltui.application
local event = ltui.event
local rect = ltui.rect
local window = ltui.window
-- the demo application
local demo = application()
-- init demo
function demo:init()
-- init name
application.init(self, "demo")
-- init background
self:background_set("blue")
-- init main window
self:insert(window:new("window.main", rect {1, 1, self:width() - 1, self:height() - 1}, "main window", true))
end
-- run demo
demo:run()
Input dialog
-- requires
local ltui = require("ltui")
local label = ltui.label
local button = ltui.button
local application = ltui.application
local event = ltui.event
local rect = ltui.rect
local inputdialog = ltui.inputdialog
-- the demo application
local demo = application()
-- init demo
function demo:init()
-- init name
application.init(self, "demo")
-- init background
self:background_set("blue")
-- init input dialog
local dialog_input = inputdialog:new("dialog.input", rect {0, 0, 50, 8})
dialog_input:text():text_set("please input text:")
dialog_input:button_add("no", "< No >", function (v) dialog_input:quit() end)
dialog_input:button_add("yes", "< Yes >", function (v) dialog_input:quit() end)
self:insert(dialog_input, {centerx = true, centery = true})
end
-- run demo
demo:run()
Snapshot
Menu configuation

Input dialog

Text area

Run tests
$ luajit tests\dialog.lua
$ luajit tests\window.lua
$ luajit tests\desktop.lua
$ luajit tests\inputdialog.lua
$ luajit tests\mconfdialog.lua
If you want to known more, please refer to:
Contacts
- Email:waruqi@gmail.com
- Homepage:tboox.org
- Community:/r/tboox on reddit
- ChatRoom:Char on telegram, Chat on gitter
- Source Code:Github, Gitee
Languages
C
66.3%
Lua
33.4%
Makefile
0.3%