для работы userChromeJS в FF63 Вам понадобится скачать 3 файла и добавить 1 строчку:
https://github.com/alice0775/userChrome.js/raw/master/userChrome.js
https://github.com/alice0775/userChrome.js/raw/master/userChrome.xml
https://github.com/alice0775/userChrome.js/raw/master/rebuild_userChrome.uc.js
Сохраняете у себя в профиле в папке chrome (там где userchrome.css лежит).
В конец файла userchrome.CSS (который вероятно уже есть у вас) добавляете:
keyset#mainKeyset {-moz-binding: url("userChrome.xml#js");}
Все установлено.
Скрипты от Aris-t2, т.е. по линку который вы дали, можете найти здесь:
https://github.com/Aris-t2/CustomJSforFx/tree/master/scripts
Обсуждение здесь:
https://github.com/Aris-t2/CustomJSforFx/issues
ваш скрипт называется restart_button.uc.js, в данном случае - это кнопка.
сохраняете этот скрипт в ту же папку chrome (где 3 файла вышеназванные) и перезапускаете фокс, появится новая кнопка..
Есть и другие способы запуска, не претендую на уникальность, но даю то, что будет работать и дальше.
Те 3 скрипта обновлять после каждого глобального обновления фокса.
Отсутствует
j23, dezhnev
Приветствую.
Вот тут описаны все возможные меторы установки Скриптов.
Использую метод 2. В кратце небходимо следующее:
В папке, где установлена Лиса обновить/создать
Mozilla Firefox\defaults\pref\channel-prefs.js
Mozilla Firefox\config.js
В папке профиля создать
\Profiles\имя профиля\chrome\userChrome.js - тут прописываются сами скрыты, которые надо загружать
\Profiles\имя профиля\chrome\userChrome\ - тут лежат файлы скриптов
Подробности можно найти по ссылкам упомянутым выше.
На текущий момент есть 2 скрыпта для перезагрузки
restart_button.uc.js - кнопка на панель навигации
restart_item_in_menu.uc.js - пункт в штатном меню Лисы
Отредактировано Acid Crash (26-10-2018 16:54:17)
Отсутствует
dezhnev
Acid Crash
Спасибо за подробные инструкции! Иду разбирать.
UPD: Сделал по методу 2. Всё получилось. Манипуляций, конечно, много, но оно того стоит, полезная функция.
Отредактировано j23 (26-10-2018 17:37:45)
Отсутствует
base239
https://github.com/VitaliyVstyle/VitaliyVstyle.github.io/blob/master/stylesff/toolbars/vertical_top_bottom_bar.zip
Настраиваете в файле \bindings\toolbars.xml
P.S. Если захотите уменьшить ширину боковой панели, поищите в теме. У меня ссылка не сохранилась.
Отсутствует
Боковая панель:
Отсутствует
А Папку закладки никак не исправить?
Это вроде Dumby биндинг делал, к нему не обращались?
Попробовал на скорую руку исправить вроде работает https://github.com/VitaliyVstyle/Vitali … ontext.zip
биндинг в виде отдельного файла xml, в css встраивать неохота.
после 63 версии дополнительная панель стала белая, а у меня черная тема...
исправил https://github.com/VitaliyVstyle/Vitali … op_bar.zip
Отредактировано Vitaliy V. (26-10-2018 17:35:13)
Отсутствует
Vitaliy V., я не знаю кто автор, кодом поделился villa7. Пункт в меню появился, но не работает.
- Большое ли значение, что у меня в userChrome.css первая строка без "" вокруг адреса?(добавление кавычек не помогло). Все остальные коды фунциклируют.
Отсутствует
vitalii201
там два пункта должно я в основном исправлял обновить ссылку, а папка закладки попробовал в боковой панели вроде работала, но теперь вижу не совсем.
Потом ещё посмотрю, а как она раньше работала?
Отсутствует
Vitaliy V., в Боковой панели, в Поиске закладок пишите название необходимой закладки, по мере набора появляется список закладок в названиях которых есть набранные символы. ПКМ по названию – Папка закладки – открывается папка с этой закладкой. Нахождение родительской папки закладки в дереве закладок
Отсутствует
в Боковой панели
пробуйте, теперь в боковой нормально, но есть проблема в окне библиотеки - папка где находится закладка должна быть развернута в левой части окна.
исправлено
Отредактировано Vitaliy V. (27-10-2018 13:41:37)
Отсутствует
Vitaliy V., увы, не работает. Доп. панель(пустая) появляется, но сейчас даже нет пункта "Папка закладки" в меню. С "кавычками" в «@namespace url("http … .xul");» мой userChrome.css вообще "отключается". Наверное в 63 эту функцию уже не добавить. Обойдусь легко. Большое спасибо!
Отсутствует
vitalii201
у меня все работает, давайте ваши стили посмотрю что там нахимичили...
Отсутствует
Vitaliy V. http://rgho.st/7KKwV4V96
Отсутствует
vitalii201
Вот добавил в ваш userChrome.css в начале
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); #placesContext .box-inherit.scrollbox-innerbox { -moz-binding: url("./bindings/placesContext.xml#extraMenuitems") !important; } /*Цвет папок*/ treechildren::-moz-tree-image(container), .bookmark-item[container="true"] { fill: #0078ad !important; fill-opacity: 1 !important; } /*Панель поиска вверху*/ .browserContainer findbar { -moz-box-ordinal-group: 0 !important; } .findbar-container {-moz-box-direction: reverse !important;} .browserContainer findbar, #viewSource #FindToolbar { -moz-box-ordinal-group: 0; position: fixed !important; right: 30px; margin-top: -1px !important; box-shadow: 1px 2px 3px rgba(0, 0, 0, .25) !important; border: 1px solid threedshadow !important; border-top: none !important; border-radius: 0 0 3px 3px; transition-property: margin-top, opacity, visibility !important; } .....
Отредактировано Vitaliy V. (27-10-2018 14:05:25)
Отсутствует
Можно ли с помощью userChrome.css изменить индикатор загрузки во вкладке при обработке соединения, как это было в старых версиях. В файле omni.ja нашел ту самую иконку loading.png синее кольцо) новую не нашел. да и иконки стали в форматах *.svg... хотелось бы задествовать старый стиль загрузки. как то можно?
Отредактировано Totem (08-04-2020 21:33:16)
Отсутствует
Можно ли с помощью userChrome.css изменить индикатор загрузки во вкладке при обработке соединения, как это было в
старых версиях.
Скачайте набор стилей https://github.com/Aris-t2/CustomCSSforFx/releases/download/2.1.8/custom_css_for_fx_v2.1.8.zip
В папке ./css/tabs/ есть стили tab_throbber_....css, а в папке ./image/ соответствующие иконки. Вставляйте себе в userChrome.css. Надеюсь, разберётесь.
Отсутствует
Каким способом можно инспектировать выпадающий список адресной строки? Опция "Отключить автоскрытие всплывающих окон" в инструментах браузера не действует на данный список. Была идея временно использовать код, где выпадающий список отображается развернутым постоянно, но сам не смог составить.
Отсутствует
xrun1 Спасибо! буду пробовать )
Добавление:
custom_css_for_fx_v2.1.8. Не плохо!!! Спасибо тем авторам, кто создал этот кастом! преобразился)) напомнил мне еще совсем старые версии. Вот только индикатор и вовсе пропал-отсутствует. Буду уточнять, не спеша.. А делал я так... сперва- просто бросил распакованный архив в пустую папку сhrome.. возможно где-то раскомментировать нужно. Вобщем разбираться надо будет с папками и прочими значками. этот траур глобус / папки мрачные и прочие, и без надобности тревожить omni.ja архив с подменой в нем иконок.
Отредактировано Totem (27-10-2018 19:55:23)
Отсутствует
пробуйте
Безотносительно старого кода. Заметил небольшой нюанс.
Ожидаемый результат:
В правой части Библиотеки должно появиться содержимое папки TestFolder,
все три закладки — aaaaa, bbbbb и ccccc
Всамомделишний результат:
Ничего не происходит, в правой части Библиотеки остаётся только закладка bbbbb
Иными словами: «Папка закладки» не работает, если закладка из поисковой выдачи
содержится в папке, которая уже выделена в левой части Библиотеки.
Я, кстати, пробовал из-под Firefox 63 записать отдельно только «Папка закладки»,
но как-то показалось, что оно что-то подламывает, ошибки в консоли появляются
при сворачивании папок. А теперь это повторить не получается.
Вобщем, так, просто для глазами пробежать
@-moz-document url(chrome://browser/content/places/places.xul), url(chrome://browser/content/places/bookmarksSidebar.xul) { #placesContext_editSeparator { --code:((sep, popup) => { var label = "\u041F\u0430\u043F\u043A\u0430 \u0437\u0430\u043A\u043B\u0430\u0434\u043A\u0438"; var listener = { handleEvent(e) { if (e.target != popup || this.shouldHide(e)) return; var menuitem = document.createElement("menuitem"); menuitem.setAttribute("label", label); menuitem.setAttribute("oncommand", "creator.goParentFolder();"); menuitem.creator = this; sep.before(menuitem); this.handleEvent = e => { if (e.target != popup) return; var sh = this.shouldHide(); if (Boolean(menuitem.clientHeight) ^ sh) return; if ((menuitem.hidden = sh)) return; menuitem.disabled = false; } }, shouldHide() { var node = popup._view.selectedNodes.length == 1 && popup._view.selectedNode; return !node || !PlacesUtils.nodeIsBookmark(node) || node.parent.type != node.RESULT_TYPE_QUERY; }, get goParentFolder() { var tree = popup._view; if (tree.id[0] == "b") { delete this.library; var func = () => this.sidebar(tree); } else { delete this.sidebar; var list = document.getElementById("placesList"); var func = () => this.library(popup._view, list); } delete this.goParentFolder; return this.goParentFolder = func; }, sidebar(tree) { var {bookmarkGuid} = tree.selectedNode; if (tree.result.root.uri.startsWith("place:terms=")) tree.place = tree.place; tree.selectItems([bookmarkGuid]); this.scroll(tree); }, async library(tree, list) { var {bookmarkGuid} = tree.selectedNode; var {parentGuid} = await PlacesUtils.bookmarks.fetch(bookmarkGuid); if (PlacesUtils.getConcreteItemGuid(list.selectedNode) == parentGuid) list.selectItems([PlacesUtils.virtualAllBookmarksGuid]); else { var rows = list.view._rows, lastRow = rows[rows.length - 1]; if (lastRow.bookmarkGuid == PlacesUtils.virtualAllBookmarksGuid) lastRow.containerOpen = true; } list.selectItems([parentGuid]); await new Promise(resolve => setTimeout(resolve, 100)); this.scroll(list); tree.selectItems([bookmarkGuid]); this.scroll(tree); }, scroll(tree) { var pos = 0.5, tbo = tree.treeBoxObject; var ind = tbo.view.selection.currentIndex; var first = tbo.getFirstVisibleRow(); var visibleRows = tbo.height/tbo.rowHeight; var newFirst = ind - pos*visibleRows + 1; tbo.scrollByLines(Math.round(newFirst - first)); } }; listener.handleEvent({target: popup}); popup.addEventListener("popupshowing", listener); this.destructor = () => popup.removeEventListener("popupshowing", listener); })(this, parentNode); -moz-binding: url('data:text/xml,\ <bindings xmlns="http://www.mozilla.org/xbl"><binding id="goParentFolder"><implementation>\%0A\ <constructor>eval(windowUtils.getVisitedDependentComputedStyle(this, "", "--code"));</constructor>\%0A\ <destructor>destructor();</destructor>\%0A\ </implementation></binding></bindings>' ); } }
Отредактировано Dumby (27-10-2018 20:04:51)
Отсутствует
Dumby, с вашим кодом и у меня заработало(в Боковой панели. Библиотекой не пользуюсь). Спасибо!
Отредактировано vitalii201 (27-10-2018 20:18:04)
Отсутствует
Безотносительно старого кода
сейчас проверил ваш старый код https://forum.mozilla-russia.org/viewto … 79#p677379
тот же самый нюанс о котором пишите есть на 52 на др. не проверял.
А к исправленному коду для "Обновить ссылку" замечаний нет?
UPD: у себя нюанс тоже исправил.
Отредактировано Vitaliy V. (27-10-2018 23:40:26)
Отсутствует
А к исправленному коду для "Обновить ссылку" замечаний нет?
Ой, я даже не смотрел. Вроде всё нормально.
Впрочем, могу попробовать высосать что-нибудь из пальца.
Или вот совсем дичь про getMostRecentWindow("navigator:browser")
Как известно, Firefox может открывать такие окна по просьбе WebExtensions
Чтобы не грузить всякую шнягу, воспользуемся, для примера,
заведомо доверенным Link_Properties_Plus_WE.
Итак, ставим LPPW, ПКМ по какой-нибудь ссылке, ЛКМ по пункту «Свойства ссылки»,
откроется LPPW-окно. Теперь открываем окно Библиотеки и располагаем
все три окна так, чтобы их удобно было активировать.
Щёлкаем окно браузера, в Библиотеке «Обновить ссылку» — закладка
обновляется параметрами активной вкладки окна браузера. Всё OK.
Щёлкаем окно LPPW, в Библиотеке «Обновить ссылку» — закладка
обновляется параметрами невидимой активной вкладки окна LPPW.
Ну то есть moz-extension://xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/properties.html?url=http%3A//…
Уж не знаю баг это, или наоборот, фича, но то, что со стороны
это может показаться слегка неожиданным считаю весьма вероятным.
Отсутствует
Dumby
private переименовал не заметил раньше у меня не ругалось в консоли...
насчёт WebExtensions пофиг на них, не стоит все окна перебирать из-за этого.
Отсутствует