egorsemenov06
эту часть кода отредактируйте
toolbarbutton.addEventListener("click", function(event) { if (event.button == 0) win.gBrowser.selectedTab = about_config.addTab(win, "about:config", { relatedToCurrent: true, }); else if (event.button == 1) about_config.openSelectedConfigTab(win); else if (event.button == 2) { event.preventDefault(); event.stopPropagation(); win.gBrowser.selectedTab = about_config.addTab(win, "about:config", { relatedToCurrent: true, }); } });
Отсутствует
egorsemenov06
можно
try { (() => { var id = "ucf-loads-favicons", label = "Восстановить фавиконки", tooltiptext = "Восстановить фавиконки закладок", img = "data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' height='32' width='16' viewBox='0 0 48 96'><g><path d='M 2.438,0 C 1.087,0 0,1.088 0,2.438 V 45.56 C 0,46.91 1.087,48 2.438,48 H 45.56 C 46.91,48 48,46.91 48,45.56 V 2.438 C 48,1.088 46.91,0 45.56,0 Z' style='fill:rgb(243, 135, 37);fill-opacity:1;' /><path style='opacity:0.25;fill:black;' d='M 14,45 17,48 H 45.5 C 47,47.9 47.9,47 48,45.5 V 17.6 L 33.9,3.5 Z'/><path style='fill:white;' d='M 15,3 C 14.4,3 14,3.4 14,4 V 45 L 24,35 34,45 V 4 C 34,3.4 33.6,3 33,3 Z' /><path d='M 2.44,48 C 1.09,48 0,49.1 0,50.4 V 93.6 C 0,94.9 1.09,96 2.44,96 H 45.6 C 46.9,96 48,94.9 48,93.6 V 50.4 C 48,49.1 46.9,48 45.6,48 Z' style='fill:rgb(209, 8, 3);fill-opacity:1;' /><path style='opacity:0.25;fill:black;' d='M 14,93 17,96 H 45.5 C 47,95.9 47.9,95 48,93.5 V 65.6 L 33.9,51.5 Z'/><path style='fill:white;' d='M 15,51 C 14.4,51 14,51.4 14,52 V 93 L 24,83 34,93 V 52 C 34,51.4 33.6,51 33,51 Z' /></g></svg>", alertimg = "data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' height='48' width='48' viewBox='0 0 48 48'><g><path d='M 2.438,0 C 1.087,0 0,1.088 0,2.438 V 45.56 C 0,46.91 1.087,48 2.438,48 H 45.56 C 46.91,48 48,46.91 48,45.56 V 2.438 C 48,1.088 46.91,0 45.56,0 Z' style='fill:rgb(243, 135, 37);fill-opacity:1;' /><path style='opacity:0.25;fill:black;' d='M 14,45 17,48 H 45.5 C 47,47.9 47.9,47 48,45.5 V 17.6 L 33.9,3.5 Z'/><path style='fill:white;' d='M 15,3 C 14.4,3 14,3.4 14,4 V 45 L 24,35 34,45 V 4 C 34,3.4 33.6,3 33,3 Z' /></g></svg>", maxrequests = 50, // Максимальное количество параллельных запросов maxtimeout = 30, // Длительность до прерывания запроса в секундах alertnotification = true; // Уведомление о завершении поиска фавиконок для закладок if (!("PlacesUtils" in this)) ChromeUtils.defineModuleGetter(this, "PlacesUtils", "resource://gre/modules/PlacesUtils.jsm"); var favicons = { running: false, async search() { if (this.running) return; this.running = true; for(let {node} of CustomizableUI.getWidget(id).instances) node.style.setProperty("-moz-image-region", "rect(16px, 16px, 32px, 0px)", "important"); var urlsList = []; var root = await PlacesUtils.promiseBookmarksTree(PlacesUtils.bookmarks.rootGuid); var convert = (node, url) => { if (node.children) node.children.map(child => convert(child)); else if ((url = node.uri) && /^(?:http|ftp|file)s?:/.test(url)) urlsList.push(url); } convert(root); Promise.all(urlsList.map(this.getFaviconForPage)).then(results => this.sliceResults(results.filter(url => url !== null))); }, get AlertsService() { delete this.AlertsService; return this.AlertsService = Cc["@mozilla.org/alerts-service;1"].getService(Ci.nsIAlertsService); }, sliceResults(results) { var maxlength = results.length; this.favmaxtimeout = maxtimeout * 1000; var forPageFavicon = (start, end) => { var endlength = maxlength - end, startend; if (endlength > 0) startend = results.slice(start, end); else startend = results.slice(start, maxlength); Promise.all(startend.map(this.getPageFavicon, this)).then(() => { if (endlength > 0) forPageFavicon(end, end + maxrequests); else { for(let {node} of CustomizableUI.getWidget(id).instances) node.style.setProperty("-moz-image-region", "rect(0px, 16px, 16px, 0px)", "important"); if (alertnotification) { try { this.AlertsService.showAlertNotification(alertimg, "Поиск фавиконок", "Завершено!", false); } catch(e) {} } this.running = false; } }); }; forPageFavicon(0, maxrequests); }, getFaviconForPage(siteURI) { return new Promise(resolve => { try { siteURI = Services.io.newURI(siteURI); } catch(e) { resolve(null); } PlacesUtils.favicons.getFaviconURLForPage(siteURI, uri => { if (uri === null) resolve(siteURI); else resolve(null); }); }); }, getPageFavicon(siteURI) { return new Promise(resolve => { var req = new XMLHttpRequest(); if (!req) { resolve(); return; } req.mozBackgroundRequest = true; req.open("GET", siteURI.spec, true); req.responseType = "document"; req.overrideMimeType("text/html"); req.timeout = this.favmaxtimeout; req.onload = () => { resolve(); var favURI = `${siteURI.prePath}/favicon.ico`, doc = req.responseXML; if (doc !== null) { let link = doc.querySelector("head link[href][rel~='icon']"); if (link !== null) favURI = link.href; } try { PlacesUtils.favicons.setAndFetchFaviconForPage(siteURI, Services.io.newURI(favURI), false, PlacesUtils.favicons.FAVICON_LOAD_NON_PRIVATE, null, Services.scriptSecurityManager.getSystemPrincipal()); } catch(e) {} }; req.onabort = () => { resolve(); }; req.onerror = () => { resolve(); req.abort(); }; req.ontimeout = () => { resolve(); req.abort(); }; req.send(null); }); }, }; CustomizableUI.createWidget({ id: id, label: label, tooltiptext: tooltiptext, localized: false, defaultArea: CustomizableUI.AREA_NAVBAR, onCreated: function(btn) { btn.style.setProperty("-moz-image-region", !favicons.running ? "rect(0px, 16px, 16px, 0px)" : "rect(16px, 16px, 32px, 0px)", "important"); btn.style.setProperty("list-style-image", `url("${img}")`, "important"); }, onCommand: function(e) { favicons.search(); }, }); })(); } catch(e) {}
Отсутствует
Vitaliy V.
А можно, также кнопки "Загрузки" и "Переключить прокси" из Add Toolbar Buttons для user_chrome_files адаптировать, желательно с обновлением страницы после переключения функции. Дело в том, что из Add Toolbar Buttons использую только эти две кнопки, и как зайдёшь в персонализацию, среди множества кнопок не так просто найти нужную. Бывает в ходе экспериментов удалишь случайно с панели какую-то кнопку дополнения, а потом пока найдёшь её среди этих всех кнопок. Спасибо.
Отсутствует
Vitaliy V.
Скрипт "обновить фавиконки" ...Что там с setTimeout(() , свой можно подставить? Или это по умолчанию можно?
Отсутствует
А можно, также кнопки "Загрузки" и "Переключить прокси" из Add Toolbar Buttons для user_chrome_files адаптировать
Как вариант:кнопка "Переключить прокси"
try { CustomizableUI.createWidget({ id: 'Download-ToolBarButton', type: 'custom', onBuild: function(aDocument) { let toolbaritem = aDocument.createXULElement('toolbarbutton'); let props = { id: 'Download-ToolBarButton', class: 'toolbarbutton-1 chromeclass-toolbar-additional', label: 'Downloads', accesskey: 'D', tooltiptext: 'Загрузки', style: 'list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAFo9M/3AAAACXBIWXMAAAsTAAALEwEAmpwYAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAC7klEQVR42mJgAIL3K2X+AwQQy9VMzf+cIooMAAHE8H6i2n+QKEAAsbCrSjJ8vST4HyCAQByG13Mc/n+/D5EBCCAWsMByBQa2bz/BkgABxAAz5f1aYbAKgAACo6+XJP///OQFFgAIIJbvd23//z/NyPD/NQPDg8uS/wECiIlT+TDjr5/sDK9ZrjMo6D5nBAgguLYPC13/f7nN+v/bQ7H/P77awM0DCCAWGOPLp58MfE80GFiE+RiYOCXhGgECiAlE3PZI/i8iL8bAchMocV2C4d/+fwyPj2qBTQEIIBR02S7+/4N1AigSAAHECPcLyB9/OBkY/rMxMLxkYRDMvwWWAwggJpgCDidZBlazzwzsVg8ZGAXU4SYABBDckYy/2BmYvgsyMLLxMPz+g7AFIIAQCr6zA+0B+oCLn+HHV0Q4AgQQ48MTUv8FvwszsLwUhHhLlIeBkQ+oT+IXw8Pa3wwAAcQkb/GM8f2fbwwMr4CO+8ABDBABBua3wgzP8qQY1BbsZQQIILAj5V3vMj6Tv8Dw8/VbBqZ/nxjuT2BiUFw/D+wLgABCQXeX8v+/5pyAEg4AAYSh6v0il/+cMeIM/9+/YGBgZmNgZOSGKOSTYvi25A6DYOw2FD0AAcSCbsCfX38Y/n+4x/D37R0GZiY2hn/sQN//+8LAzGgClGPCcBVAAGEa8O8/A9MnVoZ/77gZ/gH5zHwCDP//czAwcnID5T5jGAAQQCx3o0L/s/znBXP+/fvD8E/sGgPjJ14GxrdCDAxszMBwBQYrAz8DAx8TA7P8d4anaXH/mf8yMfz/y87w6/9zBoAAYoSlJrbiAwzi7wwY/r38CNSIcCqTFB+E/wvonu//GVj4+Rie855k+NtjzaCwfjYjQAChBMhNt5T/7IV7GaTf6jD8fAZx7h9xXgZ2RmYGVjFBsMYfzZYMqjvmwvUBBBBWBIqqW2t5/n+eo/X/6zKj//d38v4HuRKbWoAAwouOher8Pxmtg1cjQIABAFbt8Z32Ai5RAAAAAElFTkSuQmCC)', oncommand: "DownloadsPanel.showDownloadsHistory();" }; for (let p in props) toolbaritem.setAttribute(p, props[p]); return toolbaritem; } }); } catch(e) {}
Отредактировано kokoss (08-08-2020 00:25:19)
Win7
Отсутствует
Как вариант:кнопка "Переключить прокси"
Спасибо, но это далеко не то. Перезапуска вкладки не хватает. В принципе, ещё раньше находил и добавил в подборку Toggle Proxy WebExt, с обновлением страницы, по моей просьбе автор добавил. В крайнем случае его можно использовать.
+ кнопка "загрузки"
Примерно то же самое есть, но не то всё это, не как в Add Toolbar Buttons. Как варианты да, пойдёт.
P.S, для custom_script.js
Я знаю.
Отсутствует
egorsemenov06
sandro79
я пока заморочился с Add Toolbar Buttons в том числе этими функциями, как обновлю тогда с кнопками...
...Может на обновлении отразиться?
нет можешь добавить после showAlertNotification
setTimeout(()=> this.AlertsService.closeAlert(), 2000);
Отсутствует
egorsemenov06
sandro79
я пока заморочился с Add Toolbar Buttons в том числе этими функциями, как обновлю тогда с кнопками...
Да-да, спасибо, будем ждать. Виталий, главное, хорошо бы в кнопке "Переключить прокси" переключение между режимами "Ручная настройка прокси" и "URL автоматической настройки прокси".
А вот те аналоги кнопки загрузок, кроме как открыть окно "Библиотека", ну и у Ариса ещё по СКМ about:downloads может открывать, ну это далеко не то, увы.
Это для тех, кто не знает
Ну да, лучше на всякий случай уточнить, чтоб не было недопонимания у незнающих
Отсутствует
Ну тогда не знаю, у меня работает
Победил ,но с большим бубном , скорее случайно. Иконки стали отображаться с таким алгоритмом: прописал-сохранил-перегрузил FF без дополнений - загрузил FF нормально, я говорю полтергейст.
Отсутствует
Vitaliy V.
Пост в теме по Custom Buttons напомнил об одной кнопочке, которой очень сейчас не хватает - QuickSettings.
Кнопка создавала подменю, в которое можно было добавить собственные произвольные пункты about:config, для быстрого доступа к ним. Вы не могли бы сделать какой либо аналог этой кнопки? В виде скрипта, или части Add Toolbar Buttons, или отдельного расширения.
Отсутствует
Попробуйте так:
Пробывал , у меня на FF71 не работает
#nav-bar душит мой код для background-image::
#navigator-toolbox {
background: transparent !important; пробывал и background: и border. У меня #navigator-toolbox {border: transparent !important;} скрывает самую нижнюю полоску под
#PersonalToolbar
На FF71, DOM светит id - tabbrowser-tabs и TabsToolbar , на F38 как то легче пошло.
Отредактировано Duche (09-08-2020 18:39:03)
Отсутствует
Duche
Тогда так:
Отредактировано kokoss (09-08-2020 20:09:30)
Win7
Отсутствует
Тогда так:
Про тень я и не подумал, на такие полоски накладывать тень ,FF тех. "извращенцы".
Примите искреннюю благодарность , всё работает.
Отредактировано Duche (09-08-2020 21:49:01)
Отсутствует
Vitaliy V.
Dumby
Подскажите пожалуйста. Использую сейчас для about:newtab стиль в тёмных тонах из этого сообщения и фикс из этого.
Обратил внимание, даже сразу не заметил с какой версии 70+, при наведении указателя на плитку, окантовка по краю плитки приобретает светлый фон, если же включить встроенную тёмную тему, окантовка имеет тёмный цвет. В 68 окантовка имеет тёмный фон в любом случае.
Хотелось бы, чтоб при наведении указателя на плитку, бордюр по краю плитки был такого же цвета как и при использовании встроенной тёмной темы. Искал в activity-stream.css, не смог разобраться, слишком много там кода. Да и что искать толком не ясно. Спасибо.
@-moz-document url("about:newtab"), url("about:home") { body { --newtab-background-color: #2A2A2E !important; --newtab-border-primary-color: rgba(249, 249, 250, 0.8) !important; --newtab-border-secondary-color: rgba(249, 249, 250, 0.1) !important; --newtab-button-primary-color: #0060DF !important; --newtab-button-secondary-color: #38383D !important; --newtab-element-active-color: rgba(249, 249, 250, 0.2) !important; --newtab-element-hover-color: rgba(249, 249, 250, 0.1) !important; --newtab-icon-primary-color: rgba(249, 249, 250, 0.8) !important; --newtab-icon-secondary-color: rgba(249, 249, 250, 0.4) !important; --newtab-icon-tertiary-color: rgba(249, 249, 250, 0.4) !important; --newtab-inner-box-shadow-color: rgba(249, 249, 250, 0.2) !important; --newtab-link-primary-color: #45A1FF !important; --newtab-link-secondary-color: #50BCB6 !important; --newtab-text-conditional-color: #F9F9FA !important; --newtab-text-primary-color: #F9F9FA !important; --newtab-text-secondary-color: rgba(249, 249, 250, 0.8) !important; --newtab-textbox-background-color: #38383D !important; --newtab-textbox-border: rgba(249, 249, 250, 0.2) !important; --newtab-textbox-focus-color: #45A1FF !important; --newtab-textbox-focus-boxshadow: 0 0 0 1px #45A1FF, 0 0 0 4px rgba(69, 161, 255, 0.3) !important; --newtab-feed-button-background: #38383D !important; --newtab-feed-button-text: #F9F9FA !important; --newtab-feed-button-background-faded: rgba(56, 56, 61, 0.6) !important; --newtab-feed-button-text-faded: rgba(249, 249, 250, 0) !important; --newtab-feed-button-spinner: #D7D7DB !important; --newtab-contextmenu-background-color: #4A4A4F !important; --newtab-contextmenu-button-color: #2A2A2E !important; --newtab-modal-color: #2A2A2E !important; --newtab-overlay-color: rgba(12, 12, 13, 0.8) !important; --newtab-section-header-text-color: rgba(249, 249, 250, 0.8) !important; --newtab-section-navigation-text-color: rgba(249, 249, 250, 0.8) !important; --newtab-section-active-contextmenu-color: #FFF !important; --newtab-search-border-color: rgba(249, 249, 250, 0.2) !important; --newtab-search-dropdown-color: #38383D !important; --newtab-search-dropdown-header-color: #4A4A4F !important; --newtab-search-header-background-color: rgba(42, 42, 46, 0.95) !important; --newtab-search-icon-color: rgba(249, 249, 250, 0.6) !important; --newtab-search-wordmark-color: #FFF !important; --newtab-topsites-background-color: #38383D !important; --newtab-topsites-icon-shadow: none !important; --newtab-topsites-label-color: rgba(249, 249, 250, 0.8) !important; --newtab-card-active-outline-color: #4A4A4F !important; --newtab-card-background-color: #38383D !important; --newtab-card-hairline-color: rgba(249, 249, 250, 0.1) !important; --newtab-card-placeholder-color: #4A4A4F !important; --newtab-card-shadow: 0 1px 8px 0 rgba(12, 12, 13, 0.2) !important; --newtab-snippets-background-color: #38383D !important; --newtab-snippets-hairline-color: rgba(255, 255, 255, 0.1) !important; --trailhead-header-text-color: rgba(255, 255, 255, 0.6) !important; --trailhead-cards-background-color: rgba(12, 12, 13, 0.1) !important; --trailhead-card-button-background-color: rgba(12, 12, 13, 0.3) !important; --trailhead-card-button-background-hover-color: rgba(12, 12, 13, 0.5) !important; --trailhead-card-button-background-active-color: rgba(12, 12, 13, 0.7) !important; } } .ds-layout .top-sites .section-title span { color: white !important; }
Отредактировано sandro79 (10-08-2020 11:59:49)
Отсутствует
Добрый день. Помогите победить эти "уши" у вкладок , у активной закругления а за ними "уши". У не активной закруглений нет но, как только курсор наведен на вкладку "hover " закругление появляется и "ушей" нет на заднем плане как у активной. На форуме есть решение с заменой кода в "classic_squared_tabs" , но мне не подходит.
tab { -moz-appearance: none !important; } #tabbrowser-tabs .tabbrowser-tab[selected] .tab-content {background: linear-gradient(to bottom,#FFF9E5,#ffcc19) !important; color: #000000 !important; border-radius: 16px 16px 0px 0px !important;box-shadow: none !important; } /* Tab: hovered colors hover: */ tab { -moz-appearance: none !important; } #tabbrowser-tabs .tabbrowser-tab:hover:not([selected]) .tab-content {background: linear-gradient(to bottom,#e6e6e6,#888888) !important; border-radius: 16px 16px 0px 0px !important;box-shadow: none !important;}
Отсутствует
"Переключить прокси" из Add Toolbar Buttons для user_chrome_files
try { (() => { var id = "ucf-toggle-proxy", label = "Переключить прокси", tooltiptext = "Переключить прокси", tooltiptextbtnmenu = "ЛКМ: Меню прокси\nПКМ: Открыть настройки прокси", toggleproxy = 5, // 0, 1, 2, 4 , 5 Первый режим toggleproxy2 = 2, // 0, 1, 2, 4 , 5 Второй режим doreload = true, // Перезагрузить страницу img = "data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' height='80' width='16' viewBox='0 0 48 240'><g><rect x='0' y='0' width='48' height='48' rx='3' ry='3' style='fill:rgb(146, 69, 101);'/><path style='opacity:0.25;fill:black;' d='M 16.8,17.6 23.1,23.9 8,26 6.4,32.2 11.4,37.2 3.7,44.8 6.9,48 45,48 C 46.7,48 48,46.7 48,45 V 20 L 31.4,3.4'/><path style='fill:white;' d='M 17.4,3 C 16.7,3 16.2,3.82 16.2,4.91 V 15.9 C 16.2,17 16.7,17.8 17.4,17.8 H 30.6 C 31.3,17.8 31.8,17 31.8,15.9 V 4.91 C 31.8,3.82 31.3,3 30.6,3 H 17.4 M 22.4,20.5 V 23.7 H 6.41 V 32.2 H 9.35 V 28.2 H 22.4 V 32.4 H 25.5 V 28.2 H 38.5 V 32.4 H 41.5 V 23.7 H 25.5 V 20.5 H 22.4 M 4.23,35.1 C 3.55,35.1 3,35.9 3,37.1 V 43 C 3,44.1 3.55,45 4.23,45 H 12.1 C 12.8,45 13.3,44.1 13.3,43 V 37.1 C 13.3,35.9 12.8,35.1 12.1,35.1 H 4.23 M 19.9,35.1 C 19.2,35.1 18.7,35.9 18.7,37.1 V 43 C 18.7,44.1 19.2,45 19.9,45 H 27.8 C 28.5,45 29,44.1 29,43 V 37.1 C 29,35.9 28.5,35.1 27.8,35.1 H 19.9 M 35.9,35.1 C 35.2,35.1 34.7,35.9 34.7,37.1 V 43 C 34.7,44.1 35.2,45 35.9,45 H 43.7 C 44.4,45 45,44.1 45,43 V 37.1 C 45,35.9 44.4,35.1 43.7,35.1 H 35.9' /><rect x='0' y='48' width='48' height='48' rx='3' ry='3' style='fill:rgb(209, 8, 3);'/><path style='opacity:0.25;fill:black;' d='M 16.8,65.6 23.1,71.9 8,74 6.4,80.2 11.4,85.2 3.7,92.8 6.9,96 45,96 C 46.7,96 48,94.7 48,93 V 68 L 31.4,51.4'/><path style='fill:white;' d='M 17.4,51 C 16.7,51 16.2,51.8 16.2,52.9 V 63.9 C 16.2,65 16.7,65.8 17.4,65.8 H 30.6 C 31.3,65.8 31.8,65 31.8,63.9 V 52.9 C 31.8,51.8 31.3,51 30.6,51 H 17.4 M 22.4,68.5 V 71.7 H 6.41 V 80.2 H 9.35 V 76.2 H 22.4 V 80.4 H 25.5 V 76.2 H 38.5 V 80.4 H 41.5 V 71.7 H 25.5 V 68.5 H 22.4 M 4.23,83.1 C 3.55,83.1 3,83.9 3,85.1 V 91 C 3,92.1 3.55,93 4.23,93 H 12.1 C 12.8,93 13.3,92.1 13.3,91 V 85.1 C 13.3,83.9 12.8,83.1 12.1,83.1 H 4.23 M 19.9,83.1 C 19.2,83.1 18.8,83.9 18.8,85.1 V 91 C 18.8,92.1 19.2,93 19.9,93 H 27.8 C 28.5,93 29,92.1 29,91 V 85.1 C 29,83.9 28.5,83.1 27.8,83.1 H 19.9 M 35.9,83.1 C 35.2,83.1 34.7,83.9 34.7,85.1 V 91 C 34.7,92.1 35.2,93 35.9,93 H 43.7 C 44.4,93 45,92.1 45,91 V 85.1 C 45,83.9 44.4,83.1 43.7,83.1 H 35.9' /><rect x='0' y='96' width='48' height='48' rx='3' ry='3' style='fill:rgb(243, 135, 37);'/><path style='opacity:0.25;fill:black;' d='M 16.8,114 23.1,120 8,122 6.4,128 11.4,133 3.7,141 6.9,144 H 45 C 46.7,144 48,142.7 48,141 V 116 L 31.4,99.4'/><path style='fill:white;' d='M 17.4,99 C 16.7,99 16.2,99.8 16.2,101 V 112 C 16.2,113 16.7,114 17.4,114 H 30.6 C 31.3,114 31.8,113 31.8,112 V 101 C 31.8,99.8 31.3,99 30.6,99 H 17.4 M 22.4,117 V 120 H 6.41 V 128 H 9.35 V 124 H 22.4 V 128 H 25.5 V 124 H 38.5 V 128 H 41.5 V 120 H 25.5 V 117 H 22.4 M 4.23,131 C 3.55,131 3,132 3,133 V 139 C 3,140 3.55,141 4.23,141 H 12.1 C 12.8,141 13.3,140 13.3,139 V 133 C 13.3,132 12.8,131 12.1,131 H 4.23 M 19.9,131 C 19.2,131 18.8,132 18.8,133 V 139 C 18.8,140 19.2,141 19.9,141 H 27.8 C 28.5,141 29,140 29,139 V 133 C 29,132 28.5,131 27.8,131 H 19.9 M 35.9,131 C 35.2,131 34.7,132 34.7,133 V 139 C 34.7,140 35.2,141 35.9,141 H 43.7 C 44.4,141 45,140 45,139 V 133 C 45,132 44.4,131 43.7,131 H 35.9' /><rect x='0' y='144' width='48' height='48' rx='3' ry='3' style='fill:rgb(21, 161, 99);'/><path style='opacity:0.25;fill:black;' d='M 16.8,162 23.1,168 8,170 6.4,176 11.4,181 3.7,189 6.9,192 H 45 C 46.7,192 48,190.7 48,189 V 164 L 31.4,147'/><path style='fill:white;' d='M 17.4,147 C 16.7,147 16.2,148 16.2,149 V 160 C 16.2,161 16.7,162 17.4,162 H 30.6 C 31.3,162 31.8,161 31.8,160 V 149 C 31.8,148 31.3,147 30.6,147 H 17.4 M 22.4,165 V 168 H 6.41 V 176 H 9.35 V 172 H 22.4 V 176 H 25.5 V 172 H 38.5 V 176 H 41.5 V 168 H 25.5 V 165 H 22.4 M 4.23,179 C 3.55,179 3,180 3,181 V 187 C 3,188 3.55,189 4.23,189 H 12.1 C 12.8,189 13.3,188 13.3,187 V 181 C 13.3,180 12.8,179 12.1,179 H 4.23 M 19.9,179 C 19.2,179 18.8,180 18.8,181 V 187 C 18.8,188 19.2,189 19.9,189 H 27.8 C 28.5,189 29,188 29,187 V 181 C 29,180 28.5,179 27.8,179 H 19.9 M 35.9,179 C 35.2,179 34.7,180 34.7,181 V 187 C 34.7,188 35.2,189 35.9,189 H 43.7 C 44.4,189 45,188 45,187 V 181 C 45,180 44.4,179 43.7,179 H 35.9' /><rect x='0' y='192' width='48' height='48' rx='3' ry='3' style='fill:rgb(0, 120, 173);'/><path style='opacity:0.25;fill:black;' d='M 16.8,210 23.1,216 8,218 6.4,224 11.4,229 3.7,237 6.9,240 H 45 C 46.7,240 48,238.7 48,237 L 48,212 31.4,195'/><path style='fill:white;' d='M 17.4,195 C 16.7,195 16.2,196 16.2,197 V 208 C 16.2,209 16.7,210 17.4,210 H 30.6 C 31.3,210 31.8,209 31.8,208 V 197 C 31.8,196 31.3,195 30.6,195 H 17.4 M 22.4,213 V 216 H 6.41 V 224 H 9.4 V 220 H 22.4 V 224 H 25.5 V 220 H 38.5 V 224 H 41.5 V 216 H 25.5 V 213 H 22.4 M 4.23,227 C 3.55,227 3,228 3,229 V 235 C 3,236 3.55,237 4.23,237 H 12.1 C 12.8,237 13.3,236 13.3,235 V 229 C 13.3,228 12.8,227 12.1,227 H 4.23 M 19.9,227 C 19.2,227 18.7,228 18.7,229 V 235 C 18.7,236 19.2,237 19.9,237 H 27.8 C 28.5,237 29,236 29,235 V 229 C 29,228 28.5,227 27.8,227 H 19.9 M 35.9,227 C 35.2,227 34.7,228 34.7,229 V 235 C 34.7,236 35.2,237 35.9,237 H 43.7 C 44.4,237 45,236 45,235 V 229 C 45,228 44.4,227 43.7,227 H 35.9' /></g></svg>", imgmenu = "data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' height='80' width='16' viewBox='0 0 48 240'><g><circle cy='24' cx='24' style='fill:rgb(146, 69, 101);' r='20'/><path style='opacity:0.25;fill:black;' d='M 33,41.8 22.3,31.1 36.7,17.9 44,25.2 C 43.5,30.6 41,37.7 33,41.8 Z'/><path style='fill:white;stroke:white;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;' d='M 35,19 H 13 L 24,30 35,19' /><circle cy='72' cx='24' style='fill:rgb(209, 8, 3);' r='20'/><path style='opacity:0.25;fill:black;' d='M 33,89.8 22.3,79.1 36.7,65.9 44,73.2 C 43.5,78.6 41,85.7 33,89.8 Z'/><path style='fill:white;stroke:white;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;' d='M 35,67 H 13 L 24,78 35,67' /><circle cy='120' cx='24' style='fill:rgb(243, 135, 37);' r='20'/><path style='opacity:0.25;fill:black;' d='M 32.8,138 22,127 36.7,114 44,121 C 43.5,127 40.9,134 32.8,138 Z'/><path style='fill:white;stroke:white;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;' d='M 34.9,115 H 13.1 L 24,126 34.9,115' /><circle cy='168' cx='24' style='fill:rgb(21, 161, 99);' r='20'/><path style='opacity:0.25;fill:black;' d='M 32.9,186 22,175 36.7,162 44,169 C 43.5,175 40.9,182 32.9,186 Z'/><path style='fill:white;stroke:white;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;' d='M 35,163 H 13 L 24,174 35,163' /><circle cy='216' cx='24' style='fill:rgb(0, 120, 173);' r='20'/><path style='opacity:0.25;fill:black;' d='M 32.8,234 22,223 36.7,210 44,217 C 43.5,223 40.9,230 32.8,234 Z'/><path style='fill:white;stroke:white;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;' d='M 35,211 H 13 L 24,222 35,211' /></g></svg>"; var tbarbtns = { get network_proxy_type() { delete this.network_proxy_type; try { return this.network_proxy_type = Services.prefs.getIntPref("network.proxy.type"); } catch(e) { } return this.network_proxy_type = null; }, get btnstyle() { delete this.btnstyle; return this.btnstyle = "data:text/css;charset=utf-8," + encodeURIComponent(` #${id}-button { list-style-image: url("${img}") !important; -moz-image-region: rect(0px, 16px, 16px, 0px) !important; } #${id}-button-menu { list-style-image: url("${imgmenu}") !important; -moz-image-region: rect(0px, 16px, 16px, 0px) !important; } #${id}[activated="1"] :-moz-any(#${id}-button,#${id}-button-menu) { -moz-image-region: rect(16px, 16px, 32px, 0px) !important; } #${id}[activated="2"] :-moz-any(#${id}-button,#${id}-button-menu) { -moz-image-region: rect(32px, 16px, 48px, 0px) !important; } #${id}[activated="4"] :-moz-any(#${id}-button,#${id}-button-menu) { -moz-image-region: rect(48px, 16px, 64px, 0px) !important; } #${id}[activated="5"] :-moz-any(#${id}-button,#${id}-button-menu) { -moz-image-region: rect(64px, 16px, 80px, 0px) !important; } toolbarpaletteitem[place="palette"] .ucf-toolbarbutton-combined-buttons-dropmarker, .ucf-toolbarbutton-combined-buttons-dropmarker dropmarker { display: none !important; } .ucf-toolbaritem-combined-buttons { margin-inline: 0 !important; padding-inline: 0 !important; } toolbar .ucf-toolbaritem-combined-buttons > .toolbarbutton-1 { padding-inline: var(--toolbarbutton-outer-padding, 1px) !important; } toolbar .ucf-toolbaritem-combined-buttons > .ucf-toolbarbutton-combined-buttons-toolbarbutton { margin-inline-end: 0 !important; padding-inline-end: 0 !important; } toolbar .ucf-toolbaritem-combined-buttons > .ucf-toolbarbutton-combined-buttons-dropmarker { margin-inline-start: 0 !important; padding-inline-start: 0 !important; } .widget-overflow-list .ucf-toolbarbutton-combined-buttons-dropmarker { -moz-box-flex: 0 !important; } .ucf-toolbarbutton-combined-buttons-dropmarker > .toolbarbutton-icon { min-width: 0 !important; max-width: none !important; width: 16px !important; padding-inline: 0 !important; } .ucf-toolbarbutton-combined-buttons-dropmarker > .toolbarbutton-text { display: none !important; } `); }, toggleTheProxy() { Services.prefs.setIntPref("network.proxy.type", (Services.prefs.getIntPref("network.proxy.type") == toggleproxy2) ? toggleproxy : toggleproxy2); }, setProxyMenuItem(e) { var proxyState = Services.prefs.getIntPref("network.proxy.type"), popup = e.currentTarget; for (let item of popup.querySelectorAll("menuitem")) { if (+item.getAttribute("value") == proxyState) { item.setAttribute("checked", "true"); break; } } }, setProxyValue(e) { Services.prefs.setIntPref("network.proxy.type", +e.target.getAttribute("value")); }, checkBrowserReload(win) { if (doreload) win.BrowserReloadSkipCache(); }, async openProxyWin(win) { var type = "aTaB:ProxyWin", id = "ConnectionsWin"; var _win = Services.wm.getMostRecentWindow(type); if (!_win) { let url = "chrome://browser/content/preferences/dialogs/connection.xhtml", xs = Services.xulStore; let sx = xs.getValue(url, id, "screenX"); let sy = xs.getValue(url, id, "screenY"); let wh = xs.getValue(url, id, "width"); let ht = xs.getValue(url, id, "height"); let sm = xs.getValue(url, id, "sizemode"); let features = `chrome,dialog=no,resizable,${sx && sy ? `screenX=${sx !== "0" ? sx : "1"},screenY=${sy !== "0" ? sy : "1"}` : "centerscreen"}${wh && ht ? `,width=${wh},height=${ht}` : ""}`; _win = win.openDialog(url, type, features); _win.opener = win; _win.opener.gSubDialog = { _dialogs: [] }; await new Promise(resolve => { _win.windowRoot.addEventListener("DOMContentLoaded", () => { _win.windowRoot.addEventListener("MozUpdateWindowPos", () => { if (sm === "maximized") _win.maximize(); }, { once: true, capture: true }); resolve(); }, { once: true }); }); } var docEl = _win.document.documentElement; docEl.setAttribute("type", "prefwindow"); docEl.setAttribute("windowtype", type); docEl.id = id; docEl.setAttribute("persist", "screenX screenY width height sizemode lastSelected"); _win.focus(); }, }; CustomizableUI.createWidget({ id: id, type: "custom", label: label, tooltiptext: tooltiptext, localized: false, defaultArea: CustomizableUI.AREA_NAVBAR, onBuild: function(doc) { var win = doc.defaultView, trim = doc.createXULElement("toolbaritem"); trim.id = id; trim.className = "toolbaritem-combined-buttons ucf-toolbaritem-combined-buttons chromeclass-toolbar-additional"; trim.setAttribute("label", label); trim.setAttribute("type", "custom"); var trbn_0 = doc.createXULElement("toolbarbutton"); trbn_0.id = `${id}-button`; trbn_0.className = "toolbarbutton-1 ucf-toolbarbutton-combined-buttons-toolbarbutton"; trbn_0.setAttribute("label", label); trbn_0.setAttribute("tooltiptext", tooltiptext); trbn_0.setAttribute("context", ""); trim.append(trbn_0); var trbn_1 = doc.createXULElement("toolbarbutton"); trbn_1.id = `${id}-button-menu`; trbn_1.className = "toolbarbutton-1 ucf-toolbarbutton-combined-buttons-dropmarker"; trbn_1.setAttribute("type", "menu"); trbn_1.setAttribute("label", ""); trbn_1.setAttribute("tooltiptext", tooltiptextbtnmenu); trbn_1.setAttribute("context", ""); trbn_1.addEventListener("click", e => { if (e.button == 2) { e.preventDefault(); e.stopPropagation(); tbarbtns.openProxyWin(win); } }); var mupp = doc.createXULElement("menupopup"); mupp.id = `${id}-proxy-popup`; mupp.addEventListener("click", e => { e.stopPropagation(); }); var proxy = tbarbtns.network_proxy_type; if (proxy !== null) { trim.setAttribute("activated", proxy); trbn_0.addEventListener("command", e => { tbarbtns.toggleTheProxy(); tbarbtns.checkBrowserReload(win); }); mupp.addEventListener("command", e => { e.stopPropagation(); tbarbtns.setProxyValue(e); tbarbtns.checkBrowserReload(win); }); mupp.addEventListener("popupshowing", e => { tbarbtns.setProxyMenuItem(e); }); } var muim_0 = doc.createXULElement("menuitem"); muim_0.setAttribute("label", "Прямое подключение, без прокси"); muim_0.setAttribute("type", "radio"); muim_0.setAttribute("value", "0"); mupp.append(muim_0); var muim_1 = doc.createXULElement("menuitem"); muim_1.setAttribute("label", "Ручная настройка прокси"); muim_1.setAttribute("type", "radio"); muim_1.setAttribute("value", "1"); mupp.append(muim_1); var muim_2 = doc.createXULElement("menuitem"); muim_2.setAttribute("label", "Автоматическая настройка прокси"); muim_2.setAttribute("type", "radio"); muim_2.setAttribute("value", "2"); mupp.append(muim_2); var muim_3 = doc.createXULElement("menuitem"); muim_3.setAttribute("label", "Автоопределение настроек прокси"); muim_3.setAttribute("type", "radio"); muim_3.setAttribute("value", "4"); mupp.append(muim_3); var muim_4 = doc.createXULElement("menuitem"); muim_4.setAttribute("label", "Использовать системные настройки прокси"); muim_4.setAttribute("type", "radio"); muim_4.setAttribute("value", "5"); mupp.append(muim_4); var menuseparator = doc.createXULElement("menuseparator"); mupp.append(menuseparator); var muim_5 = doc.createXULElement("menuitem"); muim_5.setAttribute("label", "Открыть настройки прокси"); muim_5.addEventListener("command", e => { e.stopPropagation(); tbarbtns.openProxyWin(win); }); mupp.append(muim_5); trbn_1.append(mupp); trim.append(trbn_1); try { win.windowUtils.loadSheetUsingURIString(tbarbtns.btnstyle, win.windowUtils.USER_SHEET); } catch (e) {} return trim; } }); Services.prefs.addObserver("network.proxy.type", { observe: function(aSubject, aTopic, aData) { if (aData == "network.proxy.type") { let network_proxy_type = tbarbtns.network_proxy_type = Services.prefs.getIntPref(aData), getW = CustomizableUI.getWidget(id); if (getW.instances.length) for(let {node} of getW.instances) try { node.setAttribute("activated", network_proxy_type); } catch(e) {} else for (let win of CustomizableUI.windows) try { getW.forWindow(win).node.setAttribute("activated", network_proxy_type); } catch(e) {} } } }); })(); } catch(e) {}
Отредактировано Vitaliy V. (06-07-2021 00:05:48)
Отсутствует
Две в одном
скрытый текст
Огромное Спасибо!!! Всё завелось и работает как в Add Toolbar Buttons. Виталий, а что последняя версия user_chrome_files уже не работает в безопасном режиме с отключенными дополнениями, скрипты и стили отключены, только панели и кнопки доступны? Нельзя как-то вернуть возможность работы в без. режиме, правкой config.js или user_chrome.js? Искал по Services.appinfo.inSafeMode в user_chrome.js в прошлой версии комплекта и последней - разницы не увидел вроде.
но там не только это, если поискать [lwt-newtab-brighttext] - более 100 совпадений...
Да вот же, если толком не знаешь что искать и использовать... Благодарю, теперь всё в норме
Отсутствует
Duche
попробуйте так, если стили др. не помешают
.tabbrowser-tab { background-color: transparent !important; border-color: transparent !important; } .tabbrowser-tab[selected] { color: #000000 !important; } .tabbrowser-tab .tab-background { border: none !important; border-radius: 16px 16px 0px 0px !important; box-shadow: none !important; } .tabbrowser-tab[selected] .tab-background { background: linear-gradient(to bottom, #FFF9E5, #ffcc19) !important; } .tabbrowser-tab:hover:not([selected]) .tab-background { background: linear-gradient(to bottom, #e6e6e6, #888888) !important; } .tabbrowser-tab .tab-line, .tabbrowser-tab:hover::after, .tabbrowser-tab[beforehovered]::after, .tabbrowser-tab[beforeselected-visible]::after, .tabbrowser-tab[selected]::after { opacity: 0 !important; transition: none !important; }
Нельзя как-то вернуть возможность работы в без. режиме, правкой config.js или user_chrome.js?
удалить можно в user_chrome.js
try {
noSafeMode = !Services.appinfo.inSafeMode;
} catch(e) {}
Отредактировано Vitaliy V. (10-08-2020 18:59:39)
Отсутствует
Duche
Значит помешали, я фиг знает что у вас там наворочено,
скорее всего на .tab-content - background добавлен, поэтому не видно
Отредактировано Vitaliy V. (10-08-2020 17:47:38)
Отсутствует