- Firefox-Version
- Firefox 143.0
- Betriebssystem
- Windows 10 Pro 2004 64 Bit
Hallo zusammen,
meine Vertical Add-on Bar ↓ funktioniert mit Fx143 nicht mehr, gibt es eine angepasste Version, oder auch eine andere die funktioniert?
JavaScript
// 'Vertical Add-on Bar' script for Firefox by Aris
//
// no 'close' button
// 'toggle' toolbar with 'Ctr + Alt + /' on Windows/Linux or 'Cmd + Alt + /' on macOS
// optional toggle button hides the toolbar temporarily, it gets restored on every restart
// 'Vertical Add-on Bar' entry is only visible in toolbars context menu when in customizing mode
//
// flexible spaces on toolbar work 'vertically'
// toolbar can be on the left or on the right
// toolbar is display horizontally in customizing mode
// [!] Fix for WebExtensions with own windows by 黒仪大螃蟹 (for 1-N scripts)
// Components.utils.import("resource:///modules/CustomizableUI.jsm");
ChromeUtils.importESModule("resource:///modules/CustomizableUI.sys.mjs");
// ChromeUtils.importESModule("moz-src:///browser/components/customizableui/CustomizableUI.sys.mjs");
var AddonbarVertical = {
init: function() {
if (location != 'chrome://browser/content/browser.xhtml')
return;
/* blank tab workaround */
try {
if(gBrowser.selectedBrowser.getAttribute('blank')) gBrowser.selectedBrowser.removeAttribute('blank');
} catch(e) {}
var addonbar_v_label = 'Vertical Add-on Bar'; // toolbar name
var button_label = 'Toggle vertical Add-on Bar'; // Toggle button name
var addonbar_v_togglebutton = true; // display toggle button for vertical toolbar (true) or not (false)
var addonbar_v_on_the_left = false; // display vertical toolbar on the left (true) or the right (false)
var style_addonbar_v = true; // apply default toolbar appearance/colors to vertical add-on bar
var addonbar_v_width = '22px'; // toolbar width
var compact_buttons = true; // compact button size (true) or default button size (false)
try {
if(document.getElementById('toolbox_abv') == null && document.getElementById('addonbar_v') == null) {
var toolbox_abv = document.createXULElement('toolbox');
toolbox_abv.setAttribute('orient','horizontal');
toolbox_abv.setAttribute('id','toolbox_abv');
toolbox_abv.setAttribute('insertbefore','sidebar-box');
var tb_addonbarv = document.createXULElement('toolbar');
tb_addonbarv.setAttribute('id','addonbar_v');
tb_addonbarv.setAttribute('customizable','true');
tb_addonbarv.setAttribute('class','toolbar-primary chromeclass-toolbar browser-toolbar customization-target');
tb_addonbarv.setAttribute('mode','icons');
tb_addonbarv.setAttribute('iconsize','small');
tb_addonbarv.setAttribute('toolboxid','navigator-toolbox');
tb_addonbarv.setAttribute('orient','vertical');
tb_addonbarv.setAttribute('flex','1');
tb_addonbarv.setAttribute('context','toolbar-context-menu');
tb_addonbarv.setAttribute('toolbarname', addonbar_v_label);
tb_addonbarv.setAttribute('label', addonbar_v_label);
tb_addonbarv.setAttribute('lockiconsize','true');
tb_addonbarv.setAttribute('defaultset','spring');
toolbox_abv.appendChild(tb_addonbarv);
CustomizableUI.registerArea('addonbar_v', {legacy: true});
setTimeout(function(){
CustomizableUI.registerArea('addonbar_v', {legacy: true});
},2000);
CustomizableUI.registerToolbarNode(tb_addonbarv);
if(addonbar_v_on_the_left) {
document.getElementById('browser').insertBefore(toolbox_abv,document.getElementById('browser').firstChild);
}
else {
document.getElementById('browser').appendChild(toolbox_abv);
}
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
try {
if(document.querySelector('#browser').getAttribute('hidden') || document.querySelector('#main-window').getAttribute('customizing')) {
document.querySelector('#addonbar_v').setAttribute('orient','horizontal');
document.querySelector('#navigator-toolbox').appendChild(document.querySelector('#addonbar_v'));
}
else {
document.querySelector('#addonbar_v').setAttribute('orient','vertical');
document.querySelector('#toolbox_abv').appendChild(document.querySelector('#addonbar_v'));
}
} catch(e){}
});
});
observer.observe(document.querySelector('#main-window'), { attributes: true, attributeFilter: ['customizing'] });
try {
Services.prefs.getDefaultBranch('browser.vaddonbar.').setBoolPref('enabled',true);
setToolbarVisibility(document.getElementById('addonbar_v'), Services.prefs.getBranch('browser.vaddonbar.').getBoolPref('enabled'));
setToolbarVisibility(document.getElementById('toolbox_abv'), Services.prefs.getBranch('browser.vaddonbar.').getBoolPref('enabled'));
} catch(e) {}
if(addonbar_v_togglebutton) {
CustomizableUI.createWidget({
id: 'togglebutton_addonbar_v', // button id
defaultArea: CustomizableUI.AREA_NAVBAR,
removable: true,
label: button_label, // button title
tooltiptext: button_label, // tooltip title
onClick: function(event) {
if(event.button==0) {
var windows = Services.wm.getEnumerator(null);
while (windows.hasMoreElements()) {
var win = windows.getNext();
var vAddonBar = win.document.getElementById('addonbar_v');
setToolbarVisibility(vAddonBar, vAddonBar.collapsed);
var vAddonBarBox = win.document.getElementById('toolbox_abv');
setToolbarVisibility(vAddonBarBox, vAddonBarBox.collapsed);
Services.prefs.getBranch('browser.vaddonbar.').setBoolPref('enabled',!vAddonBar.collapsed);
if(!vAddonBar.collapsed)
win.document.querySelector('#togglebutton_addonbar_v').setAttribute('checked','true');
else win.document.querySelector('#togglebutton_addonbar_v').removeAttribute('checked');
}
}
},
onCreated: function(button) {
if(Services.prefs.getBranch('browser.vaddonbar.').getBoolPref('enabled'))
button.setAttribute('checked','true');
return button;
}
});
}
// Press 'Ctr + Alt + /' on Windows/Linux and 'Cmd + Alt + /' on macOS to toggle vertical add-on bar
var key = document.createXULElement('key');
key.id = 'key_toggleVAddonBar';
key.setAttribute('key', '/');
key.setAttribute('modifiers', 'accel,alt');
key.addEventListener('command', () => {
var windows = Services.wm.getEnumerator(null);
while (windows.hasMoreElements()) {
var win = windows.getNext();
var vAddonBar = win.document.getElementById('addonbar_v');
setToolbarVisibility(vAddonBar, vAddonBar.collapsed);
var vAddonBarBox = win.document.getElementById('toolbox_abv');
setToolbarVisibility(vAddonBarBox, vAddonBarBox.collapsed);
Services.prefs.getBranch('browser.vaddonbar.').setBoolPref('enabled',!vAddonBar.collapsed);
if(!vAddonBar.collapsed)
win.document.querySelector('#togglebutton_addonbar_v').setAttribute('checked','true');
else win.document.querySelector('#togglebutton_addonbar_v').removeAttribute('checked');
}
});
// key.setAttribute('oncommand',`
// var windows = Services.wm.getEnumerator(null);
// while (windows.hasMoreElements()) {
// var win = windows.getNext();
// var vAddonBar = win.document.getElementById('addonbar_v');
// setToolbarVisibility(vAddonBar, vAddonBar.collapsed);
// var vAddonBarBox = win.document.getElementById('toolbox_abv');
// setToolbarVisibility(vAddonBarBox, vAddonBarBox.collapsed);
// Services.prefs.getBranch('browser.vaddonbar.').setBoolPref('enabled',!vAddonBar.collapsed);
// if(!vAddonBar.collapsed)
// win.document.querySelector('#togglebutton_addonbar_v').setAttribute('checked','true');
// else win.document.querySelector('#togglebutton_addonbar_v').removeAttribute('checked');
// }
// `);
document.getElementById('mainKeyset').appendChild(key);
}
} catch(e) {}
// style toolbar & toggle button
var addonbar_v_style = '';
var togglebutton_addonbar_v_style = '';
if(style_addonbar_v) {
var end_border =`
#addonbar_v { \
border-inline-end: 1px solid var(--sidebar-border-color,rgba(0,0,0,0.1)) !important; \
} \
`;
if(!addonbar_v_on_the_left) {
end_border =`
#addonbar_v { \
border-inline-start: 1px solid #B2B2B2 !important; \
} \
`;
}
addonbar_v_style =` \
#addonbar_v { \
appearance: none !important; \
background-color: var(--toolbar-bgcolor); \
background-image: var(--toolbar-bgimage); \
background-clip: padding-box; \
color: var(--toolbar-color, inherit); \
padding-bottom: 1px !important; \
} \
:root[lwtheme] #addonbar_v { \
background: var(--lwt-accent-color) !important; \
} \
:root[lwtheme][lwtheme-image='true'] #addonbar_v { \
background: var(--lwt-header-image) !important; \
background-position: 0vw 50vh !important; \
} \
#main-window:not([customizing]) #toolbox_abv:not([collapsed='true']), \
#main-window:not([customizing]) #addonbar_v:not([collapsed='true']) { \
min-width: `+addonbar_v_width+`; \
width: `+addonbar_v_width+`; \
max-width: `+addonbar_v_width+`; \
} \
#main-window[chromehidden='menubar toolbar location directories status extrachrome '] #toolbox_abv:not([collapsed='true']), \
#main-window[chromehidden='menubar toolbar location directories status extrachrome '] #addonbar_v:not([collapsed='true']), \
#main-window[sizemode='fullscreen'] #toolbox_abv:not([collapsed='true']), \
#main-window[sizemode='fullscreen'] #addonbar_v:not([collapsed='true']) { \
min-width: 0px; \
width: 0px; \
max-width: 0px; \
} \
#main-window[customizing] #addonbar_v { \
outline: 1px dashed !important; \
outline-offset: -2px !important; \
} \
#addonbar_v toolbarbutton { \
min-height: 20px !important; \
max-height: 20px !important; \
min-width: 20px !important; \
max-width: 20px !important; \
background-color: #474747 !important; \
margin: 1px 1px 0 1px !important; \
} \
#addonbar_v toolbar .toolbarbutton-1 { \
min-height: 22px !important; \
max-height: 22px !important; \
min-width: 22px !important; \
max-width: 22px !important; \
background-color: #474747 !important; \
margin: 1px 1px 0 1px !important; \
} \
#addonbar_v toolbarbutton:hover, \
#addonbar_v toolbar .toolbarbutton-1:hover { \
background-color: #D1E2F2 !important; \
color: #000 !important; \
fill: #000 !important; \
} \
#addonbar_v toolbarbutton#uc-restart { \
background-color: #F20 !important; \
} \
#addonbar_v toolbarbutton#uc-restart image { \
fill: #FFF !important; \
} \
#addonbar_v toolbarbutton#uc-restart:hover { \
background-color: #D1E2F2 !important; \
} \
#addonbar_v toolbarbutton#uc-restart:hover image { \
fill: #F20 !important; \
} \
#addonbar_v toolbarbutton#privatebrowsing-button { \
background-color: #8000D7 !important; \
} \
#addonbar_v toolbarbutton#privatebrowsing-button image { \
fill: #FFF !important; \
} \
#addonbar_v toolbarbutton#privatebrowsing-button:hover { \
background-color: #D1E2F2 !important; \
} \
#addonbar_v toolbarbutton#privatebrowsing-button:hover image { \
fill: #8000D7 !important; \
} \
#addonbar_v toolbarbutton#restart-button { \
background-color: #F20 !important; \
} \
#addonbar_v toolbarbutton#restart-button:hover { \
background-color: #D1E2F2 !important; \
} \
#addonbar_v #cookieautodelete_kennydo_com-browser-action { \
min-height: 33px !important; \
} \
#addonbar_v #cookieautodelete_kennydo_com-browser-action > .toolbarbutton-badge-stack { \
margin-top: -13px !important; \
} \
#addonbar_v #cookieautodelete_kennydo_com-browser-action > .toolbarbutton-badge-stack .toolbarbutton-badge { \
min-width: 18px !important; \
border-radius: 0px !important; \
margin-top: 20px !important; \
margin-right: 1px !important; \
} \
#addonbar_v #cookieautodelete_kennydo_com-browser-action:hover > .toolbarbutton-badge-stack .toolbarbutton-badge { \
background-color: #D1E2F2 !important; \
color: #000 !important; \
} \
#addonbar_v > toolbarbutton#restart-button .toolbarbutton-icon { \
margin: 3px !important; \
} \
#addonbar_v > toolbarbutton#print-toolbarbutton { \
border-radius: 0 !important; \
border: 0 !important; \
background-color: #474747 !important; \
} \
#addonbar_v > toolbarbutton#print-toolbarbutton:hover { \
background-color: #D1E2F2 !important; \
} \
#unified-extensions-button[hidden]{ \
visibility: visible !important; \
display: flex !important; \
} \
#addonbar_v toolbaritem separator { \
display: none !important; \
} \
#main-window:not([customizing]) #addonbar_v > toolbaritem { \
writing-mode: vertical-rl !important; \
text-orientation: mixed !important; \
transform: rotate(0deg) !important; \
} \
#main-window:not([customizing]) #addonbar_v > toolbaritem menupopup { \
max-height: 170px !important; \
max-width: 170px !important; \
transform: rotate(-90deg) !important; \
} \
#main-window:not([customizing]) #addonbar_v > toolbaritem .toolbarbutton-badge { \
transform: rotate(-90deg) !important; \
position: absolute !important; \
padding: 1px 2px !important; \
top: -4px !important; \
} \
#main-window:not([customizing]) #addonbar_v #search-container, \
#main-window:not([customizing]) #addonbar_v #wrapper-search-container { \
flex: unset !important; \
} \
#main-window:not([customizing]) #addonbar_v #search-container { \
min-width: unset !important; \
width: unset !important; \
height: 100px !important; \
&[width] { \
flex: unset !important; \
} \
} \
#main-window:not([customizing]) #addonbar_v #zoom-reset-button > .toolbarbutton-text { \
min-width: unset !important; \
min-height: unset !important; \
} \
#main-window:not([customizing]) #addonbar_v #zoom-reset-button:not([label]) { \
display: none !important; \
} \
#main-window:not([customizing]) #addonbar_v .toolbarbutton-combined-buttons-dropmarker > .toolbarbutton-icon { \
width: unset !important; \
height: 16px !important; \
} \
#addonbar_v #aboutabout-ToolBarButton:hover {\
list-style-image: url("file:///H:/Profile/Firefox/Fx57-H-Default/chrome/icons/a-a-b.png") !important; \
} \
`+end_border+`
`;
}
var addonbar_right = '';
if(!addonbar_v_on_the_left) {
addonbar_right =`
#toolbox_abv{ \
order: 10 !important; \
} \
`;
}
if(addonbar_v_togglebutton) {
togglebutton_addonbar_v_style =`
#togglebutton_addonbar_v .toolbarbutton-icon { \
list-style-image: url('chrome://browser/skin/sidebars.svg'); \
fill: #FF3322; \
} \
#togglebutton_addonbar_v[checked] .toolbarbutton-icon { \
list-style-image: url('chrome://browser/skin/sidebars.svg'); \
fill: #00A600; \
} \
/*#togglebutton_addonbar_v .toolbarbutton-icon { \
list-style-image: url('chrome://browser/skin/forward.svg'); \
fill: red; \
} \
#togglebutton_addonbar_v[checked] .toolbarbutton-icon { \
fill: green; \
} \
#togglebutton_addonbar_v { \
background: url('chrome://browser/skin/back.svg') no-repeat; \
background-size: 35% !important; \
background-position: 10% 70% !important; \
} \
#togglebutton_addonbar_v[checked] { \
transform: rotate(180deg) !important; \
background: url('chrome://browser/skin/back.svg') no-repeat; \
background-position: 10% 30% !important; \
}*/ \
`;
}
var compact_buttons_code = '';
if(compact_buttons)
compact_buttons_code = `
#addonbar_v toolbarbutton .toolbarbutton-icon { \
padding: 0 !important; \
width: 16px !important; \
height: 16px !important; \
} \
#addonbar_v .toolbarbutton-badge-stack { \
padding: 0 !important; \
margin: 0 !important; \
width: 16px !important; \
min-width: 16px !important; \
height: 16px !important; \
min-height: 16px !important; \
} \
#addonbar_v toolbarbutton .toolbarbutton-badge { \
margin-top: 0px !important; \
font-size: 8px !important; \
} \
`;
var uri = Services.io.newURI('data:text/css;charset=utf-8,' + encodeURIComponent(''+addonbar_v_style + togglebutton_addonbar_v_style + addonbar_right + compact_buttons_code), null, null);
var sss = Components.classes['@mozilla.org/content/style-sheet-service;1'].getService(Components.interfaces.nsIStyleSheetService);
sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET);
}
}
/* initialization delay workaround */
document.addEventListener('DOMContentLoaded', AddonbarVertical.init(), false);
/* Use the below code instead of the one above this line, if issues occur */
/*
setTimeout(function(){
AddonbarVertical.init();
},2000);
*/
Alles anzeigen