alle Codes funktionieren. Nochmals vielen Dank
Das hört sich doch gut an. ![]()
alle Codes funktionieren. Nochmals vielen Dank
Das hört sich doch gut an. ![]()
Die Nummerierung der Tab verbessert die visuelle Übersichtlichkeit und die Benutzerfreundlichkeit.
Wobei bei diesem Counter die Tabs eingeklappter Gruppen, nicht geschlossene Gruppen, die ja so oder so nicht mitgezählt werden, nicht mitgezählt werden. Damit die Tabs der eingeklappten Gruppen mitgezählt werden, bedarf es eines Javascripts.
/* Tabs nummerieren */
// ==UserScript==
// @name Numbered Tabs
// @namespace http://anttirt.net/
// @description Adds numbers to tab labels (useful with eg. Pentadactyl)
// @include main
// @compatibility Firefox 4.0
// @author anttirt
// @version 1.0b
// @homepage https://github.com/anttirt/numbered-tabs-firefox
// ==/UserScript==
(function() {
var stripPat = /^\d\d* /;
var container = gBrowser.tabContainer;
function update(event) {
var tab = event.target;
if(typeof tab.tabIndex == "undefined") {
updateAll();
}
else {
tab.label = String(tab.tabIndex) + " " + tab.label.replace(stripPat, "");
}
}
function updateAll(event) {
var skip = false;
for(var i = 0; i < container.allTabs.length; ++i) {
var tab = container.allTabs[i];
if(event.type == "TabClose" && tab == event.target) {
skip = true;
continue;
}
tab.tabIndex = i + (skip ? 0 : 1);
tab.label = String(tab.tabIndex) + " " + tab.label.replace(stripPat, "");
}
}
container.addEventListener("TabAttrModified", update, false);
container.addEventListener("TabOpen", updateAll, false);
container.addEventListener("TabMove", updateAll, false);
container.addEventListener("TabClose", updateAll, false);
})();
Alles anzeigen
Das dürfte an einem deiner Codes liegen:
Hm, bis vor dem Update ging es noch, ist jetzt korrigiert, Dankeschön.
Du nutzt das Skript aus Beitrag Nr. 2?
Hm, das von Boersenfeger in #7 eingefügte Script funktioniert hier ohne Probleme mit dem von Dir in #2 eingefügten Script, sprich das Icon ist zu sehen.
Hallo FuchsFan,
auch hier ein Dankeschön, funktioniert einwandfrei. ![]()
Hallo zusammen,
// JavaScript Document
// QuickLinkButton-about-about.uc.js
//TESTSTEST
/* ----------------------------------------------------------------------------------- */
/* Zu beachten ist, dass die Grafiken sich im richtigen Ordner befinden müssen */
/* %appdata%\Mozilla\Firefox\Profiles\"Profilname"\chrome\icons */
/* ----------------------------------------------------------------------------------- */
// Nur TEST TEST TEST !!!!!
(function() {
// Test 1
//if (location != 'chrome://browser/content/browser.xhtml') return;
if (!window.gBrowser){
return;
}
try {
CustomizableUI.createWidget({
id: 'link-button-about',
type: 'custom',
defaultArea: CustomizableUI.AREA_NAVBAR,
onBuild: function(aDocument) {
// Test 2
//var toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton');
let toolbaritem = aDocument.createXULElement('toolbarbutton');
let props = {
id: 'link-button-about',
class: 'toolbarbutton-1 chromeclass-toolbar-additional',
removable: 'true',
label: 'Quicklink: about:about',
tooltiptext: 'Fx-Quicklink:\nabout:about',
};
for (var p in props) {
toolbaritem.setAttribute(p, props[p]);
}
return toolbaritem;
}
});
// Test 3
CustomizableUI.registerToolbarNode(tb);
} catch(e) {};
document.getElementById('link-button-about').addEventListener('click', event => {
if (event.button === 0) {
openTrustedLinkIn("about:about", "tab")
}
});
// Pfad zum Profilordner
let ProfilePath = Services.dirsvc.get("ProfD", Ci.nsIFile).path.replace(/\\/g, "/");
// Pfad in den entsprechenden Unterordner
let IconPath = '/chrome/icons/';
// Name & Dateiendung des anzuzeigenden Symbols!
let ButtonIcon = "control_panel.png";
// Erstelle ein img-Element, um zu überprüfen, ob die Grafik geladen werden kann
let img = new Image();
img.src = "file:" + ProfilePath + IconPath + ButtonIcon;
img.onload = function() {
// Wenn die Grafik geladen werden kann, setze das listStyleImage
document.getElementById('link-button-about').style.listStyleImage = 'url("' + ("file:" + ProfilePath + IconPath + ButtonIcon) + '")';
document.getElementById('link-button-about').style.fill = '#f1b508'; // Hier wird die Iconfarbe direkt gesetzt
};
img.onerror = function() {
// Wenn die Grafik nicht geladen werden kann, verwende das Fallback-Icon
document.getElementById('link-button-about').style.listStyleImage = 'url("chrome://global/skin/icons/warning.svg")';
document.getElementById('link-button-about').style.fill = 'red'; // Hier wird die Iconfarbe direkt gesetzt
};
})();
Alles anzeigen
auch das ↑ Script funktioniert hier nicht mehr.
Hallo zusammen,
// Button_Verzeichnisse.uc.js
// Linksklick öffnet Profilordner
// Mittelklick öffnet Installationsordner
// Rechtsklick öffnet Ordner chrome
(function() {
if (!window.gBrowser)
return;
try {
CustomizableUI.createWidget({
id: 'buttonOrdner',
type: 'custom',
defaultArea: CustomizableUI.AREAS,
onBuild: function(aDocument) {
var toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton');
var props = {
id: 'buttonOrdner',
class: 'toolbarbutton-1 chromeclass-toolbar-additional',
removable: true,
// Name im AnpassungFenster
label: 'Ordner aufrufen',
// Name bei MausHover wenn in Symbolleiste
tooltiptext: 'Links Profilordner / Mitte Installationsordner / Rechts Ordner chrome',
// style: 'list-style-image: url("file:///C:/FoxIcons2/ordner2.png")',
style: 'list-style-image: url("file:///H:/Profile/Firefox/Fx57-H-Default/chrome/icons/folder_go.png")',
};
for (var p in props)
toolbaritem.setAttribute(p, props[p]);
return toolbaritem;
}
});
} catch(e) { };
document.getElementById('buttonOrdner').addEventListener('click', event => {
if (event.button == 0) {
uProfMenu.prefDirOpen('ProfD');
}
if (event.button == 1) {
uProfMenu.prefDirOpen('CurProcD');
}
if (event.button == 2) {
Services.dirsvc.get("UChrm", Ci.nsIFile).launch();
}
});
})();
Alles anzeigen
auch das ↑ Script funktioniert hier nicht, es hat folgende Funktionen, Linksklick öffnet Profilordner, Mittelklick öffnet Installationsordner und Rechtsklick öffnet Ordner chrome.
Ich habe den Menüpunkt Plugin-Verwaltung in Notepad++ 8.9.3 nicht, wo finde ich diesen?
Eigentlich im Menü Plugins als vorletzten Eintrag.
Bei mir klappt es und bei Dharkness offenbar auch.
Zum Hervorheben der ersten und letzten Klammer ist es auch egal, wo der Cursor steht, es funktioniert mit dem PScript sowohl bei der ersten, als auch bei der letzten Klammer.
Jetzt funktioniert es hier auch
![]()
Na wer sagt es denn, am Ende wird alles gut. ![]()
Kein Problem hier
Hm, andere Script funktionieren hier ohne Probleme, z.B. Restart-Scripts, oder das Profil-Backup-Script, das Start-any-aplication-Script, das Extra-Config-Menü-Script und das Firefox-Menü-Script und andere.
Bitte testen und gegebenenfalls anpassen.
Das läuft ohne Probleme, Dankeschön.
Denn ich musste eben auch gerade die startup.py neu ausführen, nachdem ich Notepad++ gestartet hatte.
Ich musste das Pythonscript (PScript) auch nach dem Start erst einmal ausführen, man kann es allerdings auch beim Start ausführen lassen, dann sollte es aber bei dem einen PScript bleiben, ansonsten muss man es immer nach dem Start selbst ausführen.
![]()
vor dem PScript.
nach dem PScript.
Hallo zusammen,
// QuickLinkButton-about-config.uc.js
// aboutconfig-button.uc.js Fallback Test Mai 2025
// Eigenes Icon erwartet in Profilordner/chrome/icons , icons Ordner falls noetig erstellen.
// TEST, die Zweite !!!!!
(function() {
if (location != 'chrome://browser/content/browser.xhtml') return;
try {
CustomizableUI.createWidget({
id: 'aboutconfig_button',
type: 'custom',
defaultArea: CustomizableUI.AREA_NAVBAR,
onBuild: function(aDocument) {
let buttonicon = "wrench-s2.png";
let fallbackIcon = "chrome://global/skin/icons/warning.svg";
let iconFile = Services.dirsvc.get("ProfD", Ci.nsIFile);
iconFile.append("chrome");
iconFile.append("icons");
iconFile.append(buttonicon);
let iconExists = iconFile.exists();
let iconURL = iconExists
? "file://" + iconFile.path.replace(/\\/g, "/")
: fallbackIcon;
// Nur das Fallback-Icon einfärben
let iconStyle = 'list-style-image: url("' + iconURL + '");';
if (!iconExists) {
iconStyle += ' fill: red;';
}
let toolbaritem = aDocument.createElementNS(
'http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul',
'toolbarbutton'
);
let props = {
id: 'aboutconfig_button',
class: 'toolbarbutton-1 chromeclass-toolbar-additional',
label: 'About:Config',
tooltiptext: 'About:Config',
style: iconStyle
};
for (let p in props)
toolbaritem.setAttribute(p, props[p]);
return toolbaritem;
}
});
} catch (e) { }
document.getElementById('aboutconfig_button')?.addEventListener('click', event => {
if (event.button === 0) {
openTrustedLinkIn("about:config", "tab");
}
});
})();
Alles anzeigen
obiges Script funktioniert leider nicht mehr, Button ist vorhanden, hat aber keine Funktion. Funktion des Scripts ist, das öffnen von about:config in einem neue Tab.
Aber der Umbau befindet sich ja auch noch ganz am Anfang.
Gaaanz am Anfang, aber ich bin schon sehr gespannt, wie das Endergebnis sein wird. ![]()