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. Mira_Belle

Beiträge von Mira_Belle

  • Im ExtraConfigMenu.uc.js werden die Scripte nicht mehr angezeigt.

    • Mira_Belle
    • 21. Juli 2023 um 15:57

    omar1979

    Ah, verstehe, also hast Du nicht eine Wiederherstellung von Tabs gemeint,

    sondern eine Wiederherstellung einer Sitzung.

    Ok.

  • cmd-Datei umschreiben für Sicherung und Herstellung Profilordner

    • Mira_Belle
    • 21. Juli 2023 um 15:48

    Am interessantesten finde ich das Script 33p_Archiv_restore.ps1.

    Zum Sichern der Profile habe ich schon was.

    Das werde ich mir bei Gelegenheit und Zeit mal vornehmen.

    1. Würde ich gerne eine Überprüfung, ob der Firefox gerade läuft, integrieren.

    2. Möchte ich das Entpacken direkt in den richtigen Ordner machen, ob dieser besser vorher gelöscht werden muss

    oder einfach überschrieben wird, muss ich erst noch sehen. Glaube aber, löschen ist der bessere Weg.

  • Im ExtraConfigMenu.uc.js werden die Scripte nicht mehr angezeigt.

    • Mira_Belle
    • 21. Juli 2023 um 15:33
    Zitat von omar1979

    Also das mit Tabs wiederherstellen hat nicht geklappt, ist aber auch egal. ich hoffe dass das Rest klappt. :)

    War das eine Funktion "Mit der rechten Maustaste auf das Plus klicken"?

  • Button um weiteres Profil zu öffnen

    • Mira_Belle
    • 21. Juli 2023 um 15:25

    Ein anderer Ansatz!

    Dennoch stecke ich fest.

    Der Button wird angezeigt, beim Betätigen tut sich jedoch nichts.

    Stehe total auf dem Schlauch :!:

    JavaScript
    (function() {
    
       // start customisation area----------------------------------
           let profilePath = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir, 'chrome', 'icons'))
    //       let currentProfileDirectory = Services.dirsvc.get("ProfD", Ci.nsIFile).path.replace(/\\/g, "/");
           let buttonIcon = "user-group_2.svg" // Name & Dateiendung des anzuzeigenden Symbols
       // end customisation area-----------------------------------
       
         if (!window.gBrowser) return;
       
         CustomizableUI.createWidget({
           id: 'aboutprofiles-button',
           defaultArea: CustomizableUI.AREA_NAVBAR,
           label: 'Quicklink: about:profile',
           tooltiptext: 'Quicklink:\nabout:profiles',
           onCommand: onCommand,
           onCreated: function(button) {
             button.style.listStyleImage = "url('" + profilePath + buttonIcon + "')";
             }
          });
       
          function onCommand(profileData) {
             let parent = document.getElementById("profiles");
             let div = document.createElement("div");
             parent.appendChild(div);
             let name = document.createElement("h2");
             div.appendChild(name);
             document.l10n.setAttributes(name, "profiles-name", {
             name: profileData.profile.name,
             });
             openProfile(profileData.profile);
          };
       })();
    Alles anzeigen

    Ich bräucht Hilfe von einem JavaScript Experten.

  • Im ExtraConfigMenu.uc.js werden die Scripte nicht mehr angezeigt.

    • Mira_Belle
    • 21. Juli 2023 um 13:39
    Zitat von omar1979

    Aber welche Dateien soll ich wieder im aktuellen Profil-Ordner kopieren, damit alles wieder beim Alten ist?

    Von wo bitte hast Du was in Deinen Profilordner reinkopiert?

    Was hast Du vorher am, oder im Profilordner gemacht?

  • Im ExtraConfigMenu.uc.js werden die Scripte nicht mehr angezeigt.

    • Mira_Belle
    • 21. Juli 2023 um 13:32
    Zitat von FuchsFan

    Wenn Du weitere Details dazu benötigst, dann sag bitte an


    Vielen Dank auch,

    und das RestoreScript?

  • Im ExtraConfigMenu.uc.js werden die Scripte nicht mehr angezeigt.

    • Mira_Belle
    • 21. Juli 2023 um 12:47

    FuchsFan

    Was sind das denn für interessante PowerShell - Skripts?

    Würdest Du die zur Verfügung stellen?

  • Button um weiteres Profil zu öffnen

    • Mira_Belle
    • 21. Juli 2023 um 12:04
    Zitat von Sören Hentzschel

    Das war ja nun aber zu erwarten. Ein Programm zu öffnen ist etwas völlig anderes als eine URL in Firefox zu öffnen. Dass eine Funktion, die das eine macht, nicht gleichzeitig auch das andere macht, ist naheliegend. In der von Horstmann verlinkten Datei dürfte eh schon die relevante Logik stehen, um Firefox mit einem bestimmten Profil zu öffnen. Da kann man sich bestimmt bedienen.

    Jep, bin ich nach einigen Überlegungen auch drauf gekommen.

    Gehe gerade der von Horstmann gelegten Spur nach!

    Der Code, auf den verwiesen wird, lautet so:

    JavaScript
    Die Sache ist nur, es ist völlig egal von welchem Profil ich diesen Button "verfolge", 
      if (!profileData.isInUse) {
        let runButton = document.createElement("button");
        document.l10n.setAttributes(runButton, "profiles-launch-profile");
        runButton.onclick = function () {
          openProfile(profileData.profile);
        };
        div.appendChild(runButton);
      }

    Es wird immer auf diese Zeilen verwiesen.

    Wie merkt die Anweisung, welche Profilinstanz geöffnet werden muss? :/

    Ich glaube, es hängt mit diesem div  zusammen.


    Mh, ich glaube, ich bin auf der richtigen Spur.

    Hier mal der ganze Code.

    JavaScript
    function display(profileData) {
      let parent = document.getElementById("profiles");
    
      let div = document.createElement("div");
      parent.appendChild(div);
    
      let name = document.createElement("h2");
    
      div.appendChild(name);
      document.l10n.setAttributes(name, "profiles-name", {
        name: profileData.profile.name,
      });
    
      if (profileData.isCurrentProfile) {
        let currentProfile = document.createElement("h3");
        document.l10n.setAttributes(currentProfile, "profiles-current-profile");
        div.appendChild(currentProfile);
      } else if (profileData.isInUse) {
        let currentProfile = document.createElement("h3");
        document.l10n.setAttributes(currentProfile, "profiles-in-use-profile");
        div.appendChild(currentProfile);
      }
    
      let table = document.createElement("table");
      div.appendChild(table);
    
      let tbody = document.createElement("tbody");
      table.appendChild(tbody);
    
      function createItem(title, value, dir = false) {
        let tr = document.createElement("tr");
        tbody.appendChild(tr);
    
        let th = document.createElement("th");
        th.setAttribute("class", "column");
        document.l10n.setAttributes(th, title);
        tr.appendChild(th);
    
        let td = document.createElement("td");
        tr.appendChild(td);
    
        if (dir) {
          td.appendChild(document.createTextNode(value.path));
    
          if (value.exists()) {
            let button = document.createElement("button");
            button.setAttribute("class", "opendir");
            document.l10n.setAttributes(button, "profiles-opendir");
    
            td.appendChild(button);
    
            button.addEventListener("click", function (e) {
              value.reveal();
            });
          }
        } else {
          document.l10n.setAttributes(td, value);
        }
      }
    
      createItem(
        "profiles-is-default",
        profileData.isDefault ? "profiles-yes" : "profiles-no"
      );
    
      createItem("profiles-rootdir", profileData.profile.rootDir, true);
    
      if (profileData.profile.localDir.path != profileData.profile.rootDir.path) {
        createItem("profiles-localdir", profileData.profile.localDir, true);
      }
    
      let renameButton = document.createElement("button");
      document.l10n.setAttributes(renameButton, "profiles-rename");
      renameButton.onclick = function () {
        renameProfile(profileData.profile);
      };
      div.appendChild(renameButton);
    
      if (!profileData.isInUse) {
        let removeButton = document.createElement("button");
        document.l10n.setAttributes(removeButton, "profiles-remove");
        removeButton.onclick = function () {
          removeProfile(profileData.profile);
        };
    
        div.appendChild(removeButton);
      }
    
      if (!profileData.isDefault) {
        let defaultButton = document.createElement("button");
        document.l10n.setAttributes(defaultButton, "profiles-set-as-default");
        defaultButton.onclick = function () {
          defaultProfile(profileData.profile);
        };
        div.appendChild(defaultButton);
      }
    
      if (!profileData.isInUse) {
        let runButton = document.createElement("button");
        document.l10n.setAttributes(runButton, "profiles-launch-profile");
        runButton.onclick = function () {
          openProfile(profileData.profile);
        };
        div.appendChild(runButton);
      }
    
      let sep = document.createElement("hr");
      div.appendChild(sep);
    }
    Alles anzeigen

    Die Zeilen 1 bis 12 scheinen mir wichtig zu sein.


    Ah, profileData ist die Variable, die den Profilnamen "speichert".

    Oh, nee, stop

    Ist gar keine Variable!

  • Button um weiteres Profil zu öffnen

    • Mira_Belle
    • 21. Juli 2023 um 11:16

    Oh menno,

    Zeile 25 so

    onclick: 'if (event.button == 0) { \ openTrustedLinkIn("C:\Program Files (x86)\Mozilla Firefox\firefox.exe" -no-remote -P "nfl82a72.Standard-Benutzer", "tab");\ }; '

    abgeändert funktioniert nicht.

    "nfl82a72.Standard-Benutzer" wäre der Profilordnername gewesen!

    Der Name des Profils lautet "Standard-Benutzer", aber auch so abgeändert, also ohne die Zahlenkolonne davor,

    funktioniert auch nicht.

    :cursing:

  • Button um weiteres Profil zu öffnen

    • Mira_Belle
    • 21. Juli 2023 um 10:16

    milupo & @Horstmann

    Ich bin DIE Heldin des Tages!

    Ich habe so ein Skript, um die Page about:profiles aufzurufen, schon die ganze Zeit auf der Halde.

    Habe es nur nicht genutzt.

    Oh Herr ...

    Hier:

    JavaScript
    // JavaScript Document
    // QuickLinkButton-cf.uc.js
    // Source file https://www.camp-firefox.de/forum/thema/135613-quicklink-button/?postID=1213791#post1213791
    (function() {
        if (location.href !== AppConstants.BROWSER_CHROME_URL) return;    
        try {
           CustomizableUI.createWidget({
              id: 'aboutprofiles-button',
              type: 'custom',
              defaultArea: CustomizableUI.AREA_NAVBAR,
              onBuild: function(aDocument) {        
                 let toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton');
                 let currentProfileDirectory = Services.dirsvc.get("ProfD", Ci.nsIFile).path.replace(/\\/g, "/");  // Pfadangabe zum Profilordner
                 let buttonicon = "users-rays.svg"  // Name & Dateiendung des anzuzeigenden Symbols
                 let props = {
                    id: 'aboutprofiles-button',
                    class: 'toolbarbutton-1 chromeclass-toolbar-additional',
                    removable: 'true',
                    label: 'Quicklink: about:profile',
                    accesskey: '',
                    tooltiptext: 'Quicklink:\nabout:profiles',
                    style: 'list-style-image: url(chrome://browser/skin/fxa/avatar-empty.svg);',
     //               style: 'list-style-image: url("' + ("file:" + currentProfileDirectory + "/chrome/icons/" + buttonicon) +'");',
     //               onclick: "openTrustedLinkIn('about:about', 'tab')"
                    onclick: 'if (event.button == 0) { \ openTrustedLinkIn("about:profiles", "tab");\ }; '
     
                 };            
                 for (var p in props)
                 toolbaritem.setAttribute(p, props[p]);            
                 return toolbaritem;
              }      
           });
        } catch(e) { };
     }) ();
    Alles anzeigen

    Ich würde es gerne so abgeändert haben, dass ich direkt damit mein Testprofil gestartet wird.

  • Button um weiteres Profil zu öffnen

    • Mira_Belle
    • 21. Juli 2023 um 00:14
    Zitat von geldhuegel

    Mira_Belle

    Mein Assistenzsystem ruft mir gerade zu "Gute Nacht" und ich denke ans schlafen. Funktioniert bestens.

    Glückwunsch. :thumbup:

  • Im ExtraConfigMenu.uc.js werden die Scripte nicht mehr angezeigt.

    • Mira_Belle
    • 21. Juli 2023 um 00:12
    Zitat von 2002Andreas
    Zitat von Mira_Belle

    Am Skript selber, bzw. dessen Code musst Du doch gar nichts ändern!

    :/

    Zitat von FuchsFan

    Du bist also gezwungen es für Deine Verhältnisse anzupassen, das betrifft die Ordner selbst, die einzelnen Scripte, die CSS-Dateien, usw.

    Z.B.:

    Ab Zeile 37 - > die eigenen Bezeichnungen eintragen.

    Ab Zeile 63 - > die eigenen Skripte eintragen.

    Und dann noch die div. CSS Dateien, usw.

    Alles anzeigen

    Oh, ich, ich, sorry.

    Da habe ich mich aber total verwechselt, natürlich habe ich das so gemeint. :saint:

  • Button um weiteres Profil zu öffnen

    • Mira_Belle
    • 21. Juli 2023 um 00:06
    Zitat von milupo

    Probiere das mal, das ist das abgewandelte about:config-Skript:

    JavaScript
    //      about:profiles
    //     Unicode変換前  → tooltiptext: 'About:Profiles anzeigen',
            CustomizableUI.createWidget({
                id: 'aboutprofiles-button',
                type: 'custom',
                onBuild: function(aDocument) {
                    let toolbaritem = aDocument.createXULElement('toolbarbutton');
                    let props = {
                        id: 'aboutprofiles-button',
                        class: 'toolbarbutton-1 chromeclass-toolbar-additional',
                        label: 'About:Profiles',
                        tooltiptext: 'About:Profiles öffnen',
                        
                    style: 'list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABOVJREFUeNrElm1MW1UYx597b2/pgMh4aSkMeakNMBacU7MYcLwkZnMB3fiwGL/MRaPGxLghTmY3dUzajJh9UKNBWTAxIQMW4Is6/TA2YRCziXFKKbFlvPYNyltb+jJ6e33O3W0sCzCBu3iTJ5yW0/P7P+c8z/8eiud5oCgKJHzos+f0NTRNn+A4Ll2pVILT6QSCCHNcpz8Q+ODCpw1mnMeTyZTEAth6Q8NEujpNXVq+D5QpKRBZPxgMgtk8Ale7r4HVOpnf+NWXfxMRMgkzJ/DJvNzc1JKSZ+H2n4PQ1/cr4E4IoUpVQeGuAsjISIemi83DOF+BEZRKAP3+Kd2r6Wo1wouh+3oPcKEQsCwLbrebZAxDpiG41t1NNh0Yhia/iZVSQExcXHxdaXkJZm4U4DTNIIiBxcVFOHf244M4Zzlq/nxkIJUABZ51qipFKWw7AdM0BTKZDMTyGo2GimKWpBTAkmJzezxAiKToiAi5nI3OeHrVs5OqAokAGYMZ4/geXCbUAMD6HSaZAC501z46egdU2PcsK0MRGDIG+HB43d9JdQTc0pLPAhSdlp2dBWaLRTh/GRZiZlYm1JysdZJWFIwHj4eMzxvqY/DjXSkEMPW6U988V/HivrxcLfyB/U+OQ6FQCCI0Gg0U7NwpfGZZBuw2B3R0dd0R23BLAlhV3ZUpmudUIS0FTz1eADdvG8Hv92H4QRETA0nbtwtihAJFPzAND4PJZEI/uFoTWWSzVszmGH4e11eVpfVOeeHmuB0eXbbDu9owTDhd0NvXb01ISEhCs98WFxsLHtId+Ljdi/1NXzfW4nAcw0l2YDMC2CzDT2P1h0rTf3cGwOYNwHKYhoGRUahgLBA2Xp9pbLr4MqkLUuSpanW80+EgPR/CWBTBcwROmmcjAqiUtxs1yuw8i+75Z2DA6QebJwChMA/LPAUBFGEy/QZTH1UW49wpDL/YZZT45iOCguL3oY12AZX01heP5eQXmvUvFMEPlvl/4bgsh8sveOYgSMmJ4Vgx7FHWGxGwaR+gkt78PEdT8KT5k8oi+N5M4P4oOAUu9xxYJ8yumQ/3HxC3Odr3+a34AJ1c23p0b37ut++U74EfMXO7l8BhJXzS4rLVHT4kbv3SRgpqvRqgk0+2vFK+Z3fzifJd0DY4Bw4suBC/Em5zTIL1zMFi8YXjui/7Bz5r7QCd+F7L0bIndjcfR3irCOdWgc+3NxwR22rD8LUEyBJPd7W/UfJ0VUVhBmY+i/Dg6vC28y/5/vrl1mbhqwlgEnWd7dX7i6pKtCpoM86Ccy34Jf0Rn/HGrYihbNZOZSsy13Verj5QfJjALxP40urw4FC/HuEDIjz4oEr/LwIYpa6j6bWyvWvA8Ubhdd+DG28YXJf030kBj/aBbTFx8ccqC3fcB+eFv95AEOHjEBzs1YtwYjSBrcKjd0ChVSaC04cr45mjxwhGQ7adwMemzBCac/S4Wg0tONcm9npYiotERADt8HjxBgOCyRABK+Cz9h77hWPHcZ5DSnj0EfCzswtjI9MzoJDLcXUG3D4fjAuZ23sRXi26nEdKeLQTJuBYqz7d0UkpYjPxRi24Izc9ecX+2etn8H8T4s2WA4mfiAByfU3G2IHxiLgzyyKUFNxC9Cv0YQgQLhriPU0uvkLDYqX7H0bmK+7z/+fzjwADAKjckmpp+9qUAAAAAElFTkSuQmCC)',
                        onclick: 'if (event.button == 0) { \
                                      openTrustedLinkIn("about:profiles", "tab"); \
                                  }; '
                    };
                    for (let p in props)
                        toolbaritem.setAttribute(p, props[p]);
                    return toolbaritem;
                }
            });
    Alles anzeigen

    Hinter dem Base64-Code verbirgt sich noch das about:config-Symbol, ein Schraubenschlüssel oder was das ist. Kannst du ja durch ein anderes Symbol ersetzen. Ich musste das Symbol erst einmal aus dem Anpassen-Fenster holen.

    Vielen lieben Dank.

    Mal schauen, ob ich daraus noch etwas anderes machen kann.

    Denn ich würde ja gerne direkt das Testprofil parallel starten können.

  • Button um weiteres Profil zu öffnen

    • Mira_Belle
    • 20. Juli 2023 um 23:54
    Zitat von geldhuegel

    Der Gipfel der Faulheit würde erreicht werden, wenn jetzt noch der Klick auf den Button "Profil zusätzlich ausführen" durch das Skript ausgeführt würde.

    :)

    Nein, erst wenn ein Assistenzsystem auf Zuruf Aktionen ausführt, besser noch, wenn man nur daran denkt!

  • Im ExtraConfigMenu.uc.js werden die Scripte nicht mehr angezeigt.

    • Mira_Belle
    • 20. Juli 2023 um 22:23
    Zitat von omar1979
    Zitat von FuchsFan

    Wenn ich das gewusst hätte, dass Du so ängstlich reagierst, dann wäre es eine Kleinigkeit gewesen, 800 Zeilen raus zu nehmen. ;)

    Aber Du bist doch sonst nicht so ängstlich eingestellt, wenn es um Anpassungen geht. :)

    Du brauchst es ja nicht nehmen, Dich zwingt doch niemand dazu.

    Das Problem ist, ich habe null Ahnung von JavaScript und CSS. Ich weiss nicht, ob man in deinem Script auch grosse Änderungen machen muss oder nicht. :)

    Am Skript selber, bzw. dessen Code musst Du doch gar nichts ändern!

    Wo nach Du nur schauen musst ist der CSS-Teil, den musst Du Dir anschauen

    und vergleichen, ob Du eben jene Datei auch hast, und ob Du sie aufrufen möchtest.

    Und dann musst Du nur den Pfad abgleichen und gegebenenfalls Deinem angleichen.

  • Button um weiteres Profil zu öffnen

    • Mira_Belle
    • 20. Juli 2023 um 22:14

    Ja, das ist der Weg!

    Aber das möchte ich einfacher!

    Ein Klick auf einen Button.

    Eben ein Skript, mit dem ich anstellen kann, was halt meine Möglichkeiten so hergeben.

  • Nur die Anzeige der Ordner/Lesezeichenanzahl in einer anderen Farbe darstellen

    • Mira_Belle
    • 20. Juli 2023 um 14:53
    Zitat von Horstmann

    Sicher?

    Der von ihm gepostete Code funktioniert nämlich anscheinend ungefähr wie in der Darstellung - du hast ihn doch bestimmt probiert? ;)

    Schäm, nein, hab ich nicht.

    Dann ging es ihm doch wohl nur noch darum, das Systememoji "🗁" durch eine richtige Grafik zu ersetzen.

    Aber auch da bin ich raus, zumal ich jetzt eine neue Baustelle habe.

  • Nur die Anzeige der Ordner/Lesezeichenanzahl in einer anderen Farbe darstellen

    • Mira_Belle
    • 20. Juli 2023 um 14:04
    Zitat von Horstmann

    Mitleser hat ja seine Lösung schon einmal hinbekommen, vielleicht hat er selber eine Idee.

    Ne ne, hat er nicht, das ist nur eine erstellte Grafik zur Veranschaulichung, wie er es sich vorstellt.

  • Button um weiteres Profil zu öffnen

    • Mira_Belle
    • 20. Juli 2023 um 14:01

    Ich habe mal wieder eine etwas spezielle Idee.

    Hin und wieder teste ich in einem anderen Profil, welches ich extra dafür angelegt habe, Skripte und/oder CSS-Code.

    Jedoch musste ich dafür jedes Mal meinen Firefox beenden und mit diesem Testprofil neu starten.

    Durch einen anderen Thread bin ich darauf gestoßen, dass man ja auch zwei Instanzen mit unterschiedlichem Profil starten, bzw. laufen lassen kann.

    Nun habe ich getestet, ob ich in den verschiedenen Profilen auch ein Restart inkl. Speicherlöschung machen kann. Es geht.

    So, nun meine Frage, hat jemand schon so ein Skript in Benutzung?

    Oder muss es von Grund auf erst erstellt werden?

  • Nervige "Du musst Neustarten"-Sperre abstellen, ohne Updates zu deaktivieren

    • Mira_Belle
    • 20. Juli 2023 um 13:39
    Zitat von 2002Andreas

    War ja auch nur als Beispiel gedacht. ;)

    Ich weiß, ich kann es mir nur halt nicht vorstellen, aber die Menschen sind halt alle im Verhalten anders,

    und genau hier in diesem Thread kann man es ja vortrefflich "beobachten".

Unterstütze uns!

Jährlich (2026)

69,4 %

69,4% (538,17 von 775 EUR)

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