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

Список ответов на каверзные вопросы можно получить в FAQ-разделе форума.

Скрипты » UCF - ваши кнопки, темы, дополнения, скрипты… » 01-03-2023 05:28:07

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

Скрипты » UCF - ваши кнопки, темы, дополнения, скрипты… » 06-11-2022 06:44:50

Обновил Demo-ПРОФИЛЬ для Firefox 84+
Скрипт меню сократил, но добавил всплывающих подсказок. Многие скрипты обновлены.
В зависимости от операционной системы, подключаются дополнительные стили для custom_styles_all_user.css.
Теперь у кнопок 2 режима работы - переключаются долгим кликом по Attributes Inspector в левой панели.
Пока режимы работы отличаются только подсказками, но возможно сделать полностью 2 различных профиля кнопок.
Например, в одном режиме у кнопок есть двойной клик, в другом долгое нажатие.
В одном режиме (Экспертном) подключены одни кнопки, во втором (простом) другие.

Сustom Buttons » Custom Buttons » 01-10-2022 14:21:49

ВВП я спрашивал про js-код - как получить размер кэша.

Сustom Buttons » Custom Buttons » 01-10-2022 02:55:20

Подскажите код - как получить размер кэша в папке cache2 ?


Эта цифра отображается в настройках: "Ваши сохранённые куки, данные сайтов и кэш сейчас занимают на диске 700 МБ."

CSS-стили » Настройка внешнего вида Firefox в userChrome.css » 22-09-2022 01:14:40

zaskock пишет

задать правило для заголовка вкладки, удаляющее текст по regex шаблону

есть скрипт, удаляющий текст по regex-шаблону из заголовков вкладок.

Скрипты » UCF - ваши кнопки, темы, дополнения, скрипты… » 19-09-2022 13:16:24

kazarin пишет

неужели так много там экономится, чтоб "ucf_hookClicks.js" был так уж нужен?

Да, например отдельно в кнопке меню ucf_QuickToggle.js такое очень сложно сделать, а используя hookClicks всё намного проще:
Спасибо Dumby - код обработки предельно прост: 2(trg, forward) { bright(trg, forward);}, // яркость роликом мыши на кнопке ±
1) клики трёх кнопок мыши, б) их долгое нажатие с) прокрутка колёсика мыши д) + комбинации с Ctrl, Alt, Shift, Win
2) различные действия, в зависимости, где событие мыши: на самой кнопке или в её меню опций
3) различные подсказки, обновляемые при наведении курсора мыши на кнопку или разные пункты меню и подменю
4) сообщения в строке статуса при наведении на кнопку или при изменении режимов работы браузера
5) цвет кнопки в зависимости от режима прокси и многое другое (скрипт подробно комментирован)
6) всё работает на любых панелях и кнопках, не нужно в каждую кнопку прописывать клики, подсказки и прочее...
в обычном скрипте для о

Скрипты » UCF - ваши кнопки, темы, дополнения, скрипты… » 18-09-2022 02:14:40

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);
kazarin пишет

Скрипты у Dobrov-а  работают с перехватом кликов hookClicks, его нужно добавить в CustomStylesScripts.jsm, иначе ни один "из этих" скриптов работать не будет.

LGS спрашивал про ucf_SessionManager.js, которому не нужен ucf_hookClicks. "Из этих" зависят только attrsInspector.js, ucf_mousedrag.js, ucf_QuickToggle.js.
Но глобальный скрипт значительно упрощает код других кнопок и добавляет много функций, подсказки, клики, перехват при наведении мыши

Скрипты » UCF - ваши кнопки, темы, дополнения, скрипты… » 17-09-2022 14:14:00

Dumby - спасибо, заработало! :beer: Исправил также этот ucf_autohidetabstoolbar.js в шапке.

Скрипты » UCF - ваши кнопки, темы, дополнения, скрипты… » 17-09-2022 11:18:00

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;
}

Скрипты » UCF - ваши кнопки, темы, дополнения, скрипты… » 17-09-2022 10:32:49

Dumby пишет

при изменении этих атрибутов, устанавливает для <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>");  /*

Скрипты » UCF - ваши кнопки, темы, дополнения, скрипты… » 17-09-2022 09:59:09

Dumby пишет

Не понял просьбу. menubar это не панель вкладок.

Ну, именно этот этот код автоскрывает панель вкладок, но на FF103+ не пашет.

Скрипты » UCF - ваши кнопки, темы, дополнения, скрипты… » 17-09-2022 05:45:54

Опять в 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

Скрипты » UCF - ваши кнопки, темы, дополнения, скрипты… » 15-09-2022 02:51:42

Dumby пишет

В начале скрипта импортируем лисий модуль 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); }, },
        {

Скрипты » UCF - ваши кнопки, темы, дополнения, скрипты… » 14-09-2022 15:08:38

Dumby пишет

Вобщем, пока 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

Скрипты » UCF - ваши кнопки, темы, дополнения, скрипты… » 13-09-2022 01:58:37

xrun1 пишет

Поделитесь, кто пользуется и у кого работает.

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

2. второй очень полезный: пережал иконку в Восстановить закладки, сократив на 800 байт.

Сustom Buttons » Custom Buttons » 23-08-2022 13:06:03

Dumby пишет

«Не работает на UserChromeFiles»
При чём тут UCF? Просьбу-то видел? Там что-то сказано про UCF?

Ну, раз расширение CustomButtons безнадёжно устарело, в этой теме уже много скрипов адаптировано под UCF. Поэтому я и надеялся…

Сustom Buttons » Custom Buttons » 22-08-2022 01:20:52

Dumby пишет

при открытии закладки, если она уже открыта во вкладке, автоматически переключать на эту вкладку, а не открывать новую

Хорошо, попробую

Не работает на 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

Скрипты » UCF - ваши кнопки, темы, дополнения, скрипты… » 19-08-2022 02:21:38

kazarin - Антизапрет переодически не работает на некоторых сайтах - флибуста и прочие.
Для Антизапрета нужно установить два пункта меню: 1) Прокси - Антизапрет 2) Режим прокси - Автонастройка.
С виду код вроде рабочий, но советую обновить кнопку. Приведённый код сильно устарел - актуальный от апреля 2022 (требуется 2 скрипта: ucf_QuickToggle.js + глобальный ucf_hookClicks.js).


в моём профиле (в шапке темы) переключение прокси делается проще: долгий клик по Замку или кнопке Quick toggle.

Сustom Buttons » Custom Buttons » 07-08-2022 12:06:24

Пандёнок пишет

Надо выписать всё, что касается установки, в отдельную тему в этом разделе.

Укажите пост с инструкцией, добавлю в шапку темы UCF - ваши кнопки, темы, дополнения
будет проще искать…

Скрипты » UCF - ваши кнопки, темы, дополнения, скрипты… » 02-08-2022 11:43:01

Dumby пишет

Тогда скажи на какой версии Firefox эта правка
сломала обратную совместимость, попробую посмотреть.

Не знаю, если новая правка работает на всех Firefox, начиная с 90, тогда ладно.


Я откатился на FF97, когда страницы стали непонятно тормозить и долго загружаться на FF102.

Скрипты » UCF - ваши кнопки, темы, дополнения, скрипты… » 02-08-2022 11:28:56

о проверке версий:
например AppConstants.MOZ_APP_VERSION больше 102 -> выполняем один код, меньше -> другой прежний.


Это наверное поможет, если Опять изменили аргументы в internalSave()

Скрипты » UCF - ваши кнопки, темы, дополнения, скрипты… » 02-08-2022 11:21:55

Dumby - получается, что теперь нужны два скрипта?
А может лучше проверять на версию FF, как infocatcher делает?
Тогда бы один скрипт работал на прежнем и новом Firefox…

Скрипты » UCF - ваши кнопки, темы, дополнения, скрипты… » 16-07-2022 03:33:00

ez7pac пишет

1. Работает только ручное сохранение или можно выставить в авто? Если можно, то как включить и как настроить периодичность?
2. Где хранятся сессии?

Сесии храняться в «Профиль Firefox//chrome/simple_session_manager.json»
С авто-сохранением и таймером для него надо обращаться к Dumby, он этот скрипт делал.

Скрипты » UCF - ваши кнопки, темы, дополнения, скрипты… » 15-07-2022 04:32:07

xrun1 пишет

Не все пользуются версией с 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

Скрипты » UCF - ваши кнопки, темы, дополнения, скрипты… » 15-07-2022 04:19:12

ez7pac пишет

UserChromeFiles в наличии, а вот куда там добавить код этого менеджера - не понимаю.

повторюсь - файл CustomStylesScripts.jsm – добавить строку в секцию scriptsbackground: [ // В фоне [System Principal]
В этой теме в различных вариантах расписан порядок установки, всё есть в шапке и справке Демо-профиля. Ссылки снабжены всплывающими подсказками, например наведите мышь на startupCache в последней строке встроенной справки
Если вам описание установки в шапке не ясно, тогда пользуйтесь обычными дополнениями…

Board footer

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