Super! Nochmals danke.
Freut mich wenn ich dir damit helfen konnte, war gern geschehen ![]()
Super! Nochmals danke.
Freut mich wenn ich dir damit helfen konnte, war gern geschehen ![]()
Es funktioniert hier auch bei mir!
Danke für den Test und die Bestätigung![]()
![]()
Danke.
Den Dank reiche ich mal an die KI weiter![]()
funktioniert bei mir nicht.
![]()
In einem anderen Profil getestet...funktioniert hier:
Funktionieren denn andere Skripte bei dir?
doch bitte Deine genaue Fragestellung,
ZitatIch möchte bitte für die Firefox Version 155 ein .uc.js Skript, welches mir in der neuen Sidebar auch den Button für: Downloads anzeigt.
Dann hat mich die KI noch ein paar Einzelheiten gefragt, und der 2te Versuch mit dem Skript hat dann funktioniert.![]()
wie durch ein JavaScript etc?
Ich habe mal eine KI gefragt mit diesem Ergebnis:
// ==UserScript==
// @name Downloads Sidebar.uc.js
// @description Fügt der neuen Firefox-Sidebar ein natives Downloads-Panel hinzu.
// @version 2.0
// @author KI ChatGPT
// @compatibility Firefox 155
// ==/UserScript==
(function DownloadsSidebar() {
"use strict";
/*
* ==============================================================
* Downloads Sidebar
* Firefox 155 + userChromeJS
*
* Es wird KEIN eigenes Downloads-Frontend erzeugt.
* Stattdessen wird die native Firefox-Seite "about:downloads"
* als Sidebar-Panel verwendet.
*
* Das hat den Vorteil, dass Firefox selbst:
*
* - Download-Fortschritt
* - laufende Downloads
* - Öffnen der Dateien
* - Datei im Ordner anzeigen
* - Entfernen
* - Download-Historie
*
* weiterhin verwaltet.
* ==============================================================
*/
const COMMAND_ID = "viewDownloadsSidebar";
const TOOL_ID = "downloads";
const PANEL_ELEMENT_ID = "sidebar-switcher-downloads";
const PANEL_URL = "about:downloads";
const TOOLS_PREF = "sidebar.main.tools";
/*
* --------------------------------------------------------------
* Debug
* --------------------------------------------------------------
*/
const DEBUG = true;
function log(...args) {
if (DEBUG) {
console.log(
"[Downloads Sidebar]",
...args
);
}
}
function warn(...args) {
console.warn(
"[Downloads Sidebar]",
...args
);
}
/*
* --------------------------------------------------------------
* Nur browser.xhtml
* --------------------------------------------------------------
*/
if (
location.href !==
"chrome://browser/content/browser.xhtml"
) {
return;
}
/*
* --------------------------------------------------------------
* Prüfen, ob die neue Sidebar aktiv ist
* --------------------------------------------------------------
*/
function isNewSidebarEnabled() {
return Services.prefs.getBoolPref(
"sidebar.revamp",
false
);
}
/*
* --------------------------------------------------------------
* sidebar.main.tools
* --------------------------------------------------------------
*/
function getSidebarTools() {
let value = "";
try {
value =
Services.prefs.getStringPref(
TOOLS_PREF,
""
);
} catch (e) {
return [];
}
return value
.split(",")
.map(x => x.trim())
.filter(Boolean);
}
function setSidebarTools(tools) {
/*
* Duplikate vermeiden.
*/
tools =
[...new Set(
tools.filter(Boolean)
)];
Services.prefs.setStringPref(
TOOLS_PREF,
tools.join(",")
);
}
function enableDownloadsTool() {
const tools =
getSidebarTools();
if (
!tools.includes(TOOL_ID)
) {
tools.push(
TOOL_ID
);
setSidebarTools(
tools
);
log(
"Downloads zu sidebar.main.tools hinzugefügt."
);
}
}
/*
* --------------------------------------------------------------
* SidebarController abwarten
* --------------------------------------------------------------
*/
function waitForSidebarController() {
if (
typeof SidebarController ===
"undefined"
) {
return false;
}
if (
typeof SidebarController.sidebars ===
"undefined"
) {
return false;
}
return true;
}
/*
* --------------------------------------------------------------
* Native Sidebar-Definition
* --------------------------------------------------------------
*
* Mozilla verwendet intern ungefähr folgende Struktur:
*
* {
* name,
* elementId,
* url,
* revampL10nId,
* iconUrl
* }
*
* Das entspricht der Architektur der neuen Sidebar.
* --------------------------------------------------------------
*/
function createSidebarDefinition() {
return {
name:
TOOL_ID,
elementId:
PANEL_ELEMENT_ID,
url:
PANEL_URL,
/*
* Titel.
*
* Wenn keine entsprechende FTL-ID vorhanden ist,
* verwendet Firefox den normalen title-Fallback.
*/
title:
"Downloads",
/*
* Icon der normalen Firefox-Downloadfunktion.
*/
iconUrl:
"chrome://browser/skin/downloads/downloads.svg",
/*
* Damit die alte Sidebar-Logik nicht versucht,
* einen nicht vorhandenen Menüeintrag zu manipulieren.
*/
visible:
true,
/*
* Kein eigenes Kontextmenü notwendig.
*/
contextMenuId:
null,
toolContextMenuId:
null
};
}
/*
* --------------------------------------------------------------
* Sidebar registrieren
* --------------------------------------------------------------
*/
function registerSidebar() {
const sidebars =
SidebarController.sidebars;
/*
* Bereits vorhanden?
*/
if (
sidebars.has(
COMMAND_ID
)
) {
log(
"Downloads-Sidebar bereits registriert."
);
return true;
}
const sidebar =
createSidebarDefinition();
/*
* Die Map wird auch von show(), getTools()
* und dem Sidebar-Launcher verwendet.
*/
sidebars.set(
COMMAND_ID,
sidebar
);
log(
"Downloads-Sidebar registriert."
);
return true;
}
/*
* --------------------------------------------------------------
* getTools() erweitern
* --------------------------------------------------------------
*
* In Firefox befindet sich die interne toolsNameMap
* als lexical const im browser-sidebar.js und ist deshalb
* aus userChromeJS nicht direkt erreichbar.
*
* Deshalb erweitern wir getTools() um unser Tool.
* --------------------------------------------------------------
*/
function patchGetTools() {
if (
SidebarController
.__ucDownloadsGetToolsPatched
) {
return;
}
const originalGetTools =
SidebarController.getTools;
if (
typeof originalGetTools !==
"function"
) {
warn(
"SidebarController.getTools() nicht gefunden."
);
return;
}
SidebarController.getTools =
function () {
let tools =
originalGetTools.call(
this
);
/*
* Bereits vorhanden?
*/
if (
tools.some(
tool =>
tool.commandID ===
COMMAND_ID
)
) {
return tools;
}
const sidebar =
this.sidebars.get(
COMMAND_ID
);
if (!sidebar) {
return tools;
}
const disabled =
!getSidebarTools().includes(
TOOL_ID
);
tools.push({
commandID:
COMMAND_ID,
view:
COMMAND_ID,
name:
TOOL_ID,
iconUrl:
sidebar.iconUrl,
/*
* Falls Firefox 155 die
* l10n-ID erwartet, lassen wir
* den Text über title laufen.
*/
l10nId:
null,
disabled:
disabled,
hidden:
false,
attention:
false,
contextMenu:
null
});
return tools;
};
SidebarController
.__ucDownloadsGetToolsPatched =
true;
/*
* toolsAndExtensions wird gecacht.
* Ein eventuell bereits erzeugter Cache muss
* verworfen werden.
*/
SidebarController
._toolsAndExtensions =
null;
log(
"getTools() erweitert."
);
}
/*
* --------------------------------------------------------------
* toolsAndExtensions reparieren
* --------------------------------------------------------------
*
* Der Launcher verwendet diese Map.
* --------------------------------------------------------------
*/
function patchToolsAndExtensions() {
/*
* Getter nicht überschreiben.
*
* Stattdessen den Cache nach getTools()
* neu aufbauen.
*/
SidebarController
._toolsAndExtensions =
null;
try {
const map =
SidebarController
.toolsAndExtensions;
if (
!map.has(
COMMAND_ID
)
) {
const sidebar =
SidebarController.sidebars.get(
COMMAND_ID
);
if (!sidebar) {
return;
}
map.set(
COMMAND_ID,
{
commandID:
COMMAND_ID,
view:
COMMAND_ID,
name:
TOOL_ID,
iconUrl:
sidebar.iconUrl,
l10nId:
null,
disabled:
!getSidebarTools()
.includes(
TOOL_ID
),
hidden:
false,
attention:
false
}
);
log(
"Downloads in toolsAndExtensions eingetragen."
);
}
} catch (e) {
warn(
"toolsAndExtensions konnte nicht erweitert werden:",
e
);
}
}
/*
* --------------------------------------------------------------
* toggleTool() patchen
* --------------------------------------------------------------
*
* Wichtig:
*
* Firefox kennt unser TOOL_ID nicht in seiner
* internen toolsNameMap.
*
* Ohne diesen Patch würde "Downloads" beim
* Umschalten in "Sidebar anpassen" nicht korrekt
* in sidebar.main.tools gespeichert.
* --------------------------------------------------------------
*/
function patchToggleTool() {
if (
SidebarController
.__ucDownloadsTogglePatched
) {
return;
}
const originalToggleTool =
SidebarController.toggleTool;
if (
typeof originalToggleTool !==
"function"
) {
warn(
"SidebarController.toggleTool() nicht gefunden."
);
return;
}
SidebarController.toggleTool =
function (commandID) {
/*
* Unser eigenes Tool
*/
if (
commandID ===
COMMAND_ID
) {
const tools =
getSidebarTools();
const index =
tools.indexOf(
TOOL_ID
);
/*
* Wenn vorhanden -> entfernen
*
* Wenn nicht vorhanden -> hinzufügen
*/
if (
index !== -1
) {
tools.splice(
index,
1
);
} else {
tools.push(
TOOL_ID
);
}
setSidebarTools(
tools
);
/*
* Tool-Zustand aktualisieren.
*/
const map =
this.toolsAndExtensions;
const tool =
map.get(
COMMAND_ID
);
if (tool) {
tool.disabled =
!tools.includes(
TOOL_ID
);
}
/*
* Launcher benachrichtigen.
*/
window.dispatchEvent(
new CustomEvent(
"SidebarItemChanged"
)
);
log(
"Downloads-Tool umgeschaltet:",
tools.includes(
TOOL_ID
)
);
return;
}
return originalToggleTool.call(
this,
commandID
);
};
SidebarController
.__ucDownloadsTogglePatched =
true;
}
/*
* --------------------------------------------------------------
* refreshTools() patchen
* --------------------------------------------------------------
*
* Wenn sidebar.main.tools geändert wird,
* muss der Launcher den Status unseres Tools
* ebenfalls aktualisieren.
* --------------------------------------------------------------
*/
function patchRefreshTools() {
if (
SidebarController
.__ucDownloadsRefreshPatched
) {
return;
}
const originalRefreshTools =
SidebarController.refreshTools;
if (
typeof originalRefreshTools !==
"function"
) {
return;
}
SidebarController.refreshTools =
function () {
/*
* Zuerst Firefox seine normalen
* Tools aktualisieren lassen.
*/
originalRefreshTools.call(
this
);
/*
* Unser Tool aktualisieren.
*/
const tool =
this.toolsAndExtensions
?.get(
COMMAND_ID
);
if (tool) {
tool.disabled =
!getSidebarTools()
.includes(
TOOL_ID
);
}
window.dispatchEvent(
new CustomEvent(
"SidebarItemChanged"
)
);
};
SidebarController
.__ucDownloadsRefreshPatched =
true;
}
/*
* --------------------------------------------------------------
* Sidebar öffnen
* --------------------------------------------------------------
*
* Wir verwenden die normale SidebarController.show().
*
* Dadurch läuft die Anzeige durch die originale
* Firefox-Sidebar-Logik.
*
* Firefox lädt:
*
* about:downloads
*
* in den Sidebar-Browser.
* --------------------------------------------------------------
*/
function testPanel() {
try {
const sidebar =
SidebarController.sidebars.get(
COMMAND_ID
);
if (!sidebar) {
warn(
"Downloads-Panel ist nicht registriert."
);
return false;
}
/*
* URL sicherheitshalber setzen.
*/
sidebar.url =
PANEL_URL;
return true;
} catch (e) {
warn(
"Panel-Test fehlgeschlagen:",
e
);
return false;
}
}
/*
* --------------------------------------------------------------
* Launcher neu aufbauen
* --------------------------------------------------------------
*
* SidebarItemAdded/Changed veranlasst die
* Custom-Lit-Komponenten der neuen Sidebar,
* ihre Liste erneut zu lesen.
* --------------------------------------------------------------
*/
function notifySidebar() {
window.dispatchEvent(
new CustomEvent(
"SidebarItemAdded"
)
);
window.dispatchEvent(
new CustomEvent(
"SidebarItemChanged"
)
);
}
/*
* --------------------------------------------------------------
* Initialisierung
* --------------------------------------------------------------
*/
function initialize() {
if (
!isNewSidebarEnabled()
) {
log(
"Neue Sidebar ist nicht aktiviert."
);
return;
}
if (
!waitForSidebarController()
) {
return false;
}
/*
* Reihenfolge ist wichtig.
*/
registerSidebar();
patchGetTools();
patchToggleTool();
patchRefreshTools();
/*
* Downloads standardmäßig aktivieren.
*
* Wenn du das NICHT möchtest, entferne
* diese Zeile.
*/
enableDownloadsTool();
/*
* toolsAndExtensions nach dem Eintrag
* neu erzeugen.
*/
patchToolsAndExtensions();
/*
* URL prüfen.
*/
testPanel();
/*
* Launcher informieren.
*/
notifySidebar();
log(
"Downloads Sidebar erfolgreich initialisiert."
);
return true;
}
/*
* --------------------------------------------------------------
* SidebarController wird während des Browserstarts
* relativ spät vollständig initialisiert.
*
* Daher mehrere kurze Versuche.
* --------------------------------------------------------------
*/
let attempts = 0;
const timer =
setInterval(
() => {
attempts++;
if (
initialize() ||
attempts >= 40
) {
clearInterval(
timer
);
}
},
250
);
})();
Alles anzeigen
danke für die Zusammenarbeit.
gerne doch![]()
Nö, auch nicht.
Siehe bitte mein Edit in Beitrag Nr. 6
also bleibt nur ein Schalter.
Der Eintrag fehlt in Fx 155..Beta und Nightly.
Und auch in der ESR 153:
Keine Ahnung warum das bei dir anders sein soll![]()
Edit:
Man muss erst hier einmalig ein Schlagwort vergeben, dann wird es in dem Popup angezeigt![]()
wo sind sind die Schlagwörter
Über ein Skript kannst du das wieder einblenden:
// ==UserScript==
// @name openbookModoki.uc.js
// @namespace https://github.com/Endor8/userChrome.js/blob/master/openbookmodoki/OpenBookModoki.uc.js
// @description Lesezeichen Bearbeiten Panel: Veränderbare Panelgröße hinzugefügt. Schlüsselwort und Ordner-Struktur
// @description Felder sind geschlossen. Weitere Einstellungen: Beschreibung, Ordner, Dieses Lesezeichen in der Sidebar laden,
// @description und Schlüsselwort können ein-/ausgeblendet werden.
// @include main
// @source https://www.camp-firefox.de/forum/thema/135858-skript-openbookmodoki-funktioniert-nicht-mehr/?postID=1218464#post1218464
// @author Alice0775
// @version 2023/11/15 17:00 Fenster schließen, Zeitanpassung nach @Aborix aus 2019; https://www.camp-firefox.de/forum/thema/127571-lesezeichen-speichern-anzeigedauer-gr%C3%B6%C3%9Fe-des-dialogfensters-zur-bearbeitung/?postID=1108858#post1108858
// @version 2023/01/27 14:30 Fx109 by Sören Hentzschel
// @version 2020/05/11 10:30 Fx76 by aborix
// @version 2018/03/15 10:30 Fx59 by aborix
// @version 2017/11/17 02:30 Fx57
// @version 2016/03/20 02:30 remove tst hack
// @version 2015/08/31 02:30 Fx40
// @version 2013/07/07 02:30 fix onFolderMenuListCommand
// @version 2012/12/08 22:30 Bug 788290 Bug 788293 Remove E4X
// @version 2012/07/24 14:30 Bug 761723 implement toString of function objects by saving source
// @version 2010/12/06 10:30 Bug Bug 597557 - Bookmarks & Identity panels should use an Arrowpanel
// @version 2010/04/01 00:00 Bug 556342 - Invalid Treeview in bookmark menu via star pane
// @version 2009/12/22 00:00 namePicker in front
// @version 2009/12/21 14:00 BETTER WORKAROUND FIX Bug 536024 - When i expand folder-tree on Edit This Bookmark, the bookmarked folder is changed.
// @version 2009/12/20 16:00 WORKAROUND FIX Bug 536024 - When i expand folder-tree on Edit This Bookmark, the bookmarked folder is changed.
// @version 2009/08/11 18:00 Tree Style Tab0.8.2009081101 Unterstützung für das Umbenennen von Objekten
// @version 2009/08/07 00:00 Tree Style Tab0.8.2009073102 Treestyletab-Tabzeile ausblenden, wenn vorhanden
// @version 2009/08/06 19:00 Tree Style Tab0.8.2009073102 Problem, dass der übergeordnete Tab für einen Moment angezeigt wird, behoben
// @version 2009/08/06 18:00 Tree Style Tab0.8.2009073102 entsprechend
// @version 2009/06/24 00:00 Firefox3.5 Es wurde ein Fehler behoben, durch den der Offen / Geschlossen Status des Expanders in der
// @version 2009/06/24 00:00 Ordnerstruktur und der Tag-Auswahl nicht gespeichert wurde
// @version 2009/01/02 02:00 Beschreibung, Position, loadInSidebar, Schlüsselwort und Einstellung anzeigen / ausblenden
// @version 2009/01/01 22:28
// ==/UserScript==
var openbookResizer = {
drag : false,
height: null,
width : null,
eventOffset: null,
timer: null,
PREHIDEROW : "userChrome.openbook.hideRow", // description, location, loadInSidebar, keyword
PREFTREEHEIGHT: "userChrome.openbook.treeHeight",
PREFTREEWIDTH : "userChrome.openbook.treeWidth",
PREFOPENTREE : "userChrome.openbook.openTree",
PREFOPENTAG : "userChrome.openbook.openTag",
get tree(){
return gEditItemOverlay._folderTree;
},
get getHideRow(){
try {
return Services.prefs.getCharPref(this.PREHIDEROW).replace(/\s/g,'').slice(',');
} catch(e) {
return [];
}
},
get getPrefTreeHeight(){
try {
return Services.prefs.getIntPref(this.PREFTREEHEIGHT);
} catch(e) {
return 150;
}
},
get getPrefTreeWidth(){
try {
return Services.prefs.getIntPref(this.PREFTREEWIDTH);
} catch(e) {
return 250;
}
},
get editBookmarkPanel(){
return StarUI.panel;
},
get treeExpander(){
return gEditItemOverlay._element('foldersExpander');
},
get tagExpander(){
return gEditItemOverlay._element('tagsSelectorExpander');
},
get getPrefOpenTree(){
try {
return Services.prefs.getBoolPref(this.PREFOPENTREE);
} catch(e) {
return false;
}
},
get getPrefOpenTag(){
try {
return Services.prefs.getBoolPref(this.PREFOPENTAG);
} catch(e) {
return false;
}
},
init: function(){
//window.removeEventListener('load', this, false);
window.addEventListener('unload', this, false);
var style = " \
.openbookResizerGripper { \
list-style-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAApklEQVQokY3QK4uCURCA4QeDLCoIXoIYNFiUFVZBq2JQEEx+UcTmpi1b121eosX/a5lg8jvTzsy8M+8cGGKNusQY44QMlRTgAzOcsUqBitH0FVCWpzeNpmZsytUb4oY9qil6BfRxDaiZp1eO5OBl01u9JX7QxiRFr4XfmNbFZ+gdojbCBbt4a6CDP/wH1McDR9SwwB1b+I4bejG1ER8xxwaluHOJ8RM+9xjk9q2RpwAAAABJRU5ErkJggg=='); \
cursor: sw-resize; \
}";
var sspi = document.createProcessingInstruction(
'xml-stylesheet',
'type="text/css" href="data:text/css,' + encodeURIComponent(style) + '"'
);
document.insertBefore(sspi, document.documentElement);
sspi.getAttribute = function(name) {
return document.documentElement.getAttribute(name);
};
this.folderTreeRow = "folderTreeRow";
this.tagsSelectorRow = "tagsSelectorRow";
gEditItemOverlay.initPanel_org = gEditItemOverlay.initPanel;
gEditItemOverlay.initPanel = function(aInfo) {
aInfo.hiddenRows = openbookResizer.getHideRow;
gEditItemOverlay.initPanel_org(aInfo);
}
// selected tree visible
func = gEditItemOverlay.toggleFolderTreeVisibility.toString();
func = func.replace(
'var currentFolder = this._getFolderIdFromMenuList();',
''
);
func = func.replace(
/expander.className = "expander-up";*/,
'var currentFolder = this._getFolderIdFromMenuList(); \
var onselect = this._folderTree.getAttribute("onselect"); \
this._folderTree.removeAttribute("onselect"); \
$&;'
);
func = func.replace(
'this._folderTree.focus();',
'$&; \
setTimeout(function(tree){ \
var start = new Object(); \
var end = new Object(); \
var numRanges = tree.view.selection.getRangeCount(); \
if (numRanges > 0) { \
tree.view.selection.getRangeAt(0,start,end); \
var v = start.value; \
tree.treeBoxObject.ensureRowIsVisible(v); \
} \
tree.setAttribute("onselect", onselect); \
}, 0, this._folderTree);'
);
try{
gEditItemOverlay.toggleFolderTreeVisibility = new Function(
func.match(/\((.*)\)\s*\{/)[1],
func.replace(/^function\s*.*\s*\(.*\)\s*\{/, '').replace(/}$/, '')
);
} catch(ex){}
// selected tree visible
func = gEditItemOverlay.onFolderMenuListCommand.toString();
func = func.replace(
'this._folderTree.selectItems([container]);',
'{var onselect = this._folderTree.getAttribute("onselect"); \
this._folderTree.removeAttribute("onselect"); \
$&; \
setTimeout(function(tree){ \
var start = new Object(); \
var end = new Object(); \
var numRanges = tree.view.selection.getRangeCount(); \
if (numRanges > 0) { \
tree.view.selection.getRangeAt(0,start,end); \
var v = start.value; \
tree.treeBoxObject.ensureRowIsVisible(v); \
} \
tree.setAttribute("onselect", onselect); \
}, 0, this._folderTree);}'
);
try{
gEditItemOverlay.onFolderMenuListCommand = new Function(
func.match(/\((.*)\)\s*\{/)[1],
func.replace(/^function\s*.*\s*\(.*\)\s*\{/, '').replace(/}$/, '')
);
} catch(ex){}
this.editBookmarkPanel.addEventListener('popupshowing', this, false);
this.editBookmarkPanel.addEventListener('popupshown', this, false);
this.editBookmarkPanel.addEventListener('popuphiding', this, false);
},
uninit: function(){
window.removeEventListener('unload', this, false);
this.editBookmarkPanel.removeEventListener('popupshowing', this, false);
this.editBookmarkPanel.removeEventListener('popupshown', this, false);
this.editBookmarkPanel.removeEventListener('popuphiding', this, false);
},
handleEvent: function(event){
switch(event.type){
case 'unload':
this.uninit();
break;
case 'popupshowing':
this.popupshowing(event);
break;
case 'popupshown':
this.popupshown(event);
break;
case 'popuphiding':
this.popuphiding(event);
}
},
popuphiding: function(event){
if (this.editBookmarkPanel != event.originalTarget)
return;
var state = !gEditItemOverlay._element(this.folderTreeRow).hidden;
Services.prefs.setBoolPref(this.PREFOPENTREE, state);
var state = !gEditItemOverlay._element(this.tagsSelectorRow).hidden;
Services.prefs.setBoolPref(this.PREFOPENTAG, state);
gEditItemOverlay._element(this.folderTreeRow).hidden = true;
gEditItemOverlay._element(this.tagsSelectorRow).hidden = true;
},
popupshowing: function(event){
if (this.editBookmarkPanel != event.originalTarget)
return;
this.tree.height = this.getPrefTreeHeight;
//this.tree.width = this.getPrefTreeWidth;
//this.editBookmarkPanel.width = this.getPrefTreeWidth;
if (!document.getElementById("openbookResizerbottomBox")) {
var panel = StarUI.panel;
var innerarrow = panel.openOrClosedShadowRoot.querySelector('.panel-arrowcontent');
if (innerarrow)
innerarrow.setAttribute('flex', 1);
var box = document.createXULElement("hbox");
box.setAttribute('id', 'openbookResizerbottomBox');
box.setAttribute('align',"start");
var resizer = document.createXULElement("image");
resizer.setAttribute("class", "openbookResizerGripper");
resizer.setAttribute('onmousedown', 'openbookResizer.mousedown(event)');
box.appendChild(resizer);
panel.appendChild(box);
panel.setAttribute('onmousemove', 'openbookResizer.mousemove(event)');
panel.setAttribute('onmouseup', 'openbookResizer.mouseup(event)');
}
},
popupshown: function(event){
if (this.editBookmarkPanel != event.originalTarget)
return;
setTimeout(function(self) {
if (self.getPrefOpenTree &&
gEditItemOverlay._element(self.folderTreeRow).hidden ) {
gEditItemOverlay.toggleFolderTreeVisibility();
}
if (self.getPrefOpenTag &&
gEditItemOverlay._element(self.tagsSelectorRow).hidden ) {
gEditItemOverlay.toggleTagsSelector();
}
try {
gEditItemOverlay._element(Services.prefs
.getCharPref("browser.bookmarks.editDialog.firstEditField")).focus();
} catch(e) {}
}, 100, this);
},
mousedown: function(event){
this.drag = true;
this.height = parseInt(this.tree.boxObject.height);
this.width = parseInt(this.editBookmarkPanel.boxObject.width);
this.eventOffset = event;
},
mousemove: function(event) {
if (this.timer)
clearTimeout(this.timer);
this.timer = setTimeout(function(event, self){
if (self.drag) {
// make sure height [150,screen-300] and width is [300,screen-50]
var newValue;
newValue = self.height + event.pageY - self.eventOffset.pageY;
if (newValue <= screen.height - 300 && newValue >= 150) {
self.tree.height = newValue;
}
newValue = self.width - event.pageX + self.eventOffset.pageX;
if (newValue <= screen.width - 50 && newValue >= 300) {
//self.tree.width = newValue;
self.editBookmarkPanel.width = newValue;
}
}
}, 10, event, this);
},
mouseup: function(event) {
if (this.drag) {
Services.prefs.setIntPref(this.PREFTREEHEIGHT, this.tree.height);
Services.prefs.setIntPref(this.PREFTREEWIDTH, this.editBookmarkPanel.boxObject.width);
}
this.drag = false;
}
}
//window.addEventListener("load", openbookResizer, false);
openbookResizer.init();
/* Fenster schließen nach 6 Sekunden */
(function() {
if (window.StarUI) {
const delay = 6;
StarUI._autoCloseTimeout = delay * 1000;
}
})();
Alles anzeigen
klappt die Lesezeichenliste nicht mehr auf.
Funktioniert hier einwandfrei.
2 Dateien austauschen muss
Du hast auch die richtigen Dateien am richtigen Ort ausgetauscht?
Hier kannst du sie downloaden:
ein wenig enger zusammen zu schieben.
Die Werte in Zeile 16 - 18 anpassen wie du es möchtest.
Gibt es eine Möglichkeit, dies wieder zu ändern?
Bei Vollbild ist die doch immer ausgeblendet![]()
Mit der Windows Taste kannst du sie dann wieder einblenden.
Sollte das nicht schon das Logo und den Text blocken?
Ja.
bei fast allem nicht so richtig weiter.
Ich habe zwecks Test mal den Hintergrund gelb eingefärbt, dann sieht das hier so aus:
Mit diesem Code:
@-moz-document url(about:newtab), url(about:home) {
body {
background-color: yellow !important;
}
.top-site-outer .tile {
background: none !important;
box-shadow: none !important;
}
.logo-and-wordmark-wrapper {
display: none !important;
}
li.top-site-outer {
margin-top: -10px !important;
margin-bottom: 0px !important;
margin-left: 5px !important;
}
.top-site-outer .tile .icon-wrapper {
min-width: 70px !important;
min-height: 70px !important;
}
.top-site-outer .rich-icon {
border: none !important;
}
.top-site-outer .title.pinned span {
padding: 0 0px !important;
}
}
Alles anzeigen
Zeile 2 - 4 ist für den Hintergrund, musst du dann wieder entfernen.
das war tatsächlich die Lösung!
![]()
Du wolltest doch aber die beta installieren.
uBlock Origin in der Version 1.74.1b2
Wie bekomme ich das weg?
In den Einstellungen hier unten den Haken entfernen:
Abstände seitlich neben den Kacheln ändern
In Zeile 10 den Wert mal ändern und testen:
wenn ich den weißen Rahmen
Auch bitte testen:
.nova-enabled .top-site-outer .tile {
background: none !important;
box-shadow: none !important;
}
oder auch:
muss man sich für die Beta-Versionen von uBlock speziell anmelden?
Nein, nur an anderer Stelle downloaden:
Schön, dass du das Problem nicht hast
Also liegt es an deinem Firefox wenn es bei dir nicht funktioniert.![]()
Erstell doch mal ein zusätzliches neues Profil, und teste es damit.
Funktioniert es damit, liegt es an deinem Profil, und du kannst das neue wieder löschen, und musst den Fehler suchen.
Danke schön
gerne wie immer![]()