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

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

Сustom Buttons » Custom Buttons » 17-08-2021 11:14:55

Dumby - приветствую!
[spoiler=У меня вопрос по скрипту сохранения картинок кликом колёсика или двойным кликом для UCF-custom_script.js][code]var EXPORTED_SYMBOLS = ["MouseImgSaverChild", "MouseImgSaverParent"]; // открыть картинку, перетащив вправо; сохранить колёсиком

var u = {get it() {
    delete this.it;
    return this.it = Cc["@mozilla.org/image/tools;1"].getService(Ci.imgITools);
}};
for(let name of ["E10SUtils", "PrivateBrowsingUtils"])
    ChromeUtils.defineModuleGetter(u, name, `resource://gre/modules/${name}.jsm`);

class MouseImgSaverChild extends JSWindowActorChild {
    handleEvent(e) { // клики мышью
        if (e.button > 1) return; // только ЛКМ, СКМ
        var trg = e.explicitOriginalTarget;
        trg.nodeType == Node.ELEMENT_NODE
            && trg instanceof Ci.nsIImageLoadingContent
            && this[e.type](trg, e);
    }
    handleDragEvent(e) {
        this[e.type](e);
    }
    dragstart(trg, e) {
        this.trg = trg;
        this.x = e.screenX; this.y = e.screenY;
        this.drag("add");
        this.handleEvent = this.handleDragE

CSS-стили » Настройка внешнего вида Firefox в userChrome.css » 26-05-2021 17:51:17

Vitaliy V. пишет

так и скрой их совсем
#window-controls { display: none !important;}

Спасибо. Когда делал так для браузера под Windows, то почему-то контейнер кнопок управления окном не скрывался…


Vitaliy V. - вопрос по отладке скриптов для user_chrome_files. Чтобы "увидеть" изменения в UCF-скриптах, нужно перезапустить FF с очисткой кэша.
Есть ли способ на лету "перезагрузить" код всех UCF-скриптов? (после выполнения каких-либо правок в коде)

CSS-стили » Настройка внешнего вида Firefox в userChrome.css » 26-05-2021 06:18:49

Сделал из кнопки меню комбайн - PanelUI-menu управление окном браузера, заменил значок. Тестируйте!
[spoiler=ucf_hookClicks.js - downloads-button, PanelUI-menu — custom_script_win.js][code](async (id, func) => { // дополнительные клики на downloads-button, PanelUI-menu для custom_script_win.js
    await window.delayedStartupPromise;
    var btn = document.getElementById("downloads-button"), pui = document.getElementById("PanelUI-menu-button");
    if (!btn) return; btn.tooltipText = GetDynamicShortcutTooltipText(btn.id) +`

ПКМ:    Сохранить как единый html
    всё | выделенное на странице
…Shift    Обзор папки [Загрузки]\n
Ролик:    Сохранить как файл .txt
…Shift    Сайт: графика Вкл/Выкл\n
Колёсико на рисунке: ➜ Сохранить
Двойной клик: найти Похожие фото`,
                                                                PanelUI_help =
`Браузер Firefox, версия ${Services.appinfo.platformVersion}\n
Колёсико:    Развернуть | окно
…Alt        Полный экран
Правый клик    ⇲ Свернуть
…Shift        Закрыть ✕
…Alt        Персонализация`;

    var addDestructor = nextDestructor => {
   

Сustom Buttons » Custom Buttons » 26-05-2021 01:11:20

Нужно перетаскиванием влево/вправо сохранить в «Загрузки» без запроса рисунок или ссылку на файл.


Расширения не работают из режима чтения. Поискал и не нашёл такой скрипт для user_chrome_files. Наверняка такой код на форуме есть?
Dumby - подскажи, как сохранить ссылку на файл перетаскиванием скриптом UCF?

CSS-стили » Настройка внешнего вида Firefox в userChrome.css » 24-05-2021 23:46:24

sandro79 пишет

Как вернуть этот серый фон под кнопками поисковых систем?

На Firefox 87 не работает. Добавлял и в custom_style_agent.css и в custom_style_user.css…

Новости » Вышел Firefox 88.0.1 » 24-05-2021 14:11:42

harryk - у меня есть кнопка быстрого изменения опций.
Хочу, чтобы при выборе одного из пунктов меню, открывался about:config с выбранным в пункте меню названием опции.

Новости » Вышел Firefox 88.0.1 » 24-05-2021 11:13:13

Подскажите, как перейти в настройки about:config и сразу выбрать заданную опцию для редактирования?
Например, я хочу сразу перейти к редактированию опции "dom.disable_open_during_load"
то есть что-то типа: about:config#dom.disable_open_during_load - чтобы в строку авто-вставилось имя опции.


В теме "Список настроек About:config на русском языке" не стал спрашивать, там нет вопросов, только FAQ…

Скрипты » UCF-скрипты на этом форуме » 24-05-2021 00:54:06

Найти UCF-скрипты на forum.mozilla… – очень сложный квест! Скрипты для User Chrome Files обсуждаются сразу в двух темах.

Предыстория создания этой отдельной темы для готовых UCF-скриптов – Vitaliy V. пишет

Да можно добавить в репозиторий стили скрипты, а смысл, всё равно если что отвалится все пишут на этот форум, а мне следить за тем чем не пользуюсь ?!

Напишу я сюда — и окажется, что мой вопрос по скрипту/стилю уже обсуждался десятки раз на 400/600 страницах тем userChrome.css и Custom Buttons! Значительно удобнее для всех держать актуальные UCF-скрипты в папке «родного» проекта user_chrome_files и давать постоянные ссылки вида: https://github.com/VitaliyVstyle/VitaliyVstyle.github.io/raw/master/stylesff/user_chrome_files/README.md
Ведь Infocatcher хранит все CB-скрипты на гитхабе, тот же подход используется для скри

Сustom Buttons » Custom Buttons » 23-05-2021 17:36:03

Dumby пишет

Это надо какой-нибудь auxclick() сюда вписать

Спасибо! Отличная и оперативная помощь! Осталась хотелка по кнопке Чтения…


Будет время, посмотри мой демо-профиль браузера, расширенный необходимым (по моему мнению за 3 месяца отладки) набором функций.
Dumby - может сделаешь обзор возможностей твоего профиля Firefox - какие там есть навороты за столько лет (с 2012 года на форуме) ?

CSS-стили » Настройка внешнего вида Firefox в userChrome.css » 23-05-2021 17:21:15

Vitaliy V. пишет

Тогда о каком git-архиве ты толкуешь если user_chrome_files, то там не нужны лишние стили которые мало как относятся к добавленным панелям.
Я думал речь о full_theme

Лля меня вкладки вверху непривычны - все мои браузеры я настраивал по-другому.
Я просмотрел архив VitaliyVstyle.github.io-master и не нашёл там полезного стиля - вкладки снизу:
[spoiler=tabs_bellow.css][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; /* =28px высота панели меню, только чётные числа не меньше 20px для macos = 0 */
    --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>");  /* =56 height='2 * --v-toolbar-menubar-height' */
}
#navigator-toolbox {
    border-block:

CSS-стили » Настройка внешнего вида Firefox в userChrome.css » 23-05-2021 12:06:24

Vitaliy V. пишет

нет полезного стиля: Вкладки снизу. Может стоит его добавить?
Он противоречит стилю для меню

Только что проверил на IceWM всё нормально. На работе на kwin тоже не было визуальных проблем со стилем Вкладки снизу.
Вот только стиль меню я не подключал. Тема и фон окна системные.
Virtual-Box-Arch-23-05-2021-17-02-51.png

CSS-стили » Настройка внешнего вида Firefox в userChrome.css » 23-05-2021 10:26:45

Vitaliy V. - благодарю!

Я заметил, что в git-архиве VitaliyVstyle.github.io нет полезного стиля: Вкладки снизу. Может стоит его добавить?

Сustom Buttons » Custom Buttons » 23-05-2021 06:06:20

Dumby - спасибо, доработал всё, что мог! :) и свёл в демо-профиль все наработки - тестируйте!


Есть проблема - делаю СКМ LongClick и при отпускании кнопки ошибка: Uncaught TypeError: linkedObject.auxclick is not a function
Dumby - проверь пожалуйста скрипт переключения настроек либо отдельно, либо скачав расширенный профиль.
эта ошибка не влияет на работу кнопки, но я её не смог устранить ! :(
[spoiler=Описание расширенного профиля Firefox]В строке адреса наглядно виден прогресс загрузки страниц в виде заполняющего градиента.
Сохранение страниц из режима Read View правым кликом по кнопке Загрузки.
Панель поиска и Поиск на странице Быстрого доступа сделаны компактными.
Быстрое переключение более тридцати скрытых настроек браузера.
О

CSS-стили » Настройка внешнего вида Firefox в userChrome.css » 23-05-2021 04:21:19

Vitaliy V.


Сделал, чтобы обычная иконка #PanelUI-menu-button была в виде крестика с красным фоном, а при наведении возвращается родной значок.
Но когда меняю PNG на svg иконку, то ничего не работает, иконка не меняется!
[spoiler=менять иконку нужно для скрипта: доп. клики на кнопке Меню][code](async (id, func) => { // дополнительные клики на downloads-button, PanelUI-menu для custom_script_win.js
    await window.delayedStartupPromise;
    var btn = document.getElementById("downloads-button"), pui = document.getElementById("PanelUI-menu-button");
    if (!btn) return; btn.tooltipText = GetDynamicShortcutTooltipText(btn.id) +`

ПКМ:    Сохранить как единый html
    всё | выделенное на странице
…Shift    Обзор папки [Загрузки]\n
Ролик:    Сохранить как файл .txt
…Shift    Сайт: графика Вкл/Выкл\n
СКМ или Тащить рисунок вправо:
…cохранить в [Загрузки]/_Images\n
Alt⇧S    нажать кнопку SingleSave` // нет SingleSave - выполнить save()

pui.tooltipText =
`Браузер Firefox, версия ${Services.appinfo.platformVers

CSS-стили » Настройка внешнего вида Firefox в userChrome.css » 22-05-2021 15:39:37

Vitaliy V. пишет

7 консоль вроде не очень поддерживает utf-8 и батники то ещё извращение

Да, консольные скрипты в винде кошмар, даже powershell имеет проблемы с буфером обмена…


_zt пишет

С nircmd уже не извращение, а полезности.

Вряд ли! Я много батников писал на винде, но перейдя на Линукс, убедился, что в нём работа со скриптами многократно проще и удобнее.

Сustom Buttons » Custom Buttons » 22-05-2021 10:46:34

Dumby делаю GetSelectionText для loadFrameScript - функция получает выделенный текст для перевода в гугле, яндексе и т.п.
Но пока нужные команды обработки текста приходится вставлять в ту же функцию, которая получает текст.


1) как без использования add…Listener получить данные от FrameScript-функции, например так: GoogleTranslate(GetSelectionText())
2) из FrameScript не работает gBrowser :( - должна открыться вкладка Перевода выделенного текста

Выделить код

Код:

translate(browserMM, win, e, go) { // вариант 
	browserMM.addMessageListener('getSelect', function listener(msg) {
		= команды обработки msg.data =
	browserMM.removeMessageListener('getSelect', listener, true);
	});
	browserMM.loadFrameScript('data:,sendAsyncMessage("getSelect", content.document.getSelection().toString())', false);
},
this.translate(gBrowser.selectedBrowser.messageManager, win, this, 1)

Сustom Buttons » Custom Buttons » 21-05-2021 16:33:31

Dumby – ещё хотелка - нужна Кнопка, которая отвечает за вид страницы, то есть переключает 1) режим чтения вкл/выкл 2) стиль страницы обычный/зелёный 3) масштаб с отображением процентов на кнопке 4) прочие функции, например переключить показ картинок, отключить стили страницы, гугл-перевод сайта/выделенного текста и т.п.
Режимы должны отображаться на иконке - 0) Обычный режим - родная иконка 1) Режим чтения - к иконке применён/отключен красный фильтр  "filter: hue-rotate(90deg)" 2) если переключен стиль страницы, к иконке добавляется/отключается фон: background-image
Переключение вида иконки также должно происходить при переходе по вкладкам - то есть, если переходим на вкладку about:reader, то иконка кнопки должна смениться - к ней должен добавиться красный фильтр.
Эта моя кнопка из старого профиля для Basilisk, но адаптировать её сложно.[spoiler=стиль, включающий зелёный фон всех страниц][code]@-moz-docu

Сustom Buttons » Custom Buttons » 21-05-2021 05:22:38

Dumby - Спасибо! А у меня ещё актуальная хотелка по скрипту сохранения картинок перетаскиванием:
На некоторых картинках есть всплывающая подсказка-описание 1) Если tooltip картики есть, то нужно сохранять картинку с именем всплывающей подсказки.
2) на двойной клик мыши надо "повесить" другую полезную функцию на твоё усмотрение. Желательно поиск дубликата этой картинки в Яндекс. ну или перезагрузку картинки (то есть обновить её).
[spoiler=ClickPicSave.jsm если save-опций нет, ошибки не будет][code]var EXPORTED_SYMBOLS = ["MouseImgSaverChild", "MouseImgSaverParent"]; // сохранить картинку — перетащив вправо; двойным кликом; колёсиком

var u = {get it() {
        delete this.it;
        return this.it = Cc["@mozilla.org/image/tools;1"].getService(Ci.imgITools);
}};
for(let name of ["E10SUtils", "PrivateBrowsingUtils"])
    ChromeUtils.defineModuleGetter(u, name, `resource://gre/modules/${name}.jsm`);

class MouseImgSaverChild extends JSWindowActorChild {
    handleEvent(e) { // клики мышью
       

Сustom Buttons » Custom Buttons » 20-05-2021 06:16:35

Dumby - Спасибо, я доработал ClickPicSave.jsm-скрипт сохранения картинки.
Создал свой массив pics - опцию "ucf_save.dirs" = "_Web|0|_Images|1", где можно менять папку сохранения картинок.
Но код скрипта создаёт все данные для сохранения картинки только при запуске браузера!
Если изменить опции в about:config, то скрипт по-прежнему сохраняет в старую папку.


Dumby - помоги доработать код, чтобы при каждой записи файла путь брался из опции "ucf_save.dirs"
Если такой опции нет, берётся значение по-умолчанию. Мои изменения в коде: строка 100 и далее…
[code]var EXPORTED_SYMBOLS = ["MouseImgSaverChild", "MouseImgSaverParent"];

var u = {get it() {
        delete this.it;
        return this.it = Cc["@mozilla.org/image/tools;1"].getService(Ci.imgITools);
}};
for(let name of ["E10SUtils", "PrivateBrowsingUtils"])
    ChromeUtils.defineModuleGetter(u, name, `resource://gre/modules/${name}.jsm`);

class Mo

Сustom Buttons » Custom Buttons » 19-05-2021 03:08:18

Dumby пишет

сохранение картинки … с двойным click'ом.

Спасибо, отличная работа!
Но есть вопрос по этому скрипту MouseImgSaver.jsm - как картинку сохранять по клику колёсиком? (вместо dblclick)
Я добавлял события mousedown, click, auxclick - все они не реагируют на клик средней кнопки мыши!
строка 100: child: {moduleURI: __URI__, events: {mousedown: {capture: true}…


Dumby Вторая просьба доработать кнопку переключения параметров Quick Toggle about:config.
Плюс этой кнопки в том, что по иконкам меню сразу видно значение и "безопасность" опций.
Нужно добавить подменю в Quick Toggle about:config, чтобы строки переключения опций можно было объединять по категориям в одном под-меню (т.к. меня этих опций более тридцати, многих из которых нет в настройках браузера).


[b]Ещё в кнопке

Сustom Buttons » Custom Buttons » 17-05-2021 15:48:51

rubel, xrun1 винды у меня нет уже 4 года, проверял только на Linux и MacOS. в Firefox 87 всё работает.
Может кэш удалить правым кликом по штатной UCF-кнопке "Перезапустить приложение"?
Или нужен config.js, в котором есть bootstrap поддержка для CustomButtons.

custom_script.js

Выделить код

Код:

// Этот скрипт можно использовать для создания кнопок с помощью CustomizableUI.createWidget

(() => { // загрузка внешних скриптов
	var loadscript = name => {
		try {
			Services.scriptloader.loadSubScript(`chrome://user_chrome_files/content/custom_scripts/${name}`,globalThis,"UTF-8");
			return true;
		} catch(e) {}
	};
	loadscript("ucf_FavDir.js");

})();

(async url => ChromeUtils.import(url))(
	"chrome://user_chrome_files/content/custom_scripts/AppMenuTbbSaveHTMLChild.jsm"
);

Сustom Buttons » Custom Buttons » 17-05-2021 06:02:37

Dumby Спасибо! Скрипты для Звёздочки и Загрузки картинки отличные! :beer: (я лишь добавил обрезку имён вкладок)


Ещё просьба [финальная :)]: скрипт Загрузки картинки перетаскивание вправо с изменениями не всегда может сохранить картинку.
Некоторые изображения нельзя тащить, например Cover Гости из прошлого и там же фотки актрис.
Убрал стилем мешающий сохранению div на данном сайте, клик по обложке откроет Слайд-шоу на всё окно, но перетаскивание на картинке не работает.


Dumby - нельзя ли в скрипт "Сохранить картинку перетаскиванием" добавить ещё сохранение картинки по событию двойной click или click+Ctrl или клик колёсиком мыши (это в строке events: ["dragover", "drop", "dragend"],) ???

Сustom Buttons » Custom Buttons » 16-05-2021 09:47:20

rubel пишет

Как сделать чтоб было нормально, с выбором названия файла ?

Удобство этого скрипта именно в том, что нет навязчивого запроса имени файла! Имя файла равно заголовку вкладки, это задано в последних строках.
Что-то ты не так исправил, у меня с этой ссылки сохраняет как: Mozilla Firefox 87.0 _ effect ∞_16.05.2021-14։42։47.html

Сustom Buttons » Custom Buttons » 16-05-2021 08:08:26

rubel - строка 82:

Выделить код

Код:

var savedir = PathUtils.join(await Downloads.getPreferredDownloadsDirectory(), "_Web", FatMs(Title(-1))); // каталог Загрузки + домен

Сustom Buttons » Custom Buttons » 16-05-2021 06:57:09

rubel это стандартная кнопка «Загрузки», всё и так ясно по названию downloads-button.


Alt+Shift+S для сохранения страницы или жми на «Загрузки» правой кнопкой мыши, включив постоянный показ:
Персонализация > Правый клик на кнопке «Загрузки» > Снять флажок: Автоматически скрывать на панели инструментов.

Board footer

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