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
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
ZitatHallo 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 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>
Alles anzeigen
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
ZitatHallo 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
ZitatKennst 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):
(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);
}
})();
Alles anzeigen
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:
function 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();
Alles anzeigen
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.
/* ############################################################ 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 ####################################################### */
Alles anzeigen
Quelle - MK204:
https://www.camp-firefox.de/forum/viewtopi…=588971#p588971
sieht 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.
Abend Hombres,
u.a. ist auch das Script "Vertical Toolbar" zu einem meiner Lieblinge geworden. Ich hab da auch noch paar Sachen eingebaut, die man so schnell zu Hand hat, ohne paar mal noch wo klicken zu müssen. Außer "Vor" und "Zurück" und "TMP Einstellungen" sind es alles Klamotten, die es sonst in einer Fuchs Toolbar nicht gibt, ohne sie mit Addons extra nachrüsten zu müssen.
Außerdem hab ich die Toolbar auf autohide gesetzt. Somit klaut sie mir keinen Millimeter meines kleinen Bildschirms mehr und wird nur beim Gebrauch rausgefahren.
Soweit hab ich jetzt alles zusammen nur der TMP (Tab Mix Plus) Button ist mir leider nicht besonders gelungen (der 6ste von unten auf m Bild).
Wenn die Hombres also irgend wo so n TMP Button zu Hand, oder sonst wo gesehen, oder gar selber gebastelt haben, würde ich mich über einen Hinweis, Link, ect... sehr freuen. Es muss ein 24x24px Button sein und natürlich transparenten Hintergrund haben. Aus der Erweiterung selber krieg ich es leider nicht vernünftig heraus gearbeitet.
Wenn ihr also was für mich am Start habt, her damit :wink:
[Blockierte Grafik: http://img7.imagebanana.com/img/116i8dhm/thumb/Zwischenablage02.jpg]