Dumby - просьба исправить скрипт, скрывающий панель вкладок с одной вкладкой для FF-110 (на FF97 работало)
плюс используется стиль «Вкладки снизу»: от aris-t2 @import ./css/tabs/tabs_below_navigation_toolbar.css
[code] // ucf_autohidetabstoolbar.js https://forum.mozilla-russia.org/viewtopic.php?pid=790733#p790733
(this.autohidetabstoolbar = {
init(that) {
var newtab = this.newtab = document.querySelector("#tabs-newtab-button");
if (!newtab) return;
newtab.addEventListener("animationstart", this);
that.unloadlisteners.push("autohidetabstoolbar");
var style = "data:text/css;charset=utf-8," + encodeURIComponent(`
:root[ucfautohidetabstoolbar="true"] #TabsToolbar:not([customizing]) {
visibility: collapse !important;
}
#main-window[ucfautohidetabstoolbar="true"]:not([customizing]) box > #navigator-toolbox {
padding-bottom: 0 !im
Обновил Demo-ПРОФИЛЬ для Firefox 84+
Скрипт меню сократил, но добавил всплывающих подсказок. Многие скрипты обновлены.
В зависимости от операционной системы, подключаются дополнительные стили для custom_styles_all_user.css.
Теперь у кнопок 2 режима работы - переключаются долгим кликом по Attributes Inspector в левой панели.
Пока режимы работы отличаются только подсказками, но возможно сделать полностью 2 различных профиля кнопок.
Например, в одном режиме у кнопок есть двойной клик, в другом долгое нажатие.
В одном режиме (Экспертном) подключены одни кнопки, во втором (простом) другие.
ВВП я спрашивал про js-код - как получить размер кэша.
Подскажите код - как получить размер кэша в папке cache2 ?
Эта цифра отображается в настройках: "Ваши сохранённые куки, данные сайтов и кэш сейчас занимают на диске 700 МБ."
задать правило для заголовка вкладки, удаляющее текст по regex шаблону
есть скрипт, удаляющий текст по regex-шаблону из заголовков вкладок.
неужели так много там экономится, чтоб "ucf_hookClicks.js" был так уж нужен?
Да, например отдельно в кнопке меню ucf_QuickToggle.js такое очень сложно сделать, а используя hookClicks всё намного проще:
Спасибо Dumby - код обработки предельно прост: 2(trg, forward) { bright(trg, forward);}, // яркость роликом мыши на кнопке ±
1) клики трёх кнопок мыши, б) их долгое нажатие с) прокрутка колёсика мыши д) + комбинации с Ctrl, Alt, Shift, Win
2) различные действия, в зависимости, где событие мыши: на самой кнопке или в её меню опций
3) различные подсказки, обновляемые при наведении курсора мыши на кнопку или разные пункты меню и подменю
4) сообщения в строке статуса при наведении на кнопку или при изменении режимов работы браузера
5) цвет кнопки в зависимости от режима прокси и многое другое (скрипт подробно комментирован)
6) всё работает на любых панелях и кнопках, не нужно в каждую кнопку прописывать клики, подсказки и прочее...
в обычном скрипте для о
Dumby - спасибо за адаптацию ucf_SessionManager!
Как сделать прокрутку вкладок колёсиком мыши ? (аналогично Ctrl+Page Up|Down)
твой код работает, только если его запустить из консоли. Разные способы запуска из CustomStylesScripts.jsm не пашут:
(async (tc) => addEventListener("wheel", e => { if (e.shiftKey || e.ctrlKey || e.altKey || e.metaKey) return; e.stopPropagation(); e.preventDefault(); tc.advanceSelectedTab(e.deltaY < 0 ? 1 : -1, true); }, true, tc || 1))(gBrowser.tabContainer);
Скрипты у Dobrov-а работают с перехватом кликов hookClicks, его нужно добавить в CustomStylesScripts.jsm, иначе ни один "из этих" скриптов работать не будет.
LGS спрашивал про ucf_SessionManager.js, которому не нужен ucf_hookClicks. "Из этих" зависят только attrsInspector.js, ucf_mousedrag.js, ucf_QuickToggle.js.
Но глобальный скрипт значительно упрощает код других кнопок и добавляет много функций, подсказки, клики, перехват при наведении мыши
Dumby - спасибо, заработало! :beer: Исправил также этот ucf_autohidetabstoolbar.js в шапке.
Dumby - Я не уверен, но автоскрытие панели вкладок от Виталия есть в профиле profile_ucf_dobrov, но перестало работать в новых FF.
:root:not([inFullscreen])[v_menubar_autohide="true"] #navigator-toolbox > #nav-bar { margin-top: 0 !important; margin-inline-end: var(--v-titlebar-buttonbox-container-width, 108px) !important; }
при изменении этих атрибутов, устанавливает для <html>
значение атрибута "v_menubar_autohide" и в его атрибуте "style"
устанавливает часть именуемую "--v-titlebar-buttonbox-container-width".Вот и всё. Если у тебя какой-то стиль повешен на эти атрибуты, то где стиль?
Так как этот стиль связан с кодом, привожу стиль от Виталия здесь:
[code]@-moz-document url("chrome://browser/content/browser.xhtml") {
:root { /* вкладки снизу: стиль плюс скрипты https://forum.mozilla-russia.org/viewtopic.php?pid=784310#p784310 */
--v-toolbar-menubar-height: 28px; /* высота панели меню, только чётные числа не меньше 20px для macos = 0
если изменяете эту переменную то и в --v-toolbar-menubar-height-content - атрибут height= нужно установить ровно в два раза больше*/
--v-toolbar-menubar-height-content: url("data:image/svg+xml,<svg width='28' height='56' xmlns='http://www.w3.org/2000/svg'><rect x='0' y='0' width='100%' height='100%' style='fill:transparent;'/></svg>"); /*
Не понял просьбу. menubar это не панель вкладок.
Ну, именно этот этот код автоскрывает панель вкладок, но на FF103+ не пашет.
Опять в Firefox 103+ перестал работать скрипт от Виталия - нужно скрывать панель вкладок, если открыта одна вкладка.
Dumby - может починишь код menubarVisibilityChance.js или переделаешь, чтобы работало автоскрытие панели вкладок на FF90+ ?
[code]var menubarvisibilitychance = {
buttons: null,
buttonsfullscreen: null,
init(that) {
var menubar = this.menubar = document.querySelector("#toolbar-menubar");
if (!menubar) return;
this.autohidechange = new MutationObserver(() => {
this.settoolbarvisibility();
});
this.autohidechange.observe(menubar, {
attributeFilter: ["autohide", "inactive"],
attributes: true,
});
this.sizemodechange = new MutationObserver(() => {
this.setbuttonboxwidth();
});
this.sizemodechange.observe(document.documentElement, {
attributeFilter: ["sizemode"],
attributes: true,
});
that.unloadlisteners?.push("menubarvisibilitychance");
this.settoolbarvisibility();
},
settoolbarvisibility() {
var docElm = document.docum
В начале скрипта импортируем лисий модуль AppConstants, и определяем функцию типа var os = name => `${name}_${AppConstants.platform}.css`;
с @media (-moz-platform не совсем подходит, так как хочу, чтобы работало на "быстрых" старых версиях, как UCF для FF78+. Так нормально?
[code]const {AppConstants} = ChromeUtils.import("resource://gre/modules/AppConstants.jsm");
var os = name => `${name}_${AppConstants.platform}.css`;
var UcfStylesScripts = { /** ************************▼ Настройки ▼ + доп. подключение слилей для вашей ОС */
………………………
stylesall: [ // Для всех документов
{ path: "custom_styles_all_agent.css", type: "AGENT_SHEET", sheet() { registerSheet(this); }, },
{ path: "custom_styles_all_user.css", type: "USER_SHEET", sheet() { registerSheet(this); }, },
// добавить стиль для вашей операционной системы: "*_macosx.css" "*_linux.css" "*_win.css"
{ path: os("custom_styles_all_agent"), type: "AGENT_SHEET", sheet() { registerSheet(this); }, },
{
Вобщем, пока Cu.import() еще с нами, такой вариант
В панели закладок вернуть удалённое работает. А как насчёт окна "Управление закладками"?
Dumby - возможно добавить восстановление удалённых закладок было и в окне Библиотеки?
Ещё вопрос по стилям UCF в CustomStylesScripts.jsm - подскажите, как подключать стили в зависимости от операционной системы?
Хотелка такая - подключать общие AGENT_SHEET и USER_SHEET стили как обычно, но добавить ещё пару CSS в зависимости от OS.
То есть чтобы на macos подключались ещё пара своих AGENT_SHEET и USER_SHEET стилей, на linux пара своих, на windows тоже.
[code]var UcfStylesScripts = { /** ************************▼ Настройки ▼************************ */
……………………………
stylesall: [ // Для всех документов - ЗДЕСЬ разделить стили по типу операционной системы
{ path: "custom_styles_all_agent.css", type: "AGENT_SHEET", sheet() { registerSheet(this); }, },
{ path: "custom_styles_all_user.css", type: "USER_SHEET", shee
Поделитесь, кто пользуется и у кого работает.
Вопрос на удаление работал, но зачем нужен? Только время отнимает.
2. второй очень полезный: пережал иконку в Восстановить закладки, сократив на 800 байт.
«Не работает на UserChromeFiles»
При чём тут UCF? Просьбу-то видел? Там что-то сказано про UCF?
Ну, раз расширение CustomButtons безнадёжно устарело, в этой теме уже много скрипов адаптировано под UCF. Поэтому я и надеялся…
при открытии закладки, если она уже открыта во вкладке, автоматически переключать на эту вкладку, а не открывать новую
Хорошо, попробую
Не работает на UserChromeFiles 2021-9-23! Скрипт подключал так:
// здесь тоже не пашет - scriptsbackground: [ // В фоне [System Principal] scriptschrome: { // Для докум. окна браузера [ChromeOnly] domload: [ // По событию "DOMContentLoaded" { path: "select-open-fav.js", ucfobj: true, },
А почему привязка только к панели закладкок? Тут по идее нужен такой подход (наверное на форуме был подобный код?):
в неактивной вкладке открыта страница, допустим ya.ru. Кликаем эту же ссылку в id="personal-bookmarks" или эту же ссылку на странице текущей вкладки - в результате выбирается ранее неактивная вкладка с ya.ru
ещё Вопрос: как получить первую (или последнюю) ссылку из Меню закладок? (код должен работать с UCF)
[url=https://ibb
kazarin - Антизапрет переодически не работает на некоторых сайтах - флибуста и прочие.
Для Антизапрета нужно установить два пункта меню: 1) Прокси - Антизапрет 2) Режим прокси - Автонастройка.
С виду код вроде рабочий, но советую обновить кнопку. Приведённый код сильно устарел - актуальный от апреля 2022 (требуется 2 скрипта: ucf_QuickToggle.js + глобальный ucf_hookClicks.js).
в моём профиле (в шапке темы) переключение прокси делается проще: долгий клик по Замку или кнопке Quick toggle.
Надо выписать всё, что касается установки, в отдельную тему в этом разделе.
Укажите пост с инструкцией, добавлю в шапку темы UCF - ваши кнопки, темы, дополнения
будет проще искать…
Тогда скажи на какой версии Firefox эта правка
сломала обратную совместимость, попробую посмотреть.
Не знаю, если новая правка работает на всех Firefox, начиная с 90, тогда ладно.
Я откатился на FF97, когда страницы стали непонятно тормозить и долго загружаться на FF102.
о проверке версий:
например AppConstants.MOZ_APP_VERSION больше 102 -> выполняем один код, меньше -> другой прежний.
Это наверное поможет, если Опять изменили аргументы в internalSave()
Dumby - получается, что теперь нужны два скрипта?
А может лучше проверять на версию FF, как infocatcher делает?
Тогда бы один скрипт работал на прежнем и новом Firefox…
1. Работает только ручное сохранение или можно выставить в авто? Если можно, то как включить и как настроить периодичность?
2. Где хранятся сессии?
Сесии храняться в «Профиль Firefox//chrome/simple_session_manager.json»
С авто-сохранением и таймером для него надо обращаться к Dumby, он этот скрипт делал.
Не все пользуются версией с CustomStylesScripts.jsm. Мне эта версия UCF непонятна, лично я на старой остался.
Дополнил шапку, добавил custom_script.js - скрипты добавлять здесь: (async () => { ["ucf_SessionManager.js"]. Процитирую скрипт из шапки:
[code]// Этот скрипт можно использовать для создания кнопок с помощью CustomizableUI.createWidget
(async (scripts) => { // подключить внешние скрипты
[['ucf_QuickToggle.js'], ['UCFTitleChangedChild.jsm', 'registerUCFTitleChanged'], ['Test.jsm']]
.forEach(function(js) { try { if (/\.jsm$/i.test(js[0])) { // [скрипт js или jsm, инициализация]
var obj = ChromeUtils.import(scripts + js[0]);
js[1] && obj[js[1]]();
} else Services.scriptloader.loadSubScript(scripts + js[0]);
} catch(ex) {Cu.reportError(ex);}
});
})('chrome://user_chrome_files/content/custom_scripts/');
/* вариант с отдельными скриптами:
(async () => { var loadscript = (name, funcName) => {
try { var {href, pathname} = n
UserChromeFiles в наличии, а вот куда там добавить код этого менеджера - не понимаю.
повторюсь - файл CustomStylesScripts.jsm – добавить строку в секцию scriptsbackground: [ // В фоне [System Principal]
В этой теме в различных вариантах расписан порядок установки, всё есть в шапке и справке Демо-профиля. Ссылки снабжены всплывающими подсказками, например наведите мышь на startupCache в последней строке встроенной справки
Если вам описание установки в шапке не ясно, тогда пользуйтесь обычными дополнениями…