- Notifications
You must be signed in to change notification settings - Fork49
🍖 A cross-platform terminal ui library based on Lua
License
NotificationsYou must be signed in to change notification settings
tboox/ltui
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Introduction (中文)
LTUI is a cross-platform terminal ui library based on Lua.
This framework originated from the requirements of graphical menu configuration inxmake.Similar to the linux kernel's menuconf to configure the compilation parameters, so using curses and lua to implement a cross-platform character terminal ui library.
Refer to kconfig-frontends for style rendering. Of course, users can customize different ui styles.
$luarocks install ltui
We need install the cross-platform build utilityxmake first.
$xmake
We need installlua orluajit to run tests first.
$xmake runtest dialog$xmake runtest window$xmake runtest desktop$xmake runtest inputdialog$xmake runtest mconfdialog
Or
$lua tests/dialog.lua$lua tests/window.lua$lua tests/desktop.lua$lua tests/inputdialog.lua$lua tests/mconfdialog.lua
Or
$luajit tests/dialog.lua$luajit tests/window.lua$luajit tests/desktop.lua$luajit tests/inputdialog.lua$luajit tests/mconfdialog.lua
localltui=require("ltui")localapplication=ltui.applicationlocalevent=ltui.eventlocalrect=ltui.rectlocalwindow=ltui.windowlocaldemo=application()functiondemo:init()application.init(self,"demo")self:background_set("blue")self:insert(window:new("window.main",rect {1,1,self:width()-1,self:height()-1},"main window",true))enddemo:run()
locallab=label:new("title",rect {0,0,12,1},"hello ltui!"):textattr_set("white")
localbtn=button:new("yes",rect {0,1,7,2},"< Yes >"):textattr_set("white")
functiondemo:init()-- ...localdialog_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
views | dialogs | others |
---|---|---|
view | dialog | event |
panel | boxdialog | action |
label | textdialog | canvas |
button | inputdialog | curses |
border | mconfdialog | program |
window | choicedialog | application |
menubar | point | |
menuconf | rect | |
textedit | object | |
textarea | ||
statusbar | ||
choicebox | ||
desktop |
If you want to known more, please refer to:
- Email:waruqi@gmail.com
- Homepage:tboox.org
- Community:/r/tboox on reddit
- ChatRoom:Char on telegram,Chat on gitter
- Source Code:Github,Gitee
About
🍖 A cross-platform terminal ui library based on Lua
Topics
Resources
License
Code of conduct
Stars
Watchers
Forks
Packages0
No packages published