lua-users home
lua-l archive

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

I had a think about this for my Grunt project - there is code in the
published version (on luaforge) for generating a Windows menu on-the-fly
from a Lua table, but I use it in a system tray icon rather than an explorer

Problem I ran into with explorer extensions is that they expect to be in
small DLL files with a different DLL for each type of extension. With a
scripting solution you really want one Lua environment for all your
extensions so they can communicate and for performance and code size
efficiency. I concluded that this was a "non-trivial" job that would require
a service running the Lua environment and lots of little DLL stubs which
would communicate across process with the server.

-----Original Message-----
[] On Behalf Of Bulat Ziganshin
Sent: 06 May 2009 11:58
Subject: Scriptable Shell Extension


i'm former Haskell/C++ developer now switching to Lua :)))

really, i'm author of HsLua tutorial describing how to use Lua in
Haskell: . you may read it just
to see how much it easier compared to standard C API

but that's not my topic. i develop archiver ( - yes,
using Haskell and C++ with built-in Lua scripting). FreeArc users,
naturally, asks me about providing extension that adds
Compress/Extract commands to Explorer right-click menu (same as in
WinZip and other commercial apps)

I've done a deep investigation on this area and finally decided that
such extension should be scriptable. scriptable means Lua. my idea for
the first version is that list of files selected will be passed to Lua
function that will return list of menu items including icons, commands
to execute and so on. this Lua function will be auto-generated by
Haskell GUI program depending on options user selected, user language,
path to program and so on

this approach may serve many common needs in shell extensions - for
editors, archivers and so on. moreover, Lua script may be general
enough to be used in Linux environment too (of course after writing
.so implementing Nautilus Extension, for example)

so, i wonder - may be such program was already written? googling on
"Scriptable Shell Extension" doesn't helped me, may be i've skipped
something? refinements to my idea are also greatly appreciated


Best regards,

Attachment: smime.p7s
Description: S/MIME cryptographic signature