--- a/examples/marking.lua Mon Mar 16 06:12:55 2009 +0200
+++ b/examples/marking.lua Mon Mar 16 18:54:16 2009 +0200
@@ -44,11 +44,11 @@
main.command ( 'marked',
function ( args )
- local cmd = args:match ( "^%s*(%w+)" )
+ local cmd = args[1]
if cmd == 'clear' then
marked_clear ()
elseif cmd == 'do' then
- local command = args:match ( "^%s*%w+%s+(.+)" )
+ local command = args[2]
foreach_marked (
function ( jid )
main.run ( string.format ( command, jid ) )
@@ -60,17 +60,23 @@
print ( ' - ' .. jid )
end )
end
- end, { 'clear', 'do' } )
+ end, true, { 'clear', 'do' } )
commands_help['marked'] = "[clear | do mcabber_command]\n\nOperates on marked buddies. Without arguments prints list of marked jids.\nCommand should contain %s in place, where jid should be inserted."
+mark_ins_bound = false
+
-- Ins
--- TODO: check if ins already bound
-main.run ( 'bind 331 = lua mark_toggle ()' )
+if not main.binding ( '331' ) then
+ main.binding ( '331', 'lua mark_toggle ()' )
+ mark_ins_bound = true
+end
hooks_d['hook-quit'].mark =
function ( args )
- main.run ( 'bind 331 =' )
+ if mark_ins_bound then
+ main.binding ( '331', nil )
+ end
end
-- vim: se ts=4: --