Hallo loshombre.
Vielen Dank! Funktioniert einwandfrei. :klasse:
Endor
userChrome.js Scripte für Fuchs 16 (Zusammenstellung) alt
-
loshombre -
23. Mai 2011 um 00:55 -
Erledigt
-
-
Hallo loshombre.
Die 7 und die 20 würden mich auch noch interessieren.
Zu 7 noch eine Frage, lässt sich damit anstelle der Titelleiste eventuell auch
die neue Add-onleiste unten, ansprechen?Endor
-
Zitat
Hallo loshombre.
Vielen Dank! Funktioniert einwandfrei.Scheint also mit dem Scriptcode hier im Forum tatsächlich wieder zu klappen. Dat is gut.
Noch mal kurz zur Vertikal Toolbar. Durch das Script wird zwar das Addonbutton kreiert, nur leider stimmt da was mit dem Command Befehl nicht, weil der Manager nicht aufgehen will. Da ist wohl noch im Script ein Fehler drine.
Ich hab es mal mit paar anderen Klamotten probiert, die sich bei mir im Anpassen-Fester noch so tummeln. Geklappt hat zB. der Vollbildmodus, Gerasemonkey, TMP, Cookie Culler. ect....20.) Extra Config Menu (*xul-Datei):
XML
Alles anzeigen<?xml version="1.0"?> <!DOCTYPE overlay> <!-- // ExtraConfigMenu // --> <overlay id="ExtraConfigMenu_Overlay" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <script type="application/x-javascript"><![CDATA[ var uProfMenu = { //テキストファイルを開く為のエディタを指定 TextOpenExe : 'D:\\Programme\\Notepad++\\notepad++.exe', edit:function(OpenMode,Filename){ var Path = ""; switch (OpenMode){ //Current is Chrome Directory case 0: var Path = uProfMenu.getPrefDirectoryPath("UChrm") + "\\" + Filename; break; //Current is Profile Directory case 1: var Path = uProfMenu.getPrefDirectoryPath("ProfD") + "\\" + Filename; break; //Current is Root case 2: var Path = Filename; break; } uProfMenu.launch(uProfMenu.TextOpenExe,Path); }, /* init:function(){ var overlay ='\ overlay = "data:application/vnd.mozilla.xul+xml;charset=utf-8," + encodeURI(overlay.toXMLString()); window.userChrome_js.loadOverlay(overlay, uProfMenu); //document.loadOverlay(overlay, null); }, */ dirOpen:function(Path){ var dir = Components.classes["@mozilla.org/file/local;1"] .createInstance(Components.interfaces.nsILocalFile); dir.initWithPath(Path); dir.launch(); }, prefDirOpen:function(prefDir){ Path = uProfMenu.getPrefDirectoryPath(prefDir); /* if(addpath != null){ Path = Path + "\\" + addpath; } */ uProfMenu.dirOpen(Path); }, getPrefDirectoryPath:function(str){ // get profile directory var file = Components.classes["@mozilla.org/file/directory_service;1"] .getService(Components.interfaces.nsIProperties) .get(str, Components.interfaces.nsIFile); return file.path; }, launch:function(RanPath,OpenPath){ //alert(OpenPath); //return; /* var file = Components.classes["@mozilla.org/file/local;1"] .createInstance(Components.interfaces.nsILocalFile); file.initWithPath(path); file.launch(); */ var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile); file.initWithPath(RanPath); var proc = Components.classes["@mozilla.org/process/util;1"].createInstance(Components.interfaces.nsIProcess); proc.init(file); var args = [OpenPath]; proc.run(false, args, args.length); }, }; ]]></script> <menupopup id="menu_ToolsPopup"> <menu label="Config Menü" id="ExtraConfigMenu"> <menupopup> <menuitem label="userChrome.js" oncommand="uProfMenu.edit(0,'userChrome.js');"/> <menuitem label="userChrome.css" oncommand="uProfMenu.edit(0,'userChrome.css');"/> <menuitem label="userContent.css" oncommand="uProfMenu.edit(0,'userContent.css');"/> <menuitem label="prefs.js" oncommand="uProfMenu.edit(1,'prefs.js');"/> <menuitem label="user.js" oncommand="uProfMenu.edit(1,'user.js');"/> <menuseparator/> <menuitem label="GM Scripte" oncommand="uProfMenu.dirOpen(uProfMenu.getPrefDirectoryPath('ProfD') + '\\gm_scripts');"/> <menuitem label="Chromeordner" oncommand="uProfMenu.prefDirOpen('UChrm');"/> <menuitem label="Profilordner" oncommand="uProfMenu.prefDirOpen('ProfD');"/> <menuitem label="Addonordner" oncommand="uProfMenu.dirOpen(uProfMenu.getPrefDirectoryPath('ProfD') + '\\extensions');"/> <menuitem label="Installationsordner" oncommand="uProfMenu.prefDirOpen('CurProcD');"/> </menupopup> </menu> </menupopup> </overlay>
Pfade, Dateien und Ordner müssen im Script auf eigene Platte angepasst werden.ZitatZu 7 noch eine Frage, lässt sich damit anstelle der Titelleiste eventuell auch
die neue Add-onleiste unten, ansprechen?Keine Ahnung, müsste man eventuell gucken und was probieren.
-
Zitat von loshombre
[...] dass der hier kopierte Javascript bei anderen auf einmal nicht funktionieren wollte, weil die Forumsoftware irgendwie das Format durcheinander brachte.
ZitatScheint also mit dem Scriptcode hier im Forum tatsächlich wieder zu klappen.
Ich habe bisher folgendes beobachtet:
Wenn ich ein Skript aus der Code-Box in eine Textdatei kopiere, stehen in jeder Zeile zusätzlich am Anfang vier Leerzeichen. Bei reinem JavaScript-Code scheint das nichts auszumachen. Die Kopfzeilen bei einem GM-Skript werden allerdings nicht richtig verarbeitet; erst dann, wenn die Leerzeichen entfernt werden. -
Tatsächlich. Also kann Forum doch noch nicht einwandfrei mit Codes umgehen :? Ob es bei *xul auch was ausmacht ? Soll mal Hombre Endor wat zu sagen, nach dem er den oberen *xul Code hier raus und auf der Platte rein kopiert hat.
GM arbeitet auch mit JS, nur halt irgend wie anders. Mausgesten sind auch JS und wiederum anders. Da soll noch mal einer hier durchblicken :roll: -
Hallo loshombre
Vielen Dank!
Funktioniert einwandfrei.Zusatz: habe vergessen zu schreiben, die vier Leerzeichen am Anfang
musste ich auch entfernen, erst dann ging es.
Endor -
Dann scheint die ucerchrome.js nicht so empfindlich wie GM zu sein. Keine Ahnung, ist wohl aber so.
-
Hallo loshombre.
Siehe oben auch den Zusatz.Eine Frage noch zu Extra Config Menu, bei Dir wird es als eigener
Menüpunkt oben angezeigt, wo muss ich den Schraubendreher ansetzten um das
so hinzukriegen?Korrektur: das wird mit 17 gemacht. Habe ich gerade erst gesehen.
Endor
-
Zitat
Hallo loshombre.
Siehe oben auch den Zusatz.Tja. Ist also doch nach wie vor n Scheiß hier mit den Codes im Forum :?
Alles andere hast du mtw. selber geschafft. Immer vorher erst richtig die Beschreibung zu den Scripten lesen. -
Hallo loshombre.
Das Script von 17 wäre nett wenn Du das noch für mich hättest.Kennst Du diese Seite schon, da gibt es jede Menge von diesem Zeug.
Leider nur in Japanisch. Oben links ist aber ein Knopf wo man die Seite auf
englisch übersetzen lassen kann.http://space.geocities.jp/alice0775/userChromejs.html
Danke für die ganze Mühe die Du Dir für mich machst.
Endor -
Zitat
Kennst Du diese Seite schon
Von dieser und noch paar anderen träum ich schon mtw. nachts und zwar auf japanisch :shock::-??
Wenn du nur Extra Config Menu nimmst, buddelt es sich als Untermenüpunkt im Extramenü.
Oder wie soll ich dich jetzt verstehen ? -
Hallo loshombre.
Richtig ohne die 17 haut es sich zuunterst ins Extras Menü.
Daher die bitte um das Script von 17.Endor
-
17.) More Tools Menu (Javascript):
Code
Alles anzeigen(function() { const XUL_NS = 'http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul'; var toolsPopup = $('menu_ToolsPopup'); var menu = $E(<menu id="moreTools-menu" label={U('Tools')} accesskey=""/>); var popup = $E(<menupopup id="menu_MoreToolsPopup"/>); $A(toolsPopup.childNodes).forEach(absorb); $W('popupshowing popupshown popuphiding popuphidden').forEach(function(type) { popup.addEventListener(type, MTM_forwardEvent, true); }); menu.appendChild(popup); $('main-menubar').insertBefore(menu, $('tools-menu').nextSibling); toolsPopup.addEventListener('DOMNodeInserted', function MTM_onDOMNodeInserted(event) { var target = event.originalTarget; if (target.parentNode === this) absorb(target); }, false); function U(text) 1 < '?'.length ? decodeURIComponent(escape(text)) : text; function $A(arr) Array.slice(arr); function $W(str) str.split(' '); function $(id) document.getElementById(id); function $E(xml, doc) { doc = doc || document; xml = <root xmlns={doc.documentElement.namespaceURI}>{xml}</root>; var pp = XML.prettyPrinting; XML.prettyPrinting = false; var root = new DOMParser().parseFromString(xml.toXMLString(), 'application/xml').documentElement; XML.prettyPrinting = pp; doc.adoptNode(root); var range = doc.createRange(); range.selectNodeContents(root); var frag = range.extractContents(); range.detach(); return frag.childNodes.length < 2 ? frag.firstChild : frag; } function isMoreTools(item) { switch (item.getAttribute('id')) { case 'menu_search': case 'browserToolsSeparator': case 'menu_openDownloads': case 'menu_openAddons': case 'sync-setup': case 'sync-syncnowitem': case 'devToolsSeparator': case 'javascriptConsole': case 'webConsole': case 'menu_pageInfo': case 'sanitizeSeparator': case 'privateBrowsingItem': case 'sanitizeItem': case 'prefSep': case 'menu_preferences': return false; } return true; } function absorb(item) { if (!isMoreTools(item)) return; if (item.localName === 'menuseparator') { setTimeout(function() document.adoptNode(item), 0); return; } var itemLabel = item.getAttribute('label').toLowerCase(); var nodes = $A(popup.children); for (var index = 0, len = nodes.length; index < len; index++) { if (itemLabel < nodes[index].getAttribute('label').toLowerCase()) break; } popup.insertBefore(item, nodes[index]); } function MTM_forwardEvent({type}) { var _event = document.createEvent('PopupEvents'); _event.initMouseEvent(type, true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null); toolsPopup.dispatchEvent(_event); } })();
Zu Nr.7 (Die Uhr): Ich glaub, da kann ich eventuell wegen der Addonbar da doch wat ausrichten. Ne Idee halt. Muss aber noch 2-3 Versuche fahren.
Es gibt mtw. einen aktuellen Ersatz mit korrigiertem frischen Code für 26. StatusbarInURLBar: Chrome Statusbar
28. Revert Titlebar // Im Fuchs 4 gibt es u.a. einen Bug bei ausgeblendeter Menübar. Neben dem neuen Appmenu-Button erscheint kein aktueller Seitentitel, wie es ja in der "normalen" Titlebar der Fall ist. Dieses Script behebt diesen Bug (Siehe Bild unten).
[Blockierte Grafik: http://img7.imagebanana.com/img/5sl28uqg/thumb/Zwischenablage02.jpg]
-
Hallo loshombre.
Vielen Dank für das Script. Läuft einwandfrei.
Domo Arigatou gozaimasu :wink:Endor
-
Ich habe noch etwas selber geschraubt und hab da noch einiges zusammen gezimmert.
Zu 7. Uhrzeit+Datum in Titlebar.
Hier hab ich es u.a. mit Hilfe des alten Codes des Kameraden Coce, den er seinerzeit aus MZ freundlicherweise mitgebracht hat, geschafft, die Uhr mit Datum in die Addonbar unter einzupflanzen. Man muss aber etwas fummeln. Je nach dem, wo man die Uhr haben will, setzt man sie im Script an die id des betreffenden Addon-Button der Addonbar. Hier zB. hab ich links CookieCuller Button geschoben und die Uhr dann davor gesetzt:[Blockierte Grafik: http://img7.imagebanana.com/img/u8pp5zf4/thumb/UhrinAddonbar.jpg]
Das ist noch der originale englische Javascript Code und ohne Sekunden. Ist aber schnell angepasst:
Code
Alles anzeigenfunction Clock() { var title = content.document.title; var days = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]; var months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]; var D = new Date(); var day = days[D.getDay()]; var month = months[D.getMonth()]; var year = D.getFullYear(); var hours = D.getHours(); var min = D.getMinutes(); var sec = D.getSeconds(); var Time = ((hours > 12) ? hours - 12 :(hours == 0) ? 12 :hours); Time += ((min < 10) ? ":0" : ":") + min; Time += ((sec <10>= 12) ? " PM" : " AM"); var date = day + ", " + month + " " + D.getDate() + ", " + year; var timestr = date + " " + Time; var status = document.getElementById("statusbar-clock-display"); status.setAttribute("value", timestr); setTimeout("Clock()", 100); } //var ClockStatus = document.getElementById("statusbar-display"); var ClockStatus = document.getElementById("cookieculler-button"); var ClockLabel = document.createElement("label"); ClockLabel.setAttribute("id", "statusbar-clock-display"); ClockLabel.setAttribute("class", "statusbarpanel-text"); ClockLabel.setAttribute("style", "padding-top: 3px;"); ClockStatus.parentNode.insertBefore(ClockLabel, ClockStatus.nextSibling); Clock();
Zu 27. Vertikal Toolbar.
Hier hab ich das Öffnen des Addons-Manager aus eben dieser wieder hergestellt. Dabei hab ich zwei neue Funktionen eingebaut. Je nach dem, wie man´s haben will, geht der AM in der Sidebar, oder im neuen Tab auf. Für die Sidebar Variante hab ich mich zusätzlich eines schon fertigen Codes der Schrauberkollegen von userstyles.org bedient (besten Dank) mit geringeren eigenen Anpassungen. Dabei wird der AM auf die Sidebar angepasst mit Autohide Funktion der AM Optionen.Zusätzlich hab ich noch 2 neue Button-Optionen in die Toolbar kreiert und eingebaut. Das Öffnen der about:configs in neuem Tab und einen Fuchs-Neustart.
Addon Manager in der Sidebar:
[Blockierte Grafik: http://img7.imagebanana.com/img/obpz63sv/thumb/AddonM_Sidebar.jpg]AM in Siderbar mit Optionen:
[Blockierte Grafik: http://img7.imagebanana.com/img/l1l3evfw/thumb/AddonM_Opt.jpg]about:config im neuen Tab:
[Blockierte Grafik: http://img7.imagebanana.com/img/xf278ffs/thumb/Configs.jpg]Der letzte blaue Button (runder Pfeil) ist der für den Fuchs Neustart.
-
Hallo loshombre
Danke für das Script für die Statusbar - Add-onbar Uhr.Ich habe dazu, eine andere Version hier im Forum gefunden,
da musste ich nur unten die eine Zeile anpassen, bei welchem Symbol
sich die Uhr anhängen soll.Code
Alles anzeigen/* ############################################################ Statusbar - Uhr ####################################################### */ function doDatUhr() { var days = ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"]; var months = ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"]; var title = content.document.title; window.setTimeout("try{doDatUhr()}catch(ex){}", 1000 ); var D = new Date(); var day = days[D.getDay()]; var month = months[D.getMonth()]; var year = D.getFullYear(); var hour = D.getHours(); var minute = D.getMinutes(); var second = D.getSeconds(); var date = " " + day + ", " + (D.getDate() < 10 ? "0" +D.getDate() : D.getDate()) + ". " + month + " " + year + " "; var time = (hour < 10 ? "0" +hour : hour) + ":" + (minute < 10 ? "0" +minute : minute) + ":" + (second < 10 ? "0" +second : second); var timestr = date + time + " Uhr" + " "; var status = document.getElementById("statusbar-clock-display"); status.setAttribute("value", timestr);} //var ClockStatus = document.getElementById("statusbar-display"); var ClockStatus = document.getElementById("gmanager-toolbar-item"); var ClockLabel = document.createElement("label"); ClockLabel.setAttribute("id", "statusbar-clock-display"); ClockLabel.setAttribute("class", "statusbarpanel-text"); ClockLabel.setAttribute("style", "padding-top: 3px;"); ClockStatus.parentNode.insertBefore(ClockLabel, ClockStatus.beforeSibling); doDatUhr(); /* ############################################################ Statusbar - Uhr ####################################################### */
Quelle - MK204:
https://www.camp-firefox.de/forum/viewtopi…=588971#p588971sieht so aus:
[attachment=0]Uhr.png[/attachment]Vielen Dank nochmal für Deine Hilfe.
Endor -
Hallo loshombre.
Könnte man eigentlich, das Script ExtraConfigMenu.uc.xul
auch so um schrauben, dass man damit zbs. Bild Dateien in einem Bild Bearbeitungsprogramm
öffnen könnte?Endor
-
ExtraConfigMenu ist ne *xul und sie öffnet Fuchsordner und Profildateien, aber keine externe Programme.
-
Und hast Du eine Ahnung, ob es da sonst was passendes dafür gibt?
Endor -
Ist mir bis jetzt als Script noch nicht unter gekommen.
-