Bitte testen. Eventuell das Symbol austauschen.
JavaScript
// Button_PersonalToolbar.uc.js
// PersonalToolbar_ausblenden
// basierend auf den Ideen von BrokenHeart und visoer, Verbesserungen von Horstmann,
// Korrekturen von Sören und Anpassungen von Mira
(function ptbut() {
if (location.href !== 'chrome://browser/content/browser.xhtml') return;
let startHeight = '0px'; // '24px' oder '0px' Der Startzustand wird definiert: '24px' startet mit sichtbarer Leiste
let collapse = '0px'; // Leiste nicht sichtbar
let visible = '24px'; // Leiste sichtbar
let autoCloseTime = 5000; // 0 = kein Auto-Close / >0 Zeit in Millisekunden /5000 => 5sec
let intervalID = 0;
let persToolbar = document.getElementById('PersonalToolbar');
try {
CustomizableUI.createWidget({
id: 'PersonalToolbar-button',
type: 'custom',
defaultArea: CustomizableUI.AREA_NAVBAR,
onBuild: function(aDocument) {
let toolbaritem = aDocument.createXULElement('toolbarbutton');
let props = {
id: 'PersonalToolbar-button',
class: 'toolbarbutton-1 chromeclass-toolbar-additional',
removable: true,
label: 'Toggle',
tooltiptext: 'Lesezeichenleiste ein-/ausblenden',
};
for(var p in props)
toolbaritem.setAttribute(p, props[p]);
return toolbaritem;
}
});
} catch(e) { };
let ProfilePath = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir, 'chrome', 'icons')); // Pfad zum Profilordner und gleich in den entsprechenden Unterordner
let ButtonIcon = "bookmark.svg"; // Name & Dateiendung des anzuzeigenden Symbols!
let sss = Components.classes["@mozilla.org/content/style-sheet-service;1"].getService(Components.interfaces.nsIStyleSheetService);
let uri = Services.io.newURI("data:text/css;charset=utf-8," + encodeURIComponent(`
#PersonalToolbar-button { list-style-image: url("${ProfilePath}/${ButtonIcon}"); }
#PersonalToolbar-button.toolbarbutton-1.chromeclass-toolbar-additional image.toolbarbutton-icon {
width: 28px !important;
height: 28px !important;
fill: #ffaa00 !important;
fill-opacity: 1 !important;
}
`), null, null);
sss.loadAndRegisterSheet(uri, sss.AUTHOR_SHEET);
//----------BEGINN----------------------
// Funktion zum Abfragen der Tastatur ("belauscht" Eingaben)
// Hinweis: Tasten, die anderweitig bereits "abgefangen" werden, ergeben keinen Event
document.addEventListener('keydown', (event) => {
let keyName = event.key;
if (event.altKey && keyName == 'q') { // Funktion wird ausgeführt, wenn "Alt & q gedrückt werden
onClick(event,true);
}
}, false
);
//----------ENDE------------------------
// Anmerkungen und Beispiele am Ende des Scriptes
document.getElementById('PersonalToolbar').style.minHeight = '0';
document.getElementById('PersonalToolbar').style.transition = 'all 0.3s steps(6, end)';
if( startHeight === visible || startHeight === collapse ) {
document.getElementById('PersonalToolbar').style.height = startHeight;
}
else {
document.getElementById('PersonalToolbar').style.height = visible;
}
document.getElementById('PersonalToolbar-button').addEventListener( "click", onClick );
function onClick(aEvent, keyEvent=false) {
if(!keyEvent && aEvent.button != 0) {
return;
}
if (persToolbar.style.height == '') {
persToolbar.style.height = collapse;
}
else if (persToolbar.style.height == visible) {
persToolbar.style.height = collapse;
}
else if(persToolbar.style.height == collapse) {
persToolbar.style.height = visible;
if(!intervalID && autoCloseTime) {
intervalID = aEvent.target.ownerGlobal.setInterval( autoClose, autoCloseTime );
}
}
}
function autoClose() {
if( intervalID ) {
if( persToolbar.style.height == visible) {
persToolbar.style.height = collapse;
clearInterval(intervalID);
intervalID=0;
}
}
}
})();
// Funktion wird ausgeführt, wenn STRG + Alt + l gedrückt wird
// if (event.ctrlKey && event.altKey && keyName == 'l') {
// Funktion wird ausgeführt, wenn STRG + w gedrückt werden
//if (event.ctrlKey && keyName == 'w') {
Alles anzeigen