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

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

№835117-05-2020 12:03:34

Moltael
Участник
 
Группа: Members
Зарегистрирован: 17-05-2020
Сообщений: 1
UA: Firefox 76.0

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

Как из контекстного меню удалить лишние пункты, а также изменить порядок оставшихся?
Хочу удалить  - сохранить в Pocket и сохранить объект как

Отсутствует

 

№835217-05-2020 15:37:51

oleg.sgh
Участник
 
Группа: Members
Зарегистрирован: 19-04-2014
Сообщений: 3141
UA: Firefox 68.0

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

Moltael
https://forum.mozilla-russia.org/viewtopic.php?pid=759099#p759099

Отсутствует

 

№835317-05-2020 16:34:25

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

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

Moltael пишет

Хочу удалить  - сохранить в Pocket и сохранить объект как

Удалить сохранить в Pocket можно через about:config extensions.pocket.enabled — false, или стилем

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

Выделить код

Код:

#context-pocket, #context-savelinktopocket {
display: none !important;
}


Удалить сохранить объект как
скрытый текст

Выделить код

Код:

#context-sep-sendpagetodevice, #context-savelink {
display: none !important;
}

Отсутствует

 

№835417-05-2020 18:00:03

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

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

sandro79
так наверное, но не проверял на [windows] тем более с др. темами

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

Выделить код

Код:

@-moz-document url("chrome://browser/content/browser.xhtml") {
    @media (-moz-windows-default-theme: 0) and (-moz-windows-compositor) {
        .tabmodalprompt-buttonContainer > button:-moz-any([default="true"],:hover,:focus):not(:-moz-any(:active,[disabled="true"],[open="true"],[checked="true"])) {
            color: ButtonText !important;
        }
    }
}
@-moz-document regexp("chrome\:\/\/.*\/(commonDialog|aboutDialog|dialog|pageInfo|safeMode|sanitize|siteDataRemoveSelected)\.xhtml") {
    @media (-moz-windows-default-theme: 0) and (-moz-windows-compositor) {
        button:-moz-any([default="true"],:hover,:focus):not(:-moz-any(:active,[disabled="true"],[open="true"],[checked="true"])) {
            color: ButtonText !important;
        }
    }
}

Отредактировано Vitaliy V. (25-05-2020 00:41:17)

Отсутствует

 

№835517-05-2020 18:15:09

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

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

Vitaliy V.
Да, во всех окнах стиль сработал. Огромное Спасибо! Благодарю :beer:

Отсутствует

 

№835617-05-2020 18:36:35

mr.geek
Участник
 
Группа: Members
Зарегистрирован: 12-03-2016
Сообщений: 19
UA: Firefox 76.0

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

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

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

Выделить код

Код:

scrollbarbutton[sbattr="scrollbar-up-top"],
scrollbarbutton[sbattr="scrollbar-down-top"],
scrollbarbutton[sbattr="scrollbar-up-bottom"],
scrollbarbutton[sbattr="scrollbar-down-bottom"]
{
  -moz-appearance: none !important;
  display: none !important;
}

scrollbar[orient="vertical"]
{
  -moz-margin-start: -15px;
  min-width: 15px!important;
  max-width: 15px!important;
  -moz-appearance: none!important;
  position: relative;
  background-color: transparent!important;
  background-image: none!important;
  border: 0;
  z-index: 2147483647;
  -moz-box-align: start;
  padding: 1px 1px 1px 6px!important;
}

scrollbar[orient="horizontal"]
{
  margin-top: -15px;
  min-height: 15px;
  max-height: 15px;
  -moz-appearance: none!important;
  position: relative;
  background-color: transparent;
  background-image: none;
  border: 0;
  z-index: 2147483647;
  -moz-box-align: start;
  padding: 6px 11px 1px 1px!important;
}

scrollbar thumb
{
  -moz-appearance: none !important;
  background-color: rgba(80,80,80,0.5);
  border-radius: 8px;
  border: 0;
}

scrollbar[orient="vertical"] thumb
{
  min-height: 20px!important;
  min-width: 15px!important;
  max-width: 15px!important;
}

scrollbar[orient="horizontal"] thumb
{
  min-width: 20px!important;
  min-height: 15px!important;
  max-height: 15px!important;
}

scrollbar thumb:hover, scrollbar thumb:active
{
  background-color: rgba(0,0,0,0.5);
}

html div scrollbar
{
  -moz-margin-start: 0!important;
}

Содержимое userChrome.css

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

Выделить код

Код:

toolbarbutton#alltabs-button {
    -moz-binding: url(data:text/plain;charset=utf-8;base64,PD94bWwgdmVyc2lvbj0iMS4wIj8+CjwhLS0gQ29weXJpZ2h0IChjKSAyMDE3IEhhZ2dhaSBOdWNoaQpBdmFpbGFibGUgZm9yIHVzZSB1bmRlciB0aGUgTUlUIExpY2Vuc2U6Cmh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUCiAtLT4KCjwhLS0gUnVuIHVzZXJDaHJvbWUuanMvdXNlckNocm9tZS54dWwgYW5kIC51Yy5qcy8udWMueHVsLy5jc3MgZmlsZXMgIC0tPgo8YmluZGluZ3MgeG1sbnM9Imh0dHA6Ly93d3cubW96aWxsYS5vcmcveGJsIj4KICAgIDxiaW5kaW5nIGlkPSJqcyIgZXh0ZW5kcz0iY2hyb21lOi8vZ2xvYmFsL2NvbnRlbnQvYmluZGluZ3MvdG9vbGJhcmJ1dHRvbi54bWwjdG9vbGJhcmJ1dHRvbi1iYWRnZWQiPgogICAgICAgIDxpbXBsZW1lbnRhdGlvbj4KICAgICAgICAgICAgPGNvbnN0cnVjdG9yPjwhW0NEQVRBWwogICAgICAgICAgICAgICAgaWYod2luZG93LnVzZXJDaHJvbWVKc01vZCkgcmV0dXJuOwogICAgICAgICAgICAgICAgd2luZG93LnVzZXJDaHJvbWVKc01vZCA9IHRydWU7CgogICAgICAgICAgICAgICAgdmFyIGNocm9tZUZpbGVzID0gRmlsZVV0aWxzLmdldERpcigiVUNocm0iLCBbXSkuZGlyZWN0b3J5RW50cmllczsKICAgICAgICAgICAgICAgIHZhciB4dWxGaWxlcyA9IFtdOwogICAgICAgICAgICAgICAgdmFyIHNzcyA9IENjWydAbW96aWxsYS5vcmcvY29udGVudC9zdHlsZS1zaGVldC1zZXJ2aWNlOzEnXS5nZXRTZXJ2aWNlKENpLm5zSVN0eWxlU2hlZXRTZXJ2aWNlKTsKCiAgICAgICAgICAgICAgICB3aGlsZShjaHJvbWVGaWxlcy5oYXNNb3JlRWxlbWVudHMoKSkgewogICAgICAgICAgICAgICAgICAgIHZhciBmaWxlID0gY2hyb21lRmlsZXMuZ2V0TmV4dCgpLlF1ZXJ5SW50ZXJmYWNlKENpLm5zSUZpbGUpOwogICAgICAgICAgICAgICAgICAgIHZhciBmaWxlVVJJID0gU2VydmljZXMuaW8ubmV3RmlsZVVSSShmaWxlKTsKCiAgICAgICAgICAgICAgICAgICAgaWYoZmlsZS5pc0ZpbGUoKSkgewogICAgICAgICAgICAgICAgICAgICAgICB0eXBlID0gIm5vbmUiOwogICAgICAgICAgICAgICAgICAgICAgICBpZigvKF51c2VyQ2hyb21lfFwudWMpXC5qcyQvaS50ZXN0KGZpbGUubGVhZk5hbWUpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlID0gInVzZXJjaHJvbWUvanMiOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYoLyhedXNlckNocm9tZXxcLnVjKVwueHVsJC9pLnRlc3QoZmlsZS5sZWFmTmFtZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGUgPSAidXNlcmNocm9tZS94dWwiOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYoL1wuYXNcLmNzcyQvaS50ZXN0KGZpbGUubGVhZk5hbWUpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlID0gImFnZW50c2hlZXQiOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYoL14oPyEodXNlckNocm9tZXx1c2VyQ29udGVudClcLmNzcyQpLitcLmNzcyQvaS50ZXN0KGZpbGUubGVhZk5hbWUpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlID0gInVzZXJzaGVldCI7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgaWYodHlwZSAhPSAibm9uZSIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCItLS0tLS0tLS0tXFwgIiArIGZpbGUubGVhZk5hbWUgKyAiICgiICsgdHlwZSArICIpIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKHR5cGUgPT0gInVzZXJjaHJvbWUvanMiKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNlcnZpY2VzLnNjcmlwdGxvYWRlci5sb2FkU3ViU2NyaXB0V2l0aE9wdGlvbnMoZmlsZVVSSS5zcGVjLCB7dGFyZ2V0OiB3aW5kb3csIGlnbm9yZUNhY2hlOiB0cnVlfSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYodHlwZSA9PSAidXNlcmNocm9tZS94dWwiKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHh1bEZpbGVzLnB1c2goZmlsZVVSSS5zcGVjKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZih0eXBlID09ICJhZ2VudHNoZWV0IikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZighc3NzLnNoZWV0UmVnaXN0ZXJlZChmaWxlVVJJLCBzc3MuQUdFTlRfU0hFRVQpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3NzLmxvYWRBbmRSZWdpc3RlclNoZWV0KGZpbGVVUkksIHNzcy5BR0VOVF9TSEVFVCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYodHlwZSA9PSAidXNlcnNoZWV0IikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZighc3NzLnNoZWV0UmVnaXN0ZXJlZChmaWxlVVJJLCBzc3MuVVNFUl9TSEVFVCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzc3MubG9hZEFuZFJlZ2lzdGVyU2hlZXQoZmlsZVVSSSwgc3NzLlVTRVJfU0hFRVQpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gY2F0Y2goZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCIjIyMjIyMjIyMjIEVSUk9SOiAiICsgZSArICIgYXQgIiArIGUubGluZU51bWJlciArICI6IiArIGUuY29sdW1uTnVtYmVyKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCItLS0tLS0tLS0tLyAiICsgZmlsZS5sZWFmTmFtZSk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiBsb2FkWFVMKCkgewogICAgICAgICAgICAgICAgICAgIGlmKHh1bEZpbGVzLmxlbmd0aCA+IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQubG9hZE92ZXJsYXkoeHVsRmlsZXMuc2hpZnQoKSwgbnVsbCk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQobG9hZFhVTCwgNSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwgMCk7CiAgICAgICAgICAgIF1dPjwvY29uc3RydWN0b3I+CiAgICAgICAgPC9pbXBsZW1lbnRhdGlvbj4KICAgIDwvYmluZGluZz4KPC9iaW5kaW5ncz4K);
}

Отредактировано mr.geek (17-05-2020 18:49:17)

Отсутствует

 

№835717-05-2020 19:30:58

serega-stavr
Участник
 
Группа: Members
Зарегистрирован: 04-12-2019
Сообщений: 9
UA: Firefox 56.0

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

в 76 версии перестал работать multirow. обновил  Aris-t2 / CustomCSSforFx - заработало, но ширину вкладок настроить не могу
использую tabs_multiple_lines_fx71.css но на изменения не реагирует
подскажите советом

Отсутствует

 

№835817-05-2020 20:08:06

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

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

serega-stavr пишет

но ширину вкладок настроить не могу

Править или в /config/general_variables.css, или в tabs_multiple_lines_fx71, но закомментировать тогда строку @import "./config/general_variables.css"; /**/
https://forum.mozilla-russia.org/viewto … 32#p775632

Отсутствует

 

№835917-05-2020 20:21:16

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

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

Что-то мой вопрос остаётся без ответа ? Никто не знает как теперь скрыть кнопки прокрутки вкладок, неправильно задал вопрос,  нет решения, или чего?

Отсутствует

 

№836017-05-2020 20:58:04

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

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

dim222
У вас поиск по теме сломался?

Отсутствует

 

№836117-05-2020 20:59:54

serega-stavr
Участник
 
Группа: Members
Зарегистрирован: 04-12-2019
Сообщений: 9
UA: Firefox 56.0

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

sandro79 пишет

Править или в /config/general_variables.css,

спасибо, помогло

Отсутствует

 

№836217-05-2020 21:31:21

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

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

voqabuhe пишет

неправильно задал вопрос,  нет решения, или чего?

пропустил пост не знаю почему никто не ответил, нужно просто заменить класс т.е. точку на #

Добавлено 17-05-2020 21:34:10

mr.geek пишет

перестал работать

и не будет не пытайтесь, биндинги давно не работают

Отредактировано Vitaliy V. (17-05-2020 21:34:10)

Отсутствует

 

№836317-05-2020 22:14:19

kokoss
Участник
 
Группа: Members
Зарегистрирован: 15-02-2018
Сообщений: 1728
UA: Firefox 52.0

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

mr.geek пишет

После обновления до последней версии он перестал работать.

Что бы заработал необходим: https://github.com/VitaliyVstyle/VitaliyVstyle.github.io/blob/master/stylesff/toolbars/user_chrome_files.zip
Add, ba512b1ff15bt.jpg

Отредактировано kokoss (18-05-2020 02:00:15)


Win7

Отсутствует

 

№836417-05-2020 22:24:56

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

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

Vitaliy V.

пропустил пост не знаю почему никто не ответил, нужно просто заменить класс т.е. точку на #

Спасибо.

Отредактировано voqabuhe (17-05-2020 22:25:27)

Отсутствует

 

№836518-05-2020 01:28:36

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

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

kokoss
Биндинг? Не придумывайте. Если б все так просто было, но они ни как не заработают на текущих [firefox], только если переписать в скрипт, а это нетривиальная задача, по крайней мере я только один раз видел что бы Vitaliy V. такое делал.
   
Vitaliy V.
Я нашел решение для Everything, через какой то его внутренний протокол. Посмотрите, может пригодится для вашего расширения.
https://addons.mozilla.org/ru/firefox/addon/everything-search-we/

Отредактировано _zt (18-05-2020 01:38:04)

Отсутствует

 

№836618-05-2020 13:23:36

kokoss
Участник
 
Группа: Members
Зарегистрирован: 15-02-2018
Сообщений: 1728
UA: Firefox 52.0

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

_zt пишет

Биндинг? Не придумывайте. Если б все так просто было, но они ни как не заработают на текущих [firefox], только если переписать в скрипт, а это нетривиальная задача, по крайней мере я только один раз видел что бы Vitaliy V. такое делал.

В user_chrome_files есть текстовый файл, в котором подробно описано как добавить скроллбар в виде css-стиля ;)

Отредактировано kokoss (18-05-2020 13:32:34)


Win7

Отсутствует

 

№836718-05-2020 22:16:12

mr.geek
Участник
 
Группа: Members
Зарегистрирован: 12-03-2016
Сообщений: 19
UA: Firefox 76.0

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

kokoss пишет

Что бы заработал необходим: https://github.com/VitaliyVstyle/VitaliyVstyle.github.io/blob/master/stylesff/toolbars/user_chrome_files.zip

Большое спасибо, таки действительно заработало =)

Отсутствует

 

№836820-05-2020 04:26:16

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

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

kokoss пишет

Как вариант:

скрытый текст
https://github.com/Aris-t2/CustomJSforFx/blob/master/scripts/addonbar.uc.js

Подскажите, а что нужно дописать в этом замечательном скрипте, чтоб сделать панель немножко потоньше?
Прописал в userChrome #addonbar {  height: 24px !important;}, панель уменьшилась, но значки сплющило:|

Отредактировано kazarin (20-05-2020 21:28:53)

Отсутствует

 

№836920-05-2020 17:35:57

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

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

kokoss
это код для custom_script_win.js
ucf_custom_script_win

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

Выделить код

Код:

faviconinurlbar: {
        constructor: function() {
            var faviconinurlbar = document.querySelector("#permissions-granted-icon");
            if (!faviconinurlbar)
                return;
            gBrowser.tabContainer.addEventListener("TabAttrModified", this);
            gBrowser.addProgressListener(this);
            ucf_custom_script_win.unloadlisteners.push("faviconinurlbar");
            this.handleEvent = function(event) {
                var tab = event.target, image;
                if (tab.selected)
                    faviconinurlbar.style.setProperty("--v-faviconinurlbar", (image = tab.image) ? `url("${image}")` : "");
            };
            this.onStateChange = function(aWebProgress, aRequest, aStateFlags, aStatus) {
                var nsiwpl = Ci.nsIWebProgressListener;
                if ((aStateFlags & nsiwpl.STATE_IS_NETWORK) && aWebProgress && aWebProgress.isTopLevel) {
                    if (aStateFlags & nsiwpl.STATE_START) {
                        faviconinurlbar.setAttribute("busy", true);
                    } else if (aStateFlags & nsiwpl.STATE_STOP) {
                        faviconinurlbar.setAttribute("busy", false);
                        if (!gBrowser.selectedTab.image)
                            faviconinurlbar.style.setProperty("--v-faviconinurlbar", "");
                    }
                }
            };
        },
        destructor: function() {
            gBrowser.tabContainer.removeEventListener("TabAttrModified", this);
            gBrowser.removeProgressListener(this);
        }
    },
    opennewtabwithleftclick: {
        constructor: function() {
            gBrowser.tabpanels.addEventListener("mousedown", this, true);
            ucf_custom_script_win.unloadlisteners.push("opennewtabwithleftclick");
        },
        handleEvent(e) {
            this[e.type](e);
        },
        mousedown(e) {
            if (e.button || e.ctrlKey || e.shiftKey || e.altKey) return;
            var {spec} = gBrowser.currentURI;
            if (spec != "about:newtab" && spec != "about:home") return;
            var br = gBrowser.selectedBrowser;
            if (!br.matches(":hover")) return;

            this.br = br;
            this.loadURI = br.loadURI;
            br.loadURI = this.tab;
            window.addEventListener("mousemove", this, {once: true});
            window.addEventListener("keydown", this, {once: true});
        },
        mousemove() {
            if (!this.br) return;
            window.removeEventListener("mousemove", this);
            window.removeEventListener("keydown", this);
            this.br.loadURI = this.loadURI;
            this.loadURI = this.br = null;
        },
        keydown() {
            this.mousemove();
        },
        get tab() {
            delete this.tab;
            return this.tab = (url, params) => {
                var {userContextId} = this.br.contentPrincipal;
                this.mousemove();
                openUILinkIn(url, "tab", Object.assign(params, {userContextId}));
            }
        },
        destructor: function() {
            gBrowser.tabpanels.removeEventListener("mousedown", this, true);
        }
    },


ucf_custom_script_win.load
скрытый текст

Выделить код

Код:

this.faviconinurlbar.constructor();
this.opennewtabwithleftclick.constructor();


стиль для faviconinurlbar
скрытый текст

Выделить код

Код:

#permissions-granted-icon {
    --v-default-faviconinurlbar: url("chrome://global/skin/icons/identity-icon.svg"); /* дефолтная иконка */
    --v-permissions-granted-outline: 1px dashed green; /* обводка иконки для страниц с доп. разрешениями */

    display: -moz-box !important;
    list-style-image: var(--v-default-faviconinurlbar) !important;
    pointer-events: none !important;
}
#identity-box[pageproxystate="valid"].unknownIdentity #identity-icon,
#identity-box:-moz-any(.extensionPage,.chromeUI):not(.grantedPermissions) #permissions-granted-icon {
    display: none !important;
}
#identity-box[pageproxystate="valid"].grantedPermissions > #permissions-granted-icon {
    outline: var(--v-permissions-granted-outline) !important;
    pointer-events: auto !important;
}
#identity-box:not(:-moz-any(.extensionPage,.chromeUI)) #permissions-granted-icon[busy="false"] {
    list-style-image: var(--v-faviconinurlbar, var(--v-default-faviconinurlbar)) !important;
}

Добавлено 20-05-2020 17:51:51
P.S. кстати обновил user_chrome_files вчера

Отредактировано Vitaliy V. (17-07-2020 17:53:02)

Отсутствует

 

№837020-05-2020 19:34:50

kokoss
Участник
 
Группа: Members
Зарегистрирован: 15-02-2018
Сообщений: 1728
UA: Firefox 52.0

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

Vitaliy V.
Чё то я ни въехал, вроде всё сделал как надо, и не работает, ну да ладно потом разберусь. Благодарю :beer:
Add, может кто нибудь у себя в [firefox] 76 проверить, а то у меня не работает?

Отредактировано kokoss (21-05-2020 17:46:02)


Win7

Отсутствует

 

№837120-05-2020 23:13:19

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

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

Vitaliy V. пишет

кстати обновил user_chrome_files вчера

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

Отсутствует

 

№837220-05-2020 23:58:37

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

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

voqabuhe пишет

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

папки custom_styles и custom_scripts можно не обновлять ну разве что в custom_script_win.js незначительное изменение

Отсутствует

 

№837321-05-2020 00:36:03

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

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

Vitaliy V.
Спасибо. А кстати, что-то не увидел список изменений, где глянуть?

Отсутствует

 

№837421-05-2020 17:41:14

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

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

voqabuhe
не мне влом что-то там ещё писать мне за это не платят...
ну ладно изменения такие:
- удалены старые методы типа Node.appendChild() заменены на новые append() after() и т.д.
ну и соответственно в версиях [firefox] < 49 поддержки нет
- добавлены модули, функции для песочницы куда загружается custom_script.js
они память не жрут если не используются т. к. подключены с помощью ленивых геттеров
- удалены (закомментированы) переменные Cc Ci Cu для XPCOM компонентов в конф. файле т.к.
не требуются с версии [firefox] 60, но можно раскомментировать в коде если используете версию старше
- изменено окно настроек, добавлена ссылка-кнопка для перезагрузки со сбросом стартового кэша,
добавлена опция где разместить доп. панель под панелью навигации или закладок, т. к. спрашивали недавно здесь
- остальное по мелочи

Отредактировано Vitaliy V. (21-05-2020 17:45:17)

Отсутствует

 

№837521-05-2020 19:17:34

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

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

kokoss пишет

может кто нибудь у себя в [firefox] 76 проверить, а то у меня не работает?

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

Свежий custom_script_win
скрытый текст
4fbb4198e27d.png

Выделить код

Код:

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

var ucf_custom_script_win = {
    initialized: false,
    unloadlisteners: [],
    load: function() {
        if (this.initialized)
            return;
        this.initialized = true;
        // this.specialwidgets.constructor(); // <-- Special Widgets
        // this.autohidesidebar.constructor(); // <-- Auto Hide Sidebar
        /* ************************************************ */
        this.faviconinurlbar.constructor();
        this.opennewtabwithleftclick.constructor();
        // Здесь может быть ваш код который сработает по событию "load" не раньше

        /* ************************************************ */
        if (this.unloadlisteners.length < 1)
            return;
        window.addEventListener("unload", this, false);
    },
    handleEvent: function(event) {
        this[event.type](event);
    },
    unload: function() {
        window.removeEventListener("unload", this, false);
        this.unloadlisteners.forEach((str) => {
            try {
                this[str].destructor();
            } catch (e) {}
        });
    },
faviconinurlbar: {
        constructor: function() {
            var faviconinurlbar = document.querySelector("#permissions-granted-icon");
            if (!faviconinurlbar)
                return;
            gBrowser.tabContainer.addEventListener("TabAttrModified", this);
            gBrowser.addProgressListener(this);
            ucf_custom_script_win.unloadlisteners.push("faviconinurlbar");
            this.handleEvent = function(event) {
                var tab = event.target, image;
                if (tab.selected)
                    faviconinurlbar.style.setProperty("--v-faviconinurlbar", (image = tab.image) ? `url("${image}")` : "");
            };
            this.onStateChange = function(aWebProgress, aRequest, aStateFlags, aStatus) {
                var nsiwpl = Ci.nsIWebProgressListener;
                if ((aStateFlags & nsiwpl.STATE_IS_NETWORK) && aWebProgress && aWebProgress.isTopLevel) {
                    if (aStateFlags & nsiwpl.STATE_START) {
                        faviconinurlbar.setAttribute("busy", true);
                    } else if (aStateFlags & nsiwpl.STATE_STOP) {
                        faviconinurlbar.setAttribute("busy", false);
                        if (!gBrowser.selectedTab.image)
                            faviconinurlbar.style.setProperty("--v-faviconinurlbar", "");
                    }
                }
            };
        },
        destructor: function() {
            gBrowser.tabContainer.removeEventListener("TabAttrModified", this);
            gBrowser.removeProgressListener(this);
        }
    },
    opennewtabwithleftclick: {
        constructor: function() {
            gBrowser.tabpanels.addEventListener("mousedown", this, true);
            ucf_custom_script_win.unloadlisteners.push("opennewtabwithleftclick");
        },
        handleEvent(e) {
            this[e.type](e);
        },
        mousedown(e) {
            if (e.button || e.ctrlKey || e.shiftKey || e.altKey) return;
            var {spec} = gBrowser.currentURI;
            if (spec != "about:newtab" && spec != "about:home") return;
            var br = gBrowser.selectedBrowser;
            if (!br.matches(":hover")) return;

            this.br = br;
            this.loadURI = br.loadURI;
            br.loadURI = this.tab;
            window.addEventListener("mousemove", this, {once: true});
            window.addEventListener("keydown", this, {once: true});
        },
        mousemove() {
            if (!this.br) return;
            window.removeEventListener("mousemove", this);
            window.removeEventListener("keydown", this);
            this.br.loadURI = this.loadURI;
            this.loadURI = this.br = null;
        },
        keydown() {
            this.mousemove();
        },
        get tab() {
            delete this.tab;
            return this.tab = (url, params) => {
                var {userContextId} = this.br.contentPrincipal;
                this.mousemove();
                openUILinkIn(url, "tab", Object.assign(params, {userContextId}));
            }
        },
        destructor: function() {
            gBrowser.tabpanels.removeEventListener("mousedown", this, true);
        }
    },
    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;
        },
        constructor: function() {
            if (!("CustomizableUI" in window) || !("gCustomizeMode" in window))
                return;
            ucf_custom_script_win.unloadlisteners.push("specialwidgets");
            window.addEventListener("customizationready", this, false);
        },
        destructor: function() {
            window.removeEventListener("customizationready", this, false);
        },
        handleEvent: function(event) {
            this[event.type](event);
        },
        customizationchange: function() {
            clearTimeout(this._timer);
            this._timer = setTimeout(() => {
                this.createSpecialWidgets();
            }, 1000);
        },
        customizationready: function() {
            if (!this.Customizable)
                return;
            this.createSpecialWidgets();
            window.addEventListener("customizationchange", this, false);
            window.addEventListener("customizationending", this, false);
        },
        customizationending: function() {
            window.removeEventListener("customizationchange", this, false);
            window.removeEventListener("customizationending", this, false);
        },
        createSpecialWidgets: function() {
            try {
                var fragment = document.createDocumentFragment();
                if (this.findSpecialWidgets("spring")) {
                    var spring = this.Customizable.createSpecialWidget("spring", document);
                    spring.setAttribute("label", "Растягивающийся интервал");
                    fragment.append(gCustomizeMode.wrapToolbarItem(spring, "palette"));
                }
                if (this.findSpecialWidgets("spacer")) {
                    var spacer = this.Customizable.createSpecialWidget("spacer", document);
                    spacer.setAttribute("label", "Интервал");
                    fragment.append(gCustomizeMode.wrapToolbarItem(spacer, "palette"));
                }
                if (this.findSpecialWidgets("separator")) {
                    var separator = this.Customizable.createSpecialWidget("separator", document);
                    separator.setAttribute("label", "Разделитель");
                    fragment.append(gCustomizeMode.wrapToolbarItem(separator, "palette"));
                }
                gCustomizeMode.visiblePalette.append(fragment);
            } catch (e) {}
        },
        findSpecialWidgets: function(string) {
            try {
                if (!gCustomizeMode.visiblePalette.querySelector(`toolbar${string}[id^="customizableui-special-${string}"]`))
                    return true;
            } catch (e) {}
            return false;
        }
    },
    autohidesidebar: {
        sidebar: null,
        constructor: function() {
            var sidebar = this.sidebar = document.querySelector("#sidebar-box");
            if(!sidebar)
                return;
            ["dragenter", "drop", "dragexit"].forEach((type) => {
                sidebar.addEventListener(type, this, false);
            });
            ucf_custom_script_win.unloadlisteners.push("autohidesidebar");
        },
        destructor: function() {
            var sidebar = this.sidebar;
            ["dragenter", "drop", "dragexit"].forEach((type) => {
                sidebar.removeEventListener(type, this, false);
            });
        },
        handleEvent: function(event) {
            this[event.type](event);
        },
        dragenter: function() {
            if (!this.sidebar.hasAttribute("sidebardrag"))
            this.sidebar.setAttribute("sidebardrag", "true");
        },
        drop: function() {
            if (this.sidebar.hasAttribute("sidebardrag"))
            this.sidebar.removeAttribute("sidebardrag");
        },
        dragexit: function(event) {
            var sidebar = this.sidebar;
            var boxObj = sidebar.getBoundingClientRect(), boxScrn = !sidebar.boxObject ? sidebar : sidebar.boxObject;
            if ((!event.relatedTarget || event.screenY <= (boxScrn.screenY + 5) || event.screenY  >= (boxScrn.screenY + boxObj.height - 5)
                || event.screenX <= (boxScrn.screenX + 5) || event.screenX >= (boxScrn.screenX + boxObj.width - 5))
                && sidebar.hasAttribute("sidebardrag"))
                sidebar.removeAttribute("sidebardrag");
        }
    }
};

if (window.document.readyState != "complete") {
    window.addEventListener("load", function load() {
        window.removeEventListener("load", load, false);
        ucf_custom_script_win.load();
    }, false);
} else
    ucf_custom_script_win.load();

Отсутствует

 

Board footer

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