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

Mozilla Россия — свежие версии программ Mozilla, а также масса полезной информации по каждому продукту.

Скрипты » UCF - ваши кнопки, скрипты… » 18-07-2024 21:22:11

Dobrov пишет

из-за недоработки оригинального скрипта обречены переубеждать всех, что это не недостаток sidebar_tabs.js от Виталия.

Удалено

Скрипты » UCF - ваши кнопки, скрипты… » 06-07-2024 23:48:49

Den199 пишет

Соответственно сама кнопка в тулбаре у меня всегда отображается как нажатая.

Это не баг, так и задумано кнопка не выделенна только когда сайдбар полностью закрыт т.е. отключен, а в режиме автоскрытия он обычно просто скрыт т.е. находится за пределами окна и невидим, а при активации просто "въезжает" в окно, это значит что в сайдбаре может выполнятся сценарий сайта даже когда сайдбар скрыт. А сделать чтобы сайт выгружался когда сайдбар скрывается может быть не удобно по причине автоскрытия и отображения поверх страницы.

CSS-стили » Настройка внешнего вида Firefox в userChrome.css » 06-07-2024 00:08:02

6e73epo пишет

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

Да можно сделать но это не обязательно, на анимацию браузера это не повлияет от слова совсем, а только для этого этот атрибут используется в [firefox], по соображениям оптимизации кода тоже, в одном случае лучше так в другом наоборот.

Dumby пишет

Опаньки, с кода "false" == true; консоль выдала мне false
Это слегка неожиданно.

Это же нестрогое равенство, сначала преобразуется так

скрытый текст
If one of the operands is a Boolean but the other is not, convert the boolean to a number: true is converted to 1, and false is converted to 0. Then compare the two operands loosely again.

потом так
скрытый текст
Number to String: convert the string to a number. Conversion failure results in NaN, which will guarantee the equality to be false.

на выходе NaN == 1 получается false
[url]https://developer.mozilla.org/en-US/docs

CSS-стили » Настройка внешнего вида Firefox в userChrome.css » 04-07-2024 22:35:16

6e73epo пишет

Открывал в фоне подряд один и тот же сайт 20 раз и в двух случаях вкладки окрашивались, а в остальных нет.

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

6e73epo пишет

UCF скрипты часто приходится адаптировать для userChromeJS, а наоборот - не в курсе

Ну я тоже особо не в курсе userChromeJS, потому как естественно считаю свой продукт лучше. Скажу так, все или c адаптацией скрипты userChromeJS могут работать в UCF, а наоборот даже адаптировать не все получится.

6e73epo пишет

все
removeListener, потому что они и так удаляются

Типа полагаться на сборщик мусора, ну это такое себе

6e73epo пишет

, !1);

А это что, укороченная запись false? При том что если не нужно делать перехват т.е. true, то false п

Скрипты » UCF - ваши кнопки, скрипты… » 04-07-2024 17:27:16

_zt пишет

Зачем они так сделали, настройка layout.css.light-dark.enabled тогда зачем?

Что сделали? Настройка для поддержки или неподдержки сайтов например с функцией light-dark
Для стилей браузера настройка не влияет.

CSS-стили » Настройка внешнего вида Firefox в userChrome.css » 04-07-2024 16:10:20

6e73epo пишет

Если включен и атрибут зависим от анимации, то его тоже не будет, если открывать в фоне about:config и прочее подобное. При настройке browser.cache.check_doc_frequency = 2 вкладки будут открываться в зависимости от попадания в кеш, то есть атрибут то будет, то нет

Это всё скорее плюсы чем минусы, зачем на всё подряд лепить unread атрибут...

6e73epo пишет

(не для UCF)

А есть такой скрипт что не заработает в UCF ?

CSS-стили » Настройка внешнего вида Firefox в userChrome.css » 04-07-2024 15:12:43

_zt пишет

Может есть вариант прибить стробоскоп

А что это, белая вспышка при загрузке сайта? Посмотрел с разными темами вроде не наблюдаю такого.
Также попробовал установить Dark Reader, с ним есть вспышка на этом форуме независимо от настройки ui.prefersReducedMotion

grom17 пишет

единственное, посетив (активировав) эту вкладку и перейдя затем на другую она остаётся в тех же цветах.

Так это только со скриптом будет правильно работать. А мой скрипт для UserChromeFiles

Скрипты » UCF - ваши кнопки, скрипты… » 04-07-2024 03:06:46

Dumby пишет

Вкладки "Downloads" и "Add-ons" в sidebar_tabs со светлым фоном

Да.

В [linux] вообще не воспроизводится, посмотрел в [windows] действительно так.
Чтобы включить цветовую схему требуется объявить для browser color-scheme: light dark;

CSS-стили » Настройка внешнего вида Firefox в userChrome.css » 03-07-2024 22:33:48

6e73epo
Атрибут удаляется на активной вкладке при обновлении страницы, нужен для анимации чтобы изменить animation-name
omni/chrome/browser/skin/classic/browser/tabbrowser/tabs.css:
    &[bursting][notselectedsinceload]::before {
      animation-name: tab-burst-animation-light;
    }

_zt пишет

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

Уже использовал во времена биндингов https://forum.mozilla-russia.org/viewto … 84#p763384
Теперь такой скриптик можно, проще чем с гитхаба

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

Выделить код

Код:

(async () => ({
    init() {
        gBrowser.tabContainer.addEventListener("TabSelect", this);
        setUnloadMap(Symbol("notselectedsinceload"), this.destructor, this);
    },
    handleEvent({target}) {
        target.setAttribute("notselectedsinceload", "false");
    },
    destructor() {
        gBrowser.tabContainer.removeEventListener("TabSelect", this);
    },
}).init())();

В стиле выше

CSS-стили » Настройка внешнего вида Firefox в userChrome.css » 03-07-2024 17:47:53

grom17
Тогда лучше использовать вложенный стиль чтобы не повторять одно и тоже,
кстати для незагруженных вкладок скрипт не нужен
[spoiler][code].tabbrowser-tab {
    /* Активные вкладки */
    &[selected] {
        .tab-label {
            color: light-dark(goldenrod, gold) !important;
            font-weight: bold !important;
        }
        .tab-background {
            background-color: light-dark(white, darkblue) !important;
        }
    }
    /* Неактивные вкладки */
    &:not([selected],[multiselected]) {
        .tab-label {
            color: light-dark(gray, darkgray) !important;
        }
        .tab-background {
            background-color: light-dark(gainsboro, black) !important;
        }
    }
    /* Активные вкладки (при соединении) */
    &[busy][selected] {
        .tab-label {
            color: light-dark(gray, darkgray) !important;
        }
        .tab-background {
            background-color: light-dark(white, darkblue) !important;
        }
    }
 

CSS-стили » Настройка внешнего вида Firefox в userChrome.css » 03-07-2024 11:56:52

grom17
Как-то так, наверно, если имеется ввиду цвет текста,
функцию light-dark конечно необязательно использовать.
[spoiler][code]/* Цвет текста активной вкладки (обычной) */
.tabbrowser-tab[selected] .tab-label {
    color: light-dark(goldenrod, gold) !important;
    font-weight: bold !important;
}
/* Цвет текста неактивной вкладки (обычной) */
.tabbrowser-tab:not([selected]) .tab-label {
    color: light-dark(gray, darkgray) !important;
}
/* Цвет текста неактивной вкладки (обычной при наведении) */
.tabbrowser-tab:hover:not([selected]) .tab-label {
    color: light-dark(goldenrod, gold) !important;
}
/* Цвет текста активной вкладки (при соединении) */
.tabbrowser-tab[busy][selected] .tab-label {
    color: light-dark(gray, darkgray) !important;
}
/* Цвет текста неактивной вкладки (при соединении) */
.tabbrowser-tab[busy]:not([selected]) .tab-label {
    color: light-dark(gray, darkgray) !importa

Скрипты » UCF - ваши кнопки, скрипты… » 02-07-2024 20:41:28

_zt пишет

All

Вот только это не для всех, данная кнопка нерекомендуемый способ, т.е. костыль, кому надо переключать урезанное AutoHide. С остальным лучше справится кнопка в составе Sidebar Tabs.

CSS-стили » Настройка внешнего вида Firefox в userChrome.css » 01-07-2024 15:27:25

egorsemenov06
нет пока не охота с этим заниматься, так что вот так.

Скрипты » UCF - ваши кнопки, скрипты… » 29-06-2024 12:45:11

egorsemenov06 пишет

у меня с обновленным расширением вообще перестал работать клик на закладках

Ну а вы как хотели, не буду же я после каждого обновления расширения проверять работает ли оно с нестандартным загрузчиком, если используете то не обновляйте.
startup.js -> строка 67 заменить win на this.win

Скрипты » UCF - ваши кнопки, скрипты… » 29-06-2024 11:57:37

_zt пишет

А закрывать по щелчку в поле контента нельзя?

Проверяйте

Dumby пишет

Лечится удалением из parent.js всех mozSystemGroup: true
Зачем они там — понять не смог.

Это нужно для panel'ей , без системных слушателей не перехватываются события от мыши и они закрываются, а этого не нужно если не включена соответствующая настройка
За сайдбар спасибо, исправил теперь для сайдбара без mozSystemGroup.

Dumby пишет

Но для браузера — это немного странно

Мне так надо было, добавил настройку.

Dumby пишет

в parent.js замечен toolbar#add-additional-vertical-bar
что слегка несовременно.

Да прикольно, исправил на просто toolbar, так не устареет, наверно

29-06-2024 12:05:43

egorsemenov06 пишет

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

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

Скрипты » UCF - ваши кнопки, скрипты… » 28-06-2024 13:17:41

Den199 пишет

сделать так, чтобы нажимая на родную кнопку sidebar_tabs, выезжала боковая панель, но не сдвигая страницу вправо, а поверх содержимого страницы?

Хорошо добавил параметр SHOW_HIDE https://github.com/VitaliyVstyle/Vitali … abs.js#L41
Параметр влияет на кнопку (кроме кнопки закрытия на самом Sidebar Tabs) и сочетания клавиш. Например клик по кнопке показывает панель, для скрытия можно использовать повторный клик или клик в области контента.
Для полного закрытия Sidebar Tabs (то что делала кнопка и раньше) можно использовать Shift + ЛКМ по кнопке, или без модификаторов по кнопке закрытия Sidebar Tabs.
Полное закрытие значит выгрузка контента из Sidebar Tabs, удаление всех слушателей а значит отключение показа панели по наведению курсора на область срабатывания.

28-06-2024 13:26:14

_zt пишет

Вот мне тоже по наведению не нравится, хотелось бы иметь возможность вызывать

Скрипты » UCF - ваши кнопки, скрипты… » 26-06-2024 20:26:56

egorsemenov06 пишет

обнновите пожалуйста еще вот эту кнопку

Ничего себе кнопка это моё расширение, но модифицированное, почему бы вам к автору мода Dumby не обратится?

_zt пишет

подключается так

Многовато подключений это же регулярные выражения, можно заменить три в scriptschrome и scriptsallchrome
но одно в scriptsallchrome

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

Выделить код

Код:

{ path: "ucf_UndoBookmarksContextMenu.uc.js", urlregxp: /^chrome:\/\/browser\/content\/(?:browser|places\/(?:bookmarksSidebar|places))\.xhtml/, },

Скрипты » UCF - ваши кнопки, скрипты… » 26-06-2024 16:23:18

egorsemenov06 пишет

вроде работает как мне надо, но не знаю правильно или нет.
Не могли бы Вы обновить еще одну кнопку

Разве что обновить в смысле оформить для UCF
[spoiler]

Выделить код

Код:

(async (
    timeout = 150,

    trg = document.querySelector("#tabbrowser-tabs tab.tabbrowser-tab").flattenedTreeParentNode,
) => ({
    id: 0,
    tab: null,
    init() {
        trg.addEventListener("mouseover", this);
        setUnloadMap(Symbol("tab_focus"), this.destructor, this);
    },
    handleEvent({target}) {
        var tab = target.closest("tab:not([selected])");
        if (tab && this.tab != tab)
            clearTimeout(this.id),
            this.id = setTimeout((t, x) => {
                if (t.matches(":hover") && Math.abs(x - t.screenX) < 50)
                    gBrowser.selectedTab = t;
                this.tab = null;
            }, timeout, this.tab = tab, tab.screenX);
    },
    destructor() {
        trg.removeEventListener("mouseover", this);
    },
}).init())();

[/s

Скрипты » UCF - ваши кнопки, скрипты… » 25-06-2024 19:57:36

egorsemenov06 пишет

Но я так и не понял как исключить некоторые кнопки

Ну как в excludeBtnSelectors добавляете селекторы, ID или например так сразу для всех расширений
"toolbarbutton[data-extensionid]",

Скрипты » UCF - ваши кнопки, скрипты… » 25-06-2024 18:57:31

egorsemenov06 пишет

а что бы менюшки сами закрывались можно сделать

Все что ли? тогда попробуйте добавить в hideAreaSelectors
"toolbar",
"popupset",
или раскомментируйте то что там есть только для закладок на панели,
кстати логика самозакрытия несколько отличается от того что было, они закрываются при наведении курсора на область контента, иначе получаем неожиданное закрытие меню например при при отводе курсора на другое меню вызываемое по ПКМ

CSS-стили » Настройка внешнего вида Firefox в userChrome.css » 25-06-2024 15:28:03

grom17 пишет

что бы прозрачность можно было бы регулировать у всех меню?

Я неоднократно писал что не делаю стили для того что должны изменять темы, другое дело если темы не могут изменить цвет например menupopup
то использую стиль для меню с цветами от темы, выглядит так https://github.com/VitaliyVstyle/Vitali … .github.io
Прозрачность не использую, но теоретически если в теме есть прозрачность для panel то и menupopup будут прозрачными.

Скрипты » UCF - ваши кнопки, скрипты… » 25-06-2024 15:12:15

Автоматически открывать меню

Автоматически закрывать меню

наконец дошли руки для отлавливания этих менюшек, тестируйте кому надо новый скрипт
[spoiler][code](async (
    id = Symbol("mouseover_openpopup"),
    delay = 300,
    hidedelay = 1000,
    btnSelectors = [
        "#PanelUI-menu-button",
        "#library-button",
        "#fxa-toolbar-menu-button",
        "#nav-bar-overflow-button",
        "#star-button-box",
        "#pageActionButton",
        "#unified-extensions-button",
        "#downloads-button",
        "#alltabs-button",
    ],
    excludeBtnSelectors = [
        "#tabs-newtab-button",
        "#new-tab-button",
        "#back-button",
        "#forward-button",
    ],
    areaSelectors = [
        "toolbar",
    ],
    hideAreaSelectors = [
        // "#PlacesToolbarItems",
    ],
    excludeHidePopupSelectors = [
        "#contentAreaContextMenu",
        "#contentAreaContextMenu :scope",
        "#PopupSearchAutoComplete",
        "#

CSS-стили » Настройка внешнего вида Firefox в userChrome.css » 20-06-2024 13:30:58

egorsemenov06
список селекторов:
#allTabsMenu-searchTabs
#allTabsMenu-closeDuplicateTabs
#allTabsMenu-containerTabsButton
#allTabsMenu-hiddenTabsButton
пример:
#allTabsMenu-searchTabs {
    list-style-image: url("икон");
}

Скрипты » UCF - ваши кнопки, скрипты… » 17-06-2024 19:11:30

egorsemenov06
А обязательно новую добавлять? от Sidebar Tabs "resource://ucf_sidebar_tabs" лучше используйте чтобы одинаковые были,
добавить в Object.entries({

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

Выделить код

Код:

class: "menuitem-iconic",
style: 'list-style-image:url("resource://ucf_sidebar_tabs");-moz-context-properties:fill,stroke,fill-opacity;stroke:currentColor;fill:currentColor;fill-opacity:var(--toolbarbutton-icon-fill-opacity,.8);',

Board footer

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