Приведённый код как раз именно для UCF (для custom_script.js)
Благодарю за просветление Вроде, нашёл его в теме для СВ, ну да ладно
Отсутствует
Fx 91.4.1 ESR
Можно ли с помощью UCF переместить findbar в нижнюю панель (#browser-bottombox) и
сделать так, чтобы он занял её полностью и отображался постоянно, даже после перезапуска браузера?
Дело в том, что если:
privacy.resistFingerprinting;true
privacy.resistFingerprinting.letterboxing;true
то, при появлении findbar, уменьшается viewport — появляются серые полосы сверху и снизу.
Для уведомлений помогает стиль: display:block и position:fixed,
а с findbar’ом не получается. Т.е., он отображается поверх содержимого страницы,
но серые полосы всё-равно появляются.
Если подвинуть findbar с помощью margin, то нижнюю серую полосу удаётся убрать, но верхняя полоса остаётся.
P.S. Из «Настройки внешнего вида…» меня изгнали, стало быть нужен именно скрипт.
Отредактировано negodnik (23-01-2022 17:58:43)
Отсутствует
переместить findbar
Ты так говоришь, как будто он один на всё окно,
а не для каждой вкладки свой, отдельный.
уменьшается viewport — появляются серые полосы
Если не нравятся серые полосы зачем тогда включать letterboxing
Вот этот стиль не образует ресайз, вдруг подойдёт.
изгнали, стало быть нужен именно скрипт
Не слишком ли надумано?
Написано «UCF», а для него есть отдельная тема.
Вот и всё, ничего более.
Отсутствует
«Показать весь журнал» и «открыть about:config»
Win7
Отсутствует
Dumby
> Ты так говоришь, как будто он один на всё окно
Это просто моя хотелка. Готов умерить аппетиты. Просто переместить его в нижнюю панель.
Пускай отображается не постоянно и не занимает всю панель. Есть же кнопка.
Если она не сможет работать в нижней панели — ничего страшного.
> Если не нравятся серые полосы зачем тогда включать letterboxing
Надо.
Стиль видел.
Спасибо.
Отсутствует
Ищу скрипты для custom_script.js- «Показать весь журнал» и «открыть about:config»
Два в одном подойдёт?
try { CustomizableUI.createWidget({ id: "ucf_ShowHistory_AboutConfig", type: "custom", label: "Показать журнал / about:config", tooltiptext: [ "ЛКМ: Показать журнал", "ПКМ: about:config" ].join("\n"), // defaultArea: CustomizableUI.AREA_NAVBAR, localized: false, onBuild(doc) { var win = doc.defaultView; var trbn = doc.createXULElement("toolbarbutton"); trbn.id = this.id; trbn.tooltipText = this.tooltiptext; trbn.label = this.label; trbn.className = "toolbarbutton-1 chromeclass-toolbar-additional"; trbn.setAttribute("context", false); trbn.setAttribute("image", "chrome://browser/skin/history.svg"); trbn.addEventListener("click", function(e) { if (e.button == 0) { e.preventDefault(); e.stopPropagation(); win.SidebarUI.toggle("viewHistorySidebar"); } else if (e.button == 2) { win.switchToTabHavingURI("about:config", true, { relatedToCurrent: true, triggeringPrincipal: Services.scriptSecurityManager.getSystemPrincipal() });; } }, false); return trbn; }, }); } catch(e) {}
«The Truth Is Out There»
Отсутствует
хотелось бы в новом окне или в новой вкладке
Подтянутся гуру и может подскажут, как это реализовать.
А пока попробуйте в коде заменить строку:
win.SidebarUI.toggle("viewHistorySidebar");
на строку:
win.PlacesCommandHook.showPlacesOrganizer("History");
Возможно, что вам такой вариант подойдёт.
«The Truth Is Out There»
Отсутствует
его
их
Вообще, вроде можно там findbar-склад устроить.
Надо смотреть, не заглючит ли чего.
Код для custom_script_win.js
(async uriStr => { var attr = "current"; await delayedStartupPromise; gBrowser.browserBottomBox = document.getElementById("browser-bottombox"); Object.assign(gBrowser, eval(`({${gBrowser._createFindBar}})` .replace(/\/\/.+?\);/s, "this.browserBottomBox.append(findBar);") .replace("return f", `aTab.selected && findBar.toggleAttribute("${attr}");\n $&`) )); windowUtils.loadSheetUsingURIString(uriStr.replace("A", attr), windowUtils.USER_SHEET); var arr = [["TabSelect", e => { e.target._findBar?.toggleAttribute(attr); e.detail.previousTab._findBar?.removeAttribute(attr); }], ["TabClose", e => e.target._findBar?.remove()]]; var tc = gBrowser.tabContainer; for(var args of arr) tc.addEventListener(...args); var id = Symbol(), ucf = ucf_custom_script_win; ucf.unloadlisteners.push(id); ucf[id] = {destructor: () => arr.forEach(args => tc.removeEventListener(...args))}; })("data:text/css,%23browser-bottombox>findbar:not([A]){display:none!important;}");
Отсутствует
findbar-склад устроился, но и полосы не пропали. Странный этот letterboxing.
Полосы появляются, даже если изменить высоту панелей, и не пропадают после перезапуска.
И с вышеупомянутым стилем Vitaliy V. не пропадают, даже если оставить в userChrome только этот стиль.
В общем, если нужную высоту панелей не угадаю, буду жить с полосами.
Спасибо за помощь.
Отсутствует
После подклучкния user_chrome_files у меня пропала способность открывать Menu bar путем нажатия клавиши Alt, можно ли включить это обратно?
Если бы это было так то уже бы другие пользователи об этом сообщили, и у мненя на это работает. Скорее всего проблема у вас в другом стиле или скрипте.
передачи URL из контекстного меню в приложение путём расширение async_run_applications
Да я собирался сделать, хотя мне не нужны пункты для вызова приложений в контекстном меню особенно когда их много,
обычно когда мне нужно скачать по ссылке я копирую ее адрес в буфер обмена
и вызываю пункт меню кнопки async_run_applications для вызова с аргументом %OpenClipboardURI из буфера обмена.
Ну или есть скрипт https://forum.mozilla-russia.org/viewto … 54#p782454
Отредактировано Vitaliy V. (28-01-2022 17:48:10)
Отсутствует
Vitaliy V. или Dumby - проблема с скриптом Контекстный поиск - при клике или выборе строк ничего не происходит.
Не работает на версии Firefox 91.5 и выше на МакОС, при этом на Linux скрипт работает без проблем на версиях от 80 до новейшей.
На Firefox 84.0.2 под МакОС работает, на версии Firefox 91.5 в контекстном меню создаётся подменю поиска, но при клике на любой из строк ничего не происходит. В консоли также никаких ошибок не появляется, но страница поиска не открывается. Подключал или в custom_script_win.js или в CustomStylesScripts.jsm, меню поиска в контекстном меню создаётся, но пункты меню не работают:
scriptschrome: { // Для докум. окна браузера [ChromeOnly] domload: [ // По событию "DOMContentLoaded" { path: "ucf_contextsearch.js", ucfobj: true, },
Как исправить работу скрипта Контекстный поиск для Firefox 90+ ??? (т. к. некоторые скрипты Dumby делал только под новый Firefox)
Отредактировано Dobrov (05-02-2022 14:41:57)
Отсутствует
Отсутствует
Dobrov
Там же по умолчанию включено нативное контекстное меню, отключи
widget.macos.native-context-menus - false
так хоть стиль для меню можно использовать, мой кстати работает на первый взгляд.
А иначе только на ...addEventListener("command", ... реагирует и только на пункты в подменю menuitem
на menu не срабатывает там где дефолтный поиск
Отсутствует
Кстати, заметил что там небольшой кусочек замысла
потерялся (возвращаемое значение), пустяк конечно, но всё же.
/* this.handler = ev => { if (ev.target != popup) return; menu.hidden = searchSelect.hidden; }; this.handlerRebuild = () => this.handler(e) || this.rebuild(menu); */ this.handler = e => e.target != popup || (menu.hidden = searchSelect.hidden); this.handlerRebuild = e => this.handler(e) || this.rebuild(menu);
То есть, когда searchSelect не hidden, и стрелками клавиатуры
перемещаешься по пунктам #contentAreaContextMenu вверх-вниз,
то оно на нём как-бы запинается, пробуксовывает.
Если написать searchSelect.style.setProperty("display", "none", "important");
то нормально.
Отредактировано Dumby (06-02-2022 09:35:07)
Отсутствует
кусочек замысла
потерялся (возвращаемое значение), пустяк конечно, но всё же.
Ок, поправил это похоже после последней правки упустил когда проверку e.target != popup добавлял
которой кстати нет в первоначальном варианте
Отсутствует
Dumby - доработал твой код, исправил неудобство кнопки «Быстрое переключение параметров about:config», которое есть во всех примерах форума:
Флажок строки под-меню не выбирается, если параметр сброшен Правым кликом по строке меню (отсутствует в настройках).
Теперь поведение выбора строк подменю одинаковое для параметров по-умолчанию, независимо от того, есть они в about:config или нет (сброшены). Как пример, в коде «Автовыбор значений по-умолчанию» включен в опциях: Загрузки, Многопоточный режим вкладок, User Agent.
Например, к строке ЮзерАгент добавляется всего лишь такой код: [ua, "встроенный"].
Скрипт брать из демо-профиля шапки темы, так как код скрипта сокращён и зависит от двух других: win_global.js и ucf_hookClicks.js.
ранее Dumby делал «Автовыбор значений по-умолчанию», но способ тащил за собой костыль в 30 строк кода на каждый пункт меню.
Отсутствует