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

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

№1060114-06-2021 13:54:49

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

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

voqabuhe пишет

Если следую инструкции, то у меня почему-то пропадают все кнопки Add Toolbar Buttons, хотя само расширение установлено. Все остальные расширения тоже работают. В чём может быть причина?

Много раз это сказано уже было,
вот добавил ещё к инструкции
Если уже используется др. config.js то следует заменить или совместить его содержимое     
при этом важно чтобы данный код был в самом начале файла   


И ещё может быть ошибка у тех кто использует этот метод загрузки скриптов https://github.com/Aris-t2/CustomJSforF … /config.js
В нем надо удалить константу
const Cu = Components.utils;

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

Отсутствует

 

№1060214-06-2021 14:25:55

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

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

Vitaliy V. пишет

Много раз это сказано уже было

Ну сорри, как-то мимо меня просвистело.

важно чтобы данный код был в самом начале файла

Именно этого и нехватало. Спасибо.

Отсутствует

 

№1060314-06-2021 17:01:27

Аноним125876
Участник
 
Группа: Members
Зарегистрирован: 08-01-2021
Сообщений: 9
UA: Firefox 89.0

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

Ребят подскажите, воспользовался стилем CSS из темы чтобы вкладки опустить вниз, и у меня теперь над строкой меню тонкая белая полоса...
Ps: и еще сюда же., можно ли полностью убрать строку меню как в полноэкранном режиме? (что бы кнопки свернуть/развернуть/закрыть были в адресной строке как в полноэкранном режиме)

Отсутствует

 

№1060414-06-2021 22:02:14

казявка
Участник
 
Группа: Members
Зарегистрирован: 13-08-2014
Сообщений: 130
UA: Firefox 91.0

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

varmed пишет

sandro79 пишетvarmedскрытый текстВыделить кодКод:#urlbar-container,
#search-container {
    padding: 1px 0 !important;
    margin-inline: 1px !important; /* необязательно */
}Этот код вообще ни на что не повлиял.

а мне на ночнушке 91.0a1 именно этот код повлиял - СПС БЛШ!

Отсутствует

 

№1060515-06-2021 11:54:05

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

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

Аноним125876 пишет

можно ли полностью убрать строку меню как в полноэкранном режиме?

Там же, в посте, скрипт есть для этого комплекта. Добавить нужно в файл custom_script_win.js
Первый код скрипта нужно добавить выше строки  createSpecialWidgets() {, второй ниже строки // this.autohidesidebar.init(); // <-- Auto Hide Sidebar, ну а третий кусок, как сказано в посте в конце, custom_script_win.js Должна получится такая конструкция:

скрытый текст
______.PNG

Выделить код

Код:

// Этот скрипт работает в главном окне браузера если включено в настройках

var ucf_custom_script_win = {
    initialized: false,
    get unloadlisteners() {
        delete this.unloadlisteners;
        window.addEventListener("unload", this, { once: true });
        return this.unloadlisteners = [];
    },
    load() {
        if (this.initialized)
            return;
        this.initialized = true;
        // this.specialwidgets.init(); // <-- Special Widgets
        // this.autohidesidebar.init(); // <-- Auto Hide Sidebar
        this.menubarvisibilitychance.setbuttonboxwidth();
        /* ************************************************ */

        // Здесь может быть ваш код который сработает по событию "load" не раньше

        /* ************************************************ */
    },
    handleEvent(e) {
        this[e.type](e);
    },
    unload() {
        this.unloadlisteners.forEach(str => {
            try {
                this[str].destructor();
            } catch (e) {}
        });
    },
menubarvisibilitychance: {
        buttons: null,
        buttonsfullscreen: null,
        constructor() {
            var menubar = this.menubar = document.querySelector("#toolbar-menubar");
            if (!menubar) return;
            this.observer = new MutationObserver(() => {
                this.settoolbarvisibility();
            });
            this.observer.observe(menubar, {
                attributeFilter: ["autohide", "inactive"],
                attributes: true,
            });
            this.sizemodechange = new MutationObserver(() => {
                this.setbuttonboxwidth();
            });
            this.sizemodechange.observe(document.documentElement, {
                attributeFilter: ["sizemode"],
                attributes: true,
            });
            ucf_custom_script_win.unloadlisteners.push("menubarvisibilitychance");
            this.settoolbarvisibility();
        },
        settoolbarvisibility() {
            var docElm = document.documentElement;
            if (this.menubar.getAttribute("autohide") == "true" && this.menubar.getAttribute("inactive") == "true") {
                docElm.setAttribute("v_menubar_autohide", true);
                this.setbuttonboxwidth();
            } else
                docElm.setAttribute("v_menubar_autohide", false);
        },
        width(outerRect, innerRect) {
            if (!window.RTL_UI)
                this.width = (outerRect, innerRect) => outerRect.right - innerRect.left;
            else
                this.width = (outerRect, innerRect) => innerRect.right - outerRect.left;
            return this.width(outerRect, innerRect);
        },
        setbuttonboxwidth() {
            var buttons, docElm = document.documentElement;
            if (docElm.getAttribute("sizemode") != "fullscreen")
                buttons = (this.buttons || (this.buttons = this.menubar.querySelector(".titlebar-buttonbox-container")));
            else
                buttons = (this.buttonsfullscreen || (this.buttonsfullscreen = document.querySelector("#window-controls")));
            var innerRect = buttons.getBoundingClientRect();
            if (innerRect.width < 1) {
                docElm.style.setProperty("--v-titlebar-buttonbox-container-width", "0px");
                return;
            }
            var outerRect = docElm.getBoundingClientRect();
            docElm.style.setProperty("--v-titlebar-buttonbox-container-width", `${this.width(outerRect, innerRect)}px`);
        },
        destructor() {
            this.observer.disconnect();
            this.sizemodechange.disconnect();
            this.observer = null;
            this.sizemodechange = null;
        }
    },
    specialwidgets: {
        _timer: null,
        get Customizable() {
            delete this.Customizable;
            if ("createSpecialWidget" in CustomizableUI)
                return this.Customizable = CustomizableUI;
            var scope = null;
            try {
                scope = Cu.import("resource:///modules/CustomizableUI.jsm", {}).CustomizableUIInternal;
            } catch (e) { }
            return this.Customizable = scope;
        },
        init() {
            if (!("CustomizableUI" in window) || !("gCustomizeMode" in window))
                return;
            ucf_custom_script_win.unloadlisteners.push("specialwidgets");
            window.addEventListener("customizationready", this);
        },
        destructor() {
            window.removeEventListener("customizationready", this);
        },
        handleEvent(e) {
            this[e.type](e);
        },
        customizationchange() {
            clearTimeout(this._timer);
            this._timer = setTimeout(() => {
                this.createSpecialWidgets();
            }, 1000);
        },
        customizationready() {
            if (!this.Customizable)
                return;
            this.createSpecialWidgets();
            window.addEventListener("customizationchange", this);
            window.addEventListener("customizationending", this);
        },
        customizationending() {
            window.removeEventListener("customizationchange", this);
            window.removeEventListener("customizationending", this);
        },
        createSpecialWidgets() {
            try {
                let fragment = document.createDocumentFragment();
                if (this.findSpecialWidgets("spring")) {
                    let spring = this.Customizable.createSpecialWidget("spring", document);
                    spring.setAttribute("label", "Растягивающийся интервал");
                    fragment.append(gCustomizeMode.wrapToolbarItem(spring, "palette"));
                }
                if (this.findSpecialWidgets("spacer")) {
                    let spacer = this.Customizable.createSpecialWidget("spacer", document);
                    spacer.setAttribute("label", "Интервал");
                    fragment.append(gCustomizeMode.wrapToolbarItem(spacer, "palette"));
                }
                if (this.findSpecialWidgets("separator")) {
                    let separator = this.Customizable.createSpecialWidget("separator", document);
                    separator.setAttribute("label", "Разделитель");
                    fragment.append(gCustomizeMode.wrapToolbarItem(separator, "palette"));
                }
                gCustomizeMode.visiblePalette.append(fragment);
            } catch (e) {}
        },
        findSpecialWidgets(string) {
            try {
                if (!gCustomizeMode.visiblePalette.querySelector(`toolbar${string}[id^="customizableui-special-${string}"]`))
                    return true;
            } catch (e) {}
            return false;
        }
    },
    autohidesidebar: {
        events: ["dragenter", "drop", "dragexit", "MozLayerTreeReady"],
        init() {
            var sidebar = this.sidebar = document.querySelector("#sidebar-box");
            if (!sidebar) return;
            for (let type of this.events)
                sidebar.addEventListener(type, this);
            ucf_custom_script_win.unloadlisteners.push("autohidesidebar");
            var popup = this.popup = document.querySelector("#sidebarMenu-popup");
            if (!popup) return;
            popup.addEventListener("popupshowing", this);
        },
        destructor() {
            var sidebar = this.sidebar;
            for (let type of this.events)
                sidebar.removeEventListener(type, this);
            if (!this.popup) return;
            this.popup.removeEventListener("popupshowing", this);
        },
        handleEvent(e) {
            this[e.type](e);
        },
        MozLayerTreeReady(e) {
            if (e.originalTarget?.id == "webext-panels-browser" && !this.sidebar.hasAttribute("sidebardrag")) {
                window.addEventListener("mousedown", () => {
                    this.drop();
                }, { once: true });
                this.dragenter();
            }
        },
        popupshowing() {
            this.popup.addEventListener("popuphidden", () => {
                this.drop();
            }, { once: true });
            this.dragenter();
        },
        dragenter() {
            if (!this.sidebar.hasAttribute("sidebardrag"))
                this.sidebar.setAttribute("sidebardrag", "true");
        },
        drop() {
            if (this.sidebar.hasAttribute("sidebardrag"))
                this.sidebar.removeAttribute("sidebardrag");
        },
        dragexit(e) {
            var sidebar = this.sidebar;
            var boxObj = sidebar.getBoundingClientRect(), boxScrn = !sidebar.boxObject ? sidebar : sidebar.boxObject;
            if ((!e.relatedTarget || e.screenY <= (boxScrn.screenY + 5) || e.screenY  >= (boxScrn.screenY + boxObj.height - 5)
                || e.screenX <= (boxScrn.screenX + 5) || e.screenX >= (boxScrn.screenX + boxObj.width - 5))
                && sidebar.hasAttribute("sidebardrag"))
                sidebar.removeAttribute("sidebardrag");
        }
    },
};

if (window.document.readyState != "complete") {
    window.addEventListener("load", function load() {
        ucf_custom_script_win.load();
    }, { once: true });
} else
    ucf_custom_script_win.load();
ucf_custom_script_win.menubarvisibilitychance.constructor();

Отсутствует

 

№1060615-06-2021 13:08:28

Аноним125876
Участник
 
Группа: Members
Зарегистрирован: 08-01-2021
Сообщений: 9
UA: Firefox 89.0

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

sandro79
Спасибо не устанавливал этот комплект,
Попробовал да то что я и имел ввиду, однако все дополнение скрыла растянутая адресная строка и они теперь все доступны по нажатию стрелочки.
Буду дальше колупаться, видимо где то что то не то сделал.

Ps: а белая полоска вот эта имелась ввиду
1.png
Pss:
Ха разобрался все заработало как надо, однако эта чертова полоска есть и там:o
2.png

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

Отредактировано Аноним125876 (15-06-2021 13:35:11)

Отсутствует

 

№1060715-06-2021 15:20:29

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

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

Аноним125876 пишет

белая полоска вот эта имелась ввиду

Возможно нестандартная тема в [windows],
если убрать это правило есть ли положительный эффект ?

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

Выделить код

Код:

*|*:root:not([inFullscreen])[tabsintitlebar][sizemode="normal"] > *|body::before {
    -moz-appearance: -moz-window-titlebar !important;
    appearance: -moz-window-titlebar !important;
}


Ну или может др. стили мешают, у себя так и не смог воспроизвести эту полосу но тем никаких не устанавливал.

Аноним125876 пишет

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

Вот этого сначала не мог воспроизвести, но когда увеличил DPI в [windows] то да есть такое
видимо придется здесь изменить

скрытый текст
*|*:root:not([inFullscreen])[v_menubar_autohide="true"] #navigator-toolbox > #nav-bar {
    margin-top: 0 !important;
    padding-inline-end: var(--v-titlebar-buttonbox-container-width, 108px) !important;
}

padding-inline-end на margin-inline-end хоть и не красиво

Отсутствует

 

№1060815-06-2021 16:10:24

Аноним125876
Участник
 
Группа: Members
Зарегистрирован: 08-01-2021
Сообщений: 9
UA: Firefox 89.0

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

Vitaliy V.
Пасибо большое. способ помог, правда щас праузер как будто залез под меню пуск, Но белой полосы нет.

Тема стандартная из Виндовс 10 серого цвета(только строку с пуском перенес вверх)(масштаб и разметка 125%), в браузере тоже стандартная темная., белая полоса появляется только тогда когда запущено какое нибудь полноэкранное приложение игра, медиа плеер, в общем приложение которое поверх меню пуск идет и если браузер открываешь не сворачивая это приложение, то браузер по прежнему находится как бы под строкой пуска только на фоне браузера не пуск а приложение(игра)., тогда видно полосу.
Как у меня появляется полоса
Если запущен браузер, игра, и еще что нибудь, то нажимая на строке пуска свернуть все окна одновременно. Далее открываем окно с игрой(полноэкранным приложением) нажимаем на кнопку пуска, разворачиваем браузер и получаем такую картину...

Иконки перестали пропадать после исправление на margin-inline-end, визуально у меня вроде ничего не изменилось.
правда щая в

Ps: ага тут браузер щас по открывал, закрывал, и белая полоса снова вылезла, исчезает когда браузер в оконном режиме не на весь экран..

Отредактировано Аноним125876 (15-06-2021 16:29:09)

Отсутствует

 

№1060915-06-2021 16:42:44

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

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

Vitaliy V.
Подскажите, как это окно управления куками повесить на те примеры что выше обсуждались?
Хочу то окно с куками, а не это, повесить на ПКМ по звезде в адресной строке.
   
Без подсказок, а то у меня там это уже весит.

Отредактировано _zt (15-06-2021 16:55:53)

Отсутствует

 

№1061015-06-2021 17:21:11

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

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

А поиск одним кликом обратно вернули? У меня без скрипта работает.

Отсутствует

 

№1061115-06-2021 19:37:05

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

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

Аноним125876 пишет

только строку с пуском перенес вверх

Вот от этого и проблемы, так я конечно не пробовал.
И кстати без стиля тоже есть полоса просто она не выделяется выглядит будто одним цветом с панелью меню или вкладок.
Стиль исправил проверяйте, ничего править не нужно.
Да эта полоса может немного отличаться по цвету от панели адреса но не отличается от панели меню.

_zt
Так? Взял код из ATB

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

Выделить код

Код:

(this.viewcookieswithrightclick = {
            init(that) {
                var star = this.star = document.querySelector("#star-button-box");
                if (!star)
                    return;
                star.addEventListener("contextmenu", this, true);
                star.addEventListener("click", this, true);
                that.unloadlisteners.push("viewcookieswithrightclick");
            },
            handleEvent(e) {
                if (e.button != 2)
                    return;
                e.preventDefault();
                e.stopPropagation();
                e.stopImmediatePropagation();
                if (e.type != "click")
                    return;
                this.viewCookies();
            },
            getETDL(uri) {
                var eTLD = "";
                try {
                    eTLD = Services.eTLD.getBaseDomain(uri);
                } catch (e) {
                    try {
                        eTLD = uri.asciiHost;
                    } catch (e) {}
                }
                return eTLD;
            },
            async viewCookies() {
                var uri = gBrowser.selectedBrowser.currentURI;
                try {
                    let _uri = ReaderMode.getOriginalUrl(uri.spec);
                    if (_uri)
                        uri = Services.io.newURI(_uri);
                } catch(e) {}
                uri = this.getETDL(uri);
                var type = "Browser:SiteDataSettings", id = "SiteDataSettingsDialog";
                var _win = Services.wm.getMostRecentWindow(type);
                if (!_win) {
                    await SiteDataManager.updateSites();
                    let url = "chrome://browser/content/preferences/dialogs/siteDataSettings.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 = openDialog(url, type, features);
                    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 doc = _win.document;
                var docEl = doc.documentElement;
                docEl.setAttribute("windowtype", type);
                docEl.id = id;
                docEl.setAttribute("persist", "screenX screenY width height sizemode");
                _win.focus();
                var filter = doc.querySelector("#searchBox");
                if (!filter) return;
                filter.value = uri;
                filter.focus();
                filter.dispatchEvent(new _win.Event("input", { bubbles: true }));
            },
            destructor() {
                this.star.removeEventListener("contextmenu", this, true);
                this.star.removeEventListener("click", this, true);
            },
        }).init(this);

Отредактировано Vitaliy V. (15-06-2021 20:03:35)

Отсутствует

 

№1061215-06-2021 20:42:05

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

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

Vitaliy V.
Да, примерно так, спасибо. Что такое ATB?
А это окно динамически обновлять список кук можно заставить? Дело в том, что если его вызвал, то оно уже не видит куки появившиеся после вызова этого окна, что не очень хорошо даже для одного сайта, не говоря уже о наблюдении вообще за всеми новыми куками.

Отсутствует

 

№1061316-06-2021 00:38:23

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

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

_zt пишет

Что такое ATB?

Add Toolbar Buttons

_zt пишет

обновлять список кук можно заставить?

По кнопке окно переоткрывать или обновлять? А иначе слишком часто будет вызываться SiteDataManager.updateSites(); это не хорошо

Отредактировано Vitaliy V. (16-06-2021 01:18:53)

Отсутствует

 

№1061416-06-2021 02:20:52

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

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

Vitaliy V.
Обновлять по ПКМ было бы хорошо, переоткрывать - хуже (некрасиво и придется запоминать положение окна). Может еще какую то автоматизацию добавить? Например, Ctrl+ПКМ - обновлять каждые 3 секунды, как в about:networking.
ПКМ - сброс автообновления, повторный Ctrl+ПКМ - нет действия. Что бы путаницы не было, индикации то нет.

Отредактировано _zt (16-06-2021 16:15:37)

Отсутствует

 

№1061516-06-2021 04:46:46

Аноним125876
Участник
 
Группа: Members
Зарегистрирован: 08-01-2021
Сообщений: 9
UA: Firefox 89.0

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

Vitaliy V.
Вроде ничего не изменилось как была полоса так и осталась. В настройках userChromeFiles все стили и все скрипты подключены.

Покопался в userChrome.css
Удалил вот это

Выделить код

Код:

*|*:root:not([inFullscreen])[tabsintitlebar][sizemode="maximized"] > *|body::before {
    -moz-appearance: -moz-window-titlebar-maximized !important;
    appearance: -moz-window-titlebar-maximized !important;
}

Полоса исчезла полностью, а верхняя часть браузера как бы ушла под экран немного, даже если переношу строку меню пуска вниз эффект тот же.
У меня меню пуск было без цветным включил цвет чтобы было лучше видно
Вот так с белой полосой. в фале userChrome.css ничего не меняем.
11.png

А так без белой полосы с удалением части кода что я указал выше.
10.png

Отсутствует

 

№1061616-06-2021 11:47:52

Coroner
Участник
 
Группа: Members
Зарегистрирован: 29-10-2012
Сообщений: 3858
UA: Firefox 84.0

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

Помогите разобраться с раскраской контейнерных вкладок.
Хочел браузер настроить, чтобы глаза не ломать, а я не дома,  и сидеть мне здеся неделю с интернетом при скорости около сотни кб/сек (если повезёт).


Если меняешь фон вкладок, например

Выделить код

Код:

#TabsToolbar #tabbrowser-tabs .tabbrowser-tab[selected] .tab-content {
	background: #5555FF !important; }

то полоски, обозначающие, что вкладка принадлежит определённому контейнеру исчезают напрочь.


В интернетах встретил загадочный совет вставить в вышеприведённый код строку

Выделить код

Код:

background-image: none !important;

Не помогает, да и непонятно что это даёт.


Тута недавно встречал нечто вроде

Выделить код

Код:

#tabbrowser-tabs {
	--tab-line-color: var(--identity-tab-color) !important; ) }

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


Промаялся всю ночь до утра, глаза замылил совсем. В 9 утра покурил, хлопнул стограммовую бутылку т. н. коньяка и внезапно, отчаявшийся уже мозг мой изверг странноватый костыль, который работает. Какбэ.
Но это несерьёзно же. Спрячу под спойлер, чтобы случайные посетители не пугались.

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

Выделить код

Код:

[data-identity-color="blue"] { 	--identity-tab-color: #37adff; 	--identity-icon-color: #37adff;  }
[data-identity-color="turquoise"] { 		--identity-tab-color: #00c79a; --identity-icon-color: #00c79a; }
[data-identity-color="green"] { 		--identity-tab-color: #51cd00; --identity-icon-color: #51cd00; }
[data-identity-color="yellow"] { 		--identity-tab-color: #ffcb00; 	--identity-icon-color: #ffcb00;  }
[data-identity-color="orange"] { 		--identity-tab-color: #ff9f00; 	--identity-icon-color: #ff9f00;   }
[data-identity-color="red"] { 			--identity-tab-color: #ff613d; 	--identity-icon-color: #ff613d;  }
[data-identity-color="pink"] { 			--identity-tab-color: #ff4bda; 	--identity-icon-color: #ff4bda;  }
[data-identity-color="purple"] {		--identity-tab-color: #af51f5; 	--identity-icon-color: #af51f5;  }

.tabbrowser-tab[usercontextid] .tab-label {
  	text-decoration-style: 			double !important; 
  	text-decoration-line: 			overline !important; 
  	text-decoration-color: 			var(--identity-tab-color) !important; 
 }

Откуда идею с «data-identity-color=» выдрал — уже не упомню.


Помогите решить проблему верным образом. Спасибо.

Отредактировано Coroner (16-06-2021 11:49:49)

Отсутствует

 

№1061716-06-2021 15:56:06

GENNADICH
Участник
 
Группа: Members
Зарегистрирован: 20-05-2011
Сообщений: 51
UA: Firefox 89.0

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

Просто частокол их огромных крестов на вкладках. :mad:
Как сделать появление крестика закрытия на вкладках, при наведении мыши?
#tabbrowser-tabs > .tabbrowser-tab:not([pinned="true"]):hover > .tab-stack > .tab-content > .tab-close-button {
  display: -moz-box !important;
}
НЕ работает!

Отсутствует

 

№1061816-06-2021 16:11:23

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

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

Vitaliy V.
faviconinurlbar вроде не работает на 90.

Отсутствует

 

№1061916-06-2021 17:24:17

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

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

_zt пишет

Может еще какую то автоматизацию добавить?

Сделал так, при открытии окна обновляется один раз
если не закрывая окна вызвать повторно данные обновятся и будут далее  обновляться с интервалом 5с
При нажатии кнопок удалить... обновление прекращается.

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

Выделить код

Код:

(this.viewcookieswithrightclick = {
            init(that) {
                var star = this.star = document.querySelector("#star-button-box");
                if (!star)
                    return;
                star.addEventListener("contextmenu", this, true);
                star.addEventListener("click", this, true);
                that.unloadlisteners.push("viewcookieswithrightclick");
            },
            handleEvent(e) {
                if (e.button != 2)
                    return;
                e.preventDefault();
                e.stopPropagation();
                e.stopImmediatePropagation();
                if (e.type != "click")
                    return;
                this.viewCookies();
            },
            getETDL(uri) {
                var eTLD = "";
                try {
                    eTLD = Services.eTLD.getBaseDomain(uri);
                } catch (e) {
                    try {
                        eTLD = uri.asciiHost;
                    } catch (e) {}
                }
                return eTLD;
            },
            async viewCookies() {
                var uri = gBrowser.selectedBrowser.currentURI;
                try {
                    let _uri = ReaderMode.getOriginalUrl(uri.spec);
                    if (_uri)
                        uri = Services.io.newURI(_uri);
                } catch(e) {}
                uri = this.getETDL(uri);
                var type = "Browser:SiteDataSettings", id = "SiteDataSettingsDialog";
                var _win = Services.wm.getMostRecentWindow(type);
                await SiteDataManager.updateSites();
                if (!_win) {
                    let url = "chrome://browser/content/preferences/dialogs/siteDataSettings.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 = openDialog(url, type, features);
                    await new Promise(resolve => {
                        _win.windowRoot.addEventListener("DOMContentLoaded", () => {
                            _win.windowRoot.addEventListener("MozUpdateWindowPos", () => {
                                if (sm === "maximized")
                                    _win.maximize();
                            }, { once: true, capture: true });
                            resolve();
                        }, { once: true });
                    });
                } else if ("_gSiteDataSettings" in _win)
                     _win._gSiteDataSettings();
                else {
                    Services.scriptloader.loadSubScript("data:," + encodeURIComponent(`
                        var _gSiteDataSettings = gSiteDataSettings._gSiteDataSettings = (function() {
                            SiteDataManager.getSites().then(sites => {
                                this._sites = sites;
                                var sortCol = document.querySelector("treecol[data-isCurrentSortCol=true]");
                                this._sortSites(this._sites, sortCol);
                                this._buildSitesList(this._sites);
                            });
                        }).bind(gSiteDataSettings);
                        _gSiteDataSettings();
                        var updateSetInterval = setInterval(async () => {
                            await SiteDataManager.updateSites();
                            _gSiteDataSettings();
                        }, 5000);
                        let removeBtns = document.querySelectorAll("#removeSelected, #removeAll");
                        var updateClearInterval = () => {
                            clearInterval(updateSetInterval);
                            for (let btn of removeBtns)
                                btn.removeEventListener("command", updateClearInterval);
                            updateClearInterval = null;
                        };
                        for (let btn of removeBtns)
                            btn.addEventListener("command", updateClearInterval);
                    `), _win, "UTF-8");
                     _win.addEventListener("unload", () => {
                        _win.updateClearInterval?.();
                    }, { once: true });
                }
                var doc = _win.document;
                var docEl = doc.documentElement;
                docEl.setAttribute("windowtype", type);
                docEl.id = id;
                docEl.setAttribute("persist", "screenX screenY width height sizemode");
                _win.focus();
                var filter = doc.querySelector("#searchBox");
                if (!filter) return;
                filter.value = uri;
                filter.focus();
                filter.dispatchEvent(new _win.Event("input", { bubbles: true }));
            },
            destructor() {
                this.star.removeEventListener("contextmenu", this, true);
                this.star.removeEventListener("click", this, true);
            },
        }).init(this);

Добавлено 16-06-2021 17:32:36

Аноним125876 пишет

Вроде ничего не изменилось

Или не обновили код судя по цитате *|*:root а я удалил все *|*
или же вы мне голову морочите чтобы я полностью удалил полосу,
так вот нет этот код то что вы удалили как раз и нужен для того чтобы не уходило под экран
У себя никаких белых полос не наблюдаю, открыт плеер в полноэкранном режиме и [firefox]

скрытый текст
VirtualBox_Win10_16_06_2021_15_03_03.th.png VirtualBox_Win10_16_06_2021_15_03_43.th.png VirtualBox_Win10_16_06_2021_15_08_47.th.png

Добавлено 16-06-2021 17:35:08

Coroner пишет

Если меняешь фон вкладок, например

Вот это и не верно фон менять надо на .tab-background

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

Выделить код

Код:

:root {
    --tab-selected-bgcolor: blue !important;
    --lwt-selected-tab-background-color: blue !important;
}
.tabbrowser-tab > .tab-stack > .tab-background:not([selected="true"], [multiselected]) {
    background-color: color-mix(in srgb, currentColor 30%, transparent) !important;
}
.tabbrowser-tab:hover > .tab-stack > .tab-background:not([selected="true"], [multiselected]) {
    background-color: color-mix(in srgb, currentColor 40%, transparent) !important;
}

Добавлено 16-06-2021 17:37:28

_zt пишет

faviconinurlbar вроде не работает на 90.

Ага потом исправлю, или новый код скорее всего для 90+

Добавлено 16-06-2021 17:42:21

GENNADICH пишет

Как сделать появление крестика закрытия на вкладках, при наведении мыши?

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

Выделить код

Код:

.tabbrowser-tab:not([pinned="true"],:hover) .tab-close-button {
    display: none !important;
}

Отредактировано Vitaliy V. (16-06-2021 17:42:21)

Отсутствует

 

№1062017-06-2021 00:09:54

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

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

Vitaliy V. пишет

если не закрывая окна вызвать повторно данные обновятся

Только в этом случае опять подставляется текущий адрес, а наблюдение нужно чаще для измененного адреса или для пустой строки, например тот же youtube сохраняет куки как для https, так и для www.

Отсутствует

 

№1062117-06-2021 00:24:41

Coroner
Участник
 
Группа: Members
Зарегистрирован: 29-10-2012
Сообщений: 3858
UA: Firefox 84.0

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

Vitaliy V. пишет

Вот это и не верно фон менять надо на .tab-background

Благодарю!
В вашем примере это работает. Но не пойму как мне это применить на практике.
Переменная --tab-selected-bgcolor задаёт цвет, но в коде то её нет. Откуда она взялась?
Как мне привести мой откуда то взятый неправильный и неподходящий код

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

Выделить код

Код:

#TabsToolbar #tabbrowser-tabs .tabbrowser-tab[selected] .tab-content { /* selected */
{    background-color: var(--какая_то_переменная) !important; }

#TabsToolbar #tabbrowser-tabs :-moz-any(.tabs-newtab-button,#tabs-newtab-button) { /* new tab */
{    background-color: var(--какая_то_ещё_переменная) !important; }

#TabsToolbar #tabbrowser-tabs .tabbrowser-tab .tab-content { /* default tab */
{    background-color: var(--какая_то_ещё_переменная) !important; }

#TabsToolbar #tabbrowser-tabs :-moz-any(.tabs-newtab-button,#tabs-newtab-button):hover { /* hovered new tab */
{    background-color: var(--какая_то_ещё_переменная) !important; }

#TabsToolbar #tabbrowser-tabs .tabbrowser-tab:hover:not([selected]) .tab-content { /* hovered tab */
{    background-color: var(--какая_то_ещё_переменная) !important; }


к вашему образцу?


Или где взять имена этих переменных, вроде вами приведённой «--tab-selected-bgcolor»?
В инструментах разработчика не вижу, в гугле по запросу «".tabbrowser-tab > .tab-stack > .tab-background:not([selected="true"], [multiselected]) {» выдаётся лишь две ссылки и то одинаковые по сути.
Уж простите, я и так не специалист, а вкладки для меня всегда загадкой были.

Отсутствует

 

№1062217-06-2021 09:58:41

muxtair
Участник
 
Группа: Members
Зарегистрирован: 21-05-2018
Сообщений: 24
UA: Firefox 89.0

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

Подскажите неучу.
Как опустить строку с открытыми вкладками в самый низ, не под адресную строку.
Всю тему поиском прошел, НЕТУ. :( :cry:
может можно через about:config ? или еще как-нибудь.
Заранее Спасибо !

Отсутствует

 

№1062317-06-2021 11:28:41

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

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

Coroner

скрытый текст
12acc78e9fc7eefb28ad8fd47f62fca0.jpg
В инспекторе стили прокручиваются (1) и как правило переменные есть ниже, в секциях наследований (2).
В большинстве секций есть ссылка на документ стиля (3), можно перейти в него.
b945024aede9975d8ab7e9e22f1abd47.jpg
Переменные можно переназначить, примеры смотрите в стилях Vitaliy V. здесь.

Отсутствует

 

№1062417-06-2021 13:34:13

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

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

muxtair пишет

Подскажите неучу.
Как опустить строку с открытыми вкладками в самый низ, не под адресную строку.
Всю тему поиском прошел, НЕТУ. :( :cry:
может можно через about:config ? или еще как-нибудь.
Заранее Спасибо !

Посмотрите здесь:forum.mozilla-russia.org/viewtopic.php?id=37396&p=418 в сообщении №10437

Отредактировано birond (17-06-2021 14:16:26)

Отсутствует

 

№1062517-06-2021 14:01:01

muxtair
Участник
 
Группа: Members
Зарегистрирован: 21-05-2018
Сообщений: 24
UA: Firefox 89.0

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

Спасибо, строку опустил, но она чуть тонковата, как маленько увеличить. Не открытую вкладку открываю, она во время обновления становится толще и опять тоньше.
Сверху как бы срезана.

Отредактировано muxtair (17-06-2021 14:16:25)

Отсутствует

 

Board footer

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