add:  if (("lockView" in e.view) && e.view.lockView) { setTabState(e.view, "attention"); return; } 
context: function cmdDeleteView(e){    if (!e.view)        e.view = e.sourceObject;    if (e.view.TYPE == "IRCChannel" && e.view.active)    {        e.view.dispatch("part", { deleteWhenDone: true });        return;    }    if (e.view.TYPE == "IRCDCCChat" && e.view.active)        e.view.disconnect();    if (e.view.TYPE == "IRCNetwork" && (e.view.state == NET_CONNECTING ||                                         e.view.state == NET_WAITING))    {        e.view.dispatch("cancel", { deleteWhenDone: true });        return;    }    if (client.viewsArray.length < 2)    {        display(MSG_ERR_LAST_VIEW, MT_ERROR);        return;    }    var tb = getTabForObject(e.view);    if (tb)    {        var i = deleteTab (tb);        if (i != -1)        {            if (e.view.logFile)            {                e.view.logFile.close();                e.view.logFile = null;            }            delete e.view.messageCount;            delete e.view.messages;            client.deck.removeChild(e.view.frame);            delete e.view.frame;            var oldView = client.currentObject;            if (client.currentObject == e.view)            {                if (i >= client.viewsArray.length)                    i = client.viewsArray.length - 1;                oldView = client.viewsArray[i].source            }            client.currentObject = null;            oldView.dispatch("set-current-view", { view: oldView });        }    }}
meta: 5872	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/5872/6f88142fd538f9740145619a05ecbd58267e963e/commands.js/clean/extensions/irc/xul/content/commands.js