1. Nachrichten
  2. Forum
    1. Unerledigte Themen
    2. Forenregeln
  3. Spenden
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. camp-firefox.de
  2. aborix

Beiträge von aborix

  • Firefox mit Pflaster

    • aborix
    • 11. Dezember 2017 um 00:38

    Ich habe soeben bemerkt, der Fuchs auf Aris' Avatar hat zwei Pflaster, eins am Kopf und eins am Arm. Sind das Verletzungen durch Quantum? :)

  • Alte Version in Systemsteuerung lässt sich nicht löschen

    • aborix
    • 11. Dezember 2017 um 00:22

    Hallo,

    hilft davon etwas:
    https://www.camp-firefox.de/forum/viewtopic.php?f=1&t=123183

  • Script Datum + Uhrzeit neben Menüleiste

    • aborix
    • 11. Dezember 2017 um 00:02

    Ich habe im letzten Skript noch etwas geändert. Es funktioniert jetzt für die Menüleiste. Wenn es bei dir nicht funktioniert, dann liegt es wohl an macOS.

    CSS
    (function() {
      /*****************/
     /* Konfiguration */
    /*****************/
    let options = {
    	/* Zu möglichen Werten siehe unter
    	   https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleString */
    	weekday: 'long',
    	year: 'numeric',
    	month: 'long',
    	day: 'numeric',
    	hour: '2-digit',
    	minute: '2-digit',
    	second: '2-digit'
    };
    
    
    /* Zu möglichen Farbanangaben vgl. https://wiki.selfhtml.org/wiki/CSS/Wertetypen/Farbangaben
       weitere CSS-Angaben unbedingt innerhalb der einfachen Anführungszeichen, bei Vorgabe einer
       Schrift auf Verwendung doppelter Anführungszeichen achten, Beispiel:
       font-family: "Courier New"; */
    let css = 'color: lightyellow; font-weight: 700; padding-top: 4px !important; padding-left: 5px; text-shadow: none;';
    
    
    let lang = 'de-DE';
    
    
    let showProgramName = true; // false
    
    
    let ClockStatus = document.getElementById('helpMenu');
    
    
    //let ClockStatus = document.getElementById('TabsToolbar').lastChild;
    
    
    /* Ende Konfiguration */
    
    
    /**************************************************************/
    function doDatClock() {
    	let timestr = new Date().toLocaleDateString(lang , options);
    
    
    	if (showProgramName == true) {
    		let ua = window.navigator.userAgent;
    		let FFstr = ua.split(' ');
    		let FF = FFstr[FFstr.length-1].replace( '/' , ' ' );
    
    
    		let text = FF + ' ';
    
    
    		let agent = document.getElementById('statusbar-agent-display');
    		agent.setAttribute('value' , text);
    	}
    
    
    	let status = document.getElementById('statusbar-clock-display');
    	status.setAttribute('value' , timestr);
    
    
    	window.setTimeout(doDatClockCallback , 1000);
    }
    
    
    function doDatClockCallback() { try{ doDatClock(); } catch(ex){} }
    
    
    if (showProgramName == true) {
    	var AgentLabel = document.createElement('label');
    	AgentLabel.setAttribute('id' , 'statusbar-agent-display');
    	AgentLabel.setAttribute('class' , 'statusbarpanel-text');
    	AgentLabel.setAttribute('style' , css);
    }
    
    
    let ClockLabel = document.createElement('label');
    ClockLabel.setAttribute('id' , 'statusbar-clock-display');
    ClockLabel.setAttribute('class' , 'statusbarpanel-text');
    ClockLabel.setAttribute('style' , css);
    
    
    ClockStatus.parentNode.insertBefore(ClockLabel , ClockStatus.nextSibling);
    if (showProgramName == true) ClockStatus.parentNode.insertBefore(AgentLabel , ClockStatus.nextSibling);
    
    
    doDatClock();
    })();
    Alles anzeigen
  • Script Datum + Uhrzeit neben Menüleiste

    • aborix
    • 10. Dezember 2017 um 08:22

    Zu macOS und Skripten im Allgemeinen hatten wir kürzlich diesen Thread: https://www.camp-firefox.de/forum/viewtopic.php?f=16&t=123286

    Das Skript aus # 107 für die Tableiste:

    CSS
    (function() {
      /*****************/
     /* Konfiguration */
    /*****************/
    let options = {
    	/* Zu möglichen Werten siehe unter
    	   https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleString */
    	weekday: 'long',
    	year: 'numeric',
    	month: 'long',
    	day: 'numeric',
    	hour: '2-digit',
    	minute: '2-digit',
    	second: '2-digit'
    };
    
    
    /* Zu möglichen Farbanangaben vgl. https://wiki.selfhtml.org/wiki/CSS/Wertetypen/Farbangaben
       weitere CSS-Angaben unbedingt innerhalb der einfachen Anführungszeichen, bei Vorgabe einer
       Schrift auf Verwendung doppelter Anführungszeichen achten, Beispiel:
       font-family: "Courier New"; */
    let css = 'color: lightyellow; font-weight: 700; padding-top: 4px !important; padding-left: 5px; text-shadow: none;';
    
    
    let lang = 'de-DE';
    
    
    let showProgramName = true; // false
    
    
    //var ClockStatus = document.getElementById('helpMenu');
    
    
    let ClockStatus = document.getElementById('TabsToolbar').lastChild;
    
    
    /* Ende Konfiguration */
    
    
    /**************************************************************/
    function doDatClock() {
    	let timestr = new Date().toLocaleDateString(lang , options);
    
    
    	if (showProgramName == true) {
    		let ua = window.navigator.userAgent;
    		let FFstr = ua.split(' ');
    		let FF = FFstr[FFstr.length-1].replace( '/' , ' ' );
    
    
    		let text = FF + ' ';
    
    
    		let agent = document.getElementById('statusbar-agent-display');
    		agent.setAttribute('value' , text);
    	}
    
    
    	let status = document.getElementById('statusbar-clock-display');
    	status.setAttribute('value' , timestr);
    
    
    	window.setTimeout(doDatClockCallback , 1000);
    }
    
    
    function doDatClockCallback() { try{ doDatClock(); } catch(ex){} }
    
    
    if (showProgramName == true) {
    	var AgentLabel = document.createElement('label');
    	AgentLabel.setAttribute('id' , 'statusbar-agent-display');
    	AgentLabel.setAttribute('class' , 'statusbarpanel-text');
    	AgentLabel.setAttribute('style' , css);
    }
    
    
    let ClockLabel = document.createElement('label');
    ClockLabel.setAttribute('id' , 'statusbar-clock-display');
    ClockLabel.setAttribute('class' , 'statusbarpanel-text');
    ClockLabel.setAttribute('style' , css);
    
    
    ClockStatus.parentNode.insertBefore(ClockLabel , ClockStatus.nextSibling);
    if (showProgramName == true) ClockStatus.parentNode.insertBefore(AgentLabel , ClockStatus.nextSibling);
    
    
    doDatClock();
    })();
    Alles anzeigen
  • Rechtsklick auf Link - öffnen in neuem Tab

    • aborix
    • 9. Dezember 2017 um 18:53

    Ja.

    Mit diesem Skript öffnet ein Rechtsklick einen Link in einem neuen Tab im Hintergrund und Strg+Rechtsklick öffnet das Kontextmenü. Ob es mit Strg+Linksklick und langem Linksklick ähnlich einfach geht, weiß ich jetzt nicht. Auf relativ komplizierte Art geht es schon.

    Code
    (function() {
      if (location != 'chrome://browser/content/browser.xul')
        return;
    
    
      let contextMenu = document.getElementById('contentAreaContextMenu');
      let show = false;
    
    
      gBrowser.addEventListener('click', function(event) {
        if (event.ctrlKey && event.button == 2) {
          show = true;
        };
      });
    
    
      contextMenu.addEventListener('popupshowing', function(event) {
        if (event.target != this)
          return;
        if (show) {
          show = false;
        } else {
          if (gContextMenu.link) {
            openUILinkIn(gContextMenu.linkURL, 'tabshifted');
          };
          event.preventDefault();
        };
      });
    
    
    })();
    Alles anzeigen
  • Script Datum + Uhrzeit neben Menüleiste

    • aborix
    • 9. Dezember 2017 um 18:31

    Hallo,

    seit kurzem gibt es eine Änderung in der config.js. Für macOS brauchst du die neue Version:

    Code
    // config.js
    
    
    const Cu = Components.utils;
    
    
    try {
    
    
      Cu.import("resource://gre/modules/Services.jsm");
      Cu.import("resource://gre/modules/osfile.jsm");
    
    
      if (!Services.appinfo.inSafeMode) {
        let path = OS.Constants.Path.libDir;
        if (Services.appinfo.OS == 'Darwin') {  // macOS
          path = OS.Path.join(OS.Path.dirname(path), "Resources");
        };
        var ucjsDirPath = OS.Path.join(path, "userChromeJS");
        path = OS.Path.join(ucjsDirPath, "main.js");
        let mainFileURI = OS.Path.toFileURI(path);
        Services.scriptloader.loadSubScript(mainFileURI, this, "UTF-8");
      };
    
    
    } catch(e) {
      Cu.reportError(e);
    };
    Alles anzeigen

    Funktioniert es damit?

  • Toggle Findbar

    • aborix
    • 9. Dezember 2017 um 17:47

    Die Skripte werden bei jedem Öffnen eines Fensters ausgeführt. Das gilt nicht nur für Hauptfenster (d.s. die üblichen zum Anzeigen von Webseiten), sondern auch für Bibliothek, Browserkonsole, Meldungsfenster usw.

    "chrome://browser/content/browser.xul" ist die Adresse der Hauptfenster und die meisten Skripte sollen nur in diesen wirken. Darum die Abfrage, in welchem Fenster das Skript gerade läuft. Ohne die Abfrage entsteht üblicherweise kein Schaden. In einem anderen Fenster wird meistens die Ausführung an irgendeiner Stelle abgebrochen, meistens weil dort ein vom Skript referenziertes Element nicht vorhanden ist. In der Browserkonsole erscheint dann eine entsprechende Fehlermeldung. Wenn nun ein Skript nicht funktioniert und man in der Konsole nach hilfreichen Meldungen sucht, ist oft nicht gleich festzustellen, ob eine Fehlermeldung einen tatsächlichen Fehler im Skript betrifft oder aufgrund eines anderen Fensters auftritt. Darum vermeide ich solche überflüssigen Fehlermeldungen mit der Abfrage.

    Die einhüllende Funktion ist in erster Linie dazu da, die Entstehung von globalen Variablen zu vermeiden. Das globale Objekt ist dabei das jeweilige Fenster und unerwünschte Wechselwirkungen mit anderen Skripten könnten auftreten.

    Ich weiß nicht, ob solche Themen für so viele Leute nützlich sind, dass wir auf prominenter Stelle darauf eingehen. Vielleicht äussern noch andere ihre Meinung dazu.

  • Rechtsklick auf Link - öffnen in neuem Tab

    • aborix
    • 6. Dezember 2017 um 18:31

    Hallo,

    teste bitte folgendes Skript.
    Ein Rechtsklick auf einen Link öffnet ihn in einem neuen Tab, ein Rechtsklick sonstwohin öffnet wie üblich das Kontextmenü.

    Code
    (function() {
      if (location != 'chrome://browser/content/browser.xul')
        return;
      let contextMenu = document.getElementById('contentAreaContextMenu');
      contextMenu.addEventListener('popupshowing', function(event) {
        if (event.target != this)
          return;
        if (gContextMenu.link) {
          openUILinkIn(gContextMenu.linkURL, 'tab');
          event.preventDefault();
        };
      });
    })();
    Alles anzeigen
  • Toggle Findbar

    • aborix
    • 6. Dezember 2017 um 18:11

    Ja:

    Code
    (function() {
      if (location == 'chrome://browser/content/browser.xul') {
        document.getElementById('cmd_find').setAttribute('oncommand',
          'if (gFindBar.hidden) { gFindBar.onFindCommand() } else { gFindBar.close() }');
      };
    })();
  • FF57: "Statt neuem Fenster neuen Tab öffnen" wirkt nicht

    • aborix
    • 5. Dezember 2017 um 10:11

    Das wurde schon öfters gefragt und niemand wusste eine.
    Im Quelltext stehen hier viele Einstellungen mit Kommentar:
    https://dxr.mozilla.org/mozilla-releas…file/firefox.js

    Dass es den Wert 3 für browser.link.open_newwindow.restriction gibt: woher hast du das oder ist das ein Irrtum? M.W. gibt es den nicht und auch hier steht er nicht:
    https://dxr.mozilla.org/mozilla-releas…/firefox.js#429

  • FF57: "Statt neuem Fenster neuen Tab öffnen" wirkt nicht

    • aborix
    • 5. Dezember 2017 um 09:39

    Mit dem Standard-Wert von browser.link.open_newwindow.restriction werden allerdings manche in Firefox aufgerufene Links in einem neuen Fenster geöffnet, siehe
    Mozillazine KB - browser.link.open_newwindow.restriction

  • FF57: "Statt neuem Fenster neuen Tab öffnen" wirkt nicht

    • aborix
    • 5. Dezember 2017 um 07:52

    Versuche es mit diesen Einstellungen in about:config:

    browser.link.open_newwindow: 3
    browser.link.open_newwindow.restriction: 0
    browser.link.open_newwindow.override.external: -1 und 3

  • eckige Tabs bei Quantum abrunden

    • aborix
    • 2. Dezember 2017 um 12:58

    Anscheinend weiß niemand etwas dazu. Aris kann vielleicht helfen, hat das aber nicht unbedingt gelesen. Vielleicht eine PN an ihn?

  • Vorbereitung für Anpassungen mittels Scripte unter macOS am Mac

    • aborix
    • 2. Dezember 2017 um 11:30

    Vielen Dank.
    Damit lässt sich jetzt die config.js so abändern, dass sie für alle Betriebssysteme passt.
    Die Zeile

    Code
    let path = OS.Constants.Path.libDir;

    wird dann ersetzt durch:

    Code
    let path = OS.Constants.Path.libDir;
        if (Services.appinfo.OS == 'Darwin') {  // macOS
          path = OS.Path.join(OS.Path.dirname(path), "Resources");
        };

    :)

  • Vorbereitung für Anpassungen mittels Scripte unter macOS am Mac

    • aborix
    • 2. Dezember 2017 um 07:29
    Zitat von klickman


    Vorweg sorry für meine späte Antwort, ich war den ganzen Tag beruflich unterwegs.

    Das macht überhaupt nichts, ich antworte manchmal sogar erst nach ein paar Tagen.

    Der Test:
    Ersetze die besagte Zeile in der config.js durch diese zwei Zeilen:

    Code
    let path = OS.Constants.Path.libDir;
        path = OS.Path.join(OS.Path.dirname(path), "Resources");

    und gib den Ordner userChromeJS wieder dorthin, wo er anfangs war; das ist der Ordner Resources, wenn ich es richtig verstanden habe.
    Teste, ob die Skripte funktionieren.

    Noch eine andere Frage, mach dazu bitte folgendes:
    Falls die Browserkomsole offen ist, schließe sie. Dann setze in about:config devtools.chrome.enabled auf true. Dann öffne die Browserkonsole und gib unten in die Eingabezeile folgendes ein, gefolgt von der Enter-Taste:

    Code
    Services.appinfo.OS


    Es erscheint dann eine Zeichenkette. Wie lautet sie?

  • Vorbereitung für Anpassungen mittels Scripte unter macOS am Mac

    • aborix
    • 1. Dezember 2017 um 07:58
    Zitat von klickman


    Ich nehm an, das kann ich als Erfolg werten?!


    Genau! :)
    Um einen Test möchte ich dich später noch bitten, aber zuvor teile mir bitte den genauen Pfad zur config.js mit.

    zur userChrome.css und userContent.css:
    Gib in die Dateien nur den Code von Aris, der enthält ohnehin alles Notwendige; das andere stört anscheinend. Allerdings hast du den gleichen Code in beiden Dateien, das ist wahrscheinlich nicht richtig.

  • Vorbereitung für Anpassungen mittels Scripte unter macOS am Mac

    • aborix
    • 30. November 2017 um 21:54

    nächster Versuch:

    Ersetze die Zeile durch

    Code
    let path = OS.Constants.Path.profileDir;

    und gib den Ordner userChromeJS in den Profilordner
    und mach nochmal den gleichen Test.

  • Vorbereitung für Anpassungen mittels Scripte unter macOS am Mac

    • aborix
    • 30. November 2017 um 21:02

    Ja, sind sie, danke.

    In der config.js im Ordner, der dem Windows-Installationsordner entspricht, steht diese Zeile, es ist ca. die 12.:

    Code
    let path = OS.Constants.Path.libDir;

    Ersetze sie durch

    Code
    let path = OS.Constants.Path.macUserLibDir;

    und teste nochmal das gleiche.

  • Vorbereitung für Anpassungen mittels Scripte unter macOS am Mac

    • aborix
    • 30. November 2017 um 19:41

    Glaube ich nicht.
    Versuche es nochmal in einem neuen Profil nach dieser Beschreibung:
    Firefox Anpassungen: die Basis

    und wieder mit dieser userChrome.js:

    Code
    userChrome.ignoreCache = true;
    userChrome.import("*", "UChrm");

    und diesmal diesem Skript:

    Code
    console.log('hi!');
    if (location == 'chrome://browser/content/browser.xul') {
      alert('hi!');
    };

    Öffne gleich nach dem Start mit Cmd+Umschalt+J die Browserkonsole und dort schalte oben die JS- und Logbuch-Meldungen ein und die anderen aus. Zeige bitte einen Screenshot mit den Meldungen, die dann dort stehen.

  • Vorbereitung für Anpassungen mittels Scripte unter macOS am Mac

    • aborix
    • 30. November 2017 um 17:50

    Gib nur das in die userChrome.js:

    Code
    userChrome.ignoreCache = true;
    userChrome.import("*", "UChrm");

    und teste dieses Skript, bei dem ein Meldungsfenster erscheinen sollte:

    Code
    if (location == 'chrome://browser/content/browser.xul') {
      alert('hi!');
    };

Unterstütze uns!

Jährlich (2025)

101,9 %

101,9% (662,48 von 650 EUR)

Jetzt spenden
  1. Kontakt
  2. Datenschutz
  3. Impressum
Community-Software: WoltLab Suite™
Mastodon