Dumby, убегает запятая, в стилях перечерк, что делать - я не знаю, может вы просветите чуток?
Оба контроля учетных записей отключены
В этом случае перетаскивание будет пахать, если отключить "browser.launcherProcess.enabled"
Подскажите, плиз, какой теперь код в 134-й нужен для изменения цвета верхней панели с вкладками?
.browser-toolbox-background { --toolbox-bgcolor: #393e65; --toolbox-textcolor: #fff; }
Для светлой темы (не системной) можно так
:root[lwtheme] .browser-toolbox-background { @media not (prefers-color-scheme: dark) { --toolbox-bgcolor: #393e65; --toolbox-textcolor: #fff; } }
Saenko
@-moz-document url("about:addons"), url("chrome://mozapps/content/extensions/aboutaddons.html") { #content { --page-main-content-width: 1520px; } }
nbghost, а если два раза нажать Ctrl+Shift+B ? Потестить еще на чистом профиле
То есть, если это XUL элемент, то берётся атрибут "tooltiptext".
Иначе, если это не SVG элемент, то берётся атрибут "title".
Ок, теперь ясно
Возвращаясь к скрытым вкладкам, обнаружил траблу.
Для короткоживущих (например, при открытии исх кода в новом окне) код работает как мне надо, т.е. не выводит алерт, однако это происходит за счет ошибки в консоли
"record.target.linkedBrowser is null"
Для исправления немного переделал код и вроде теперь все ок
var notify = records => alert('"true" hidden attribute on tab(s) detected.\n\n' + records.map(info).join("\n\n"));
var notify = records => { for (let mutation of records) { if (mutation.target.collapsed) return; } alert('"true" hidden attribute on tab(s) detected.\n\n' + records.map(info).join("\n\n")); }
Это было просто информационное сообщение.
Оно может быть понятным, или не понятным
Мне не понятно, почему один и тот же атрибут на элементе button ведет себя по разному.
для одной кнопки атрибут title связан с подсказкой, а tooltiptext не пашет
для другой кнопки атрибут tooltiptext связан с подсказкой, а title - с названием
Может зависит от типа родительского элемента?
Испортим то, что делает файл
Да, теперь вижу зависимость от файла. "Хорошо" сломало тултипы с пониженными правами
Про placeholder, благодарю за оба варианта. Потестирую и если что не так - отпишусь.
resource://gre/modules/TooltipTextProvider.sys.mjs
твой "title" подхватит, и в #aHTMLTooltip'е будет показан.
да и без файла подхватывает, а отображение в aHTMLTooltip не особо нужно
Кому бы понадобилось вешать листенер именно на html#main-window
Да часто лопушусь из-за названия main-window и считаю, что в нем прослушки на window
Я вот тута подумал, а можно ведь версию сабжа отображать вместо дефолтного placeholder с никому не нужной "Search or enter address".
Но реализация у меня костыльная. Здеся можно стилями изменить название, а если замутить
content: attr(ffversion);
а затем через обсервер в config.js
let str = Services.appinfo.name + " " + Services.appinfo.platformVersion + " " + Services.appinfo.defaultUpdateChannel;
doc.getElementById("urlbar-input").parentNode?.setAttribute("ffversion", str);
то получим то, что хотели
…Nerazzurro browser.startup.blankWindow = true + системная тема. Если не системная, то у меня тоже есть полоса в 133
Nerazzurro после подложки - значит browser.startup.blankWindow
Dumby, спасибо, подправил у себя + проверка на окно, чтобы консоль не пищала на AppConstants.
Возвращаясь к этому, не хватает подсказки при наведении мыши на кнопку - многострочную. Придумал так
btn.setAttribute("title", "1\tFirst line\n2\tSecond line");
Не знаю, как по другому еще можно и нужно ли
Не в тему, но отсутствие ответа на вопрос не дает мне норм спать по ночам. Можно ли как-то посмотреть прослушки на #main-window? В инспекторе есть кнопка event, но при ее нажатии ошибка в консоли
Error while calling actor 'domnode's method 'getEventListenerInfo' passing non-debuggable global to addDebuggee
tagnupip, предполагаю, что у тебя в userContent.css закралась ошибка. Могу глянуть
tagnupip, а внешний вид дилов стилизован через какое-то расширение?
tagnupip сравнил пухлые стримы 133 и 134. Тени меняют на контуры. Еще такое ощущение, что там в штате целая команда css филов, раз такая куча модификаций
Выбирай один из двух
@-moz-document url("about:newtab"), url("about:home") { .outer-wrapper .ds-top-sites .top-sites .top-site-outer { --focus-outline: var(--focus-outline-width) solid transparent; } }
@-moz-document url("about:newtab"), url("about:home") { .outer-wrapper .ds-top-sites .top-sites .top-site-outer .top-site-inner > a:is(.active, :focus) .tile { outline: none !important; } }
tagnupip попробуй начать с outer и при необходимости нырнуть глубже в dom или подняться до корня, но тогда уже потребуется !important. FF134 не смотрел
@-moz-document url("about:newtab"), url("about:home") { .outer-wrapper .ds-top-sites .top-sites .top-site-outer { --newtab-primary-action-background: transparent; --newtab-primary-action-background-dimmed: var(--newtab-primary-action-background); } }
Dumby, намудрил так, а как бы вы сделали?
(async () => { var elem = document.createElement('label'); var lbl = parseInt(Services.appinfo.version); elem.innerHTML = lbl; elem.style.cssText = ` padding-block: 1px; font-size: 13px; color: gray; `; gURLBar._inputContainer.append(elem); })();
Я помотрел в 134, и preventClickEvent() используется только в gre omni,
и только в двух местах, и оба связаны с автоскроллером
Сколько не тестил, ни разу эта функция не вызывалась из AutoScrollChild.sys.mjs, а из browser-custom-element.js вызывается всегда. Смог заткнуть пасть через обсервер + удаление оконных прослушек на mouseup и mousedown с последующим закрытием попапа, но часто этот autoscroll глючит (в сочетании зажатой средней кнопки и небольшого сдвига), выскакивает предупреждение с последующим сбросом моих действий, так что забил.
Вот, допустим, попробуем вызов автоскроллера по Alt+ЛКМ
Да, спасибо. Крутой способ встраивания в контентский процесс и подсовывания юзер прослушки с имитацией нажатия средней кнопки мыши в handle(). Даже через скрипт работает, а не только из консоли.
Тогда можно попробовать заменить click на mousedown
А если бы не получилось, в том числе и через mouseup, то какие есть альтернативы? Не факт, что нативную функцию preventClickEvent() ваяли только для авто скролла и с каким-то странным пояснением;
"The following mouse click/auxclick event on the autoscroller shouldn't be fired in web content for compatibility with Chrome".
Пробовал нивелировать через stopPropagation() - работает, но тогда и авто скролл не появляется, а как его самому запустить - не знаю
Dumby средства этого целевого кейса позволяют нам скрыть вкладку без отображения ее по кнопке список всех вкладок, что совсем не радует. Хорошо хоть в инспекторе видно, что скрыта
Dumby потестировал ваш код на паре случаев, когда сам брауз скрывает вкладки:
1 открытие исходного кода страницы в новом окне
2 кнопка Firefox View
Напрашивается не исключение для about:blank, а задержка с правильно подобранным значением для alert, чтобы видеть актуальное, а не переходное состояние label и url для hidden tabs.
Правильно ли я все сделал?
[spoiler][code](url => {
if (location != url) return;
var adr = record => record.target.linkedBrowser.currentURI.spec;
var labelify = record => record.target.label;
var tabAndHidden = record => record.target.matches("tab.tabbrowser-tab[hidden=true]");
(new MutationObserver(mutations => {
var hiddenTabsRecords = mutations.filter(tabAndHidden);
hiddenTabsRecords.length && setTimeout(() => {
alert(
'"true" hidden attribute on tab(s) detected.\n\n'
+ hiddenTabsRecords.map(labelify).join("\n")
+ '\n\n' + hiddenTabsRecords.map(adr)
);
}, 155);
}))
.observe(
gBrowser.selectedTab.parentNode,
{subt
Dumby спасибо, то что нужно. Добавил вывод url вкладки и стало вообще зашибись
Dumby как мониторить вкладки на добавление (наличие) атрибута hidden = true? При этом выводить алерт или удалять атрибут. Прослушка TabHide не катит, т.к. редко кто скрывает вкладку через браузный hideTab()
Посмотри в консоли, набрав BrowserCommands.closeTabOrWindow + "";
ценный совет, а то я совсем забыл, что тело функции можно посмотреть из консоли
Если сделают — атрибут 'oncommand' работать, наверно, перестанет
Сделал без on, попутно еще к крестику добавил плюсик, но BrowserCommands.openTab() не впечатлило, а вот так вроде самое оно
func: () => gBrowser.addAdjacentNewTab(gBrowser.selectedTab) + gURLBar.focus(),
fuchsfan, я просто предположил. Если чел подробно не объясняет в какой версии работало и как, то можно только гадать. И атрибута unreadTab не помню, может скриптом сделано