Dumby
А как прописать такой путь "\\user_chrome_files\\_\\opera-proxy.windows-386.exe", и желательно все прописать где "var run = ...", а "var path = ..." убрать, он путает.
Dumby
Как тут такое же сделать? Как здесь. Иконка прокси, чтобы "Active", "Not Active", было на первые две в иконке.
[code]data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' height='80' width='16' viewBox='0 0 48 48'><view id='1' viewBox='0 48 48 48'/><view id='2' viewBox='0 96 48 48'/><view id='4' viewBox='0 144 48 48'/><view id='5' viewBox='0 192 48 48'/><g><rect x='0' y='0' width='48' height='48' rx='3' ry='3' style='fill:rgb(146, 69, 101);'/><path style='opacity:0.25;fill:black;' d='M 16.8,17.6 23.1,23.9 8,26 6.4,32.2 11.4,37.2 3.7,44.8 6.9,48 45,48 C 46.7,48 48,46.7 48,45 V 20 L 31.4,3.4'/><path style='fill:white;' d='M 17.4,3 C 16.7,3 16.2,3.82 16.2,4.91 V 15.9 C 16.2,17 16.7,17.8 17.4,17.8 H 30.6 C 31.3,17.8 31.8,17 31.8,15.9 V 4.91 C 31.8,3.82 31.3,3 30.6,3 H 17.4 M 22.4,20.5 V 23.7 H 6.41 V 32.2
Может кому пригодится, спасибо dobrov. Кстати, тут есть и хоткей, и кнопки-папки, да много чего. Удобная штука, советую) По желанию, можно подвести под личные потребности. Не пропускает в тексте, скорее всего из-за каких-то символов... пришлось так. Вставить в адресную строку.
А да, настроен немного под себя. Если что поменяйте.
[code]data:text/plain;charset=UTF-8;base64,KGFzeW5jKEZmLHRFeHApPT57IC8vIGhvb2sgTW91c2VLZXlzIMKpIER1bWJ5LCBtb2QgMi4wIERvYnJvdiDQutC90L7Qv9C60Lgg0LrQvtC80LDQvdC00Ysg0YHQutC40L3igKYKVGFnPXsKCiJkb3dubG9hZHMtYnV0dG9uIjoneycrIC8v0L3Rg9C20LXQvSBTaW5nbGVIVE1MLmpzbSwg0LfQsNCy0LjRgdC40LzRi9C5IHVjZl9RdWlja1RvZ2dsZQpg4peJ77yaICAgIOKsh++4jmZvbGRlciBbRG93bmxvYWRzXQril6jvvJogICAgICAgICAgIOKenFNhdmUgUGFnZQril4nvvJogICAgICAgICAgIG9uIFBob3RvIOKenFNhdmXvuLBgKyAvL9C00LXQudGB0YLQstC40Y8g0LrQu9Cw0LLQuNGIfNC80YvRiNC4LCDQv9C+0LTRgdC60LDQt9C60LgKYOKXpy1sb25n77yaIOKsh++4jmZvbGRlciBbRG93bmxvYWRzXVxuCuKXqO+8miAgICAgICAgICAgICAgIChBbHQrUykg4p6cU2F2ZQogICAgICAgICAgICAgICB0byBTaW5nbGVIVE1MIG
Оказывается все итак работает. По сообщению выше, думал есть какие-то проблемы в 117.
OmTatSat
Мне кажется, или у вас скриншоты странные?) А так, да, CB тоже работает вместе с ucf, а вот про xiaoxiaoflood, не знал.
Мне казалось, что это как иметь 4 антивируса, или как tampermonkey и greasemonkey, главное, чтобы не конфликтовало и не потеряться во всем этом. А так, почему нет.
add: Маленькие какие-то, ничего не видно. Или только у меня так? Те которые в ссылках, в спойлере нормально отображается.
Letterman
Как нашли решение? Просто интересно, может пригодится, сам в этом не соображаю.
OmTatSat
Тут не все так просто, из-за этого и не получится такой удобный менеджер скриптов прикрутить, наверно придется всю ucf тогда переделывать. Мне тоже у него понравился тот менеджер, очень удобный. Но, возможно, многое не прикрутишь, как в ucf. Потому и остановился на ucf. Здесь к тому же что-то подскажут, что-то обновляется. У каждого свой плюсы и минусы, и свой особенности.
Вобщем, как-то так
Классно, отрабатывает лучше чем было.
OmTatSat
Давайте лучше в соответствующую тему.
Если скрипты работают через метод xiaoxiaoflood, то CustomButtons не нужен.
Попробуйте присоединить ucf_findbarclose.js. У xiaoxiaoflood, по идее еще в меню нужно включить, сам файл. Сработает ли у него, не ясно, не пробовал.
Если хотите через ucf, то скачивайте профиль dobrov, копируйте chrome и пробуйте, оставив нужное, добавлять или убирать скрипты в ucf нужно в файле CustomStylesScripts.jsm. Инструкция на первой странице, там кроме профиля нужно еще config.js, defaults/pref/... там тоже добавлять.
Northtech
У меня так, вроде не сильно отличается.
[spoiler=special_widget.css][code]@-moz-document url("chrome://browser/content/browser.xhtml") {
toolbarpaletteitem[place="palette"] > toolbarspring[id^="customizableui-special-spring"] {
background: white url("../vertical_top_bottom_bar/svg/spring.svg") center no-repeat !important;
border: none !important;
outline: 1px solid currentColor !important;
outline-offset: -1px !important;
min-height: 37px !important;
opacity: 0.3 !important;
}
toolbarpaletteitem[place="toolbar"] > toolbarspring[id^="customizableui-special-spring"] {
background: white url("./svg/spring.svg") center no-repeat !important;
border: none !important;
min-width: 34px !important;
min-height: 14px !important;
outline: 1px solid currentColor !important;
outline-offset: -1px !important;
margin-block: 2px !important;
margin-inline: 1px !important;
opacity: 0.3 !important;
}
toolbarpaletteitem[place="palett
OmTatSat
Нужно ucf(user_chrome_files), потом через скрипты добавить. Можно сам файл, убрав лишнее. У вас скрипты работают?
По идее можно и через CustomButtons, в инициализацию, но я во всем этом не силен. Просто дал направление. Но вам точно в темы по скриптам. Старый поиск, скорее всего вам не сделают. И еще, ориентируйтесь по версий вашего браузера.
https://forum.mozilla-russia.org/viewto … 9591&p=680
https://forum.mozilla-russia.org/viewto … =76642&p=1
https://github.com/VicDobrov/UserChromeFiles
Dumby
Как можно поправить? Не работает из-за FileUtils.getFile. При выходе, удалялись ненужные файлы в профиле.
try{var closer={observe:(s,topic,data)=>{if(topic=="quit-application"){ //const clipboard=Cc["@mozilla.org/widget/clipboard;1"].getService(Ci.nsIClipboard);clipboard.emptyClipboard(clipboard.kGlobalClipboard);//Clear clipboard FileUtils.getFile("UChrm",["user_chrome_files","_","sqlite[Fx].vbs"]).launch();//Run external script }}};Services.obs.addObserver(closer,"quit-application",false);}catch(ex){}
По ссылке на баг, прочитал такое "IOUtils and PathUtils offers async alternatives", но дуб дубом в этом. Это что-то вроде замены FileUtils.getFile()?
Dumby
Убрал, в config.js тоже, но у меня теперь отвалились хоткей, которые похоже зависят от него.
Что делать? Если уберут в 117, придется обходиться таким?
var p=Services.dirsvc.get('UChrm',Ci.nsIFile);p.initWithPath(p.path+"...");p.launch();
momo2000
chrome://global/content/config.xhtml?filter=
Удалили такую возможность, а в новой такого нет. Есть возможность вернуть старый about:config. То есть через костыли.
ARG, tampermonkey
6e73epo
Что за кнопка alltabs-button, что-то понять не могу? Разобрался, а что, удобно.
Oakwood
Что делает код?
// Поражаюсь с себя, как не прочитал спойлер. Мда. Еще и задал вопрос)
Dobrov
То что надо. Ничего теперь не конфликтует, но как-то не практично. Раньше все комбинаций работали где угодно, за исключением this.skip||. Старый варинт как-то практичнее в этом плане. Вот `1234567V, сейчас с ними все отлично, но из-за них теперь страдают и другие комбинаций. Как-то так) Все же, старый варинт кастомизаций, где ты сам выбирал, что и как будет работать, просто подставив впереди нужный коммент. Более удобен.
Просто как пример, Alt+Ctrl+S, что-то написал в поле ввода, захотел, выделил и сохранил. Теперь такой возможности нет. Ну есть, но как-то не очень удобно.
Сейчас, когда KeyG_4I, он конфликтует из-за preventDefault, в полях ввода он перехватывает стандартные комбинаций пойска. Но вне поля ввода, он этого не делает. В этом и проблема. Это в случае со стандартными хоткеями. Есть тот же F3, где тоже стандартная комбинация пойск, на F2, там расширение у меня, его тоже надо перехватывать с preventDefault. Не знаю, как еще объяснить. В общем, из-за того что все
…Как сделать, чтобы F3 работал везде. С учетом preventDefault. То как сделал, он работает везде, за исключием одного момента, вне поля ввода, preventDefault не срабатывает. Может неправильно вписал?
Просто как пример. Когда нужно, чтобы хоткей работал везде. Тут хоткей не работает в поле ввода, но вызывается стандартный хоткей "поиск". Вне поля ввода, ctrl+g начинает работать нормально.
KeyG_4(){var bar=document.getElementById("ucf-additional-vertical-bar");setToolbarVisibility(bar,bar.collapsed);},
Тут добавил I, работает везде, но тогда вне поля ввода, он не перехватывает preventDefault.
В старом варианте кода, было легче, где надо добавить e.preventDefault, и конфликт не возникал. Может я что-то не так делаю?
KeyG_4I(){var bar=document.getElementById("ucf-additional-vertical-bar");setToolbarVisibility(bar,bar.collapsed);},
del
Dumby
Ура заработало, до этого я лишь правил изменения которые выходили. С последними изменениями, там настолько много чего поменялось в файле, что решил просто скопировать и потом уже менять. Так что, скорее всего с моей стороны были ошибки. Извините, что так долго мозг парил) Решилось.
Похоже проблема и правда была в //e.preventDefault(); в новом файле он закомментиван, я и подумать не мог, что он мог вызвать проблему. Думал, как удобно, не нужно везде его добавлять отдельно, он из коробки уже) Оказывается, мог вызывать столько проблем. С одельными комбинациями, и правда бывает удобно, что он из коробки. Но не в плане одних кнопок, как было у меня.
Dobrov
Насчет, "нафига". Удобно же, чем занимать какие-то комбинаций, которые еще запомни. Тут легче, тем более, они кроме как в полях ввода не используются.
dobrov
Не совсем понял, про ret = keys.skip; // keys = { get skip(){…
Пробовал так, по разному, но ничего не выходит.
Digit3(){keys.skip;openPreferences();},
Digit3(){get skip();openPreferences();},
Digit3(){get skip(){openPreferences();}},
Что значит ret=, первый раз вижу такое значение.
В общем, проблема в том, что `1234567, в полях ввода не пишутся, при рабочих Digit1,2,3,5,6,7. Функций работают, но текст нет. А при this.skip||, текст не работает и функций, в полях ввода, ничего не происходит. Отдельно функций работают. Как-то так.
Остальные хоткей, особо-то и не нужны ведь в полях ввода. Такие как F1,F2, там естественно проблем таких нет.
Dumby
Блогадарю, поправил. Только интересно, что клавиши совсем не работают в полях ввода. Это не связанно с this.skip, до этого еще заметил, но забыл написать. Функций работают, а сам ввод `,1,2,3,4,5.. нет.
Насчет get skip(){return docShell.isCommandEnabled("cmd_insertText");}, мне казалось что нужно переносить, но хотел куда-то в keydown_win=e=>{...}, боялся что напортачу с синтаксисом или еще с чем-то, и будет ли он оттуда работать. А так, он будто не на своем месте. Вопрос, может в keydown_win=e=>{...} уже реализован функционал с this.skip? Просто не разбираюсь, что там написано.
Dobrov
Вопрос больше про "this.skip". Он не будет выполнять код в полях ввода, адресной строке? Или, можно отдельно в начало кода добавить, что-то наподобие e.preventDefault(); Чтобы, лишнего кода не добавлять. Еще вопрос, про (е)/() в чем разница, это клик event? Переносить также с (е)?.
Перенес так, но некоторые срабатывают в полях ввода. Пришлось пока закомментить.
[spoiler][code]keyboard = { // нажатия клавиш Meta 8 Ctrl4 Shift2 Alt1
KeyS_1(e) { save()}, // S+Alt
KeyS_3(e) { // S+Alt+Shift
var single = document.getElementById(hmap.get("#").split('|')[10]);
single ? single.click() : save(); // имитировать клик кнопки
},
KeyS_5(e) { saveSelectionToTxt();}, // S+Alt+Ctrl
KeyX_1(e) { userjs(e)}, // X+Alt внешний скрипт
KeyQ_5(e) { // Q+Alt+Ctrl CleanCache - Перезапустить, удалив кэш
var cancelQuit = Cc["@mozilla.org/supports-PRBool;1"].createInstance(Ci.nsISupportsPRBool);
Services.obs.notifyObservers(cancelQuit, "quit-application-requested", "restart");
if (c
Dobrov
Вопрос, могу ли я перенести все отсюда, сюда в var keys = {}. По идее можно, просто думаю, а если в полях ввода будет мешаться код. С дефолтными клавищами, можно также e.preventDefault(); впереди? Просто не совсем представляю, как должно все выглядеть. А для чего userj(e), а где-то просто ()? За что отвечает (e). Да знаю, совсем ноль в этом. Просто потребитель) Спасибо за полезности, и Dumby за помощь.