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

Юристы зарабатывают огромные деньги и славу, оперируя хорошим знанием законов. Правила форума — простой путь к успешному общению.

№920106-09-2020 15:36:29

sandro79
Участник
 
Группа: Members
Зарегистрирован: 15-11-2017
Сообщений: 1750
UA: Firefox 80.0

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

Всё сразу подхватилось и отлично работает. Огромное Вам Спасибо! :beer:

Отсутствует

 

№920206-09-2020 17:34:07

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

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

Vitaliy V.
Я те скрипты в custom_script_win.js переподключал. Сейчас обратно вернул все в custom_script_all_win.js.
В стандартном сайдбаре работает, в библиотеке в окне работает, в SidebarModoki работает.
Не работает в библиотеке во вкладке и из закладки-меню "последние открытые" ( place:queryType=0&sort=8&maxResults=20 ), открывает используя активную вкладку. Речь про историю.
   
И что делать с секцией в //>>>>>>>>>>| Загрузка скриптов для browser.xhtml |>>>>>>>>>>, у меня там это есть

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

Выделить код

Код:

var smbox = document.querySelector("#SM_toolbox");
                        if (smbox) {
                            smbox.addEventListener("pageshow", listener);
                            this.sidebarmodokibox = {
                                destructor: function() {
                                    smbox.removeEventListener("pageshow", listener);
                                }
                            };
                            this.unloadlisteners.push("sidebarmodokibox");
                        }

Оставить или выкинуть? Для чего это?
   
UP
Из закладки с историей добавил #PlacesToolbarItems.

Отредактировано _zt (06-09-2020 18:26:32)

Отсутствует

 

№920306-09-2020 18:41:55

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

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

_zt пишет

Не работает в библиотеке во вкладке

Исправил там ucf_wheretoopenlink.js и загрузчик, и теперь все скрипты вот так оформляйте
loadscript("My_Script.js", win);

_zt пишет

Оставить или выкинуть? Для чего это?

Это уже не нужно листенер пришлось перенести на #browser теперь будет слушать ещё и что открывается во вкладках (но не всё в многопроцессном режиме)
т.к. вам нужно

в библиотеке во вкладке

sandro79
теперь если открыть во вкладке chrome://browser/content/downloads/contentAreaDownloadsView.xhtml
то ваш ucjsDownloadsManager2.uc.js должен там сработать
Если хотите добавьте ещё "about:downloads"

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

Выделить код

Код:

"about:downloads": (win) => {
                    loadscript("ucjsDownloadsManager2.uc.js", win);
                },

Отредактировано Vitaliy V. (06-09-2020 20:07:37)

Отсутствует

 

№920406-09-2020 20:54:56

sandro79
Участник
 
Группа: Members
Зарегистрирован: 15-11-2017
Сообщений: 1750
UA: Firefox 80.0

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

Vitaliy V. пишет

sandro79
теперь если открыть во вкладке chrome://browser/content/downloads/contentAreaDownloadsView.xhtml...

Виталий, спасибо за ещё одну фишку, но не совсем понял куда именно в загрузчик добавить код "about:downloads"? Я добавил после

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

Выделить код

Код:

"chrome://browser/content/downloads/contentAreaDownloadsView.xhtml": (win) => setTimeout(() => {
                    loadscript("ucjsDownloadsManager2.uc.js", win);

                }, 0),

5176aacab433.png

но во вкладке chrome://browser/content/downloads/contentAreaDownloadsView.xhtml и about:downloads (если и там должно), ничего не поменялось, только строка загрузки, кнопка паузы и отмены. Или должна открыться вкладка при старте загрузки? Простите за нубство, но может действительно будет полезно и стоит попробовать.


Коды были обновлены.

Отредактировано sandro79 (06-09-2020 20:59:20)

Отсутствует

 

№920506-09-2020 21:01:58

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

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

sandro79
а загрузчик обновили?
+ надо удалить из ucjsDownloadsManager2.uc.js (отделённую часть от ucjsDownloadsManager.uc.js)
if (window.opener && location.href == "chrome://browser/content/downloads/contentAreaDownloadsView.xhtml") { }
то что в скобках разумеется оставить.

Добавлено 06-09-2020 21:10:27

sandro79 пишет

но не совсем понял куда именно в загрузчик добавить код "about:downloads"? Я добавил после

да правильно
P.S. И таким же образом можно добавлять другие URL документов и загружать скрипты.

Отредактировано Vitaliy V. (07-09-2020 14:05:48)

Отсутствует

 

№920606-09-2020 21:18:26

sandro79
Участник
 
Группа: Members
Зарегистрирован: 15-11-2017
Сообщений: 1750
UA: Firefox 80.0

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

Vitaliy V.
Да, удалил, теперь сработало! Вижу разницу :D Так и оставлю, лишним не будет. Огромное Спасибо!

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


И Огромное Спасибо также за кнопку "Настройки расширений". Приноровился быстро, очень удобно.

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

Отредактировано sandro79 (06-09-2020 21:36:10)

Отсутствует

 

№920707-09-2020 15:32:26

momo2000
Участник
 
Группа: Members
Зарегистрирован: 03-09-2015
Сообщений: 229
UA: Firefox 68.0

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

sandro79 пишет

И Огромное Спасибо также за кнопку "Настройки расширений". Приноровился быстро, очень удобно.

А как её установить, через скрипты или CB?

Отсутствует

 

№920807-09-2020 15:52:15

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

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

momo2000
Через скрипты изначально она и была.
   
Vitaliy V.
Спасибо.

т.к. вам нужно в библиотеке во вкладке

Не нравятся мне отдельные окна, тем более библиотека. Хотя, в случае истории, можно было бы и обойтись, но тогда не было бы такого замечательного и универсального скрипта. )

Отредактировано _zt (07-09-2020 15:53:03)

Отсутствует

 

№920907-09-2020 18:42:09

razoo
Участник
 
Группа: Members
Зарегистрирован: 23-07-2009
Сообщений: 48
UA: Firefox 78.0

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

Ещё два вопроса по интерфейсу:
1.
После переезда на 78 пришлось отказаться от кнопки со списком закрытых табов. Очень не хватает.
Все расширения с этим функционалом плохи: деффектные или неудобные. Нативный лист устраивает, однако в гамбургере он закопан аж за четыре клика. В меню - ближе, но тоже неэргономично.
Нельзя ли, с помощью стиля, пункт меню из History "Recently Closed Tabs" продублировать, например, крайним правым на PersonalToolbar, имитируя дропмаркер как у alltabs-button, или, если кому удобней, кнопку?
2.
Как сделать, чтобы new-tab-button был всегда прижат в крайнее правое положение, даже когда его не смещает туда arrowscrollbox? У меня эту кнопку сейчас просто спейсинг подпирает с минусовым отступом (как табуретка - не изящно).

Отсутствует

 

№921007-09-2020 19:19:52

sandro79
Участник
 
Группа: Members
Зарегистрирован: 15-11-2017
Сообщений: 1750
UA: Firefox 80.0

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

momo2000 пишет

через скрипты

У меня подключено в user_chrome_files в скрипт custom_script.js импортом(3-ий спойлер) из ExtensionOptionsMenu.js, но можно и просто добавить в custom_script.js код по третьей ссылке.


В 68 у меня не запустилась, видимо и не должна, там about:addons отличается.

Отредактировано sandro79 (07-09-2020 20:59:57)

Отсутствует

 

№921107-09-2020 19:57:54

xrun1
Участник
 
Группа: Members
Зарегистрирован: 12-12-2013
Сообщений: 1164
UA: Firefox 80.0

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

razoo
Если используете Custom Buttons здесь или здесь подробнее.

Отсутствует

 

№921208-09-2020 08:18:17

razoo
Участник
 
Группа: Members
Зарегистрирован: 23-07-2009
Сообщений: 48
UA: Firefox 78.0

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

xrun1
Спасибо, дельный совет. Но, при всём уважении к CB (использовал на [firefox] c 3 по 52), пока воздержусь их прикручивать. На альтернативном профиле предложенную вами кнопку попробовал: это фактически реплика опции почившей TM+. Мощно, но многовато функций. )
Мне нужно максимально просто: клик > список.

Отсутствует

 

№921308-09-2020 14:08:54

xrun1
Участник
 
Группа: Members
Зарегистрирован: 12-12-2013
Сообщений: 1164
UA: Firefox 80.0

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

razoo пишет

Как сделать, чтобы new-tab-button был всегда прижат в крайнее правое положение

А воткнуть между вкладками и new-tab-button в Персонализация... --> Растягивающийся интервал?

Отсутствует

 

№921409-09-2020 00:00:07

razoo
Участник
 
Группа: Members
Зарегистрирован: 23-07-2009
Сообщений: 48
UA: Firefox 78.0

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

xrun1 пишет

Растягивающийся интервал?

razoo пишет

У меня эту кнопку сейчас просто спейсинг подпирает с минусовым отступом

Это он и есть, а обратный отступ, чтобы минимизировать пространство недоступное для двойного клика, т.к. на special-spring не работает pointer-events: none. Привык вызывать таб даблкликом по таббару. Ради него вся канитель.

Отсутствует

 

№921509-09-2020 17:50:35

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

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

Sidebar Tabs (бывший SidebarModoki, теперь полностью переписанный)
[firefox] 78 +

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

Выделить код

Код:

/** Подключение:

CustomStylesScripts.jsm:
    scriptschrome:
        load:
            { path: "ucf_SidebarTabs.js", ucfobj: true, },

*/
var sidebar_tabs = {
    // -- Настройки  Sidebar Tabs -->
    ST_RIGHT: false, // Расположение панели
    ST_WIDTH: 260,
    ST_AUTOHIDE: true, // Скрывать в полноэкранном режиме
    ST_NAME: "Sidebar Tabs",
    CLOSE_BTN_TOOLTIP: "Закрыть панель",
    ST_HIDE_HEADER: false,
    TAB_SRC_0: "chrome://browser/content/places/bookmarksSidebar.xhtml",
    TAB_LABEL_0: "Закладки",
    TAB_SRC_1: "chrome://browser/content/places/historySidebar.xhtml",
    TAB_LABEL_1: "История",
    TAB_SRC_2: "chrome://browser/content/downloads/contentAreaDownloadsView.xhtml",
    TAB_LABEL_2: "Загрузки",
    KEY: "KeyB_true_true_false", // Сочетание клавиш для для переключения Sidebar Tabs - code ctrlKey altKey shiftKey
    // <-- Настройки  Sidebar Tabs --

    last_open: "extensions.ucf.sidebar_tabs.last_open",
    last_index: "extensions.ucf.sidebar_tabs.last_index",
    toolbox_width: "extensions.ucf.sidebar_tabs.toolbox_width",
    toolbox: null,
    button: null,
    get prefs() {
        delete this.prefs;
        return this.prefs = Services.prefs;
    },
    init(that) {
        var docElm = document.documentElement, sidebar;
        if (docElm.matches("[chromehidden~='extrachrome']") || !(sidebar = document.querySelector("#sidebar-box"))) return;
        var style = "data:text/css;charset=utf-8," + encodeURIComponent(`
            #st_toolbox {
                background-color: var(--toolbar-bgcolor, -moz-Dialog) !important;
                color: var(--toolbar-color, -moz-DialogText) !important;
                text-shadow: inherit !important;
                -moz-box-ordinal-group: ${this.ST_RIGHT ? "101" : "0"} !important;
            }
            #st_toolbox :is(tabs,tabpanels,tab) {
                -moz-appearance: none !important;
                appearance: none !important;
                background-color: transparent !important;
                color: inherit !important;
                margin: 0 !important;
                padding: 0 !important;
                border: none !important;
            }
            #st_splitter {
                -moz-appearance: none !important;
                appearance: none !important;
                padding-inline: 4px !important;
                min-width: 9px !important;
                margin-inline: -4px !important;
                position: relative !important;
                z-index: 2 !important;
                -moz-box-ordinal-group: ${this.ST_RIGHT ? "100" : "0"} !important;
                -moz-box-orient: vertical !important;
                border: none !important;
                background: none !important;
            }
            #st_splitter::after {
                content: "";
                display: inline-block;
                -moz-box-flex: 1;
                width: 1px;
                border-left: 1px solid var(--chrome-content-separator-color, rgba(127,127,137,.5)) !important;
            }
            #st_toolbox tab {
                margin-top: 2px !important;
                padding: 3px 6px !important;
                outline: none !important;
                border-bottom: 2px solid transparent !important;
            }
            #st_toolbox tab:hover {
                border-bottom-color: rgba(127,127,127,.3) !important;
            }
            #st_toolbox tab[visuallyselected="true"] {
                border-bottom-color: #0074E8 !important;
            }
            #ucf-additional-vertical-container[v_vertical_bar_start="true"],
            #browser-border-start {
                -moz-box-ordinal-group: 0 !important;
            }
            #ucf-additional-vertical-container[v_vertical_bar_start="false"],
            #browser-border-end {
                -moz-box-ordinal-group: 102 !important;
            }
            ${this.ST_AUTOHIDE ? ":root[inFullscreen] :is(#st_toolbox,#st_splitter)," : ""}
            :root[inDOMFullscreen] :is(#st_toolbox,#st_splitter),
            :root[chromehidden~="extrachrome"] :is(#st_toolbox,#st_splitter) {
                visibility: collapse !important;
            }
            ${this.ST_HIDE_HEADER ? `#st_header {
                display: none !important;
            }` : ""}
        `);
        try {
            windowUtils.loadSheetUsingURIString(style, windowUtils.USER_SHEET);
        } catch (e) {}
        docElm.setAttribute("sidebar_tabs_right", `${this.ST_RIGHT}`);
        var template = document.importNode(MozXULElement.parseXULToFragment(`
            <vbox id="st_toolbox" class="chromeclass-extrachrome">
                <hbox id="st_header" align="center">
                    <label>${this.ST_NAME}</label>
                    <spacer flex="1000"/>
                    <toolbarbutton id="st_close_button" class="close-icon tabbable" tooltiptext="${this.CLOSE_BTN_TOOLTIP}"/>
                </hbox>
                <tabbox id="st_tabbox" flex="1">
                    <tabs id="sbar_tabs">
                        <tab id="st_tab0" label="${this.TAB_LABEL_0}"/>
                        <tab id="st_tab1" label="${this.TAB_LABEL_1}"/>
                        <tab id="st_tab2" label="${this.TAB_LABEL_2}"/>
                    </tabs>
                    <tabpanels id="st_tabpanels" flex="1">
                        <vbox id="st_tab_container_0" flex="1">
                            <browser id="st_browser_0" flex="1" autoscroll="false"/>
                        </vbox>
                        <vbox id="st_tab_container_1" flex="1">
                            <browser id="st_browser_1" flex="1" autoscroll="false"/>
                        </vbox>
                        <vbox id="st_tab_container_2" flex="1">
                            <browser id="st_browser_2" flex="1" autoscroll="false"/>
                        </vbox>
                    </tabpanels>
                </tabbox>
            </vbox>
            <splitter id="st_splitter" class="chromeclass-extrachrome"></splitter>
            `), true);
        sidebar.before(template);

        this.toolbox = document.querySelector("#st_toolbox");
        this.splitter = document.querySelector("#st_splitter");
        this.st_browser_0 = this.toolbox.querySelector("#st_browser_0");
        this.st_browser_1 = this.toolbox.querySelector("#st_browser_1");
        this.st_browser_2 = this.toolbox.querySelector("#st_browser_2");
        this.st_tabpanels = this.toolbox.querySelector("#st_tabpanels");
        this.st_tabbox = this.toolbox.querySelector("#st_tabbox");
        this.st_close_btn = this.toolbox.querySelector("#st_close_button");
        this.st_tabbox.selectedIndex = this.aIndex = this.prefs.getIntPref(this.last_index, 0);
        this._open = this.prefs.getBoolPref(this.last_open, true);
        this.st_tabbox.handleEvent = function handleEvent() {};
        this.toggle(true);
        window.addEventListener("keydown", this);
        this.st_close_btn.addEventListener("command", this);
        that.unloadlisteners?.push("sidebar_tabs");
    },
    select(e, aIndex) {
        if (e.target != this.st_tabpanels || (aIndex = this.st_tabpanels.selectedIndex) == this.aIndex) return;
        this[`st_browser_${this.aIndex}`].setAttribute("src", "about:blank");
        this.aIndex = aIndex;
        this.prefs.setIntPref(this.last_index, aIndex);
        this.toolbox.width = this.prefs.getIntPref(`${this.toolbox_width}${aIndex}`, this.ST_WIDTH);
        this[`st_browser_${aIndex}`].setAttribute("src", this[`TAB_SRC_${aIndex}`]);
    },
    toggle(force) {
        var tog = !force ? !this._open : this._open;
        if (tog) {
            if (this.button = CustomizableUI.getWidget("sidebar_tabs_button")?.forWindow(window).node) {
                this.button.checked = true;
                if (!this.button.sidebar_tabs_toggle)
                    this.button.sidebar_tabs_toggle = () => {
                        this.toggle();
                    };
            }
            this.toolbox.hidden = false;
            this.splitter.hidden = false;
            this.toolbox.width = this.prefs.getIntPref(`${this.toolbox_width}${this.aIndex}`, this.ST_WIDTH);
            this.prefs.setBoolPref(this.last_open, true);
            this._open = true;
            this.st_tabpanels.addEventListener("select", this);
            this.toolbox.addEventListener("resize", this);
            this[`st_browser_${this.aIndex}`].setAttribute("src", this[`TAB_SRC_${this.aIndex}`]);
        } else
            this.close();
    },
    close() {
        this.st_tabpanels.removeEventListener("select", this);
        this.toolbox.removeEventListener("resize", this);
        if (this.button = CustomizableUI.getWidget("sidebar_tabs_button")?.forWindow(window).node) {
            this.button.checked = false;
            if (!this.button.sidebar_tabs_toggle)
                this.button.sidebar_tabs_toggle = () => {
                    this.toggle();
                };
        }
        this.toolbox.hidden = true;
        this.splitter.hidden = true;
        this.prefs.setBoolPref(this.last_open, false);
        this._open = false;
        this.st_browser_0.setAttribute("src", "about:blank");
        this.st_browser_1.setAttribute("src", "about:blank");
        this.st_browser_2.setAttribute("src", "about:blank");
    },
    resize() {
        this.prefs.setIntPref(`${this.toolbox_width}${this.aIndex}`, this.toolbox.getBoundingClientRect().width);
    },
    keydown(e) {
        if (this.KEY === `${e.code}_${e.ctrlKey}_${e.altKey}_${e.shiftKey}`)
            this.toggle();
    },
    command() {
        this.close();
    },
    handleEvent(e) {
        this[e.type](e);
    },
    destructor() {
        window.removeEventListener("keydown", this);
        this.st_close_btn.removeEventListener("command", this);
        this.st_tabpanels.removeEventListener("select", this);
        this.toolbox.removeEventListener("resize", this);
    },
};
sidebar_tabs.init(this);

кнопка (необязательно) для него в custom_script.js

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

Выделить код

Код:

try {
    CustomizableUI.createWidget({
        id: "sidebar_tabs_button",
        label: "Sidebar Tabs",
        tooltiptext: "Открыть / Закрыть Sidebar Tabs",
        defaultArea: CustomizableUI.AREA_NAVBAR,
        localized: false,
        onCreated(btn) {
            btn.style.setProperty("list-style-image", `url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='context-fill rgb(142, 142, 152)'> <path d='M2 2C.892 2 0 2.89 0 4v9.1a2 2 0 0 0 2 2h12c1.1 0 2-.9 2-2V4a2 2 0 0 0-2-2Zm0 1h12c.6 0 1 .45 1 1v9.1c0 .5-.5.9-1 .9H1.99c-.55 0-.99-.4-.99-.9V4c0-.55.45-1 1-1Z'/> <rect width='14' height='1' x='1' y='6'/> <rect width='1' height='7' x='5' y='7'/> </svg>")`);
        },
        onCommand(e) {
            e.target.sidebar_tabs_toggle();
        }
    });
} catch(e) {}


razoo пишет

new-tab-button был всегда прижат в крайнее правое положение

так и есть если не путать #tabs-newtab-button

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

Выделить код

Код:

#tabs-newtab-button {
    display: none !important;
}
#new-tab-button {
    display: -moz-box !important;
}

Отредактировано Vitaliy V. (16-10-2021 12:00:16)

Отсутствует

 

№921609-09-2020 18:46:38

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

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

Vitaliy V.
Отлично smayl-tantsuyushchiy-animatsionnaya-kartinka-0008.1599665731.gif Спасибо огромное.
   
А отдельную кнопку, открывающую его поверх страницы, никак не сделать? С автоскрытием после действия.
Хотелось бы иметь такую возможность, не теряя возможность открывать его рядом со страницей без автоскрытия.
Или ЛКМ/ПКМ на существующей кнопке.

Отсутствует

 

№921710-09-2020 01:16:19

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

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

_zt пишет

Или ЛКМ/ПКМ на существующей кнопке.

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

Выделить код

Код:

try {(() => {
    var label = "Sidebar Tabs",
    tooltiptext = "ЛКМ: Открыть / Закрыть Sidebar Tabs\nShift+ЛКМ: AutoHide Sidebar Tabs Откл/Вкл",
    img = "data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' height='16' width='16'><g><rect x='0' y='0' width='16' height='16' rx='1' ry='1' style='fill:rgb(0, 120, 173);'/><path style='fill:white;' d='M 3.62,1 H 12.4 C 13.8,1 15,2.35 15,4 V 12 C 15,13.7 13.8,15 12.4,15 H 3.62 C 2.18,15 1,13.7 1,12 V 4 C 1.01,2.35 2.18,1.01 3.62,1 Z M 13.2,12 V 4 C 13.2,3.44 12.9,3 12.4,3 H 8 V 13 H 12.4 C 12.9,13 13.2,12.5 13.2,12 Z M 2.75,12 C 2.75,12.5 3.14,13 3.62,13 H 7.12 V 3 H 3.62 C 3.14,3 2.75,3.44 2.75,4 Z' /><path style='fill:white;' d='M 4.33,5 H 5.67 C 5.85,5 6,4.78 6,4.5 6,4.22 5.85,4 5.67,4 H 4.33 C 4.15,4 4,4.22 4,4.5 4,4.78 4.15,5 4.33,5 Z M 4.33,7 H 5.67 C 5.85,7 6,6.77 6,6.5 6,6.23 5.85,6 5.67,6 H 4.33 C 4.15,6 4,6.23 4,6.5 4,6.77 4.15,7 4.33,7 Z M 5,9 H 5.67 C 5.85,9 6,8.78 6,8.5 6,8.23 5.85,8 5.67,8 H 5 C 4.82,8 4.67,8.23 4.67,8.5 4.67,8.78 4.82,9 5,9 Z' /></g></svg>",
    pref = "extensions.ucf.sidebar_tabs.auto_hide";

    var sidebar_tabs_button = {
        get style() {
            delete this.style;
            return this.style = "data:text/css;charset=utf-8," + encodeURIComponent(`
            #st_toolbox {
                --v-sidebar-min-width: 2px;
                --v-sidebar-min-width-normal: 5px;
                --v-sidebar-max-width: 30em;
                --v-sidebar-transition-delay-show: .3s;
                --v-sidebar-transition-delay-hide: .6s;
                --v-sidebar-transition-duration: .3s;
                /* ********************************************** */

                position: relative !important;
                z-index: 1 !important;
                min-width: var(--v-sidebar-max-width) !important;
                width: var(--v-sidebar-max-width) !important;
                max-width: var(--v-sidebar-max-width) !important;
                overflow: hidden !important;
                opacity: 0 !important;
                --v-sidebar-margin-max-width: calc(-1 * var(--v-sidebar-max-width));
                --v-sidebar-margin-left-locale-dir: 0;
                --v-sidebar-margin-right-locale-dir: var(--v-sidebar-margin-max-width);
                --v-sidebar-transform-locale-dir: -1;
                --v-sidebar-transform-locale-dir-visible: 1;
                margin-left: var(--v-sidebar-margin-left-locale-dir) !important;
                margin-right: var(--v-sidebar-margin-right-locale-dir) !important;
                transform: translateX(calc(var(--v-sidebar-transform-locale-dir) * (var(--v-sidebar-max-width) - var(--v-sidebar-min-width)))) !important;
                transition-timing-function: linear, step-start !important;
                transition-delay: var(--v-sidebar-transition-delay-hide), calc(var(--v-sidebar-transition-delay-hide) + var(--v-sidebar-transition-duration)) !important;
                transition-duration: var(--v-sidebar-transition-duration), 0s !important;
                transition-property: transform, opacity !important;
                border-inline-end: 1px solid var(--chrome-content-separator-color, rgba(127,127,127,.5)) !important;
            }

            *|*:root[sidebar_tabs_right="true"] #st_toolbox {
                border-inline-start: 1px solid var(--chrome-content-separator-color, rgba(127,127,127,.5)) !important;
                border-inline-end: none !important;
            }

            *|*:root[sidebar_tabs_right="true"] #st_toolbox,
            #st_toolbox:-moz-locale-dir(rtl) {
                --v-sidebar-margin-left-locale-dir: var(--v-sidebar-margin-max-width);
                --v-sidebar-margin-right-locale-dir: 0;
                --v-sidebar-transform-locale-dir: 1;
                --v-sidebar-transform-locale-dir-visible: -1;
            }

            *|*:root[sidebar_tabs_right="true"] #st_toolbox:-moz-locale-dir(rtl) {
                --v-sidebar-margin-left-locale-dir: 0;
                --v-sidebar-margin-right-locale-dir: var(--v-sidebar-margin-max-width);
                --v-sidebar-transform-locale-dir: -1;
                --v-sidebar-transform-locale-dir-visible: 1;
            }

            *|*:root[sizemode="normal"] #st_toolbox {
                --v-sidebar-min-width: var(--v-sidebar-min-width-normal) !important;
            }

            #st_toolbox:hover,
            #st_toolbox[sidebardrag] {
                transform: translateX(0px) !important;
                opacity: 1 !important;
                transition-delay: var(--v-sidebar-transition-delay-show) !important;
            }

            *|*:root[v_vertical_bar_visible][v_vertical_bar_start="true"][sidebar_tabs_right="false"] #st_toolbox,
            *|*:root[v_vertical_bar_visible][v_vertical_bar_start="false"][sidebar_tabs_right="true"] #st_toolbox {
                transform: translateX(calc(var(--v-sidebar-transform-locale-dir-visible) * var(--v-vertical_bar_width, 0px))) !important;
                opacity: 1 !important;
                transition-delay: 0s !important;
            }

            #browser > #st_splitter {
                display: none !important;
            }
            `);
        },
        loadstyle(win) {
            try {
                win.windowUtils.loadSheetUsingURIString(this.style, win.windowUtils.USER_SHEET);
            } catch (e) {}
        },
        removestyle(win) {
            try {
                win.windowUtils.removeSheetUsingURIString(this.style, win.windowUtils.USER_SHEET);
            } catch (e) {}
        },
    };
    CustomizableUI.createWidget({
        id: "sidebar_tabs_button",
        label: label,
        tooltiptext: tooltiptext,
        defaultArea: CustomizableUI.AREA_NAVBAR,
        localized: false,
        onBeforeCreated(doc) {
            if (Services.prefs.getBoolPref(pref, true))
                sidebar_tabs_button.loadstyle(doc.defaultView);
        },
        onCreated: function(btn) {
            btn.style.setProperty("list-style-image", `url("${img}")`);
        },
        onCommand: function(e) {
            if (!e.shiftKey)
                e.target.sidebar_tabs_toggle();
            else {
                let prf = Services.prefs.getBoolPref(pref, true),
                loadremove = !prf ? "loadstyle" : "removestyle";
                Services.prefs.setBoolPref(pref, !prf);
                for (let win of CustomizableUI.windows)
                    sidebar_tabs_button[loadremove](win);
            }
        }
    });
})();} catch(e) {}

и обновите ucf_SidebarTabs.js

Отредактировано Vitaliy V. (10-09-2020 01:26:12)

Отсутствует

 

№921810-09-2020 02:03:36

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

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

Vitaliy V.
А для Save-To-Read можете сделать тёмную тему?

Отсутствует

 

№921910-09-2020 08:20:55

razoo
Участник
 
Группа: Members
Зарегистрирован: 23-07-2009
Сообщений: 48
UA: Firefox 78.0

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

Vitaliy V. пишет

если не путать #tabs-newtab-button

Холмс, но как?!...
Получается, в интерфейсе спрятаны две совершенно одинаковые по виду и функции кнопки, отличающиеся лишь поведением... Прямо "Сокровища Агры" с близнецами.
Vitaliy V.
Ещё одно Глобальное Спасибо.
А что насчет превращения "Recently Closed Tabs" в дропмаркер на тулбаре? Если скажете "невозможно", значит невозможно.

Отсутствует

 

№922010-09-2020 10:44:26

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

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

Vitaliy V.
Спасибо. Так тоже хорошо.
   
Заметил, что ширина заданная в ucf_SidebarTabs.js не влияет на вкладку закладок, она всегда шире чем другие вкладки, после перезагрузки скрипта.

Отсутствует

 

№922110-09-2020 13:14:15

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

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

voqabuhe

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

Выделить код

Код:

@-moz-document regexp("moz-extension:\/\/.*\/(?:src\/sidebar|src\/popup)\.html") {
html {
background: #f5f6f7 !important;
color: #18191a !important;
--v-input-border-color: #cccccc;
--v-input-background-color: rgba(255,255,255,0.8);
--v-input-background-color-hover: rgba(204,204,204,.35);
--v-input-background-color-active: rgba(204,204,204,.5);
--v-input-background-color-focus: #ffffff;
--v-highlight-background-color: #0074e8;
--v-highlight-background-color-hover: #178bff;
--v-highlight-background-color-active: #0059e8;
--v-highlight-color: #ffffff;
--v-scrollbar-color: var(--v-highlight-background-color) #ffffff;
font: message-box;
margin: 0 !important;
}
@media (prefers-color-scheme: dark) {
html {
background: #18181a !important;
color: #b1b1b3 !important;
--v-input-border-color: #3c3c3d;
--v-input-background-color: rgba(0,0,0,0.5);
--v-input-background-color-hover: rgba(249,249,250,.1);
--v-input-background-color-active: rgba(249,249,250,.15);
--v-input-background-color-focus: #000000;
--v-scrollbar-color: var(--v-highlight-background-color) #000000;
}
}
body {
margin: 0 !important;
background: none !important;
color: inherit !important;
}
html, body, .s2r-table-container {
scrollbar-width: thin !important;
scrollbar-color: var(--v-scrollbar-color) !important;
}
input[type="search"],
select {
-moz-appearance: none !important;
border: 1px solid var(--v-input-border-color) !important;
background-color: var(--v-input-background-color) !important;
background-clip: border-box !important;
color: inherit !important;
padding: 1px 2px !important;
height: auto !important;
min-height: 22px !important;
box-shadow: none !important;
border-radius: 0 !important;
outline: none !important;
font-size: inherit !important;
font-family: inherit !important;
margin: 0 !important;
}
select {
-moz-appearance: none !important;
background: none !important;
}
input[type="search"]:focus {
border-color: var(--v-highlight-background-color) !important;
background-color: var(--v-input-background-color-focus) !important;
}
select:focus {
border-color: var(--v-highlight-background-color) !important;
}
select:hover {
border-color: var(--v-input-border-color) !important;
background-color: var(--v-input-background-color-hover) !important;
}
select:hover:active {
background-color: var(--v-input-background-color-active) !important;
}
input[type="search"]::selection {
background-color: var(--v-highlight-background-color) !important;
color: var(--v-highlight-color) !important;
}
.s2r-table-container {
border-color: var(--v-input-border-color) !important;
}
.filter-sort {
padding: 2px;
margin: 0 !important;
width: auto !important;
}
.sort {
margin-left: 2px !important;
}
.cell {
min-height: 16px;
margin-block: 2px !important;
}
}

razoo пишет

А что насчет превращения "Recently Closed Tabs" в дропмаркер на тулбаре? Если скажете "невозможно", значит невозможно.

Стилем что-ли? конечно невозможно, а если скриптом то я выкладывал уже кнопку https://forum.mozilla-russia.org/viewto … 32#p784332

_zt пишет

Заметил, что ширина заданная в ucf_SidebarTabs.js не влияет на вкладку закладок, она всегда шире чем другие вкладки, после перезагрузки скрипта

Ширина заданная в ucf_SidebarTabs.js влияет только на дефолтное состояние когда ещё нет настроек в about:config - extensions.ucf.sidebar_tabs.toolbox_width(0|1|2) для каждого таба. Просто мышкой при перетаскивании за splitter настройте ширину какую надо для каждого таба и она сохранится в about:config, кстати обновил опять ucf_SidebarTabs.js, убрал атрибут collapse у splitter чтобы не сворачивал панель.
А если включен стиль auto hide то ширину надо настраивать в нём.

Отредактировано Vitaliy V. (10-09-2020 13:34:06)

Отсутствует

 

№922210-09-2020 18:21:46

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

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

Vitaliy V.
Разобрался. Отлично получилось. Спасибо, еще раз.

Отсутствует

 

№922311-09-2020 04:50:56

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

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

Vitaliy V.
Спасибо большое! Замечательно получилось.

Отредактировано voqabuhe (11-09-2020 04:51:23)

Отсутствует

 

№922415-09-2020 08:25:57

razoo
Участник
 
Группа: Members
Зарегистрирован: 23-07-2009
Сообщений: 48
UA: Firefox 78.0

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

Добрый день всем.
Если добавить chrome://browser/content/places/places.xhtml в закладки, то Library будет открываться не в новом окне, а в табе. При этом всё работает, кроме создания новой папки. Похоже, что окошко bookmarkProperties просто не вызывается, если журнал открыт во вкладке.
(Из-за невызываемого окошка создание нового букмарка вручную там тоже не работает, но это практически неиспользуемая функция, ибо шорткат унд драг-энд-дроп.)
Если  bookmarkProperties.xhtml все же вызывается, но где-то прячется, то можно ли с помощью стиля показать его "на поверхности"? Или это только инжектом скриптов чинится?

Отсутствует

 

№922517-09-2020 01:37:11

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

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

Vitaliy V.
Спасибо большое за обновление Add Toolbar Buttons и добавление кнопки Дополнения. Прикольно что добавили в кнопку возможность управления темами. Вот только хотелось, чтоб меню не закрывалось при каждом переключение темы. И на мой взгляд хорошо бы их отсортировать в низ списка, под дополнениями, чтоб они были все в одном месте и не путались с расширеними.

Отредактировано voqabuhe (17-09-2020 01:45:25)

Отсутствует

 

Board footer

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