Write a multi front end UI system. 🔼

Lua+WebAssembly+C/Lua web server modules thingy I have yet to invent ala matrix-RAD for web stuff.  Should also be able to work on the tmux consoles from the Lua I'll be porting the existing grid management scripts to.


reported=2020-02-06 05:59:17

reporter=onefang

priority=normal

category=Feature

severity=feature

resolution=open


2020-02-06 06:11:28 onefang: [b]Widgets and features needed -[/b]

Tooltips.

Single line edit.  Password version.

Command line with history, tab completion and help.

Console log.

Multiline edit.  Maybe some sort of WYSIWYG / markdown or other complex editing.

Checkboxes, radio groups, drop down selectors, buttons, toolbars.

Scrollable and selectable lists with multiple sortable columns.  File selector.

Scrollable map.

Menus.

Pager / tabs using tmux for console.

Tree widget?


2020-02-06 06:24:07 onefang: [b]Targets -[/b]

Tmux console, Putty, ssh (at least under termit), web page (including Netsurf and phones / tablets), GUI (EFL, and probably the others), Cool VL Lua UI, in world web browser, MOAP (in world and HUDs).

Apache 2, lighttpd, nginx, OpenResty, thttpd.  Not the OpenSim web server.


2020-02-08 00:40:01 onefang: [b]Alas -[/b]

Phones don't support hover, though on web pages the "hover" can be invoked by a tap, maybe.

Netsurf doesn't seem to support the CSS stuff I used for hover.  That's the 3.6 version, latest is 3.9.  It also isn't likely to support wasm any time soon, they are still working on JavaScript.


2020-02-08 00:44:48 onefang: [b]Plan A -[/b]

[s]Update boxes to work with latest toybox.[/s]

[s]Graft Lua and Laujit, onto boxes.[/s]

[s]See if I can invoke toys through toybox.[/s]

Convert existing bash scripts to use this.

Convert the boxes internal language to Lua.

[s]Experiment with making it work as FCGI or similar.[/s]

[s]Port the account manager stuff I wrote in C# to C + Lua.[/s] (What I wrote has been ported, now to actually finish writing it.)

[s]Port the stats and login pages to.[/s]

Maybe invent LHL, Lua HTML Language, A simple Lua HTML templating system.

See if my Unicode hack that worked in SL style dialogue "menus" works in Putty and ssh.


2020-02-08 02:03:14 onefang: I could use a meta table called toy that interfaces to toybox.

[code=Lua]toy.foo('-a', '-c', 80, '-q', '/path/to/something')

toy. foo('a', 'c', 80, 'q', '/path/to/something')

toy. bar{a, c = 80, ''}

toy. mumble"-ac --long '/path/to/something' -q"[/code]

[s]I have basically dumped toybox, it causes the database library to crash.  Instead I'm picking out the bits of toybox that are really useful, except the toybox commands.  So I'll stick with using system() and friends.

[/s]

I fixed toybox, it was redefining a function used by others, so I simply renamed that function in toybox.


2020-02-08 02:44:55 Taylor: [quote=onefang]Putty doesn't seem to pass on mouse stuff, so need to support keyboard only. ssh does.[/quote]

My PuTTY does support mouse stuff. I can even click-drag resize panes in tmux with it.