Hallo Endor,
ich werde das überprüfen.
Gruß EDV Oldi
userChrome.js Scripte für den Fuchs (Diskussion)
-
Endor -
12. Mai 2015 um 14:19 -
Erledigt
-
-
Hallo Endor,
gesucht und gefunden.
Belegung der Mittleren Maustaste im Mauscenter für den Firefox geändert und schon funktioniert es.
Ich musste hier "Neu hinzufügen" den Firefox eintragen und "Mit der mittleren Taste klicken" auswählen.
[attachment=0]Zwischenablage02.jpg[/attachment]
Gruß EDV Oldi -
Gibt's was Neues zu RevertBackForwardButton.uc.xul (Version vom 12.05.2014)? Funktioniert nicht in FF 55.
-
Ja wurde repariert.
Siehe hier:Falsches Script. :oops:
Mfg.
Endor -
Nee, nicht RevertStopReloadButton.uc.xul, sondern RevertBackForwardButton.uc.xul.
-
Eine neue Version von RevertBackForwardButton.uc.xul habe ich bereits fertig, sie ist nur noch nicht ausreichend getestet. Die CSS-Codes passen möglicherweise nicht für alle Betriebssysteme.
XML
Alles anzeigen<?xml version="1.0"?> <?xml-stylesheet href="data:text/css,@namespace%20url('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul');@namespace%20html%20url('http://www.w3.org/1999/xhtml'); %23ucjs_back-button { list-style-image: url('chrome://browser/skin/back.svg'); } %23ucjs_forward-button { list-style-image: url('chrome://browser/skin/forward.svg'); } %23ucjs_back-button > .toolbarbutton-menu-dropmarker, %23ucjs_forward-button > .toolbarbutton-menu-dropmarker { display: none !important; } %23nav-bar %23ucjs_back-button, %23nav-bar %23ucjs_forward-button { margin: 0 -4.6666px; } %23nav-bar { height: 38px !important; } %23urlbar-wrapper { margin-left: 2px !important; } %23identity-box { padding-left: 5px !important; } window:not([chromehidden~='toolbar']) %23urlbar-wrapper > %23urlbar { margin: 0 3px !important; padding: 0 !important; -moz-border-start: 1px solid ThreeDShadow !important; } window:not([chromehidden~='toolbar']) %23urlbar-wrapper > %23urlbar:-moz-lwtheme { -moz-border-start: 1px solid rgba(0,0,0,.32) !important; } window:not([chromehidden~='toolbar']) %23urlbar-wrapper > %23urlbar:not(:-moz-system-metric(windows-classic)):not(:-moz-lwtheme) { border-color: hsla(210,54%,20%,.25) hsla(210,54%,20%,.27) hsla(210,54%,20%,.3) !important; } window:not([chromehidden~='toolbar']) %23urlbar-wrapper > %23urlbar:not(:-moz-system-metric(windows-classic)):not(:-moz-lwtheme)[focused] { border-color: Highlight !important; } window:not([chromehidden~='toolbar']) %23urlbar-wrapper > %23urlbar:-moz-locale-dir(ltr) { border-top-left-radius: 2px !important; border-bottom-left-radius: 2px !important; } window:not([chromehidden~='toolbar']) %23urlbar-wrapper > %23urlbar:-moz-locale-dir(rtl) { border-top-right-radius: 2px !important; border-bottom-right-radius: 2px !important; } window:not([chromehidden~='toolbar']) %23urlbar-wrapper { clip-path: none !important; -moz-margin-start: 0px !important; } %23back-button, %23forward-button { display: none; } " type="text/css"?> <overlay id="revertBackForwardButton" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <!-- // ==UserScript== // @name revertBackForwardButton.uc.xul // @namespace http://blogs.yahoo.co.jp/alice0775 // @description Revert Back Forward Button // @include main // @compatibility Firefox 55+ // @author Alice0775 // @version 2014/05/25 06:30 fix style Firefox29, 30 // @version 2014/05/25 05:30 fix shift urlbar when disabled button // @version 2014/05/25 01:30 fix left border color of URLBar // @version 2014/05/15 01:30 add class chromeclass-toolbar-additional // @version 2014/05/15 01:30 fix color // @version 2014/05/13 10:30 fix second window // @version 2014/05/13 09:50 remove config // @version 2014/05/13 09:30 fix second window // @version 2014/05/13 07:35 fix darktheme // @version 2014/05/12 08:30 Working on Firefox29+ // @note not support combined Stop Reload Button / large icons // ==/UserScript== --> <script type="application/x-javascript" xmlns="http://www.w3.org/1999/xhtml"><![CDATA[ var revertBackForwardButton = { init: function() { try { CustomizableUI.createWidget({ //must run createWidget before windowListener.register because the register function needs the button added first id: 'ucjs_back-button', type: 'custom', defaultArea: CustomizableUI.AREA_NAVBAR, onBuild: function(aDocument) { var toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton'); var props = { id: "ucjs_back-button", class: "toolbarbutton-1 chromeclass-toolbar-additional", label: "Zurück", command: "Browser:BackOrBackDuplicate", onclick: "checkForMiddleClick(this, event);", oncommand: "BrowserBack(event);", tooltiptext: "Eine Seite zurück", context: "ucjs_back_forward-button_menupopup" }; for (var p in props) { toolbaritem.setAttribute(p, props[p]); } return toolbaritem; } }); } catch(ee) {} try { CustomizableUI.createWidget({ //must run createWidget before windowListener.register because the register function needs the button added first id: 'ucjs_forward-button', type: 'custom', defaultArea: CustomizableUI.AREA_NAVBAR, onBuild: function(aDocument) { var toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton'); var props = { id: "ucjs_forward-button", class: "toolbarbutton-1 chromeclass-toolbar-additional", label: "Vor", command: "Browser:ForwardOrForwardDuplicate", onclick: "checkForMiddleClick(this, event);", oncommand: "BrowserForward(event);", tooltiptext: "Eine Seite vor", context: "ucjs_back_forward-button_menupopup" }; for (var p in props) { toolbaritem.setAttribute(p, props[p]); } return toolbaritem; } }); } catch(ee) {} window.addEventListener("aftercustomization", revertBackForwardButton, false); revertBackForwardButton.SetClickAndHoldHandlers(); }, handleEvent: function(event) { switch(event.type) { case "aftercustomization": this.UpdateBackForwardCommands(gBrowser.webNavigation); break; } }, UpdateBackForwardCommands: function ucjs_UpdateBackForwardCommands(aWebNavigation) { if (aWebNavigation.canGoBack) { document.getElementById("ucjs_back-button").removeAttribute("disabled"); } else { document.getElementById("ucjs_back-button").setAttribute("disabled", true); } if (aWebNavigation.canGoForward) { document.getElementById("ucjs_forward-button").removeAttribute("disabled"); } else { document.getElementById("ucjs_forward-button").setAttribute("disabled", true); } }, /** * Click-and-Hold implementation for the Back and Forward buttons * XXXmano: should this live in toolbarbutton.xml? */ SetClickAndHoldHandlers: function SetClickAndHoldHandlers() { var timer; function openMenu(aButton) { cancelHold(aButton); aButton.firstChild.hidden = false; aButton.open = true; } function mousedownHandler(aEvent) { if (aEvent.button != 0 || aEvent.currentTarget.open || aEvent.currentTarget.disabled) return; // Prevent the menupopup from opening immediately aEvent.currentTarget.firstChild.hidden = true; aEvent.currentTarget.addEventListener("mouseout", mouseoutHandler, false); aEvent.currentTarget.addEventListener("mouseup", mouseupHandler, false); timer = setTimeout(openMenu, 500, aEvent.currentTarget); } function mouseoutHandler(aEvent) { let buttonRect = aEvent.currentTarget.getBoundingClientRect(); if (aEvent.clientX >= buttonRect.left && aEvent.clientX <= buttonRect.right && aEvent.clientY >= buttonRect.bottom) openMenu(aEvent.currentTarget); else cancelHold(aEvent.currentTarget); } function mouseupHandler(aEvent) { cancelHold(aEvent.currentTarget); } function cancelHold(aButton) { clearTimeout(timer); aButton.removeEventListener("mouseout", mouseoutHandler, false); aButton.removeEventListener("mouseup", mouseupHandler, false); } function clickHandler(aEvent) { if (aEvent.button == 0 && aEvent.target == aEvent.currentTarget && !aEvent.currentTarget.open && !aEvent.currentTarget.disabled) { let cmdEvent = document.createEvent("xulcommandevent"); cmdEvent.initCommandEvent("command", true, true, window, 0, aEvent.ctrlKey, aEvent.altKey, aEvent.shiftKey, aEvent.metaKey, null); aEvent.currentTarget.dispatchEvent(cmdEvent); } } function _addClickAndHoldListenersOnElement(aElm) { aElm.addEventListener("mousedown", mousedownHandler, true); aElm.addEventListener("click", clickHandler, true); } // Bug 414797: Clone the back/forward buttons' context menu into both buttons. let popup = document.getElementById("backForwardMenu").cloneNode(true); popup.removeAttribute("id"); // Prevent the back/forward buttons' context attributes from being inherited. popup.setAttribute("context", ""); let backButton = document.getElementById("ucjs_back-button"); backButton.setAttribute("type", "menu"); backButton.appendChild(popup); _addClickAndHoldListenersOnElement(backButton); let forwardButton = document.getElementById("ucjs_forward-button"); popup = popup.cloneNode(true); forwardButton.setAttribute("type", "menu"); forwardButton.appendChild(popup); _addClickAndHoldListenersOnElement(forwardButton); } }; if (location == 'chrome://browser/content/browser.xul') { revertBackForwardButton.init(); }; ]]></script> <popupset id="mainPopupSet"> <menupopup id="ucjs_back_forward-button_menupopup" onpopupshowing="return FillHistoryMenu(event.target);" oncommand="gotoHistoryIndex(event); event.stopPropagation();" onclick="checkForMiddleClick(this, event);" position="after_start" context="" /> </popupset> </overlay>
-
diese Version entfernt mir im Nightly die Pfeile...
-
Kann ich hier nicht bestätigen.
Beide Button lassen sich einzeln beliebig verschieben :klasse:[attachment=0]Zwischenablage01.jpg[/attachment]
-
Möglich, das es an meiner Anordnung liegt.... habe ich das Script aktiv, sind die Pfeile weg und auch nicht im Anpassen-Fenster vorhanden... das ist allerdings sowieso leer.... und die Uhr geht auch immer noch 2 Stunden nach.. :shock:
[attachment=0]Unbenannt.PNG[/attachment] -
Also die beiden Pfeile landen in der Navbar ziemlich weit rechts.
Muss dann über das Anpassen Fenster an die gewünschte Position geschoben werden.
Funktioniert hier sonst bestens.
Das mit dem leeren Fenster hatte ich hier auch. Lag an einem Script.
Und zwar an externalApplications.uc.js, verwendest Du das eventuell auch?
Mfg.
Endor -
nee, das nicht... hab das Script entsorgt... ich muss eh mal alle installierten im Nightly auf Funktion bzw auf Notwendigkeit prüfen...
BTW: Wegen der Uhrzeit hast du auch keine Idee? -
Leider nein. Da das hier ja passt und ich es ja nicht reproduzieren kann,
kann ich dir diesbezüglich nicht weiter helfen.Für das Script externalApplications.uc.js haben wir schon eine update auf Lager.
Landet demnächst bei Github. Bei Bedarf melde dich einfach.
Mfg.
Endor -
Hallo,
eine Anfrage habe ich zu folgendem ScriptOpenLinkinTab
https://github.com/ardiman/userCh…r/openlinkintabkönnte man es so umbauen das es nur für eine Domain und ab Firefox 57 funktoniert ?
-
Hallo @all..
da mir das:
Open With + Zusatzprogramm
zu umständlich ist, bzw. es nicht funktioniert (kann aber auch an mir liegen :wink: )
stellt sich die Frage ob jemand dieses Script für Fx57 wieder anpassen kann:
openurlwithVielen Dank für jegliche Hilfe :klasse:
Edit:
Funktioniert eingeschränkt nach einer kleinen Änderung auch im Nightyl.Code
Alles anzeigen/* OpenURLWith.uc.js * Open an application with the current page's URL. */ (function OpenURLWith() { if (location != "chrome://browser/content/browser.xul") return; const MENU_LABEL = "Öffnen mit..."; const MENU_ACCESSKEY = "ö"; const FIREFOX_PATH = "D:\\Programme\\Mozilla Firefox\\firefox.exe"; const IE_PATH = "C:\\Programm Files\\Internet Explorer\\iexplore.exe"; const OPERA_PATH = "D:\\ESR 52\\MultipleFirefoxLoader.exe"; const CHROME_PATH = "C:\\Documents and Settings\\Administrator\\Local Settings\\Application Data\\Google\\Chrome\\Application\\chrome.exe"; var mMenus = [ { label: "Firefox (Link)", accesskey: "F", application: FIREFOX_PATH, get url() { return gContextMenu.linkURL; }, get shouldDisplay() { return gContextMenu.onLink; } }, { label: "IE (Link)", accesskey: "I", application: IE_PATH, get url() { return gContextMenu.linkURL; }, get shouldDisplay() { return gContextMenu.onLink; } }, { label: "Opera (Link)", accesskey: "O", application: OPERA_PATH, get url() { return gContextMenu.linkURL; }, get shouldDisplay() { return gContextMenu.onLink; } }, { label: "Chrome (Link)", accesskey: "C", application: CHROME_PATH, get url() { return gContextMenu.linkURL; }, get shouldDisplay() { return gContextMenu.onLink; } }, { label: "-", get shouldDisplay() { return gContextMenu.onLink; } }, { label: "Firefox (Seite)", accesskey: "F", application: FIREFOX_PATH, get url() { return content.location.href; }, }, { label: "IE (Seite)", accesskey: "I", application: IE_PATH, get url() { return content.location.href; }, }, { label: "Opera (Seite)", accesskey: "O", application: OPERA_PATH, get url() { return content.location.href; }, }, { label: "Chrome (Seite)", accesskey: "C", application: CHROME_PATH, get url() { return content.location.href; }, }, { label: "-", get shouldDisplay() { return gContextMenu.inFrame; } }, { label: "Firefox", accesskey: "F", application: FIREFOX_PATH, get url() { return document.commandDispatcher.focusedWindow.location.href; }, get shouldDisplay() { return gContextMenu.inFrame; } }, { label: "IE", accesskey: "I", application: IE_PATH, get url() { return document.commandDispatcher.focusedWindow.location.href; }, get shouldDisplay() { return gContextMenu.inFrame; } }, { label: "Opera", accesskey: "O", application: OPERA_PATH, get url() { return document.commandDispatcher.focusedWindow.location.href; }, get shouldDisplay() { return gContextMenu.inFrame; } }, { label: "Chrome", accesskey: "C", application: CHROME_PATH, get url() { return document.commandDispatcher.focusedWindow.location.href; }, get shouldDisplay() { return gContextMenu.inFrame; } } ]; init: { let parentMenu = document.createElement("menu"); parentMenu.setAttribute("label", MENU_LABEL); parentMenu.setAttribute("id", "ucjs_openurlwith-menu"); if (typeof MENU_ACCESSKEY != "undefined" && MENU_ACCESSKEY) parentMenu.setAttribute("accesskey", MENU_ACCESSKEY); document.getElementById("contentAreaContextMenu").insertBefore( parentMenu, document.getElementById("context-sep-properties")); let parentPopup = document.createElement("menupopup"); parentPopup.id = "ucjs_openurlwith-popup"; parentPopup.addEventListener("command", openApplication, false); parentMenu.appendChild(parentPopup); for (let i = 0, menu; menu = mMenus[i]; i++) { let menuItem; if (menu.label == "-") { menuItem = document.createElement("menuseparator"); } else { menuItem = document.createElement("menuitem"); menuItem.setAttribute("label", menu.label); menuItem.setAttribute("id", "ucjs_openurlwith-"+menu.label.replace(/[()\s]/g,"")); if ("accesskey" in menu) menuItem.setAttribute("accesskey", menu.accesskey); menuItem.ouwMenu = menu; } parentPopup.appendChild(menuItem); } parentMenu.parentNode.addEventListener("popupshowing", setMenuDisplay, false); } function openApplication(aEvent) { var menu = aEvent.target.ouwMenu; var app = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsIFile); app.initWithPath(menu.application); if (!app.exists()) { alert("Die Datei existiert nicht: " + menu.application); return; } Cc["@mozilla.org/browser/shell-service;1"] .getService(Ci.nsIShellService_MOZILLA_1_8_BRANCH || Ci.nsIShellService) .openApplicationWithURI(app, menu.url); } function setMenuDisplay() { var menuItems = document.getElementById("ucjs_openurlwith-popup").childNodes; for (var i = 0, menu; menu = mMenus[i]; i++) menuItems[i].hidden = "shouldDisplay" in menu && !menu.shouldDisplay || menu.application==''; } })();
-
Was ich allerdings nicht schaffe ist es den Microsoft Edge einzubinden.
Ich finde keine exe Datei dazu :-??
Und auch ob bzw. wie man einzelne Fx Profile ansprechen kann weiß ich leider nicht. -
-
Hallo AngelOfDarkness..
es geht mir speziell dabei um eine Verknüpfung im obigem Script, und da funktioniern wohl nur exe Dateien.
In der Erweiterung Open With funktioniert es einwandfrei. :-??
-
Danke für den Test :klasse:
War hier auch so, darum hatte ich mich nach einem Script umgesehen und das Programm incl. der Erweiterung wieder deinstalliert.
Der Edge ist mir nicht so wichtig, alle anderen Browser kann man ja eintragen und funktionieren dann auch.
Evtl. fällt aborix ja noch etwas dazu ein wie man die div. Profile ansprechen kann, aber auch das wäre mir nicht so wichtig.
-
Kannst du ne Batch (*.bat) aus deinem betreffenden Script heraus starten ? Wenn ja, dann könntest du doch versuchen den Befehl für den Edge in eine Batch zu legen und diese dann von deinem Script aus starten.
-
Das müsste ich mal testen, denke aber es funktioniert nur per exe Datei. :-??
Danke für den Hinweis.
-