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

В мире Mozilla происходит много интересных событий. Но вам не нужно постоянно посещать новостные сайты, чтобы быть в курсе всех изменений. Зайдите на ленту новостей Mozilla Россия.

№1055108-06-2021 19:14:54

Zver555
Участник
 
Группа: Members
Зарегистрирован: 29-11-2012
Сообщений: 26
UA: Firefox 89.0

Re: Настройка внешнего вида Firefox в userChrome.css

Djon776 пишет

Подскажите, пожалуйста, как вернуть контекстное меню (клик правой клавишей мыши в браузере) до прежних размеров. По ощущениям, стало раза в 2 больше (специально сделали для слепых бабушек что ли?)

И вообще, как вернуть все шрифты (размеры), высоту строк/колонок (Журнал, Закладки и пр.) до стандартных размеров? Сейчас стоит версия 89.0

В настройках about:config все параметры с proton установить в false

Отсутствует

 

№1055208-06-2021 20:51:32

Djon776
Участник
 
Группа: Members
Зарегистрирован: 09-10-2020
Сообщений: 5
UA: Firefox 89.0

Re: Настройка внешнего вида Firefox в userChrome.css

Zver555 пишет

В настройках about:config все параметры с proton установить в false

Благодарю!:beer:

Ещё вопрос: можно ли переместить вкладки вниз (по умолчанию вверху)? Есть готовый код? Раньше было дополнение Tab Mix Plus, в котором можно выбрать "вкладки вверху или внизу".

Отредактировано Djon776 (08-06-2021 20:52:22)

Отсутствует

 

№1055308-06-2021 21:03:42

Zver555
Участник
 
Группа: Members
Зарегистрирован: 29-11-2012
Сообщений: 26
UA: Firefox 89.0

Re: Настройка внешнего вида Firefox в userChrome.css

Djon776 пишет
Zver555 пишет

В настройках about:config все параметры с proton установить в false

Благодарю!:beer:

Ещё вопрос: можно ли переместить вкладки вниз (по умолчанию вверху)? Есть готовый код? Раньше было дополнение Tab Mix Plus, в котором можно выбрать "вкладки вверху или внизу".

Сто лет прошло, а приспичило только сейчас) Проблема решена в CustomCSSforFx. Там есть файл tabs_below_main_content_fx74.css". Подключать через userChrome.css

Отсутствует

 

№1055408-06-2021 21:06:08

ofizer
Участник
 
Группа: Members
Зарегистрирован: 17-08-2013
Сообщений: 270
UA: Firefox 89.0

Re: Настройка внешнего вида Firefox в userChrome.css

Djon776

переместить вкладки вниз

http://forum.mozilla-russia.org/viewtop … 10#p784310

Отсутствует

 

№1055508-06-2021 21:59:47

Vitaliy V.
Участник
 
Группа: Members
Зарегистрирован: 19-09-2014
Сообщений: 2002
UA: Firefox 90.0

Re: Настройка внешнего вида Firefox в userChrome.css

_zt пишет

1. повесить Copy URL from URL-bar (или свое) на ПКМ по URL-bar History Dropmarker.
2. а открытие Sidebar Tabs на вкладке загрузок (не переопределяя назначенный способ открытия панели) повесить на ПКМ по стандартной кнопке загрузок.

custom_script_win.js

скрытый текст

Выделить код

Код:

(this.urlbarhistorydropmarker = {
            dropmarker: null,
            provider: null,
            get style() {
                delete this.style;
                return this.style = "data:text/css;charset=utf-8," + encodeURIComponent(`
                    #urlbar .urlbar-history-dropmarker {
                        list-style-image: url("chrome://global/skin/icons/arrow-dropdown-16.svg");
                        transition: opacity 0.15s ease;
                    }
                    #urlbar[switchingtabs] > #urlbar-input-container > .urlbar-history-dropmarker {
                        transition: none;
                    }
                    #urlbar[usertyping] > #urlbar-input-container > .urlbar-history-dropmarker {
                        display: none;
                    }
                    #nav-bar:not([customizing="true"]) > #nav-bar-customization-target > #urlbar-container:not(:hover) > #urlbar:not([focused]) > #urlbar-input-container > .urlbar-history-dropmarker {
                        opacity: 0;
                    }
                `);
            },
            init(that) {
                Services.prefs.addObserver("browser.urlbar.suggest.history", this);
                Services.prefs.addObserver("browser.urlbar.suggest.topsites", this);
                that.unloadlisteners.push("urlbarhistorydropmarker");
                var {UrlbarProviderTopSites: provider} = {UrlbarProviderTopSites: this.provider} = ChromeUtils.import("resource:///modules/UrlbarProviderTopSites.jsm");
                if (!provider.orig_PRIORITY) {
                    provider.orig_PRIORITY = provider.ucf_PRIORITY = provider.PRIORITY;
                    delete provider.constructor.prototype.PRIORITY;
                    Object.defineProperty(provider.constructor.prototype, "PRIORITY", {
                        enumerable: true,
                        get() {
                            var priory = this.ucf_PRIORITY;
                            this.ucf_PRIORITY = this.orig_PRIORITY;
                            return priory;
                        },
                        set(val) {
                            this.ucf_PRIORITY = val;
                        },
                    });
                }
                if (Services.prefs.getBoolPref("browser.urlbar.suggest.history", false) && !Services.prefs.getBoolPref("browser.urlbar.suggest.topsites", true))
                   this.createDropmarker();
            },
            createDropmarker() {
                var fragment = MozXULElement.parseXULToFragment(`<image class="urlbar-history-dropmarker urlbar-icon chromeclass-toolbar-additional" role="button" context=""/>`);
                var dropmarker = this.dropmarker = fragment.firstElementChild;
                dropmarker.tooltipText = "ЛКМ: Показать историю\nПКМ: Копировать адрес текущей страницы";
                document.querySelector("#urlbar #page-action-buttons").before(fragment);
                dropmarker.addEventListener("mousedown", this);
                dropmarker.addEventListener("click", this);
                windowUtils.loadSheetUsingURIString(this.style, windowUtils.USER_SHEET);
            },
            removeDropmarker() {
                this.dropmarker.removeEventListener("mousedown", this);
                this.dropmarker.remove();
                this.dropmarker = null;
                windowUtils.removeSheetUsingURIString(this.style, windowUtils.USER_SHEET);
            },
            destructor() {
                if (this.dropmarker) {
                    this.dropmarker.removeEventListener("mousedown", this);
                    this.dropmarker.removeEventListener("click", this);
                }
                Services.prefs.removeObserver("browser.urlbar.suggest.history", this);
                Services.prefs.removeObserver("browser.urlbar.suggest.topsites", this);
            },
            observe() {
                if (Services.prefs.getBoolPref("browser.urlbar.suggest.history", false) && !Services.prefs.getBoolPref("browser.urlbar.suggest.topsites", true) && !this.dropmarker)
                    this.createDropmarker();
                else if (this.dropmarker)
                    this.removeDropmarker();
            },
            click(e) {
                e.stopPropagation();
                if (e.button != 2) return;
                var gBrowserBundle = {
                    GetStringFromName: () => "Скопировано в буфер обмена!"
                };
                var show = eval(`(function ${ConfirmationHint.show})`);
                var helper = Cc["@mozilla.org/widget/clipboardhelper;1"]
                    .getService(Ci.nsIClipboardHelper);

                (this.click = e => {
                    e.stopPropagation();
                    if (e.button != 2) return;
                    var uri = gURLBar.makeURIReadable(gBrowser.selectedBrowser.currentURI).displaySpec;
                    try {
                        uri = decodeURIComponent(uri);
                    } catch(e) {}
                    helper.copyString(uri);
                    show.call(ConfirmationHint, this.dropmarker, "", { hideArrow: true });
                })(e);
            },
            mousedown(e) {
                e.preventDefault();
                e.stopPropagation();
                if (e.button == 2) return;
                if (gURLBar.view.isOpen)
                    gURLBar.view.close();
                else {
                    this.provider.PRIORITY = 0;
                    gURLBar.focus();
                    gURLBar.startQuery({
                        allowAutofill: false
                    });
                }
            },
            handleEvent(e) {
                this[e.type](e);
            }
        }).init(this);

скрытый текст

Выделить код

Код:

(this.downloadsshowinsidebartabs = {
            async init(that) {
                await window.delayedStartupPromise;
                var st = window.ucf_custom_script_win?.sidebar_tabs || window.ucf_custom_script_all_win?.sidebar_tabs;
                if (!st) return;
                var btn = CustomizableUI.getWidget("downloads-button")?.forWindow(window).node;
                if (!btn) return;
                btn.setAttribute("context", "");
                btn.tooltipText = `ЛКМ: ${GetDynamicShortcutTooltipText(btn.id)}\nПКМ: Показать Загрузки в Sidebar Tabs`;
                var listener = e => {
                    if (e.button != 2) return;
                    e.preventDefault();
                    e.stopPropagation();
                    e.stopImmediatePropagation();
                    if (!st._open || st.st_tabbox.selectedIndex == 2)
                        st.toggle();
                    st.st_tabbox.selectedIndex = 2;
                };
                btn.addEventListener("click", listener);
                that.unloadlisteners.push("downloadsshowinsidebartabs");
                this.destructor = () => {
                    btn.removeEventListener("click", listener);
                };
            }
        }).init(this);

egorsemenov06 пишет

пример кода CSS ддя протона что бы прикрутить свои изображения на плитках домашней странице  и новой вкладке

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

Отредактировано Vitaliy V. (09-06-2021 18:24:08)

Отсутствует

 

№1055608-06-2021 22:00:29

falcon1598
Участник
 
Группа: Members
Зарегистрирован: 02-02-2019
Сообщений: 52
UA: Firefox 78.0

Re: Настройка внешнего вида Firefox в userChrome.css

del

Отредактировано falcon1598 (14-06-2021 09:56:16)

Отсутствует

 

№1055709-06-2021 00:52:02

_zt
Участник
 
Группа: Members
Зарегистрирован: 10-11-2014
Сообщений: 835
UA: Firefox 89.0

Re: Настройка внешнего вида Firefox в userChrome.css

Vitaliy V.
Спасибо. Первый работает, второй - нет. На всякий случай проверил на чистом профиле. Не знаю имеет это значение, у меня кнопка для его вызова вот эта - https://forum.mozilla-russia.org/viewto … 29#p784829
   
egorsemenov06

Vitaliy V. пишет

И вообще не спрашивайте меня про новую вкладку

И правда. Лучше бы про это спросили - new_tab_page
Я его уже даже под себя немного переделал, цвета свои и фоновую картинку что бы цеплял из папки user_chrome_files. Но из-за того что закрепленные на главной миниатюры в new_tab_page ненастраиваемые и их нельзя в столбик расположить (произвольно, а не по центру), пока не хочу с Quick Dial уходить.
   
Стандартная страница новой вкладки стучит куда то, так что пользоваться ей не хочется.

Отредактировано _zt (09-06-2021 01:08:44)


Fx 91 esr

Отсутствует

 

№1055809-06-2021 11:12:04

falcon1598
Участник
 
Группа: Members
Зарегистрирован: 02-02-2019
Сообщений: 52
UA: Firefox 78.0

Re: Настройка внешнего вида Firefox в userChrome.css

Хотел заменить иконки браузера на старые по этому методу.
https://www.manhunter.ru/software/570_z … refox.html
Но ничего не выходит. Почему? Как вернуть старые иконки?

Отсутствует

 

№1055909-06-2021 14:26:27

Vitaliy V.
Участник
 
Группа: Members
Зарегистрирован: 19-09-2014
Сообщений: 2002
UA: Firefox 90.0

Re: Настройка внешнего вида Firefox в userChrome.css

_zt пишет

второй - нет

Возможно потому что Sidebar Tabs у вас через ucf_custom_script_all_win подключен?
Исправил, но мне не совсем ясно это

(не переопределяя назначенный способ открытия панели),

Да ещё с AutoHide Sidebar Tabs, короче не понятно как делать и какое поведение вы ожидаете


В urlbarhistorydropmarker добавил тултип ПКМ: Копировать адрес текущей страницы

Отредактировано Vitaliy V. (09-06-2021 14:28:06)

Отсутствует

 

№1056009-06-2021 15:59:48

sandro79
Участник
 
Группа: Members
Откуда: Ставрополье
Зарегистрирован: 15-11-2017
Сообщений: 1475
UA: Firefox 89.0

Re: Настройка внешнего вида Firefox в userChrome.css

Erik010 пишет

Как заменить иконки "Показать журнал" и "Другие инструменты"?

скрытый текст

Выделить код

Код:

#history-panelmenu {
	list-style-image: url("./svg/history.svg") !important;
}
#PlacesChevron, #nav-bar-overflow-button {
	list-style-image: url("./svg/chevron.svg") !important;
}

Создать рядом с userChrome.css папку svg, создать два .svg-файла history.svg и chevron.svg с содержимым
скрытый текст

Выделить код

Код:

<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
  <path fill="context-fill" fill-opacity="context-fill-opacity" d="M8 0a8 8 0 1 0 8 8 8.009 8.009 0 0 0-8-8zm0 14a6 6 0 1 1 6-6 6.007 6.007 0 0 1-6 6zm3.5-6H8V4.5a.5.5 0 0 0-1 0v4a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 0-1z"/>
</svg>
Выделить код

Код:

<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
  <path fill="context-fill" fill-opacity="context-fill-opacity" d="M8.707,7.293l-5-5A1,1,0,0,0,2.293,3.707L6.586,8,2.293,12.293a1,1,0,1,0,1.414,1.414l5-5A1,1,0,0,0,8.707,7.293Zm6,0-5-5A1,1,0,0,0,8.293,3.707L12.586,8,8.293,12.293a1,1,0,1,0,1.414,1.414l5-5A1,1,0,0,0,14.707,7.293Z"/>
</svg>

Image_003.png

И переключить в about:config настройку svg.context-properties.content.enabled в true. Настройка вступит в силу после перезапуска браузера.

Да, поторопился, вылетел из головы дефолтный Протоновский паддинг в 4px, хотя выставил его в ноль ещё с 89 [nightly].
Но тот код тоже можно использовать для чуть ещё большей компактности. Скриншоты с кодом и без и со скрытой тенью панели вкладок:

скрытый текст
Image_002.png
Image_001.png

egorsemenov06 пишет

Vitaliy V. Сделайте пожалуйста  пример кода CSS ддя протона что бы прикрутить свои изображения на плитках домашней странице  и новой вкладке .Еще  панель закладок сделадь бы потоньше.

Пробовал приспособить сделанный по вашей просьбе код с использованием своего кода, думал прокатит, но нет.
Они там здорово намудрили, где миниатюры страниц отображались заменили на фавиконы, теперь везде фавиконы или адрес на картинку в настройках плитки прописывать.
Но в тоже время, скриншоты для миниатюр страниц в папке thumbnails локального каталога присутствуют и их отображение мне удалось вернуть стилем, и то на долго ли. В 91 ещё пока работает, но и настройка browser.newtabpage.activity-stream.newNewtabExperience.enabled ещё не удалена.
Может вам попробовать заменить изабражения в в папке thumbnails на свои. Этот метод работает, но только на плитках где отображаются миниатюры страниц. Правда после очистки журнала посещений, папка thumbnails очищается. Ну наверно овчинка выделки не стоит, и теперь уж точно можно искать альтернативу этому убожеству.
Панель закладок потоньше:

скрытый текст

Выделить код

Код:

:root:not([uidensity="touch"]) {
	--bookmark-block-padding: 1px !important;
}

И плюс так ещё

Выделить код

Код:

#personal-bookmarks {
        margin-top: -4px !important;
}

Отсюда ещё можно что-нибудь использовать.

Отсутствует

 

№1056109-06-2021 16:37:21

egorsemenov06
Участник
 
Группа: Members
Зарегистрирован: 12-06-2018
Сообщений: 244
UA: Firefox 89.0

Re: Настройка внешнего вида Firefox в userChrome.css

sandro79 пишет

В 91 ещё пока работает, но и настройка browser.newtabpage.activity-stream.newNewtabExperience.enabled ещё не удалена.
Может вам попробовать заменить изабражения в в папке thumbnails на свои. Этот метод работает, но только на плитках где отображаются миниатюры страниц. Правда после очистки журнала посещений, папка thumbnails очищается. Ну наверно овчинка выделки не стоит, и теперь уж точно можно искать альтернативу этому убожеству.
Панель закладок потоньше:

скрытый текст

Выделить код

Код:

:root:not([uidensity="touch"]) {
	--bookmark-block-padding: 1px !important;
}

И плюс так ещё

Выделить код

Код:

#personal-bookmarks {
        margin-top: -4px !important;
}

Отсюда ещё можно что-нибудь использовать.

Спасибо! я тоже пробовал .и тоже ни фига не получилось.Была надежда на Vitaliy V. но умерла

Отредактировано egorsemenov06 (09-06-2021 16:56:07)

Отсутствует

 

№1056209-06-2021 16:40:20

Erik010
Участник
 
Группа: Members
Зарегистрирован: 19-07-2019
Сообщений: 7
UA: Firefox 78.0

Re: Настройка внешнего вида Firefox в userChrome.css

sandro79
Спасибо, хотя я уже это сделал. Но вот кнопка "Открыть новую вкладку" никак не поддается. Может подсобите?

Отсутствует

 

№1056309-06-2021 17:10:28

sandro79
Участник
 
Группа: Members
Откуда: Ставрополье
Зарегистрирован: 15-11-2017
Сообщений: 1475
UA: Firefox 89.0

Re: Настройка внешнего вида Firefox в userChrome.css

Erik010 пишет

Но вот кнопка "Открыть новую вкладку" никак не поддается

Поменял по той же методике

скрытый текст
Image_001.png

Выделить код

Код:

#tabs-newtab-button, #TabsToolbar #new-tab-button {
	list-style-image: url("./svg/add.svg") !important;
}
Выделить код

Код:

<svg width="16" height="16" xmlns="http://www.w3.org/2000/svg" fill="context-fill" fill-opacity="context-fill-opacity">
  <path d="M14 7H9V2a1 1 0 0 0-2 0v5H2a1 1 0 1 0 0 2h5v5a1 1 0 0 0 2 0V9h5a1 1 0 0 0 0-2z"/>
</svg>

Отсутствует

 

№1056409-06-2021 17:20:59

_zt
Участник
 
Группа: Members
Зарегистрирован: 10-11-2014
Сообщений: 835
UA: Firefox 89.0

Re: Настройка внешнего вида Firefox в userChrome.css

Vitaliy V. пишет

Возможно потому что

Возможно, даже проверять не стал, переподключил все скрипты в custom_script_win + выкинул все что в нем было в отдельные файлы. В итоге в импорте custom_script_all_win осталось два незначительных дубля для окна библиотеки (которым я не пользуюсь) и этот скрипт для библиотеки во вкладке в самом custom_script_all_win. Если бы его адаптировать под custom_script_win, то custom_script_all_win можно будет отключить, ведь он в основном окне работает?

Vitaliy V. пишет

Исправил, но мне не совсем ясно это

Типа есть состояние "поверх страницы" и "рядом со страницей", я просто уточнил на всякий случай. Оказалось что я пользуюсь только "рядом со страницей", мне так удобнее и в этом режиме функция нормально работает. Спасибо.
А вот если "поверх страницы", то панель не показывается, а я думаю, что должна, хотя, лично мне, все равно. А вот что бы я хотел, так это чтобы при повторном ПКМ по кнопке загрузки было закрытие SedebarTabs, иначе иногда придется тянуться к другой кнопке.

Vitaliy V. пишет

В urlbarhistorydropmarker добавил тултип

Dumby показал как из однострочных сделать тултипы многострочными ничего не переписывая - &#xA;, в данном случае это сработало.


Fx 91 esr

Отсутствует

 

№1056509-06-2021 18:38:51

Vitaliy V.
Участник
 
Группа: Members
Зарегистрирован: 19-09-2014
Сообщений: 2002
UA: Firefox 90.0

Re: Настройка внешнего вида Firefox в userChrome.css

_zt пишет

и этот скрипт для библиотеки во вкладке в самом custom_script_all_win. Если бы его адаптировать под custom_script_win, то custom_script_all_win можно будет отключить, ведь он в основном окне работает?

нет не только ещё в окне библиотеке chrome://browser/content/places/places.xhtml
но если не пользуетесь попробуйте перенести и заменить в коде ucf_custom_script_all_win на ucf_custom_script_win

_zt пишет

А вот что бы я хотел, так это чтобы при повторном ПКМ по кнопке загрузки было закрытие SedebarTabs

Закрытие если открыта вкладка загрузки если нет переключает на эту вкладку ну и т.д.

_zt пишет

сделать тултипы многострочными ничего не переписывая - &#xA;

Да я знаю у меня давно это есть в user_chrome_files --> prefs.xhtml
title="Перезапустить и заново создать кэш быстрого запуска &#010;*Используйте это после редактирования, обновления скриптов"
символ перевода строки только в Dec формате
Но это не важно на самом деле я редактировал потому что когда добавлял листенер забыл его удалить this.dropmarker.removeEventListener("click", this);

Отсутствует

 

№1056609-06-2021 19:31:15

_zt
Участник
 
Группа: Members
Зарегистрирован: 10-11-2014
Сообщений: 835
UA: Firefox 89.0

Re: Настройка внешнего вида Firefox в userChrome.css

Vitaliy V. пишет

ещё в окне библиотеке

Точно. Ладно пусть остается для универсальности.

Vitaliy V. пишет

Закрытие если открыта вкладка загрузки если нет переключает на эту вкладк

Спасибо.
   
Vitaliy V.
Как шаблон openpermissionswithrightclick использовать для других кнопок?
Например заменить:
openpermissionswithrightclick - на свое
identitybox - на свое
ID - на ID целевого объекта
BrowserPageInfo(null); - на целевое окно
Правильно? Если да, то как узнать/получить последнее, например Инструментов браузера?


Fx 91 esr

Отсутствует

 

№1056709-06-2021 21:09:46

Vitaliy V.
Участник
 
Группа: Members
Зарегистрирован: 19-09-2014
Сообщений: 2002
UA: Firefox 90.0

Re: Настройка внешнего вида Firefox в userChrome.css

_zt пишет

Как шаблон openpermissionswithrightclick использовать для других кнопок?

Да но только для статичных элементов, для кнопок перемещаемых (кроме расширений это др. история)
можно использовать как шаблон downloadsshowinsidebartabs ну если удалить лишнее и изменить
               // var st = window.ucf_custom_script_win?.sidebar_tabs || window.ucf_custom_script_all_win?.sidebar_tabs;
               // if (!st) return;

               // btn.tooltipText = `ЛКМ: ${GetDynamicShortcutTooltipText(btn.id)}\nПКМ: Показать Загрузки в Sidebar Tabs`;
               // if (!st._open || st.st_tabbox.selectedIndex == 2)
                   //     st.toggle();
                  //  st.st_tabbox.selectedIndex = 2;

_zt пишет

Если да, то как узнать/получить последнее, например Инструментов браузера?

как узнать ну нет такого универсального способа тем более для Инструментов браузера

скрытый текст

Выделить код

Код:

var pref = Services.prefs, chr = "devtools.chrome.enabled", rem = "devtools.debugger.remote-enabled";
if (!pref.getBoolPref(chr) || !pref.getBoolPref(rem)) {
    pref.setBoolPref(chr, true);
    pref.setBoolPref(rem, true);
}

var { BrowserToolboxLauncher } = ChromeUtils.import("resource://devtools/client/framework/browser-toolbox/Launcher.jsm");
BrowserToolboxLauncher.init();

Отсутствует

 

№1056810-06-2021 11:41:14

_zt
Участник
 
Группа: Members
Зарегистрирован: 10-11-2014
Сообщений: 835
UA: Firefox 89.0

Re: Настройка внешнего вида Firefox в userChrome.css

Vitaliy V.
Все три работают, но правильно ли я сделал?

скрытый текст

Выделить код

Код:

// Открытие окна "Инструменты браузера"
// по ПКМ на иконке защиты от отслеживания
// https://forum.mozilla-russia.org/viewtopic.php?pid=783003#p783003
(this.opendevtoolsrclick1 = {
    init(that) {
        var identitybox = this.identitybox = document.querySelector("#tracking-protection-icon-box");
        if (!identitybox)
            return;
        identitybox.addEventListener("contextmenu", this, true);
        identitybox.addEventListener("click", this, true);
        that.unloadlisteners.push("opendevtoolsrclick1");
    },
    handleEvent(e) {
        if (e.button != 2)
            return;
        e.preventDefault();
        e.stopPropagation();
        e.stopImmediatePropagation();
        if (e.type != "click")
            return;
        var pref = Services.prefs, chr = "devtools.chrome.enabled", rem = "devtools.debugger.remote-enabled";
        if (!pref.getBoolPref(chr) || !pref.getBoolPref(rem)) {
            pref.setBoolPref(chr, true);
            pref.setBoolPref(rem, true);
        }
        var { BrowserToolboxLauncher } = ChromeUtils.import("resource://devtools/client/framework/browser-toolbox/Launcher.jsm");
        BrowserToolboxLauncher.init();
    },
    destructor() {
        this.identitybox.removeEventListener("contextmenu", this, true);
        this.identitybox.removeEventListener("click", this, true);
    }
}).init(this);

// Открытие окна "Инструменты браузера"
// по ПКМ на иконке инструментов разработчика
// https://forum.mozilla-russia.org/viewtopic.php?pid=791976#p791976
(this.opendevtoolsrclick2 = {
    async init(that) {
        await window.delayedStartupPromise;
        var btn = CustomizableUI.getWidget("developer-button")?.forWindow(window).node;
        if (!btn) return;
        btn.setAttribute("context", "");
        btn.tooltipText = `ЛКМ: Инструменты разработчика\nПКМ: Инструменты браузера`;
        var listener = e => {
            if (e.button != 2) return;
            e.preventDefault();
            e.stopPropagation();
            e.stopImmediatePropagation();
            var pref = Services.prefs, chr = "devtools.chrome.enabled", rem = "devtools.debugger.remote-enabled";
                if (!pref.getBoolPref(chr) || !pref.getBoolPref(rem)) {
                    pref.setBoolPref(chr, true);
                    pref.setBoolPref(rem, true);
                }
                var { BrowserToolboxLauncher } = ChromeUtils.import("resource://devtools/client/framework/browser-toolbox/Launcher.jsm");
                BrowserToolboxLauncher.init();
            };
        btn.addEventListener("click", listener);
        that.unloadlisteners.push("opendevtoolsrclick2");
        this.destructor = () => {
            btn.removeEventListener("click", listener);
        };
    }
}).init(this);

// Открытие окна "Инструменты браузера"
// по ПКМ на иконке Attributes Inspector
// https://forum.mozilla-russia.org/viewtopic.php?pid=791976#p791976
(this.opendevtoolsrclick3 = {
    async init(that) {
        await window.delayedStartupPromise;
        var btn = CustomizableUI.getWidget("AttributesInspector")?.forWindow(window).node;
        if (!btn) return;
        btn.setAttribute("context", "");
        btn.tooltipText = `ЛКМ: Attributes Inspector\nПКМ: Инструменты браузера`;
        var listener = e => {
            if (e.button != 2) return;
            e.preventDefault();
            e.stopPropagation();
            e.stopImmediatePropagation();
            var pref = Services.prefs, chr = "devtools.chrome.enabled", rem = "devtools.debugger.remote-enabled";
                if (!pref.getBoolPref(chr) || !pref.getBoolPref(rem)) {
                    pref.setBoolPref(chr, true);
                    pref.setBoolPref(rem, true);
            }
            var { BrowserToolboxLauncher } = ChromeUtils.import("resource://devtools/client/framework/browser-toolbox/Launcher.jsm");
            BrowserToolboxLauncher.init();
        };
        btn.addEventListener("click", listener);
        that.unloadlisteners.push("opendevtoolsrclick3");
        this.destructor = () => {
            btn.removeEventListener("click", listener);
        };
    }
}).init(this);

Исправил по замечанию ниже.
   
Vitaliy V.
Я понял, спасибо. Просто мне что-то в шаблоне похожим показалось.

Отредактировано _zt (10-06-2021 19:16:31)


Fx 91 esr

Отсутствует

 

№1056910-06-2021 14:17:34

Vitaliy V.
Участник
 
Группа: Members
Зарегистрирован: 19-09-2014
Сообщений: 2002
UA: Firefox 90.0

Re: Настройка внешнего вида Firefox в userChrome.css

_zt пишет

но правильно ли я сделал?

Ну если вы хотели чтобы при запуске окна браузера проверялись включены ли настройки "devtools.chrome.enabled" "devtools.debugger.remote-enabled"
то наверное, но смысл был чтобы это проверялось при клике, и первый ваш код так и делает

Отредактировано Vitaliy V. (10-06-2021 14:36:28)

Отсутствует

 

№1057012-06-2021 18:08:07

sandro79
Участник
 
Группа: Members
Откуда: Ставрополье
Зарегистрирован: 15-11-2017
Сообщений: 1475
UA: Firefox 90.0

Re: Настройка внешнего вида Firefox в userChrome.css

Vitaliy V.
Хотел спросить по поводу полосы контейнеров. Вернул полосу на прежнее место кодом ниже, может можно её ещё по краям обрезать, как то было в допротоновских версиях? Никак ума не приложу как это сделать. Оно то вроде на всю ширину смотрится эстетичнее, но непривычно как-то, обрезать бы её как было.

скрытый текст
Image_002.png Image_002.png

Выделить код

Код:

.tabbrowser-tab[usercontextid] > .tab-stack > .tab-background > .tab-context-line {
	/* margin: 0 !important; */ /* сверху */
	height: 3px !important;
	border-radius: 0 !important;
	-moz-box-ordinal-group: 10 !important; /* снизу */
}

И хотел ещё попросить Вас подсказать как добавить стиль
скрытый текст

Выделить код

Код:

#context-menu_pageInfo > .menu-accel-container {
    display: none !important;
}

к возвращающему в меню ПКМ на странице пункта "Информация о странице" коду
скрытый текст
https://github.com/alice0775/userChrome … Info.uc.js

Выделить код

Код:

function pageInfoContextMenu() {
  let menu = document.getElementById("menu_pageInfo");
  if (!menu)
    return;

  let ref = document.getElementById("context-inspect-a11y");
  menu = menu.cloneNode(true);
  menu.id = "context-" + menu.id;
  ref.parentNode.insertBefore(menu, ref);
}
// We should only start the redirection if the browser window has finished
// starting up. Otherwise, we should wait until the startup is done.
if (gBrowserInit.delayedStartupFinished) {
  pageInfoContextMenu();
} else {
  let delayedStartupFinished = (subject, topic) => {
    if (topic == "browser-delayed-startup-finished" &&
        subject == window) {
      Services.obs.removeObserver(delayedStartupFinished, topic);
      pageInfoContextMenu();
    }
  };
  Services.obs.addObserver(delayedStartupFinished,
                           "browser-delayed-startup-finished");
}

Ну вовнутрь скрипта может можно как-то прикрутить, чтоб скрытие acceltext="Ctrl+I" делалось самим скриптом.
скрытый текст
Image_003.pngImage_004.png

Отсутствует

 

№1057112-06-2021 19:32:02

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 1454
UA: Firefox 78.0

Re: Настройка внешнего вида Firefox в userChrome.css

sandro79 пишет

коду

Что-то там навёрнуто...

скрытый текст

Выделить код

Код:

(async n => {
	var menuitem = n("menu_pageInfo").cloneNode(false);
	menuitem.id = "context-" + menuitem.id;
	menuitem.removeAttribute("key");
	n("context-inspect-a11y").before(menuitem);
})(id => document.getElementById(id));

Отредактировано Dumby (12-06-2021 22:38:47)

Отсутствует

 

№1057212-06-2021 19:50:06

sandro79
Участник
 
Группа: Members
Откуда: Ставрополье
Зарегистрирован: 15-11-2017
Сообщений: 1475
UA: Firefox 90.0

Re: Настройка внешнего вида Firefox в userChrome.css

Dumby пишет

Что-то там навёрнуто...

скрытый текст

Выделить код

Код:

(async n => {
	var menuitem = n("menu_pageInfo").cloneNode(false);
	menuitem.id = "context-" + menuitem.id;
	menuitem.removeAttribute("key");
	n("context-inspect-a11y").before(menuitem);
})(id => document.getElementById(id));

Благодарю! Ещё и вдвое компактней, теперь другое дело!
Первый вопрос по полосе контейнеров снимаю, лучше всё же будет оставить как есть, на всю ширину вкладки.

Отредактировано sandro79 (13-06-2021 00:14:40)

Отсутствует

 

№1057312-06-2021 21:03:43

_zt
Участник
 
Группа: Members
Зарегистрирован: 10-11-2014
Сообщений: 835
UA: Firefox 78.0

Re: Настройка внешнего вида Firefox в userChrome.css

информация о странице
// Открытие окна "информации о странице", по клику ПКМ
// в адресной строке на боксе защиты от отслеживания
// https://forum.mozilla-russia.org/viewtopic.php?pid=783003#p783003
(this.openpageinfowithrightclick = {
    init(that) {
        var identitybox = this.identitybox = document.querySelector("#tracking-protection-icon-box");
        if (!identitybox)
            return;
        identitybox.addEventListener("contextmenu", this, true);
        identitybox.addEventListener("click", this, true);
        that.unloadlisteners.push("openpageinfowithrightclick");
    },
    handleEvent(e) {
        if (e.button != 2)
            return;
        e.preventDefault();
        e.stopPropagation();
        e.stopImmediatePropagation();
        if (e.type != "click")
            return;
    BrowserPageInfo(null);
    },
    destructor() {
        this.identitybox.removeEventListener("contextmenu", this, true);
        this.identitybox.removeEventListener("click", this, true);
    }
}).init(this);

Vitaliy V.
Посмотрите пожалуйста, я правильно обрезал/изменил? исходник
скрытый текст

Выделить код

Код:

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

// Отдельная кнопка about:config с альт.управлением от Vitaliy V.
// https://forum.mozilla-russia.org/viewtopic.php?pid=783542#p783542
try {
    ((id, label, tooltiptext, about_config) => {
        CustomizableUI.createWidget({
            id: id,
            type: "custom",
            label: label,
            tooltiptext: tooltiptext,
            localized: false,
            defaultArea: CustomizableUI.AREA_NAVBAR,
            onBuild: function(document) {
                var win = document.defaultView;
                var toolbarbutton = document.createXULElement("toolbarbutton");
                toolbarbutton.id = id;
                toolbarbutton.className = "toolbarbutton-1 chromeclass-toolbar-additional";
                toolbarbutton.setAttribute("label", label);
                toolbarbutton.setAttribute("context", "false");
                toolbarbutton.setAttribute("tooltiptext", tooltiptext);
                toolbarbutton.setAttribute("image", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAG+SURBVDhPlZM9TMJQFIXbUoIBBkbc3IQNBqCbuMlk2GDDiRGYHI0bm7Dp5KoTbtUJNvlLYGTT0U0WEgiB+t1HJaYSiSdpzuntu+fde9+r9h/0er2ocLvdPlABYLi8F91ut6rruj0YDLKhUOgNszOJ6+rrH5DdwuGwhTx3HKe6iWraer3O+3y+6d4KgsFgjETbTe5QxSk8NgyjhUlrr0EmkxmTXBO9Wq0uUqlUh/em+qhpxb0tDIfDGDu1kTLAOhW8wGVMCjyTnQb9ft8hqWZZVsOdfInEY2G1YIM6BgtTlAyKyd7QV5MyjySGPoEaJFZY+IjhnNgH+o7YpVSSTqc7qgK3zBFye74eyG7Sd1RmwpFagUBgkkwmp9sWKPseKrFwivsDnIVjxOZ+v/9QFquFHuhyMdhdFpd5j6Lz9P4kHzGVqhJiSGs9mYnEf8Jwk6/Q6pqiu8IulKaaAv1XVMQD1cJoNIosl0sbaWHQME3zerFYxNA2T+RnVV6oi+T2p3pktypmn+z4KskSg9+Fd0EZcNYJSH6OZ56xxL6HiZzDMp+dUAZyNOwY51xzJOYkRtIt17bI8OKz2Uxd5d/QtC/349nfbdYVdQAAAABJRU5ErkJggg==");
                toolbarbutton.addEventListener("click", function(event) {
                    if (event.button == 0) {
                        if (!event.ctrlKey)
                            win.gBrowser.selectedTab = about_config.addTab(win, "about:config",  {
                                relatedToCurrent: true,
                            });
                    }
                    else if (event.button == 2) {
                        event.preventDefault();
                        event.stopPropagation();
                        if (!event.ctrlKey)
                            about_config.openSelectedConfigTab(win);
                        else
                            about_config.openClipboardConfigTab(win);
                    }
                });
                return toolbarbutton;
            }
        });
    })(
        "ucf-open-about-config",
        "about:config",
        "ЛКМ:		 Открыть about:config\nПКМ:		 Искать выделенное\nCtrl+ПКМ:	 Искать из буфера",
        {
            get ClipboardHelper() {
                delete this.ClipboardHelper;
                return this.ClipboardHelper = Cc["@mozilla.org/widget/clipboardhelper;1"].getService(Ci.nsIClipboardHelper);
            },
            openClipboardConfigTab: function(win, clip = "", copy) {
                var filter = this.readFromClipboard(win), nowarn = false, pref = "browser.aboutConfig.showWarning";
                if (copy && clip != filter)
                    this.ClipboardHelper.copyString(clip);
                if (Services.prefs.getBoolPref(pref, false)) {
                    Services.prefs.setBoolPref(pref, false);
                    nowarn = true;
                }
                var browser = win.gBrowser.getBrowserForTab(win.gBrowser.selectedTab = this.addTab(win, "about:config", {
                    relatedToCurrent: true,
                }));
                browser.addEventListener("pageshow", (e) => {
                    var doc = e.currentTarget.contentDocument, input = (doc && doc.querySelector("input#about-config-search"));
                    if (input && filter) {
                        input.value = filter;
                        input.dispatchEvent(new doc.defaultView.Event("input", { bubbles: true }));
                    }
                    if (nowarn)
                        setTimeout(() => {
                            Services.prefs.setBoolPref(pref, true);
                        }, 200);
                }, { once: true });
            },
            openSelectedConfigTab: function(win) {
                var clip = this.readFromClipboard(win);
                win.goDoCommand("cmd_copy");
                setTimeout(() => {
                    this.openClipboardConfigTab(win, clip, true);
                }, 100);
            },
            addTab: function(win, url, params = {}) {
                params.triggeringPrincipal = Services.scriptSecurityManager.getSystemPrincipal();
                return win.gBrowser.addTab(url, params);
            },
            readFromClipboard: function(win) {
                var url = "";
                try {
                    var trans = Cc["@mozilla.org/widget/transferable;1"].createInstance(Ci.nsITransferable);
                    var contxt = ("docShell" in win) ? win.docShell.QueryInterface(Ci.nsILoadContext) : win.QueryInterface(Ci.nsIInterfaceRequestor).getInterface(Ci.nsIWebNavigation).QueryInterface(Ci.nsILoadContext);
                    trans.init(contxt);
                    trans.addDataFlavor("text/unicode");
                    var clipboard = Services.clipboard;
                    clipboard.getData(trans, clipboard.kGlobalClipboard);
                    var data = {};
                    trans.getTransferData("text/unicode", data, {});
                    if (data.value) {
                        data = data.value.QueryInterface(Ci.nsISupportsString);
                        url = data.data;
                    }
                } catch (ex) { }
                return url;
            },
        }
    );
} catch(e) {}


и это еще
скрытый текст

Выделить код

Код:

// Открытие "about:debugging#/runtime/this-firefox"
// по ПКМ на стандартном значке менеджера дополнений
// https://forum.mozilla-russia.org/viewtopic.php?pid=791976#p791976
(this.opendebuggingruntimethisfirefox = {
    async init(that) {
        await window.delayedStartupPromise;
        var btn = CustomizableUI.getWidget("add-ons-button")?.forWindow(window).node;
        if (!btn) return;
        btn.setAttribute("context", "");
        btn.tooltipText = `ЛКМ:		 Менеджер дополнений\nПКМ:		 Отладка дополнений\nCtrl+ПКМ:	 Политики`;
        var listener = e => {
            if (e.button != 2) return;
            e.preventDefault();
            e.stopPropagation();
            e.stopImmediatePropagation();
            var gb = e.view.gBrowser;
            gb.selectedTab = gb.addTrustedTab(`about:${
                e.ctrlKey ? "policies" : "debugging#/runtime/this-firefox"
            }`);
        };
        btn.addEventListener("click", listener);
        that.unloadlisteners.push("opendebuggingruntimethisfirefox");
        this.destructor = () => {
            btn.removeEventListener("click", listener);
        };
    }
}).init(this);


Fx 91 esr

Отсутствует

 

№1057412-06-2021 21:54:30

Vitaliy V.
Участник
 
Группа: Members
Зарегистрирован: 19-09-2014
Сообщений: 2002
UA: Firefox 90.0

Re: Настройка внешнего вида Firefox в userChrome.css

_zt
Да все норм


Добавил инструкцию по установке WebExtensions Experiments https://github.com/VitaliyVstyle/Vitali … xperiments
а то некоторые не знают как или им старый конфиг подсовывают а там конечно нет настройки extensions.experiments.enabled

Отсутствует

 

№1057512-06-2021 22:58:14

_zt
Участник
 
Группа: Members
Зарегистрирован: 10-11-2014
Сообщений: 835
UA: Firefox 89.0

Re: Настройка внешнего вида Firefox в userChrome.css

Vitaliy V.
Это на замену этого?


Fx 91 esr

Отсутствует

 

Board footer

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