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

Хотите узнать больше о расширениях? Посмотрите ролики, рассказывающие о работе с расширениями Firefox.

№950119-12-2020 23:08:03

linlin
Участник
 
Группа: Members
Зарегистрирован: 30-09-2020
Сообщений: 127
UA: Firefox 84.0

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

Vitaliy V. пишет

ID нужен для того чтобы не было той ошибки которая возникла у вас

Да, если вставить в manifest.json ID, то можно использовать для установки темы новый код для конфига.
Наверное можно не переживать, что проверка циф. подписи у меня теперь отключена. Что в ней проку, когда с сайта Mozilla люди скачивают подписанное расширение, а потом оказывается, что оно вредоносное? Ставить неизвестное расширение - всегда риск, что с подписью, что без.

Отредактировано linlin (19-12-2020 23:09:48)

Отсутствует

 

№950220-12-2020 00:15:50

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

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

b0ttle

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

Выделить код

Код:

"KeyQ": {
                        "true_true_false": (e, nocache = false) => { // Ctrl+Alt+Q
                            if (this.insertText) return;
                            e.preventDefault();
                            var cancelQuit = Cc["@mozilla.org/supports-PRBool;1"].createInstance(Ci.nsISupportsPRBool);
                            Services.obs.notifyObservers(cancelQuit, "quit-application-requested", "restart");
                            if (cancelQuit.data)
                                return false;
                            if (nocache)
                                Services.appinfo.invalidateCachesOnRestart();
                            var restart = Services.startup;
                            restart.quit(restart.eAttemptQuit | restart.eRestart);
                        },
                        "true_true_true"(e) { // Ctrl+Alt+Shift+Q
                            this["true_true_false"](e, true);
                        },
                        "true_false_true"(e) { // Ctrl+Shift+Q для linux
                            if (AppConstants.platform == "linux")
                                this["true_true_false"](e, true);
                        },
                    },

skichmen пишет

С Вашими поправками и таким кодом

зачем убрали это правило

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

Выделить код

Код:

#urlbar-container, #search-container {
    padding-block: var(--v-urlbar-search-container) !important;
    margin-inline: 0px !important;
}


как и писал выше у вас не правильное представление, с чего вы взяли что адресная строка должна быть на уровне значков а не кнопок...
Ну да сделать можно но увеличивать значки плохая идея, если уменьшить строку то она будет 16px как значек слишком узкая.
но убрать бордюр Чтобы не моргала можно в том коде что я дал если удалить выделенное
#urlbar:not(:-moz-lwtheme):not([focused="true"]) > #urlbar-background,
#searchbar:not(:-moz-lwtheme):not(:focus-within) {
  border-color: transparent !important;
}

Отсутствует

 

№950320-12-2020 00:37:51

skichmen
Участник
 
Группа: Members
Зарегистрирован: 02-03-2009
Сообщений: 91
UA: Firefox 83.0

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

Vitaliy V.
Спасибо !!!

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

Выделить код

Код:

@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");

#urlbar[breakout][breakout-extend] {
top: calc((var(--urlbar-toolbar-height) - var(--urlbar-height)) / 2) !important;
left: 0 !important;
width: 100% !important;
}

#urlbar[breakout][breakout-extend] > #urlbar-input-container {
height: var(--urlbar-height) !important;
padding-block: 0px !important;
padding-inline: 0px !important;
}

#urlbar[breakout][breakout-extend][breakout-extend-animate] > #urlbar-background {
animation-name: none !important;
}

#urlbar[breakout][breakout-extend] > #urlbar-background {
box-shadow: none !important;
}

#page-action-buttons > :not(#star-button-box) { display: none !important; }
.urlbar-history-dropmarker { display: none !important; }

/* Change Title/tabs height */

#tabbrowser-tabs {
  --tab-min-height: 22px !important;
  margin-left: 1px !important;
  height: 22px !important;
}

#TabsToolbar {
    --toolbarbutton-outer-padding: 4px !important;
    --toolbarbutton-inner-padding: 0px !important;
}

#urlbar:not(:-moz-lwtheme) > #urlbar-background,
#searchbar:not(:-moz-lwtheme) {
  border-color: transparent !important;
}

*|*:root[uidensity="compact"] {
    --toolbarbutton-outer-padding: 4px !important;
    --toolbarbutton-inner-padding: 2px !important;
    --v-urlbar-search-container: 0px;
}

#urlbar-container, #search-container {
    padding-block: var(--v-urlbar-search-container) !important;
    margin-inline: 0px !important;
}

#urlbar-search-splitter {
    min-width: 0px !important;
    width: 0px !important;
    margin: 0 0px !important;
}

.tabbrowser-tab image.tab-icon-image {
    display: none !important;
}

.tab-content {
    padding: 0 1px !important;
}

.tab-close-button {
    margin: 2 !important;
}

.tab-label {
  line-height: 1.3em !important;
  -moz-box-flex: 1 !important;
  text-align: center !important;
}

* {
    font-size: 11pt !important;
    font-family: "Corbel";
    font-weight: bold !important;
}

С таким пока останусь кодом )))

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

Потом с тёмной Adwaita проверить .
Благодарю за помощь и потраченное время !

Ещё б подсказали какой параметр за "тень" кнопки закрытия вкладки отвечает ? В этом коде , вроде , нет его .

Отредактировано skichmen (20-12-2020 00:48:21)

Отсутствует

 

№950421-12-2020 00:11:15

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

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

skichmen пишет

Ещё б подсказали какой параметр за "тень" кнопки закрытия вкладки отвечает ?

fill: цвет крестика и фона
fill-opacity: прозрачность фона

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

Выделить код

Код:

.tab-close-button {
    fill-opacity: 0 !important;
    fill: currentColor !important;
}
.tab-close-button:hover {
    fill-opacity: 0.1 !important;
}
.tab-close-button:hover:active {
    fill-opacity: 0.2 !important;
}

Отсутствует

 

№950521-12-2020 11:52:18

skichmen
Участник
 
Группа: Members
Зарегистрирован: 02-03-2009
Сообщений: 91
UA: Firefox 84.0

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

Vitaliy V.
Спасибо !!!
В качестве прикола ...:offtopic:

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

Извращенство в поиске компактной темы ... Правим как можем userChrome.css , понимаем , что всё-таки не очень компактно ... в about:config правим layout.css.devPixelsPerPx в знчение 0.87  , а в общих настройках ставим масштаб страниц 110% . Ну вроде пока доволен . :lol:

Отсутствует

 

№950621-12-2020 15:57:48

b0ttle
Участник
 
Группа: Members
Зарегистрирован: 22-10-2020
Сообщений: 19
UA: Firefox 84.0

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

skichmen
Очень круто, не надо столько править всего.
Только все немного размыто.

Vitaliy V.
Здравствуйте, хотел спросить вы в full-theme не добавляли темные темы для некоторых сайтов?
Если так, то как можно добавить в список и другие?

Отредактировано b0ttle (21-12-2020 16:20:38)

Отсутствует

 

№950721-12-2020 16:11:38

skichmen
Участник
 
Группа: Members
Зарегистрирован: 02-03-2009
Сообщений: 91
UA: Firefox 84.0

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

b0ttle
У меня нормально . Размыто , может быть от несовпадения Dpi . Как это в винде проверить незнаю . В about:config это параметр layout.css.dpi . По умолчанию значение -1 , т.е. - автоматически . Попрубуйте поставить свои параметры . Или это

Если Firefox не может определить корректное значение автоматически, то частота смены кадров будет равняться 60. Задайте параметру layout.frame_rate частоту смены кадров используемого монитора (например, 144 для монитора с частотой 144 Гц), чтобы изменить данное поведение вручную.

Только запоминайте , что меняете ( я записываю ))) .

Отсутствует

 

№950821-12-2020 16:19:34

b0ttle
Участник
 
Группа: Members
Зарегистрирован: 22-10-2020
Сообщений: 19
UA: Firefox 84.0

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

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

Отсутствует

 

№950921-12-2020 17:55:16

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

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

b0ttle
нет никакого списка, только настройка ui.systemUsesDarkTheme - 1
у меня она включается если тема [firefox] темная. Поэтому и контент становится темным -
служебные страницы и сайты которые это поддерживают.
Поддержка может быть реализована на одном CSS
prefers-color-scheme

Отсутствует

 

№951022-12-2020 21:08:04

b0ttle
Участник
 
Группа: Members
Зарегистрирован: 22-10-2020
Сообщений: 19
UA: Firefox 84.0

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

Как добавить под хоткей mute/unmute.

Отредактировано b0ttle (22-12-2020 21:44:54)

Отсутствует

 

№951122-12-2020 21:22:07

Inko7
Участник
 
Группа: Members
Зарегистрирован: 09-11-2009
Сообщений: 950
UA: Firefox 84.0

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

возник вопрос по использованию user_chrome_files:
Было несколько кодов прописанных в файле custom_script.js. Я их решил вынести в отдельные файлы и прописать через @import url("./js/script_name.js") - всё получилось и работает.
А вот с кодами из файла custom_script_win.js такое не прокатило. Сами коды были прописаны в самом низу файла. Импорты помещал и туда же, и в начало, и в середину (после строки // Здесь может быть ваш код который сработает по событию "load" не раньше) - не срабатывают...
Какие могут быть варианты?

Добавлено:
всё таки еще не прошел импорт кода Switch Keyboard Layout button в файл custom_script.js...

Отредактировано Inko7 (22-12-2020 21:38:22)

Отсутствует

 

№951223-12-2020 00:49:21

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

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

b0ttle пишет

Как добавить под хоткей mute/unmute.

есть Ctrl+M
или добавляйте с этим
gBrowser.toggleMuteAudioOnMultiSelectedTabs(gBrowser.selectedTab);

Inko7 пишет

Я их решил вынести в отдельные файлы и прописать через @import url("./js/script_name.js") - всё получилось и работает.

не могло такое работать, это синтаксис для CSS
Для custom_script.js 3 спойлер https://forum.mozilla-russia.org/viewto … 58#p784558
можно и для custom_script_win.js использовать

Отсутствует

 

№951323-12-2020 10:39:42

Inko7
Участник
 
Группа: Members
Зарегистрирован: 09-11-2009
Сообщений: 950
UA: Firefox 84.0

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

Vitaliy V. пишет

не могло такое работать, это синтаксис для CSS

да, действительно, ложное впечатление было...

а в сам userChrome.css импорт можно делать?
@import url("./css/style_name.css") - никак не срабатывает

Отредактировано Inko7 (23-12-2020 10:51:01)

Отсутствует

 

№951423-12-2020 13:01:10

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

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

Inko7
В начале документа, до всего остального.
@import "./css/style_name.css";
Ваш тоже должен работать, в начале документа, с точкой с запятой в конце.

Отсутствует

 

№951523-12-2020 13:28:41

Inko7
Участник
 
Группа: Members
Зарегистрирован: 09-11-2009
Сообщений: 950
UA: Firefox 84.0

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

_zt пишет

В начале документа, до всего остального.

а я после строки @namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); вставлял.
поместил до нее и всё заработало
спасибо

Отсутствует

 

№951623-12-2020 15:19:15

Inko7
Участник
 
Группа: Members
Зарегистрирован: 09-11-2009
Сообщений: 950
UA: Firefox 84.0

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

Vitaliy V. пишет

Для custom_script.js 3 спойлер https://forum.mozilla-russia.org/viewto … 58#p784558
можно и для custom_script_win.js использовать

что-то не получается
поместил в конец файла custom_script.js такой код:

Выделить код

Код:

(() => {
    var loadscript = name => {
        try {
            Services.scriptloader.loadSubScript(`chrome://user_chrome_files/content/custom_scripts/${name}`, globalThis, "UTF-8");
        } catch(e) {}
    };

    loadscript("kbd_layout.js");
    loadscript("MiddleMouse_Paste.js");

})();

сами файлики скриптов положил в этой же папке
ничего не заработало
та же история и с custom_script_win.js

Отсутствует

 

№951724-12-2020 00:38:18

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

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

Неужели так трудно README прочесть...
https://github.com/VitaliyVstyle/Vitali … eenshot_03

Отредактировано Vitaliy V. (24-12-2020 19:01:52)

Отсутствует

 

№951824-12-2020 05:27:37

kazarin
Участник
 
Группа: Members
Зарегистрирован: 23-11-2016
Сообщений: 22
UA: Firefox 75.0

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

Inko7, а kbd_layout.js это отсюда скрипт? Он довольно старый, может, он не подходит для FF84? У меня он не заработал, подключать пробовал в custom_script.js и в custom_script_win.js (тоже люблю, когда скрипты отдельно).

Отсутствует

 

№951924-12-2020 11:15:35

Inko7
Участник
 
Группа: Members
Зарегистрирован: 09-11-2009
Сообщений: 950
UA: Firefox 84.0

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

kazarin
нет не отсюда
порт с кнопки custom buttons для файла custom_script.js:

Switch Keyboard Layout button (порт с СВ)

Выделить код

Код:

// Switch Keyboard Layout button (порт с СВ)

try {(keybUtils => CustomizableUI.createWidget({
    type: "custom",
    id: "SwitchKeyboardLayout",
    onBuild(doc) {
        var btn = doc.createXULElement("toolbarbutton");
        btn.id = this.id;
        btn.label = btn.tooltipText = "Switch Keyboard Layout";
        btn.image = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAk1BMVEX///8/Pz8BAQF8fHwJCQkCAgIJCQl8fHx9fX0AAABJSUkBAQENDQ0wMDBVVVUAAABra2t0dHR7e3thYWEBAQEAAAAAAAABAQEAAAAgICABAQEBAQH8/Pzw8PDp6en39/fj4+Pe3t41V9I/YeWKioqDg4N9fX0jRa8wUrVoaGhkhuxWeNx1dXVCZMhvb28kRqsqTL4KidXxAAAAHHRSTlMAAABndwAAAAA0blVZcm1naWhNa6hrcJ8AAKRU4jk/3gAAAHVJREFUeF6FyMUCwjAUBdEbaQupUMOjqMv/fx1dQN6yZ3aDcWnyw6ezoRWNYc15kqKQZCFlgTKQQwgllL/dn5f3+bPb+6P3CpWNw56srdCZOMzDmA61i8O9nKvRaHLVukEryFKIFtnkj7ENYxmNdd5v+5xj1BcJ/w9Kj6K7ZAAAAABJRU5ErkJggg==";

        btn.setAttribute("oncommand", "linkedObj.switch(document);");
        btn.className = "toolbarbutton-1 chromeclass-toolbar-additional";
        btn.linkedObj = this;
        return btn;
    },
    switch(doc) {
        var br = doc.activeElement;
        br && br.localName == "browser" && br.isRemoteBrowser
            ? br.messageManager.loadFrameScript(this.url, false)
            : this.keybUtils.switchSelKeybLayout();
    },
    get url() {
        delete this.url;
        return this.url = `data:;charset=utf-8,(${
            encodeURIComponent(keybUtils)
        }).switchSelKeybLayout()`;
    },
    get keybUtils() {
        delete this.keybUtils;
        var def = "let{KeyEvent,HTMLInputElement,HTMLTextAreaElement}=Cu.getGlobalForObject(Services);";
        var url = `data:;charset=utf-8,${def}%0Athis.keybUtils=${encodeURIComponent(keybUtils)}`;
        Services.scriptloader.loadSubScript(url, this);
        var {id} = this;
        this.keybUtils.getFocusedElement = function(_subCall, _focusFixed) {
            var window = Services.focus.activeWindow, {document} = window;
            var button = document.getElementById(id);
            if(
                !_focusFixed
                && "closeMenus" in window
                && document.commandDispatcher.focusedElement == button
            ) {
                window.closeMenus(button);
                window.setTimeout(function(_this) {
                    _this.switchSelKeybLayout(_subCall, true);
                }, 0, this);
                return;
            }
            return document.commandDispatcher.focusedElement;
        }
        return this.keybUtils;
    }
}))(`{
    //== Options
    noSelBehavior: { // Shift+Home
        ctrlKey:  false,
        altKey:   false,
        shiftKey: true,
        metaKey:  false,
        keyCode:  KeyEvent.DOM_VK_HOME,
        charCode: 0
    },
    // 0 - do nothing
    // 1 - convert all text
    // Or use object like following to simulate "keypress" event:

    convTableForward: { // ru -> en
        "\\"": "@",
        ":": "^",
        ";": "$",
        "?": "&",
        ",": "?",
        "/": "|",
        ".": "/",
        "э": "'",
        "б": ",",
        "ю": ".",
        "Ж": ":",
        "ж": ";",
        "Б": "<",
        "Ю": ">",
        "Э": "\\"",
        "х": "[",
        "ъ": "]",
        "ё": "\`",
        "Х": "{",
        "Ъ": "}",
        "Ё": "~",
        "№": "#",
        "Ф": "A",
        "ф": "a",
        "И": "B",
        "и": "b",
        "С": "C",
        "с": "c",
        "В": "D",
        "в": "d",
        "У": "E",
        "у": "e",
        "А": "F",
        "а": "f",
        "П": "G",
        "п": "g",
        "Р": "H",
        "р": "h",
        "Ш": "I",
        "ш": "i",
        "О": "J",
        "о": "j",
        "Л": "K",
        "л": "k",
        "Д": "L",
        "д": "l",
        "Ь": "M",
        "ь": "m",
        "Т": "N",
        "т": "n",
        "Щ": "O",
        "щ": "o",
        "З": "P",
        "з": "p",
        "Й": "Q",
        "й": "q",
        "К": "R",
        "к": "r",
        "Ы": "S",
        "ы": "s",
        "Е": "T",
        "е": "t",
        "Г": "U",
        "г": "u",
        "М": "V",
        "м": "v",
        "Ц": "W",
        "ц": "w",
        "Ч": "X",
        "ч": "x",
        "Н": "Y",
        "н": "y",
        "Я": "Z",
        "я": "z",
        __proto__: null
    },
    //== End of options

    get convTableBackward() {
        var ctb = { __proto__: null };
        var ctf = this.convTableForward;
        for(var c in ctf)
            ctb[ctf[c]] = c;
        delete this.convTableBackward;
        return this.convTableBackward = ctb;
    },
    inPrimaryLayout: function(s) {
        for(var i = 0, l = s.length; i < l; ++i) {
            var c = s.charAt(i);
            if(c in this.convTableForward)
                return true;
            if(c in this.convTableBackward)
                return false;
        }
        return false;
    },
    switchKeybLayout: function(s, convTable) {
        var res = "";
        for(var i = 0, l = s.length; i < l; ++i) {
            var c = s.charAt(i);
            res += c in convTable ? convTable[c] : c;
        }
        return res;
    },
    getFocusedElement: function() {
        return Cc["@mozilla.org/focus-manager;1"].getService(Ci.nsIFocusManager)
            .getFocusedElementForWindow(content, true, {});
    },
    switchSelKeybLayout: function(_subCall, _focusFixed) {
        var fe = this.getFocusedElement(_subCall, _focusFixed);
        if(!fe)
            return;
        if(fe instanceof HTMLInputElement || fe instanceof HTMLTextAreaElement) {
            var ta = fe;
            try {
                var val = ta.value;
                var sel = val.substring(ta.selectionStart, ta.selectionEnd);
            }
            catch(e) { // Non-text HTMLInputElement
                return;
            }
            if(!sel && val && this.noSelBehavior && !_subCall) {
                if(this.noSelBehavior == 1) {
                    ta.selectionStart = 0;
                    ta.selectionEnd = val.length;
                    sel = val;
                }
                else {
                    this.handleNoSel(ta);
                    return;
                }
            }
            if(!sel)
                return;
            var res = this.switchKeybLayout(
                sel,
                this.inPrimaryLayout(sel)
                    ? this.convTableForward
                    : this.convTableBackward
            );
            if(res != sel)
                this.insertText(ta, res);
        }
        else if(fe.contentEditable == "true") {
            var doc = fe.ownerDocument;

            var docURI = doc.documentURI;
            if(
                docURI.substr(0, 5) == "data:"
                && docURI.indexOf("chrome://browser/skin/devtools/") != -1
            ) {
                //~ todo: seems like we only can use paste from clipboard here...
                return;
            }

            var sel = doc.defaultView.getSelection();
            var rng = sel.rangeCount && sel.getRangeAt(0);
            var tmpNode;
            if(!rng || rng.collapsed) {
                if(!this.noSelBehavior || _subCall)
                    return;
                if(this.noSelBehavior == 1) {
                    var r = doc.createRange();
                    r.selectNodeContents(fe);
                    sel.removeAllRanges();
                    sel.addRange(r);
                    tmpNode = fe.cloneNode(true);
                }
                else {
                    this.handleNoSel(fe);
                    return;
                }
            }
            else {
                tmpNode = doc.createElementNS("http://www.w3.org/1999/xhtml", "div");
                tmpNode.appendChild(rng.cloneContents());
            }

            var orig = tmpNode.innerHTML;
            var convTable = this.inPrimaryLayout(tmpNode.textContent)
                ? this.convTableForward
                : this.convTableBackward;

            var _this = this;
            var parseChildNodes = function(node) {
                if(node instanceof Element) {
                    var childNodes = node.childNodes;
                    for(var i = childNodes.length - 1; i >= 0; --i)
                        parseChildNodes(childNodes[i]);
                }
                else if(node.nodeType == node.TEXT_NODE) {
                    var text = node.nodeValue;
                    var newText = _this.switchKeybLayout(node.nodeValue, convTable);
                    if(newText != text)
                        node.parentNode.replaceChild(doc.createTextNode(newText), node);
                }
            }
            parseChildNodes(tmpNode);

            var res = tmpNode.innerHTML;
            if(res != orig)
                doc.execCommand("insertHTML", false, res);
        }
    },
    handleNoSel: function(node) {
        this.select(node);
        this.switchSelKeybLayout(true);
    },
    select: function(node) {
        var e = this.noSelBehavior;
        if(!e || typeof e != "object")
            return;
        var evt = node.ownerDocument.createEvent("KeyboardEvent");
        evt.initKeyEvent(
            "keypress", true /*bubbles*/, true /*cancelable*/, node.ownerDocument.defaultView,
            e.ctrlKey, e.altKey, e.shiftKey, e.metaKey,
            e.keyCode, e.charCode
        );
        node.dispatchEvent(evt);
    },
    insertText: function(ta, text) {
        //var editor = ta.QueryInterface(Components.interfaces.nsIDOMNSEditableElement).editor
        var editor = ta.editor
            .QueryInterface(Components.interfaces.nsIPlaintextEditor || Ci.nsIEditor);
        if(editor.flags & editor.eEditorReadonlyMask)
            return;

        var sTop = ta.scrollTop;
        var sHeight = ta.scrollHeight;
        var sLeft = ta.scrollLeft;
        // var sWidth = ta.scrollWidth;

        if(text)
            editor.insertText(text);
        else
            editor.deleteSelection(0, 0);

        ta.scrollTop = sTop + (ta.scrollHeight - sHeight);
        ta.scrollLeft = sLeft; // + (ta.scrollWidth - sWidth);
    }
}`)} catch(ex) {Cu.reportError(ex);}


и использовать клавишу F8 для исправления текста для файла custom_script_win.js:
key F8 for SwitchKeyboardLayout

Выделить код

Код:

// Назначить клавишу F8 для исправления раскладки введенного текста
// код SwitchKeyboardLayout в файле custom_script.js

try {(id => {
    var listener = {
        get obj() {
            var obj = document.getElementById(id);
            if (obj) obj = obj.linkedObj;
            else {
                obj = Cu.import("resource:///modules/CustomizableUI.jsm", {})
                    .gPalette.get(id);
                if (obj) obj = obj.implementation;
                else {
                    Services.console.logStringMessage(id + " not found");
                    return this.destroy() || {switch() {}};
                }
            }
            delete this.obj; return this.obj = obj;
        },
        handleEvent(e) {
            if (e.key != "F8" || e.ctrlKey || e.shiftKey || e.altKey || e.repeat)
                return;
            //e.preventDefault();
            //e.stopPropagation();
            this.obj.switch(document);
        },
        destroy: function destroy() {
            removeEventListener("keydown", this, true);
            removeEventListener("unload", destroy);
        }
    };
    addEventListener("keydown", listener, true);
    addEventListener("unload", listener.destroy);
})("SwitchKeyboardLayout");} catch(ex) {Cu.reportError(ex);}

эти коды помещенные в сами файлы работают нормально, а вот с импортом пока не разберусь

Отсутствует

 

№952024-12-2020 12:15:29

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

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

Inko7
проверил работает.
Запакуйте вашу папку custom_scripts с файлами и выложите посмотреть как вы пытаетесь сделать.

Отсутствует

 

№952124-12-2020 12:25:21

Inko7
Участник
 
Группа: Members
Зарегистрирован: 09-11-2009
Сообщений: 950
UA: Firefox 84.0

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

Vitaliy V.
архив

Отредактировано Inko7 (25-12-2020 11:10:22)

Отсутствует

 

№952224-12-2020 12:36:55

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

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

Vitaliy V.
Обновил ucf
было     HV0x7re.jpg
стало    fEojRlm.jpg
Причем, горизонтальная панель это дополнительная и с ней, как видим, все нормально.
Как вернуть цвет вертикальной панели, назад к стандартным для темы значениям?
Win 7, Aero, стандартная темная тема + стили.
   
Забыл добавить.
Панели с прозрачностью. Вот пару окон в фоне добавил, для наглядности.
7UpeStx.jpg

Отредактировано _zt (24-12-2020 12:49:25)

Отсутствует

 

№952324-12-2020 12:48:43

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

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

Inko7
кодировка файлов должна быть UTF-8 (лучше без BOM)
а у вас какая угодно только не такая.
Теперь вам лучше не перекодировать, а создать файлы UTF-8 и вставить заново эти коды.

Добавлено 24-12-2020 13:09:03

_zt пишет

+ стили

Видимо из-за них. Панели с прозрачностью это стили или тема [windows] ? На картинке ничего невидно.

Отредактировано Vitaliy V. (24-12-2020 13:11:04)

Отсутствует

 

№952424-12-2020 13:26:25

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

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

Vitaliy V.
Стиль конечно, откуда бы взятся прозрачности в стандартной темной теме.
*|*:root:-moz-lwtheme {
  --toolbar-bgcolor: rgba(0,0,0,.6) !important;
   
Не видно измененный цвет вертикальной панели?
Ну тогда не знаю. Пусть просто вертикальная панель подхватывает тему панелей браузера, как это должно быть и как это было в предыдущей версии ucf. А не занимается самодеятельностью. Ваша дополнительная панель вполне с этим справляется, или это тоже на скринах не видно? Или вы скрины не видите? Я не понял.

Отсутствует

 

№952524-12-2020 14:15:42

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

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

_zt пишет

Не видно измененный цвет вертикальной панели?

последний скриншот - непонятное пятно.



Да я там обновлял цвета панелей в связи с переменной --lwt-additional-images в некоторых темах работало некорректно
Проверьте если в vertical_top_bottom_bar.css заменить

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

Выделить код

Код:

#add-additional-vertical-box:-moz-lwtheme > #add-additional-vertical-bar,
#add-additional-bottom-bar:-moz-lwtheme {
    color: var(--toolbar-color, inherit) !important;
    background-repeat: repeat-y !important;
    background-size: auto auto !important;
    background-attachment: fixed !important;
    background-position: right top, var(--lwt-background-alignment, right top) !important;
    background-color: var(--lwt-accent-color, white) !important;
    background-image: linear-gradient(var(--toolbar-bgcolor, rgba(255,255,255,.4)), var(--toolbar-bgcolor, rgba(255,255,255,.4))), var(--lwt-header-image, var(--lwt-additional-images, var(--v-lwt-header-image, none))) !important;
}

#add-additional-vertical-box:-moz-lwtheme-brighttext > #add-additional-vertical-bar,
#add-additional-bottom-bar:-moz-lwtheme-brighttext {
    background-color: var(--lwt-accent-color, black) !important;
}


на это
скрытый текст

Выделить код

Код:

#add-additional-vertical-box:-moz-lwtheme > #add-additional-vertical-bar,
#add-additional-bottom-bar:-moz-lwtheme {
    color: var(--toolbar-color, inherit) !important;
    background-repeat: repeat-y !important;
    background-size: auto auto !important;
    background-attachment: fixed !important;
    background-position: right top, var(--lwt-background-alignment, right top) !important;
    background-color: transparent !important;
    background-image: linear-gradient(var(--toolbar-bgcolor, rgba(255,255,255,.4)), var(--toolbar-bgcolor, rgba(255,255,255,.4))), var(--lwt-header-image, var(--lwt-additional-images, var(--v-lwt-header-image, none))) !important;
}

#add-additional-vertical-box[vertautohide="true"]:-moz-lwtheme > #add-additional-vertical-bar {
    background-color: var(--lwt-accent-color, white) !important;
}

#add-additional-vertical-box[vertautohide="true"]:-moz-lwtheme-brighttext > #add-additional-vertical-bar {
    background-color: var(--lwt-accent-color, black) !important;
}


это решает вашу проблему?

Отредактировано Vitaliy V. (24-12-2020 14:17:33)

Отсутствует

 

Board footer

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