Полезная информация

Пользователи не любят читать документацию. Станьте оригинальным, будьте не как все. Ознакомьтесь с нашей базой знаний.

№2629-09-2013 15:14:05

DarkHeavy
Участник
 
Группа: Members
Зарегистрирован: 23-06-2011
Сообщений: 212
UA: Firefox 24.0

Re: [CB]Показывать количество табов в адресной строке

villa7
Я её в папку с профайлом [firefox] засунул. Но за совет спасибо ;) Нажму завтра, когда на работу приду ;)


Если тебя не помнят — значит тебя не существовало... ©

Отсутствует

 

№2730-09-2013 02:56:03

DarkHeavy
Участник
 
Группа: Members
Зарегистрирован: 23-06-2011
Сообщений: 212
UA: Firefox 25.0

Re: [CB]Показывать количество табов в адресной строке

okkamas_knife
Да там картинка на сотен байт :)

Кроме того, не думаю, что сейчас такие уж слабые компы, чтобы заметить скорость загрузки картинки ;) Но всё равно спасибо ;)


Если тебя не помнят — значит тебя не существовало... ©

Отсутствует

 

№2830-09-2013 13:00:28

littleleshy
________
 
Группа: Members
Откуда: Москва
Зарегистрирован: 13-12-2008
Сообщений: 2504
UA: Firefox 24.0

Re: [CB]Показывать количество табов в адресной строке

DarkHeavy
А если картинка не одна? Да и самое узкое место ЛЮБОЙ системы — подсистема хранения данных.

Отсутствует

 

№2920-10-2013 00:43:33

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 3.6

Re: [CB]Показывать количество табов в адресной строке

Показывать количество открытых табов в адресной строке+ ( Firefox 24+)
Автор: bunda1
Версия: от 19.04.2016.
Описание: Код создаёт кнопку в адресной строке которая показывает количество всех открытых табов и количество открытых табов текущей группы вкладок. Кнопка открывает меню со списком вкладок текущей группы, в меню название текущей вкладки отображается красным цветом а не прочитанные вкладки синим цветом. Меню вкладок даёт возможность левым кликом переключится на нужную вкладку и правым кликом удалять вкладки не закрывая меню. Меню вкладок автоматически закрывается при уводе курсора, длительность увода можно установить в коде.

Скриншот:
8d82a05862ef7b24b5547a28ed51fdd1.png

Использование: создайте новую Custom Buttons кнопку и положите код в инициализацию. Не обязательно создавать новую CB кнопку, можно использовать уже существующую.

Выделить код

Код:

// Показывать количество открытых табов в адресной строке +, от 19.04.2016. .....................
(()=> {  
   // Создать в адресной строке счётчик вкладок ....
   var tabCounter = document.createElement("statusbarpanel");
   tabCounter.id = "tabCounter";
   tabCounter.setAttribute("tooltiptext", "Показать меню всех вкладок"); 
   tabCounter.setAttribute("context", "event.stopPropagation()");
   var urlbarIcons = document.getElementById("urlbar-icons"); 
   urlbarIcons.insertBefore( tabCounter, urlbarIcons.firstChild);
   addDestructor(()=> tabCounter.remove() );


   // Отслеживать клик на счетчике ....
   tabCounter.onclick =e=> {
      if ( e.target.localName == "menuitem" ) return;

      tabCounter.textContent = ""; // удалить старое меню  
      
      // создать новое меню всех вкладок текущей группы
      var menu = tabCounter.appendChild(document.createElement("menupopup"));
      gBrowser.visibleTabs.forEach((tab, i)=> {
         var mItem = document.createElement("menuitem");
         mItem.index = i;
         mItem.setAttribute("class", "menuitem-iconic bookmark-item");      
         ["label", "image", "selected", "unread"].forEach(atrr=> mItem.setAttribute(atrr, tab.getAttribute(atrr)) );
         menu.appendChild(mItem);
      });         
 
      // автоматически закрывать меню при ухода курсора, длительность увода - 450 мс
      menu.setAttribute("onmouseover", "this.m = false");    
      menu.setAttribute("onmouseleave", "this.m = true; setTimeout(()=> this.m && this.hidePopup(), 450)");
      
      // отслеживать клики на пунктах меню
      menu.onmouseup =e=> {
         e.preventDefault();
         var mItem = e.target;
         var tab = gBrowser.visibleTabs[mItem.index];
         if ( e.button == 0 ) {
              mItem.removeAttribute('unread');
              [...menu.children].forEach(node=> node.removeAttribute('selected') );
              mItem.setAttribute('selected', true);
              gBrowser.selectedTab = tab;
              }
         else
              {
              gBrowser.removeTab(tab);
              mItem.remove();
              [...menu.children].forEach((node, i)=> node.index = i );
              var selectTab = gBrowser.visibleTabs.filter(tab=> tab.hasAttribute('selected') )[0];
              menu.children[selectTab._tPos].setAttribute('selected', true);
              }
      };

      // фокус на активную вкладку в меню при открытии
      var box = document.getAnonymousElementByAttribute(menu, "class", "popup-internal-box");
      addEventListener("popupshowing", ()=> {
         var boxCenter = box.boxObject.screenY + box.boxObject.height / 2;  
         var menuitem = [...menu.children].filter(node=> node.getAttribute("selected", "true") )[0];
         menuitem.setAttribute('_moz-menuactive', true);  
         var menuitemCenter = menuitem.boxObject.screenY + menuitem.boxObject.height / 2;
         box.scrollByPixels(menuitemCenter - boxCenter);
      }, false, menu);            
      
      menu.showPopup(tabCounter, -1, -1, "popup", "bottomleft", "topleft"); // открыть меню           
   };


   // Css стиль для счётчика и меню ....
   var uri = makeURI('data:text/css,'+ encodeURIComponent('\
      #tabCounter:hover { color: #FF1493 !important; }\
      #tabCounter > menupopup scrollbox { overflow-y: auto !important; }\
      #tabCounter > menupopup > menuitem[unread="true"]:not(:hover) { color: blue !important; }\
      #tabCounter { -moz-appearance: none !important; border: 0 !important; margin-right: -8px !important; }\
      #tabCounter > menupopup > menuitem[selected="true"] { color: red !important; font-weight: bold !important; }\
   '));
   var sss = Cc["@mozilla.org/content/style-sheet-service;1"].getService(Ci.nsIStyleSheetService);
   sss.loadAndRegisterSheet(uri, 0);
   addDestructor(()=> sss.unregisterSheet(uri, 0) ); 
   
   
   // Считать и показывать количество вкладок ....
   function count() {
     try { window.clearTimeout(count.timeout) } catch(e) {};
     count.timeout = window.setTimeout(()=> {
        var all = gBrowser.tabs.length, visible = gBrowser.visibleTabs.length; 
        tabCounter.label = (all > visible ? visible + '/' : '') + all;
     }, 350);
   };
   count();


   // Отслеживать открытие, закрытие вкладок и переключение групп вкладок ....
   var tabs = gBrowser.tabContainer;
   addEventListener("TabOpen", count, false, tabs);
   addEventListener("TabClose", count, false, tabs);
   function getChangeTabGroup() {
      addEventListener("TabHide", function c(e) { 
         count();
         setTimeout(()=> getChangeTabGroup(), 50); 
         removeEventListener(e.type, c, false, tabs); 
      }, false, tabs);
   };
   getChangeTabGroup();
})();

Отредактировано bunda1 (20-10-2013 13:18:52)

Отсутствует

 

№3029-10-2013 21:47:54

free13man
Участник
 
Группа: Members
Зарегистрирован: 30-01-2012
Сообщений: 27
UA: unknown 0.0

Re: [CB]Показывать количество табов в адресной строке

Автор молодец! Очень нужная вещь, особенно последний вариант кнопки!

Отсутствует

 

№3114-11-2013 12:22:01

difabor
Участник
 
Группа: Members
Зарегистрирован: 21-09-2013
Сообщений: 539
UA: Firefox 25.0
Веб-сайт

Re: [CB]Показывать количество табов в адресной строке

Я не совсем уверен, что моя просьба точно по теме, но имхо - где-то близко.
Был такой аддон "Load Tabs Progressively", но для новых версий ФФ (для 25-й - точно) он устарел и недоступен. Он ограничивал число одновременно загружаемых вкладок (чтобы загружалось не более К вкладок одновременно), а остальные - по мере завершения загрузки предыдущих. Он также ограничивал общее число непрочитанных вкладок, то есть вкладки сверх общего числа непрочитанных (N) - вообще не показывались - только по мере прочтения предыдущих.
Поэтому даже если открывать сразу все закладки какого-то немаленького букмаркфолдера - это не перегружало бы браузер.
Можно ли добавить эту функциональность (в виде сниппета, т.е., чтобы её можно было "пришить" к другим кнопкам, напр. "Memory monitor")?

Дело в том, что она не требует интеракции с пользователем - эти ограничители пользователь смог бы "забить" в коде один раз и если раз в сто лет решит изменить их, то может и отредактировать эти границы в коде кнопки куда он этот сниппет "пришил".

Если эта просьба не относится к этой теме - заранее извиняюсь, но поиск по "ограничение количества табов" ничего не дал, а по "количество табов" дал эту тему.

Отредактировано difabor (14-11-2013 12:37:16)


Хорошо, когда у человека есть выбор, но плохо, когда он перед ним стоит ©

Отсутствует

 

№3214-11-2013 23:28:19

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 3.6

Re: [CB]Показывать количество табов в адресной строке

difabor
Всё это можно но сложно, но сложно. Попробуй подправить это расширение.

Отсутствует

 

№3319-08-2015 11:53:55

Draco47
Участник
 
Группа: Members
Зарегистрирован: 19-08-2015
Сообщений: 9
UA: Firefox 40.0

Re: [CB]Показывать количество табов в адресной строке

Тему вверх! :) На дворе уж 2015 год.
И я был крайне удивлён, обнаружив этот код, да притом ещё рабочий до сих пор!
Уж сколько я перепробовал расширений с официального сайта дополнений - устроило всего лишь одно! И то отвалилось при переходе на Firefox 40.0.2: https://addons.mozilla.org/ru/firefox/addon/open-tab-count-widget/ . Видимо, автор просто забыл про него :(

А с этой кнопкой счётчик стал даже ещё функциональней. Фактически, их там 2 :) А ранее был только один - общий.
Некоторое время думал - куда убрать кнопку, чтоб не занимала место? Решение простое - просто убрал её на ту панель, которая всегда скрыта :D

bunda1, персональное спасибо от меня!

Отсутствует

 

№3423-08-2015 15:51:33

xrun1
Участник
 
Группа: Members
Зарегистрирован: 12-12-2013
Сообщений: 1224
UA: Firefox 40.0

Re: [CB]Показывать количество табов в адресной строке

bunda1
А можно изменить цвет кол-ва вкладок в адресной строке, например, синим или любым другим цветом.? Так с кнопкой Memory Monitor трудно различить на некоторых сайтах.
XaQRBdh.png

Отредактировано xrun1 (23-08-2015 15:53:09)

Отсутствует

 

№3523-08-2015 18:07:53

villa7
Участник
 
Группа: Members
Зарегистрирован: 21-07-2012
Сообщений: 2235
UA: Firefox 39.0

Re: [CB]Показывать количество табов в адресной строке

xrun1

#tabCounter{color:#00f !important;}


Лучше спросить у знающих - чем лезть не зная.

Отсутствует

 

№3624-08-2015 19:01:33

xrun1
Участник
 
Группа: Members
Зарегистрирован: 12-12-2013
Сообщений: 1224
UA: Firefox 40.0

Re: [CB]Показывать количество табов в адресной строке

villa7
Спасибо, всё раскрасил. :)

Отсутствует

 

№3720-02-2016 20:13:00

difabor
Участник
 
Группа: Members
Зарегистрирован: 21-09-2013
Сообщений: 539
UA: Firefox 28.0
Веб-сайт

Re: [CB]Показывать количество табов в адресной строке

Уважаемый bunda1,
а как определить - закреплена вкладка (pinned) или нет?


Хорошо, когда у человека есть выбор, но плохо, когда он перед ним стоит ©

Отсутствует

 

№3820-02-2016 22:40:48

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 24.0

Re: [CB]Показывать количество табов в адресной строке

difabor пишет

а как определить - закреплена вкладка (pinned) или нет?

У такой вкладки есть свойство pinned, вот пример как узнать закреплена ли текущая вкладка:

Выделить код

Код:

alert( gBrowser.mCurrentTab.pinned );

или так:

Выделить код

Код:

// Закрепить-открепить текущую вкладку
var currTab = gBrowser.mCurrentTab;
currTab.pinned ? gBrowser.unpinTab(currTab) : gBrowser.pinTab(currTab);

или вот так:

Выделить код

Код:

// Закрыть все вкладки слева, кроме закреплённых вкладок 
gBrowser.visibleTabs.forEach((tab)=> !tab.pinned && tab._tPos < gBrowser.mCurrentTab._tPos && gBrowser.removeTab(tab));

Отсутствует

 

№3920-02-2016 23:02:48

difabor
Участник
 
Группа: Members
Зарегистрирован: 21-09-2013
Сообщений: 539
UA: Firefox 28.0
Веб-сайт

Re: [CB]Показывать количество табов в адресной строке

Большое спасибо!


Хорошо, когда у человека есть выбор, но плохо, когда он перед ним стоит ©

Отсутствует

 

№4005-03-2016 07:18:18

turbot
Участник
 
Группа: Members
Зарегистрирован: 09-10-2011
Сообщений: 2529
UA: Firefox 47.0

Re: [CB]Показывать количество табов в адресной строке

В рамках борьбы с бессонницей, pure css :D:

Выделить код

Код:

@namespace url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul);
#TabsToolbar #tabbrowser-tabs .tabbrowser-tab:first-of-type{
  counter-reset: tabbrowser-tab tabbrowser-tab-pinned!important;
}
#TabsToolbar #tabbrowser-tabs .tabbrowser-tab:not([pinned]){
  counter-increment: tabbrowser-tab !important;
}
#TabsToolbar #tabbrowser-tabs .tabbrowser-tab[pinned]{
  counter-increment: tabbrowser-tab-pinned !important;
}
#TabsToolbar #tabbrowser-tabs:after {
  content: counter(tabbrowser-tab-pinned) "/" counter(tabbrowser-tab) !important;
  position: fixed !important;
  display: -moz-box!important;
  -moz-box-align: center!important;
  padding: 2px 0!important;  /* отступы */
  color: lightgreen!important; /* цвет текста */
  font: 600 8px "dejavu sans mono"!important; /* толщина/размер/название шрифта */
  background: none!important; /* цвет фона/прозрачный */
  text-shadow:  0 0 1px rgba(0,0,0,.95), 0 0 4px rgba(0,0,0,.95)!important;  /* тень у текста */
  pointer-events: none!important;
}

thumb.png

Отсутствует

 

№4107-04-2016 11:01:23

ifln
Участник
 
Группа: Members
Зарегистрирован: 20-09-2013
Сообщений: 235
UA: Firefox 38.0

Re: [CB]Показывать количество табов в адресной строке

bunda1 пишет

Показывать количество открытых табов в адресной строке+ ( Firefox 17+)
Автор: bunda1
Версия: от 20.10.2013.

Можно сделать так, чтобы навигация в выпадающем списке стрелками вверх/вниз с клавы начиналась с активной вкладки?

Как вызвать список хоткеем?

Отсутствует

 

№4211-04-2016 16:36:59

xrun1
Участник
 
Группа: Members
Зарегистрирован: 12-12-2013
Сообщений: 1224
UA: Firefox 45.0

Re: [CB]Показывать количество табов в адресной строке

bunda1
Что-то кнопка неправильно работает, только сегодня заметил. [firefox] 45.0.1, Custom Buttons 0.0.5.8.9, в остальном профиль дефолтный.
Гифку загрузить не удалось, сделал небольшое видео. https://cloud.mail.ru/public/CGqi/xBNnXGGdp

Отсутствует

 

№4318-04-2016 20:15:32

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 24.0

Re: [CB]Показывать количество табов в адресной строке

ifln пишет

Можно сделать так, чтобы навигация в выпадающем списке стрелками вверх/вниз с клавы начиналась с активной вкладки?

А вот не знаю :/

ifln пишет

Как вызвать список хоткеем?

Каким именно хоткеем нужно?

Добавлено 18-04-2016 20:19:20

xrun1 пишет

bunda1
Что-то кнопка неправильно работает, только сегодня заметил.

Да есть такой глюк, завтра исправлю.

Отредактировано bunda1 (18-04-2016 20:19:20)

Отсутствует

 

№4419-04-2016 21:26:24

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 24.0

Re: [CB]Показывать количество табов в адресной строке

xrun1 пишет

bunda1
Что-то кнопка неправильно работает, только сегодня заметил. [firefox] 45.0.1, Custom Buttons 0.0.5.8.9, в остальном профиль дефолтный.
Гифку загрузить не удалось, сделал небольшое видео. https://cloud.mail.ru/public/CGqi/xBNnXGGdp

Исправил: Показывать количество открытых табов в адресной строке+

Отсутствует

 

№4520-04-2016 00:22:17

voqabuhe
Участник
 
Группа: Members
Зарегистрирован: 06-12-2011
Сообщений: 3231
UA: Firefox 48.0

Re: [CB]Показывать количество табов в адресной строке

bunda1 пишет

Кнопка открывает меню со списком вкладок текущей группы, в меню название текущей вкладки отображается красным цветом а не прочитанные вкладки синим цветом. Меню вкладок даёт возможность левым кликом переключится на нужную вкладку и правым кликом удалять вкладки не закрывая меню. Меню вкладок автоматически закрывается при уводе курсора, длительность увода можно установить в коде.

А на жест такое меню можно подцепить?

Отсутствует

 

№4620-04-2016 02:10:46

xrun1
Участник
 
Группа: Members
Зарегистрирован: 12-12-2013
Сообщений: 1224
UA: Firefox 45.0

Re: [CB]Показывать количество табов в адресной строке

bunda1
Странно, но у меня не показывается в виде № текущего таба / общее количество (как у тебя на скрине).

Выделить код

Код:

var all = gBrowser.tabs.length, visible = gBrowser.visibleTabs.length; 
        tabCounter.label = (all > visible ? visible + '/' : '') + all;

Только одна цифра - общее количество табов. То есть получается, что all=visible. :(
Профиль дефолтный, Custom Buttons + 1 кнопка. [firefox] 45.0.2.
UPD; Если это сложно - не заморачивайся, мне не принципиально. И так достаточно общего количества и меню при клике. Спасибо.

Отредактировано xrun1 (20-04-2016 02:13:20)

Отсутствует

 

№4720-04-2016 03:14:53

difabor
Участник
 
Группа: Members
Зарегистрирован: 21-09-2013
Сообщений: 539
UA: Firefox 28.0
Веб-сайт

Re: [CB]Показывать количество табов в адресной строке

xrun1 пишет

bunda1
Странно, но у меня не показывается в виде № текущего таба / общее количество (как у тебя на скрине).

Но чаще всего так и есть...
Они начинают отличаться, когда все табы не умещаются


Хорошо, когда у человека есть выбор, но плохо, когда он перед ним стоит ©

Отсутствует

 

№4820-04-2016 07:58:26

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 24.0

Re: [CB]Показывать количество табов в адресной строке

xrun1 пишет

bunda1
Странно, но у меня не показывается в виде № текущего таба / общее количество (как у тебя на скрине).

Это не № текущего таба / общее количество, а количество табов в текущей группе вкладок / общее количество вкладок. У тебя групп вкладок нет потому цифра в счетчике одна.

Добавлено 20-04-2016 07:59:38

voqabuhe пишет

А на жест такое меню можно подцепить?

А на каком расширении?

Отредактировано bunda1 (20-04-2016 07:59:38)

Отсутствует

 

№4920-04-2016 10:02:56

xrun1
Участник
 
Группа: Members
Зарегистрирован: 12-12-2013
Сообщений: 1224
UA: Firefox 45.0

Re: [CB]Показывать количество табов в адресной строке

bunda1 пишет

Это не № текущего таба / общее количество, а количество табов в текущей группе вкладок / общее количество вкладок. У тебя групп вкладок нет потому цифра в счетчике одна.

Ясно, спасибо.

Отсутствует

 

№5020-04-2016 12:28:58

voqabuhe
Участник
 
Группа: Members
Зарегистрирован: 06-12-2011
Сообщений: 3231
UA: Firefox 48.0

Re: [CB]Показывать количество табов в адресной строке

bunda1 пишет

А на каком расширении?

FireGestures

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]