lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]

I need advice from Lua programmers. I don't have any experience in LUA.

We want to reviwe DM2 project project witch is desktop manager for Win.

The idea is to abandon current application and rewrite everything.
Another idea is to abandon current plugin concept as to write plugins
U have to know C++, have IDE, know native API etc... so chance that
sombody will write plugin is small. We want to make this chance bigger
by providing easy to learn language that requries no IDE and special
pre knowledge. The other thing is that you would be able to change
behavior of default plugins to suite your needs as they will be
provided as LUa code.

This is idea:

DM to be tiny shell that will encapsulate important windows events,
like OnTitleClick, OnWinMinimize, OnAppStart etc... and to integrate
Lua as its plugin writting language. You could be able to add number
of different plugins to the same handler. We would provide in that
case set of classess (or Lua equivalent) for basic things, but Lua
should be capable of accessing Native API for things we don't do.

So the questions I hope you can answer are :

- How complex is mechanism to access Native API from lua, if possible
- Is it possible to start Lua code from the hook witch resides in
memory of other process as hooks will be used to catch events
(related: shared memory, interprocess communication)
- How complex is to wrap those Native API objects with LUA and does it
make any sense for you.

I wish you could be also able to download DM2 and see what is it about today:

It is ~100KB application,  and tell me if it makes any sense or is it
possible at all to do all that using LUA as plugin SDK.

Furthermore, any comments and suggestions are welcome.

It is important to note that in this case we don't have set of our,
propriatery objects, we created, but we tweek windows itself. As
Windows is very big, and have lot of objects, encapsulating everything
is out of question (by number of reasons - implementation cost,
performance ...) so LUA should be capable of doing those on her own if
adequate wrapper is not provided (as it is not so common for instance)