FireSnarlを改造してWhineに通知メッセージを表示してみた

Snarlでは日本語が化けてしまうため、whineに出力するようにしてみた。
chrome\firesnarl.jarの中の content/alertOverlay.jsを書き換える。

function showSnarlAlert(time, title, text, icon, alertType) {
  // ---- snaka hack ---
	var converter = Components
        .classes['@mozilla.org/intl/scriptableunicodeconverter']
        .getService(Components.interfaces.nsIScriptableUnicodeConverter);
	converter.charset = 'Shift_JIS';
	var sjis_str = converter.ConvertFromUnicode(text);
  
  var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
  file.initWithPath("C:\\Program Files\\whine\\whinesend.exe");
  var proc = Components.classes["@mozilla.org/process/util;1"].createInstance(Components.interfaces.nsIProcess);
  proc.init(file);
  var args = ["-t", title, "-m ", "\"" + sjis_str + "\""];
  proc.run(false, args, args.length);
  // ---- snaka hack ---
/*
    var oPrefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService).getBranch("");
      const cid = "@tlhan-ghun.de/snarlInterface;4";
  var snarlInterface = Components.classes[cid].createInstance();
  snarlInterface = snarlInterface.QueryInterface(Components.interfaces.ISNARLINTERFACE);
  const extensionId = "firesnarl@snarl.de";
  var iconPath=Components.classes['@mozilla.org/file/directory_service;1']
                      .getService(Components.interfaces.nsIProperties)
                      .get("ProfD", Components.interfaces.nsILocalFile); 
    iconPath.append("extensions");
    iconPath.append(extensionId);                             
    iconPath.append("components");    
    iconPath.append("firefox-icon.png");   
    icon=iconPath.path;  

    //var initReturnCode = snarlInterface.snRegisterConfig2(0, "FireSnarl", 0, icon, "FireSnarlWindow");
    var generateWindow = snarlInterface.snGetWindowHandle("FireSnarlWindow");
    snarlInterface.snShowMessageEx(title, text, time,icon,0,0,"",alertType); 
*/
}

日本語がちゃんと表示できたのはいいが、長い文が折り返されず1行で表示されるのが結構ウザイ。
適当に"\n"を挟めばいいのかな?

同じ要領でThunderSnarlも置き換えれば使い勝手が向上しそうな予感。