2018-11-19 22:43:08 +08:00
2018-11-19 21:15:47 +08:00
2018-11-19 22:30:24 +08:00
2018-11-16 13:39:13 +08:00
2018-11-16 13:39:13 +08:00
2018-11-16 13:39:13 +08:00
2018-11-16 13:39:13 +08:00
2018-11-16 13:39:13 +08:00
2018-11-19 21:15:47 +08:00
2018-11-19 22:43:08 +08:00
2018-11-19 22:43:08 +08:00
2018-11-16 14:16:46 +08:00

LTUI

A cross-platform terminal ui library based on Lua

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

Description
port of A cross-platform terminal ui library based on Lua
Readme 560 KiB
Languages
C 66.3%
Lua 33.4%
Makefile 0.3%