Vitaliy V. сделайте пожалуйста для user_chrome_files еще одну кнопку "Переключить Куки" из add_toolbar_buttons
Отсутствует
AutoCloseBookMarkFolder + AutoCloseHistoryFolder + SidebarBookmarkSearchOpenFolder + undoBookmarksContextMenu.
Отличные скрипты, спасибо. Только не понял, как должен работать undoBookmarksContextMenu? У меня в контекстном меню закладок появились два неактивных пункта Undo и Redo, как их задействовать то?
Отсутствует
У меня не цепляются скрипты. Что я сделал не так?
Если правильно помню, то в папке chrome создаёте файл userChrome.uc.js, а потом только в папку chrome закидываете файлы с расширением .uc.js, например SidebarBookmarkSearchOpenFolder.uc.js и всё работает.
CustomJSforFx/userChrome.uc.js at master · Aris-t2/CustomJSforFx · GitHub
Отсутствует
Undo и Redo, как их задействовать то?
Удалите закладку - увидите. В принципе, этот файл особенно не нужен, горячие клавиши и так работают.
Виталий выше дал способ, как их прицепить в ucf.
Отредактировано xrun1 (28-08-2020 02:47:26)
Отсутствует
Vitaliy V.
Извиняюсь. Я тупил вчера. Это шаблон.
Подскажите для custom_script_win шаблон? И правильный ли это файл для этих скриптов? И не нужны ли в них правки, как в SidebarModoki?
Сами скрипты в предыдущем посте.
Вот этот шаблон попробовал, в итоге профиль пришлось из бэкапа восстанавливать, хотя поначалу все работало. )
setTimeout(() => { var loadScripts = ((name) => { try { Services.scriptloader.loadSubScript(`chrome://user_chrome_files/content/custom_scripts/import/${name}`, window, "UTF-8"); } catch(e) {} }); loadScripts("s_ExtensionOptionsMenu.rus.uc.js"); loadScripts("s_MemoryMinimizationButton.uc.js"); loadScripts("s_ViewImageInTab.uc.js"); loadScripts("s_Undo_CloseTab_Button.uc.js"); // и так далее }, 0);
Отредактировано _zt (28-08-2020 07:26:01)
Отсутствует
как то можно заменить песочные часы появившиеся на вкладках в 80-той. версии ?. на то что было до этого. шарики там бегали по горизонтали
https://forum.mozilla-russia.org/viewto … 76#p783576
В about:config создать числовой параметр ui.prefersReducedMotion — 0 https://forum.mozilla-russia.org/viewto … 88#p784488
Отредактировано sandro79 (29-08-2020 01:25:35)
Отсутствует
Vitaliy V. пишет
Проверяйте кто там этот стиль использует Вкладки ниже новый стиль для 78+
Попробовал разные подставки - не получается порядок:
1. Закладки
2 .Вкладки
3. Навигация
Либо табы внизу остаются, либо букмарки от навигации не отрываются. И на 68 и на 78.
По большому счету, мне не нужны табы над контентом, мне нужны букмарки под меню.
Хотелось бы вернуть то, что я поддерживал в фф с 3 версии - с 2008! Any chance?
Отсутствует
Мне не важно, где код. Главное, что работает. Осталось вот так
ну если в custom_script_all_win.js больше нет ничего и не будет то логичнее перенести код в custom_script_win.js
можно изменить по быстрому
load_scripts_by_url[location.href]?.(window);
на
load_scripts_by_url["chrome://browser/content/browser.xhtml"](window);
Сделайте пожалуйста еще для этих, желательно так же, что бы можно было файлы в подпапку кинуть:
Extension Options Menu
этот для custom_script.js подходит, изменил, добавил там кое-чего
https://forum.mozilla-russia.org/viewto … 29#p784529
MemoryMinimizationButton
этот подключайте к "chrome://browser/content/browser.xhtml"
а кнопку так же как с SidebarModoki.uc.js
И эту как угодно - ViewImageInTab
это тоже к "chrome://browser/content/browser.xhtml" или в custom_script_win.js
document.querySelector("#context-viewimage").setAttribute("oncommand", 'openWebLinkIn(gContextMenu.imageURL,"tab")');
сделайте пожалуйста для user_chrome_files еще одну кнопку "Переключить Куки" из add_toolbar_buttons
Ну все расширение по частям разберут, вам же вроде Dumby делал для Куки?
razoo
Да можно сделать но не сочетается такое расположение с моим скриптом, так что только без него
Добавлено 29-08-2020 00:21:23
Подскажите для custom_script_win шаблон?
а шаблон почти тот же см. выше для xrun1 это если есть скрипты для боковой панели
а так и старый шаблон годится, только не каждый скрипт подойдет
Отредактировано Vitaliy V. (07-09-2020 12:13:04)
Отсутствует
Vitaliy V. пишет
Да можно сделать но не сочетается такое расположение с моим скриптом, так что только без него
Да просто отлично было бы и без скрипта. Если возможно.
Хотя бы понять, почему селектор #PersonalToolbar не работает.
Отсутствует
Vitaliy V.
MemoryMinimizationButton и ViewImageInTab подключил.
С ExtensionOptionsMenu проблемы.
Значки в конце строк не подхватываются, вместо "+" квадратик, "-" вообще нет.
Ниже скрины вашего и моего скриптов, обратите внимание, что у меня квадратик - символ, а в вашем варианте квадратик-кракозабрик, так как я ни чего в вашем варианте для скриншота не менял. Но для себя попробовал изменить символы на свои, картинка та же, не подхватываются.
// ==UserScript== // @name s_ExtensionOptionsMenu.rus // @include main // @startup UC.extensionOptionsMenu.exec(win); // @shutdown UC.extensionOptionsMenu.destroy(); // @onlyonce // ==/UserScript== // original: https://addons.mozilla.org/en-US/firefox/addon/extension-options-menu/ (function () { 'use strict'; UC.extensionOptionsMenu = { exec: function (win) { var document = win.document; var sspi = document.createProcessingInstruction( 'xml-stylesheet', 'type="text/css" href="data:text/css,' + encodeURIComponent(UC.extensionOptionsMenu.style) + '"' ); document.insertBefore(sspi, document.documentElement); UC.extensionOptionsMenu.styles.push(sspi); }, // config showVersion: true, showHidden: true, showDisabled: true, autoRestart: false, enabledFirst: false, blackListArray: [], populateMenu: function (event) { var prevState; var showItem = true; var popup = event.currentTarget; var document = event.view.document; while (popup.hasChildNodes()) popup.removeChild(popup.firstChild); var addons; (async () => { addons = await AddonManager.getAddonsByTypes(['extension']); })(); var thread = Services.tm.mainThread; while (addons === undefined) thread.processNextEvent(true); addons.sort((a, b) => { var enabledFirst = UC.extensionOptionsMenu.enabledFirst; var ka = (enabledFirst ? a.isActive ? '0' : '1' : '') + ' ' + a.name.toLowerCase(); var kb = (enabledFirst ? b.isActive ? '0' : '1' : '') + ' ' + b.name.toLowerCase(); return (ka < kb) ? -1 : 1; }).forEach(addon => { if (!addon.appDisabled && ((addon.isActive && addon.optionsURL) || ((addon.userDisabled && UC.extensionOptionsMenu.showDisabled) || (!addon.hidden || UC.extensionOptionsMenu.showHidden)))) { var state = addon.isActive; if (UC.extensionOptionsMenu.enabledFirst && (prevState && state !== prevState)) popup.appendChild(document.createXULElement('menuseparator')); prevState = state; var mi = document.createXULElement('menuitem'); var label = addon.name; if (UC.extensionOptionsMenu.showVersion) label = label += ' ' + addon.version; mi.setAttribute('label', label); mi.setAttribute('class', 'menuitem-iconic'); mi.setAttribute('tooltiptext', addon.description + '\nID : ' + addon.id + '\n\nЛКМ : Настройки\nПКМ : Откл. / Включить\nСКМ : Домашняя страница\nCtrl + ЛКМ : Открыть архив\nCtrl + ПКМ : Деинсталлировать\nCtrl + СКМ : Копировать ID'); var icon = addon.iconURL || addon.iconURL64 || UC.extensionOptionsMenu.iconURL || ''; mi.setAttribute('image', icon); mi.addEventListener('click', UC.extensionOptionsMenu.handleClick); mi._Addon = addon; UC.extensionOptionsMenu.setDisable(mi, addon, 0); if (UC.extensionOptionsMenu.blackListArray) { for (var i = 0; i < UC.extensionOptionsMenu.blackListArray.length; i++) { if (UC.extensionOptionsMenu.blackListArray[i] == addon.id.toLowerCase()) { showItem = false; break; } else { showItem = true; } } } if (showItem) popup.appendChild(mi); } }); }, handleClick: function(event) { var win = event.view; var mi = event.currentTarget; if (!('_Addon' in mi)) { return; } var addon = mi._Addon; var pending = addon.pendingOperations & AddonManager.PENDING_UNINSTALL; var hasMdf = event.ctrlKey || event.shiftKey || event.altKey || event.metaKey; switch (event.button) { case 0: if (addon.optionsURL && !hasMdf) UC.extensionOptionsMenu.openAddonOptions(addon, win); else if (event.ctrlKey) UC.extensionOptionsMenu.browseDir(addon); break; case 1: if (addon.homepageURL && !hasMdf) { openURL(addon.homepageURL); closeMenus(mi); } else if (event.ctrlKey) { Cc['@mozilla.org/widget/clipboardhelper;1'].getService(Ci.nsIClipboardHelper).copyString(addon.id); closeMenus(mi); } break; case 2: if (!hasMdf) { if (addon.userDisabled) addon.enable(); else addon.disable(); UC.extensionOptionsMenu.setDisable(mi, addon, 1); if (addon.operationsRequiringRestart && UC.extensionOptionsMenu.autoRestart) if ('BrowserUtils' in window) BrowserUtils.restartApplication(); else Application.restart(); } else if (event.ctrlKey) { if (Services.prompt.confirm(null, null, 'Delete ' + addon.name + ' permanently?')) { if (pending) addon.cancelUninstall(); else { addon.uninstall(); return; } cls.remove('restartless'); cls.remove('enabling'); cls.remove('disabling'); cls.add('uninstalling'); cls.add('disabled'); } } } }, setDisable: function (mi, addon, toggling) { var cls = mi.classList; if (!addon.operationsRequiringRestart) { cls.add('restartless'); if (toggling) { if (addon.isActive) { if (addon.optionsURL) cls.remove('noOptions'); cls.remove('disabled'); cls.remove('disabling'); cls.add('enabling'); } else { cls.remove('enabling'); cls.add('disabling'); } } } else { if (toggling) if (addon.userDisabled) if (addon.isActive) cls.add('disabling'); else cls.remove('enabling'); else if (addon.isActive) cls.remove('disabling'); else cls.add('enabling'); else if (addon.userDisabled && addon.isActive) cls.add('disabling'); else if (!addon.userDisabled && !addon.isActive) cls.add('enabling'); } if (!addon.isActive) cls.add('disabled'); if (!addon.optionsURL) cls.add('noOptions'); }, openAddonOptions: function (addon, win) { var optionsURL = addon.optionsURL; if (!addon.isActive || !optionsURL) return; switch (Number(addon.optionsType)) { case 2: case 5: BrowserOpenAddonsMgr('addons://detail/' + encodeURIComponent(addon.id) + '/preferences'); break; case 3: 'switchToTabHavingURI' in win ? win.switchToTabHavingURI(optionsURL, true) : openTab('contentTab', { contentPage: optionsURL }); break; default: openDialog(optionsURL, addon.name, 'chrome,titlebar,toolbar,resizable,scrollbars,centerscreen,dialog=no,modal=no'); } }, browseDir: function (addon) { var dir = Services.dirsvc.get('ProfD', Ci.nsIFile); var nsLocalFile = Components.Constructor('@mozilla.org/file/local;1', 'nsIFile', 'initWithPath'); dir.append('extensions'); dir.append(addon.id); if (!dir.exists()) { dir = dir.parent; dir.append(addon.id + '.xpi'); } dir.launch(); }, iconURL: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABaUlEQVQ4y6WTW0sCQRiG/SEpVBDUVVfphbAEhWAlqYhrLWUlER2IIgrqYkEp6SBmudWiFf0SiSCwpAI7bJnprq6H/sTbGhJiEyt28fAN7zfz8DHDaABo/oPqBpovX7j4T1gOS6dNCcYiZbhOSrCHi2hugqNCwskVYNmXbxoSuPkCN3NWhCdahLLGKCfDcSBjOJiHeTeHPr8EyifCwGb9RMF0RIaHl+E+zoMJ5+AM5WALSBjaEWHayqLXm4GR/YB+Iw2iYIKTMB6WwIRE0EER9r0s+r1pGNZT6F55ReeigPb5F7TOPpMFTDCDkUAGA753GFYFdC08QedJEvkR2DbfzuntFBz+1K2ZFdCz9Ii2qQfo3Pck2MoZpVI/AqtXQAXjchIdk3fQMok/Ib6CaS0Z1c8pdlc8pqXjUOF7AqVSxDvQOq7RKERBi/UKdbDVnK3vkQWWS9Si1vstGIyxCqiBquZUXc429BfU+AL9Tqy8Q2Za8AAAAABJRU5ErkJggg==', style: ` @namespace url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul); .restartless label:after { font-size: 18px; content:"☑"; } .enabling label:after { content:"☑" !important; } .disabling label:after { content:"☐" !important; } .uninstalling label:after { content: '!' !important; } .noOptions label { color: gray; } .disabled label { color: orange; font-style: italic; } .disabled label:after { content:"☐" !important; } `, styles: [], init: function() { CustomizableUI.createWidget({ id: 'eom-button', type: 'custom', defaultArea: CustomizableUI.AREA_NAVBAR, onBuild: function (aDocument) { var toolbaritem = aDocument.createXULElement('toolbarbutton'); var props = { id: 'eom-button', label: 'Extension Options Menu', tooltiptext: 'Extension Options Menu', type: 'menu', class: 'toolbarbutton-1 chromeclass-toolbar-additional', style: 'list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABaUlEQVQ4y6WTW0sCQRiG/SEpVBDUVVfphbAEhWAlqYhrLWUlER2IIgrqYkEp6SBmudWiFf0SiSCwpAI7bJnprq6H/sTbGhJiEyt28fAN7zfz8DHDaABo/oPqBpovX7j4T1gOS6dNCcYiZbhOSrCHi2hugqNCwskVYNmXbxoSuPkCN3NWhCdahLLGKCfDcSBjOJiHeTeHPr8EyifCwGb9RMF0RIaHl+E+zoMJ5+AM5WALSBjaEWHayqLXm4GR/YB+Iw2iYIKTMB6WwIRE0EER9r0s+r1pGNZT6F55ReeigPb5F7TOPpMFTDCDkUAGA753GFYFdC08QedJEvkR2DbfzuntFBz+1K2ZFdCz9Ii2qQfo3Pck2MoZpVI/AqtXQAXjchIdk3fQMok/Ib6CaS0Z1c8pdlc8pqXjUOF7AqVSxDvQOq7RKERBi/UKdbDVnK3vkQWWS9Si1vstGIyxCqiBquZUXc429BfU+AL9Tqy8Q2Za8AAAAABJRU5ErkJggg==)', onclick: 'if (event.button === 1) BrowserOpenAddonsMgr("addons://list/extension");' }; for (var p in props) { toolbaritem.setAttribute(p, props[p]); } var mp = toolbaritem.appendChild(document.createXULElement('menupopup')); mp.setAttribute('id', 'eom-button-popup'); mp.setAttribute('onclick', 'event.preventDefault(); event.stopPropagation(); setTimeout(function () { document.getElementById("toolbar-context-menu").hidePopup(); }, 0);'); mp.addEventListener('popupshowing', UC.extensionOptionsMenu.populateMenu); return toolbaritem; } }); }, destroy: function () { CustomizableUI.destroyWidget('eom-button'); UC.extensionOptionsMenu.styles.forEach(s => s.parentNode.removeChild(s)); delete UC.extensionOptionsMenu; } } UC.extensionOptionsMenu.init(); })()
Отсутствует
В about:config создать числовой параметр ui.prefersReducedMotion — 0
спасибо. за бегающую точку в место песочных часов.
Отредактировано katari4688908 (29-08-2020 14:29:17)
Отсутствует
egorsemenov06 пишетсделайте пожалуйста для user_chrome_files еще одну кнопку "Переключить Куки" из add_toolbar_buttons
Ну все расширение по частям разберут, вам же вроде Dumby делал для Куки?
Нет Dumby делал для voqabuhe но она черезчур мудренная.Не откажите пожалуйста в моей просьбе
Отредактировано egorsemenov06 (29-08-2020 10:44:29)
Отсутствует
ulver73
Здравствуйте, как удалить с контекстного меню пункт { исследовать свойства поддержки доступности}
Здравствуйте. Решение под последним спойлером, в созданной вчера теме.
отключить Службу поддержки доступности не помогает
Ну да, не помогает. Это в 78 "поможет", потому что данного пункта меню там нет и в помине.
Отредактировано sandro79 (30-08-2020 01:52:18)
Отсутствует
razoo
@-moz-document url("chrome://browser/content/browser.xhtml") { *|*:root { --v-toolbar-menubar-height: 28px; /* высота панели меню, только чётные числа не меньше 20px, если изменяете эту переменную то и в --v-toolbar-menubar-height-content - атрибут height= нужно установить ровно в 4 раза больше*/ --v-toolbar-menubar-height-content: url("data:image/svg+xml,<svg width='28' height='112' xmlns='http://www.w3.org/2000/svg'><rect x='0' y='0' width='100%' height='100%' style='fill:transparent;'/></svg>"); /* height='4 * --v-toolbar-menubar-height' */ } #navigator-toolbox { border-top: none !important; box-shadow: none !important; padding-top: 0 !important; -moz-appearance: none !important; appearance: none !important; } *|*:root:not([inFullscreen])[tabsintitlebar] #navigator-toolbox { position: relative !important; } #navigator-toolbox > toolbar { -moz-box-ordinal-group: 10 !important; } #navigator-toolbox > #nav-bar { -moz-box-ordinal-group: 2 !important; } #navigator-toolbox > #PersonalToolbar { margin-block: 0 !important; box-shadow: none !important; -moz-box-ordinal-group: 0 !important; padding-inline: 0 !important; background: none !important; border: none !important; color: inherit !important; } *|*:root:not(:is([inFullscreen],[chromehidden~="menubar"])) #navigator-toolbox::before { content: "" !important; display: -moz-box !important; height: var(--v-toolbar-menubar-height) !important; -moz-box-ordinal-group: 0 !important; visibility: visible !important; } *|*:root:not([inFullscreen])[tabsintitlebar] > *|body::before { content: var(--v-toolbar-menubar-height-content) !important; display: -moz-box !important; -moz-box-flex: 0 !important; -moz-box-orient: vertical !important; -moz-box-pack: start !important; -moz-box-align: stretch !important; -moz-box-ordinal-group: 0 !important; margin-bottom: calc(-4 * var(--v-toolbar-menubar-height)) !important; box-sizing: content-box !important; } *|*:root:not([inFullscreen])[tabsintitlebar][sizemode="normal"] > *|body::before { -moz-appearance: -moz-window-titlebar !important; appearance: -moz-window-titlebar !important; } *|*:root:not([inFullscreen])[tabsintitlebar][sizemode="maximized"] > *|body::before { -moz-appearance: -moz-window-titlebar-maximized !important; appearance: -moz-window-titlebar-maximized !important; } *|*:root:not([inFullscreen])[tabsintitlebar]:-moz-lwtheme > *|body::before { visibility: hidden !important; } #navigator-toolbox > #titlebar { -moz-appearance: none !important; appearance: none !important; position: static !important; -moz-box-ordinal-group: 1 !important; } #navigator-toolbox::after { -moz-box-ordinal-group: 100 !important; } #toolbar-menubar { padding-block: 0 !important; margin-block: 0 !important; border: none !important; background: none !important; --toolbarbutton-outer-padding: 0px !important; --toolbarbutton-inner-padding: calc((var(--v-toolbar-menubar-height) - 16px) / 2) !important; -moz-appearance: none !important; appearance: none !important; } *|*:root:not(:is([inFullscreen],[chromehidden~="menubar"])) #toolbar-menubar { position: absolute !important; top: 0 !important; left: 0 !important; right: 0 !important; display: flex !important; flex-wrap: nowrap !important; flex-direction: row !important; align-items: stretch !important; justify-content: flex-start !important; min-height: 0 !important; height: var(--v-toolbar-menubar-height) !important; overflow: hidden !important; } #toolbar-menubar *|*.toolbarbutton-badge { margin-inline-end: calc(-1 * (var(--toolbarbutton-outer-padding) + var(--toolbarbutton-inner-padding))) !important; } *|*:root:not([inFullscreen]) #toolbar-menubar > :is(toolbaritem,toolbarbutton) { align-self: center !important; } *|*:root:not([inFullscreen]) #toolbar-menubar > :is(#menubar-items,#wrapper-menubar-items,.titlebar-buttonbox-container) { align-self: flex-start !important; } *|*:root:not([inFullscreen]) #toolbar-menubar > * { padding-block: 0 !important; margin-block: 0 !important; } *|*:root:not([inFullscreen]) #toolbar-menubar[autohide="true"][inactive="true"]:not([customizing="true"]) > *:not(.titlebar-buttonbox-container) { opacity: 0 !important; pointer-events: none !important; } *|*:root[inFullscreen] #toolbar-menubar { visibility: collapse !important; } *|*:root:not([inFullscreen]) #toolbar-menubar > :is(*[style*="-moz-box-ordinal-group: 1000;"],.titlebar-buttonbox-container) { order: 1000 !important; } *|*:root:not([inFullscreen]) #toolbar-menubar > :is(toolbarspring,spacer,[id^="wrapper-customizableui-special-spring"]) { flex-grow: 1 !important; } *|*:root:not([inFullscreen]) #toolbar-menubar > :is(#search-container,#wrapper-search-container) { flex-grow: 100 !important; } #toolbar-menubar #search-container { padding-block: 0 !important; } #toolbar-menubar #searchbar { min-height: calc(var(--v-toolbar-menubar-height) - 2px) !important; } #TabsToolbar { -moz-appearance: none !important; appearance: none !important; padding-block: 0 !important; margin-block: 0 !important; } #TabsToolbar #tabbrowser-tabs { padding-bottom: 0 !important; margin-bottom: 0 !important; } #TabsToolbar > .toolbar-items { padding-top: 0 !important; margin-top: 0 !important; } #TabsToolbar .tab-background { border-top-style: solid !important; } #TabsToolbar .titlebar-buttonbox-container, #TabsToolbar::after, #TabsToolbar .titlebar-spacer:is([type="pre-tabs"],[type="post-tabs"]) { display: none !important; } @media (-moz-os-version: windows-win7), (-moz-os-version: windows-win8) { @media (-moz-windows-classic: 0) { *|*:root:not([inFullscreen])[sizemode="normal"] #toolbar-menubar:not([autohide="true"]) > #menubar-items { margin-top: 1px !important; } } } @media (-moz-windows-classic) { *|*:root:not([inFullscreen])[tabsintitlebar][sizemode="normal"] #navigator-toolbox::before { height: calc(var(--v-toolbar-menubar-height) + 4px) !important; } *|*:root:not([inFullscreen])[tabsintitlebar][sizemode="normal"]:-moz-lwtheme #navigator-toolbox::before { background-image: linear-gradient(to bottom, ThreeDLightShadow 0, ThreeDLightShadow 1px, ThreeDHighlight 1px, ThreeDHighlight 2px, ActiveBorder 2px, ActiveBorder 4px, transparent 4px) !important; } *|*:root:not([inFullscreen])[tabsintitlebar][sizemode="normal"] #toolbar-menubar { margin-top: 4px !important; } } }
egorsemenov06
try { (() => { var id = "ucf-cookie-toggle", label = "Переключить Куки", tooltiptext = "ЛКМ: Переключить Куки\nСКМ: Удалить куки домена текущей страницы\nПКМ: Управление куками", img = "data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' height='80' width='16' viewBox='0 0 48 240'><g><rect x='0' y='0' width='48' height='48' rx='3' ry='3' style='fill:rgb(243, 135, 37);'/><path style='opacity:0.25;fill:black;' d='M 18.9,48 11,40.1 5,22 14,8 28,5 40,10 48,18 V 45 C 48,46.7 46.7,48 45,48 Z'/><path style='fill:white;' d='M 40.6,23.2 C 31,20.5 31,20.5 31.8,10 24,16.2 24,16.2 15.2,10 17,18.8 17,18.8 7.38,23.2 16.2,27.5 16.2,27.5 15.2,38 24,32.8 24,32.8 31.8,37.7 31.8,27.5 31.8,27.5 40.6,23.2 Z M 45,23.2 C 45,34.5 35.4,45 24,45 12.6,45 3,34.5 3,23.2 3,11.8 12.6,3 24.1,3 35.4,3 45,11.8 45,23.2' /><path style='fill:white;' d='M 16,24.1 C 16,19.5 19.5,16 24.1,16 28.5,16 32,19.5 32,24.1 32,28.5 28.5,32 24,32 19.5,32 16,28.5 16,24.1' /><rect x='0' y='48' width='48' height='48' rx='3' ry='3' style='fill:rgb(243, 135, 37);'/><path style='opacity:0.25;fill:black;' d='M 19,96 10,87 4,70 12,56 30,51.8 48,69.8 V 93 C 48,94.7 46.7,96 45,96 Z'/><path style='fill:white;' d='M 24.6,58 C 24.6,58 24.6,63.2 15.6,58 17.4,67.6 17.4,67.6 7.5,71.2 16.5,75.5 16.5,75.5 15.6,86 24.6,80.8 24.6,86 24.6,86 Z M 24.6,51 C 27.3,51 30,51.8 30,51.8 V 92.2 C 30,92.2 27.3,93 24.6,93 12.9,93 3,82.5 3,71.2 3,59.8 12.9,51 24.6,51' /><path style='fill:white;' d='M 16,72 C 16,68 20.4,64 25,64 V 80 C 20.5,80 16,77 16,72' /><rect x='0' y='96' width='48' height='48' rx='3' ry='3' style='fill:rgb(209, 8, 3);'/><path style='opacity:0.25;fill:black;' d='M 18.7,144 11,136 4,119 13,103 28,100 41,107 48,114 V 141 C 48,142.7 46.7,144 45,144 Z'/><path style='fill:white;' d='M 40.6,120 C 32.8,116 32.8,116 31.8,106 24,111 24,111 15.2,106 15.2,116 15.2,116 7.38,120 15.2,124 15.2,124 15.2,134 24,129 24,129 31.8,134 32.8,124 32.8,124 40.6,120 Z M 45,120 C 45,131 35.4,141 24,141 12.6,141 3,131 3,120 3,107 12.6,99 24.1,99 35.4,99 45,107 45,120' /><path style='fill:none;stroke:white;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;' d='M 30,126 18,114' /><path style='fill:none;stroke:white;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;' d='M 18,126 30,114' /><rect x='0' y='144' width='48' height='48' rx='3' ry='3' style='fill:rgb(243, 135, 37);'/><path style='opacity:0.25;fill:black;' d='M 18.5,192 9.3,183 4,166 13,151 28,148 39.2,153 48,162 V 189 C 48,190.7 46.7,192 45,192 Z'/><path style='fill:white;' d='M 40.6,168 C 31,164 31,164 31.8,154 24,159 24,159 15.2,154 16.2,164 16.2,164 7.38,168 16.2,171 16.2,171 15.2,182 24.8,178 24,184 24,184 24,175 31,168 40.6,168 Z M 45,168 C 45,169 44.2,172 44.2,172 32.8,172 29.2,177 29.2,188 29.2,188 26.6,189 24,189 12.6,189 3,179 3,168 3,155 12.6,147 24.1,147 35.4,147 45,155 45,168' /><path style='fill:white;' d='M 16,168 C 16,164 19.5,160 24.1,160 28.4,160 32,164 32,168 32,173 28.5,176 24,176 19.5,176 16,173 16,168' /><rect x='0' y='192' width='48' height='48' rx='3' ry='3' style='fill:rgb(243, 135, 37);'/><path style='opacity:0.25;fill:black;' d='M 18.5,240 9.3,231 4,214 13,199 29.2,196 48,215 V 237 C 48,239 46.7,240 45,240 Z'/><path style='fill:white;' d='M 40.6,216 C 31,220 31,220 31.8,230 24,225 24,225 15.2,230 16.2,220 16.2,220 7.38,216 16.2,213 16.2,213 15.2,202 24.8,206 24,200 24,200 24,209 31,216 40.6,216 Z M 45,216 C 45,214 44.2,212 44.2,212 32.8,212 29.2,207 29.2,196 29.2,196 26.6,195 24,195 12.6,195 3,205 3,216 3,229 12.6,237 24.1,237 35.4,237 45,229 45,216' /><path style='fill:white;' d='M 16,216 C 16,212 19.5,208 24.1,208 28.4,208 32,212 32,216 32,221 28.5,224 24,224 19.5,224 16,221 16,216' /></g></svg>"; var tbarbtns = { initialised: false, get network_cookie_cookieBehavior() { delete this.network_cookie_cookieBehavior; try { return this.network_cookie_cookieBehavior = Services.prefs.getIntPref("network.cookie.cookieBehavior"); } catch(e) { } return this.network_cookie_cookieBehavior = null; }, init: function() { if (this.initialised) return; Services.prefs.addObserver("network.cookie.cookieBehavior", this); this.initialised = true; }, prefToggleNumber: function(pref, next) { Services.prefs.setIntPref(pref, next[Services.prefs.getIntPref(pref)]); }, getETDL: function(uri) { var eTLD; try { eTLD = Services.eTLD.getBaseDomain(uri); } catch (e) { eTLD = uri.asciiHost; } return eTLD; }, viewCookies: function(win) { var uri = win.gBrowser.selectedBrowser.currentURI; try { let _uri; if (_uri = win.ReaderMode.getOriginalUrl(uri.spec)) uri = Services.io.newURI(_uri); } catch(e) {} uri = this.getETDL(uri); var _win = Services.wm.getMostRecentWindow("Browser:SiteDataSettings"); var _setFilter = () => { var filter = _win.document.querySelector("#searchBox"); if (!filter) return; filter.value = uri; filter.focus(); filter.dispatchEvent(new _win.Event("input", { bubbles: true })); }; if (_win) { _win.focus(); _setFilter(); } else { win.SiteDataManager.updateSites().then(() => { _win = win.openDialog("chrome://browser/content/preferences/dialogs/siteDataSettings.xhtml", "Browser:SiteDataSettings", "chrome,dialog=no,centerscreen,resizable"); _win.addEventListener("DOMContentLoaded", function DOMLoad() { _setFilter(); }, { once: true }); }); } }, observe: function(aSubject, aTopic, aData) { if (aData == "network.cookie.cookieBehavior") { let network_cookie_cookieBehavior = tbarbtns.network_cookie_cookieBehavior = Services.prefs.getIntPref(aData), getW = CustomizableUI.getWidget(id); if (getW.instances.length) for(let {node} of getW.instances) try { node.setAttribute("activated", network_cookie_cookieBehavior); } catch(e) {} else for (let win of CustomizableUI.windows) try { getW.forWindow(win).node.setAttribute("activated", network_cookie_cookieBehavior); } catch(e) {} } }, uninit: function() { if (!this.initialised) return; Services.prefs.removeObserver("network.cookie.cookieBehavior", this); this.initialised = false; }, }; CustomizableUI.createWidget({ id: id, type: "custom", label: label, tooltiptext: tooltiptext, localized: false, defaultArea: CustomizableUI.AREA_NAVBAR, onBuild: function(document) { var win = document.defaultView, toolbarbutton = document.createXULElement("toolbarbutton"); toolbarbutton.id = id; toolbarbutton.className = "toolbarbutton-1 chromeclass-toolbar-additional"; toolbarbutton.setAttribute("label", label); toolbarbutton.setAttribute("context", "false"); toolbarbutton.setAttribute("tooltiptext", tooltiptext); var cookieBehavior = tbarbtns.network_cookie_cookieBehavior; if (cookieBehavior !== null) { toolbarbutton.setAttribute("activated", cookieBehavior); toolbarbutton.addEventListener("click", function(event) { if (event.button == 0) tbarbtns.prefToggleNumber("network.cookie.cookieBehavior", [1,2,3,4,0]); else if (event.button == 1) { (this._clearSiteData || ("gIdentityHandler" in win && "clearSiteData" in win.gIdentityHandler && (this._clearSiteData = win.eval(`(${`${win.gIdentityHandler.clearSiteData}`.replace(/^.*clearSiteData/, "async function clearSiteData").replace(/this\s*\./g, "gIdentityHandler.").replace(/PanelMultiView\.hidePopup.+;|event\.stopPropagation.+;/g, "")})`))) || (this._clearSiteData = function() {}))(event); } else if (event.button == 2) { event.preventDefault(); event.stopPropagation(); tbarbtns.viewCookies(win); } }); } var btnstyle = "data:text/css;charset=utf-8," + encodeURIComponent(` #${id} { list-style-image: url("${img}") !important; -moz-image-region: rect(0px, 16px, 16px, 0px) !important; } #${id}[activated="1"] { -moz-image-region: rect(16px, 16px, 32px, 0px) !important; } #${id}[activated="2"] { -moz-image-region: rect(32px, 16px, 48px, 0px) !important; } #${id}[activated="3"] { -moz-image-region: rect(48px, 16px, 64px, 0px) !important; } #${id}[activated="4"] { -moz-image-region: rect(64px, 16px, 80px, 0px) !important; } `); try { win.windowUtils.loadSheetUsingURIString(btnstyle, win.windowUtils.USER_SHEET); } catch (e) {} tbarbtns.init(); return toolbarbutton; }, onDestroyed: function(doc) { tbarbtns.uninit(); }, }); })(); } catch(e) {}
_zt
Не вижу там никаких крякозябров, когда проверяете нужно отключать другой скрипт и стили заодно, т.к. очевидно что ваши квадратики попали на мой.
Забыл я селекторы изменить.
А "+" или "-" присутствуют, разумеется не всегда а только при переключении.
Мне понравилось, что вы разрешения добавили
Добавил также отключение системных расширений, просмотр их файлов во вкладке
Отредактировано Vitaliy V. (01-09-2020 15:13:37)
Отсутствует
egorsemenov06
скрытый текстВыделить кодКод:
try { (() => { var id = "ucf-cookie-toggle", label = "Переключить Куки", tooltiptext = "ЛКМ: Переключить Куки\nСКМ: Удалить куки домена текущей страницы\nПКМ: Управление куками", img = "data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' height='80' width='16' viewBox='0 0 48 240'><g><rect x='0' y='0' width='48' height='48' rx='3' ry='3' style='fill:rgb(243, 135, 37);'/><path style='opacity:0.25;fill:black;' d='M 18.9,48 11,40.1 5,22 14,8 28,5 40,10 48,18 V 45 C 48,46.7 46.7,48 45,48 Z'/><path style='fill:white;' d='M 40.6,23.2 C 31,20.5 31,20.5 31.8,10 24,16.2 24,16.2 15.2,10 17,18.8 17,18.8 7.38,23.2 16.2,27.5 16.2,27.5 15.2,38 24,32.8 24,32.8 31.8,37.7 31.8,27.5 31.8,27.5 40.6,23.2 Z M 45,23.2 C 45,34.5 35.4,45 24,45 12.6,45 3,34.5 3,23.2 3,11.8 12.6,3 24.1,3 35.4,3 45,11.8 45,23.2' /><path style='fill:white;' d='M 16,24.1 C 16,19.5 19.5,16 24.1,16 28.5,16 32,19.5 32,24.1 32,28.5 28.5,32 24,32 19.5,32 16,28.5 16,24.1' /><rect x='0' y='48' width='48' height='48' rx='3' ry='3' style='fill:rgb(243, 135, 37);'/><path style='opacity:0.25;fill:black;' d='M 19,96 10,87 4,70 12,56 30,51.8 48,69.8 V 93 C 48,94.7 46.7,96 45,96 Z'/><path style='fill:white;' d='M 24.6,58 C 24.6,58 24.6,63.2 15.6,58 17.4,67.6 17.4,67.6 7.5,71.2 16.5,75.5 16.5,75.5 15.6,86 24.6,80.8 24.6,86 24.6,86 Z M 24.6,51 C 27.3,51 30,51.8 30,51.8 V 92.2 C 30,92.2 27.3,93 24.6,93 12.9,93 3,82.5 3,71.2 3,59.8 12.9,51 24.6,51' /><path style='fill:white;' d='M 16,72 C 16,68 20.4,64 25,64 V 80 C 20.5,80 16,77 16,72' /><rect x='0' y='96' width='48' height='48' rx='3' ry='3' style='fill:rgb(209, 8, 3);'/><path style='opacity:0.25;fill:black;' d='M 18.7,144 11,136 4,119 13,103 28,100 41,107 48,114 V 141 C 48,142.7 46.7,144 45,144 Z'/><path style='fill:white;' d='M 40.6,120 C 32.8,116 32.8,116 31.8,106 24,111 24,111 15.2,106 15.2,116 15.2,116 7.38,120 15.2,124 15.2,124 15.2,134 24,129 24,129 31.8,134 32.8,124 32.8,124 40.6,120 Z M 45,120 C 45,131 35.4,141 24,141 12.6,141 3,131 3,120 3,107 12.6,99 24.1,99 35.4,99 45,107 45,120' /><path style='fill:none;stroke:white;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;' d='M 30,126 18,114' /><path style='fill:none;stroke:white;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;' d='M 18,126 30,114' /><rect x='0' y='144' width='48' height='48' rx='3' ry='3' style='fill:rgb(243, 135, 37);'/><path style='opacity:0.25;fill:black;' d='M 18.5,192 9.3,183 4,166 13,151 28,148 39.2,153 48,162 V 189 C 48,190.7 46.7,192 45,192 Z'/><path style='fill:white;' d='M 40.6,168 C 31,164 31,164 31.8,154 24,159 24,159 15.2,154 16.2,164 16.2,164 7.38,168 16.2,171 16.2,171 15.2,182 24.8,178 24,184 24,184 24,175 31,168 40.6,168 Z M 45,168 C 45,169 44.2,172 44.2,172 32.8,172 29.2,177 29.2,188 29.2,188 26.6,189 24,189 12.6,189 3,179 3,168 3,155 12.6,147 24.1,147 35.4,147 45,155 45,168' /><path style='fill:white;' d='M 16,168 C 16,164 19.5,160 24.1,160 28.4,160 32,164 32,168 32,173 28.5,176 24,176 19.5,176 16,173 16,168' /><rect x='0' y='192' width='48' height='48' rx='3' ry='3' style='fill:rgb(243, 135, 37);'/><path style='opacity:0.25;fill:black;' d='M 18.5,240 9.3,231 4,214 13,199 29.2,196 48,215 V 237 C 48,239 46.7,240 45,240 Z'/><path style='fill:white;' d='M 40.6,216 C 31,220 31,220 31.8,230 24,225 24,225 15.2,230 16.2,220 16.2,220 7.38,216 16.2,213 16.2,213 15.2,202 24.8,206 24,200 24,200 24,209 31,216 40.6,216 Z M 45,216 C 45,214 44.2,212 44.2,212 32.8,212 29.2,207 29.2,196 29.2,196 26.6,195 24,195 12.6,195 3,205 3,216 3,229 12.6,237 24.1,237 35.4,237 45,229 45,216' /><path style='fill:white;' d='M 16,216 C 16,212 19.5,208 24.1,208 28.4,208 32,212 32,216 32,221 28.5,224 24,224 19.5,224 16,221 16,216' /></g></svg>"; var tbarbtns = { initialised: false, get network_cookie_cookieBehavior() { delete this.network_cookie_cookieBehavior; try { return this.network_cookie_cookieBehavior = Services.prefs.getIntPref("network.cookie.cookieBehavior"); } catch(e) { } return this.network_cookie_cookieBehavior = null; }, init: function() { if (this.initialised) return; Services.prefs.addObserver("network.cookie.cookieBehavior", this); this.initialised = true; }, prefToggleNumber: function(pref, next) { Services.prefs.setIntPref(pref, next[Services.prefs.getIntPref(pref)]); }, getETDL: function(uri) { var eTLD; try { eTLD = Services.eTLD.getBaseDomain(uri); } catch (e) { eTLD = uri.asciiHost; } return eTLD; }, viewCookies: function(win) { var uri = win.gBrowser.selectedBrowser.currentURI; try { let _uri; if (_uri = win.ReaderMode.getOriginalUrl(uri.spec)) uri = Services.io.newURI(_uri); } catch(e) {} uri = this.getETDL(uri); var _win = Services.wm.getMostRecentWindow("Browser:SiteDataSettings"); var _setFilter = () => { var filter = _win.document.querySelector("#searchBox"); if (!filter) return; filter.value = uri; filter.focus(); filter.dispatchEvent(new _win.Event("input", { bubbles: true })); }; if (_win) { _win.focus(); _setFilter(); } else { win.SiteDataManager.updateSites().then(() => { _win = win.openDialog("chrome://browser/content/preferences/dialogs/siteDataSettings.xhtml", "Browser:SiteDataSettings", "chrome,dialog=no,centerscreen,resizable"); _win.addEventListener("DOMContentLoaded", function DOMLoad() { _setFilter(); }, { once: true }); }); } }, observe: function(aSubject, aTopic, aData) { if (aData == "network.cookie.cookieBehavior") { let network_cookie_cookieBehavior = tbarbtns.network_cookie_cookieBehavior = Services.prefs.getIntPref(aData), getW = CustomizableUI.getWidget(id); if (getW.instances.length) for(let {node} of getW.instances) try { node.setAttribute("activated", network_cookie_cookieBehavior); } catch(e) {} else for (let win of CustomizableUI.windows) try { getW.forWindow(win).node.setAttribute("activated", network_cookie_cookieBehavior); } catch(e) {} } }, uninit: function() { if (!this.initialised) return; Services.prefs.removeObserver("network.cookie.cookieBehavior", this); this.initialised = false; }, }; CustomizableUI.createWidget({ id: id, type: "custom", label: label, tooltiptext: tooltiptext, localized: false, defaultArea: CustomizableUI.AREA_NAVBAR, onBuild: function(document) { var win = document.defaultView, toolbarbutton = document.createXULElement("toolbarbutton"); toolbarbutton.id = id; toolbarbutton.className = "toolbarbutton-1 chromeclass-toolbar-additional"; toolbarbutton.setAttribute("label", label); toolbarbutton.setAttribute("context", "false"); toolbarbutton.setAttribute("tooltiptext", tooltiptext); var cookieBehavior = tbarbtns.network_cookie_cookieBehavior; if (cookieBehavior !== null) { toolbarbutton.setAttribute("activated", cookieBehavior); toolbarbutton.addEventListener("click", function(event) { if (event.button == 0) tbarbtns.prefToggleNumber("network.cookie.cookieBehavior", [1,2,3,4,0]); else if (event.button == 1) { (this._clearSiteData || ("gIdentityHandler" in win && "clearSiteData" in win.gIdentityHandler && (this._clearSiteData = win.eval(`(${`${win.gIdentityHandler.clearSiteData}`.replace(/^.*clearSiteData/, "async function clearSiteData").replace(/this\s*\./g, "gIdentityHandler.").replace(/PanelMultiView\.hidePopup.+;|event\.stopPropagation.+;/g, "")})`))) || (this._clearSiteData = function() {}))(event); } else if (event.button == 2) { event.preventDefault(); event.stopPropagation(); tbarbtns.viewCookies(win); } }); } var btnstyle = "data:text/css;charset=utf-8," + encodeURIComponent(` #${id} { list-style-image: url("${img}") !important; -moz-image-region: rect(0px, 16px, 16px, 0px) !important; } #${id}[activated="1"] { -moz-image-region: rect(16px, 16px, 32px, 0px) !important; } #${id}[activated="2"] { -moz-image-region: rect(32px, 16px, 48px, 0px) !important; } #${id}[activated="3"] { -moz-image-region: rect(48px, 16px, 64px, 0px) !important; } #${id}[activated="4"] { -moz-image-region: rect(64px, 16px, 80px, 0px) !important; } `); try { win.windowUtils.loadSheetUsingURIString(btnstyle, win.windowUtils.USER_SHEET); } catch (e) {} tbarbtns.init(); return toolbarbutton; }, onDestroyed: function(doc) { tbarbtns.uninit(); }, }); })(); } catch(e) {}
От души Огромнейшее ВАМ СПАСИБО!!!!
Отсутствует
Как убрать значки папок из панели закладок?
Отсутствует
Vitaliy V.
Это супер! Всё работает как надо. Плюс полезные ремарки в коде - сразу уменьшил высоту меню.
Ещё погоняю в разных режимах, допишу свои мелочи, но думаю ничего не сломается - тут виден компетентный подход.
Огромное Спасибо.
Но, только заметил что вы для 68 спрашивали, этот стиль для 78 +, смысл в 68?
Вы правы, смысла нет.
Ещё раз благодраю.
Отсутствует
Xvost пишетКак убрать значки папок из панели закладок?
скрытый текст
Хорошо, с этим разобрались. Теперь: нужно заменить текст у определённой папки на иконку. Я использую код:
#personal-bookmarks .bookmark-item[container][label="ПВ"] > .toolbarbutton-text { display: url('pv.bmp') !important; }
Результата нет. Поправите меня, пожалуйста.
Отсутствует