Anti Boss(Firefox 3.6 +)
Автор: bunda1
Описание: Kод дает возможность быстро свернуть Firefox, если при нажатой на странице левой кнопке мыши нажать правую кнопку мыши.
Использование: создайте новую Custom Buttons кнопку и положите код в инициализацию. Можно положить код в уже существующую кнопку, но если в кнопке уже есть другие коды у которых есть this.onDestroy = function() {.. то надо поставить в начале кнопки вот этот код

Выделить код

Код:

// Anti Boss ...............................................................
["mousedown", "mouseup", "dragstart"].forEach(function(type) { gBrowser.mPanelContainer.addEventListener(type, function(e) { antiBoss(e) }, false) });
this.onDestroy = function() {
["mousedown", "mouseup", "dragstart"].forEach(function(type) { gBrowser.mPanelContainer.removeEventListener(type, function(e) { antiBoss(e) }, false) });
};

function antiBoss(event) {
     switch ( event.type ) {
              case "mousedown": {
                    if ( event.button == 0 ) this.leftButtonDown = true; // если нажать ЛКМ

                    if ( event.button == 2 && this.leftButtonDown ) { // если нажать ПКМ
                         event.preventDefault();
                         event.stopPropagation();
     
                         this.leftButtonDown = false;
                         this.rightButtonDown = true;

                         // свернуть Firefox ....
                         var intervalID = setInterval(function( ) {
                         if ( this.rightButtonDown ) return;   
                              window.minimize(); 
                              clearInterval(intervalID);
                              document.getElementById("contentAreaContextMenu").hidePopup();
                              }, 50)
                         }
                         break;
              }
              case "mouseup": {
                    if ( event.button == 0 ) this.leftButtonDown = false; // если отпустить ЛКМ
                    if ( event.button == 2 ) this.rightButtonDown = false;                
                         break;
              }
              case "dragstart": { this.leftButtonDown = false }
     }   
 
};

Заметил такой баг: если левой кнопкой выделить текст и перетянуть его либо в поле ввода, либо просто в сторону для поиска в новой вкладке или перетянуть любую ссылку на странице, то FF свернется!
Починить это можно?

Inko7 пишет

Починить это можно?

16-11-2011 19:26:45

Так ложных сворачиваний нет, но опять всплывает изначальная проблема

Inko7 пишет

Так ложных сворачиваний нет, но опять всплывает изначальная проблема

Ну и немного оптимизировал код: 16-11-2011 19:26:45

Вроде работает, как надо. Спасибо.

как свернуть в трей?
если возможно без привязки к этой кнопке, для новой...

vzli_izv пишет

как свернуть в трей?
если возможно без привязки к этой кнопке, для новой...

Только если установить расширение которое сворачивает, кнопкой можно только дать команду такому расширению.

использую MinimizeToTray но хочется просто кнопку

vzli_izv пишет

использую MinimizeToTray но хочется просто кнопку

Только кнопкой нельзя, эта тема уже не раз поднималась.

благодарю.