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

  • Firefox v136.0 - Skript "export_folder_to_html.uc.js" funktioniert nicht mehr

    • Mira_Belle
    • 6. März 2025 um 22:49

    Ich komm' da nicht weiter!
    Das Dialogfenster von Windows zum Speichern der HTML-Datei kann ich irgendwie nicht aufrufen.

  • Firefox v136.0 - Skript "export_folder_to_html.uc.js" funktioniert nicht mehr

    • Mira_Belle
    • 6. März 2025 um 21:36

    Ach, ich habe da wohl was falsch verstanden!
    Nicht die Lesezeichen, sondern die Ordner.

  • Firefox v136.0 - Skript "export_folder_to_html.uc.js" funktioniert nicht mehr

    • Mira_Belle
    • 6. März 2025 um 21:19

    Komisch, kann es nicht nachfolziehen. Bei mir wird da (Lesezeichen --> Lesezeichen verwalten) nix angezeigt.

    :/

  • Firefox v136.0 - Skript "export_folder_to_html.uc.js" funktioniert nicht mehr

    • Mira_Belle
    • 6. März 2025 um 20:58

    :/ In welchem Kontextmenü sollte welcher Eintrag erscheinen?
    Ich verstehe nicht, und ich habe auch nirgends einen "neuen" Eintrag gefunden. ?(

  • Windows 11

    • Mira_Belle
    • 1. März 2025 um 19:12

    schlingo Wenn Du der Meinung bist, dass meine Beiträge MSFT Bashing sind, darft Du natürlich Deine Meinung kund tun,
    und diese auch als solche benennen.
    ABER darum ging es gar nicht!

    Zitat von schlingo

    und uns hier mit Deinem ständigen Gesülze verschonen

    So etwas kannst Du Dir sonst wo hinstecken. Solche Äußerungen vergiften nur das miteinander.

    Zitat

    Zu: ... auf welcher Grundlage bestreitest Du dem Hersteller das Recht,
    bei neuen Versionen die Systemvoraussetzungen anzupassen?

    Also so weit mir bekannt, sind Windows 11 23H2 und 24H2 keine neuen Betriebssystemversionen.
    Es sind Updates einen älteren Windows 11.
    Aber gut, Du bist der Meinung alles, was MS so treibt und tut ist toll und für Dich völlig in Ordnung.
    Soll mir recht sein, somit erübrigt es sich für mich, mit Dir über Dinge, bei denen wir unterschiedlicher Meinung sind
    auszutauschen. Zumal Du ja auch gar nicht sachlich bleiben kannst und mich schon des herabgewürdigt und beleidigt hast.
    Ignoriere mich und meine Beiträge in Zukunft bitte, ich werde es mit Dir und Deinen Beiträgen genau so tun.
    Lebe wohl und bleib gesund.

    Zitat von .DeJaVu

    Den Artikel auf heise kannst du ignorieren, da steht fast nur Unsinn drin. Zudem ist die Überschrift dumm und irreführend.

    Was stimmt Deiner Meinung mit der Überschrift nicht?
    Und auf einem Laptop habe ich ähnliches, was beschrieben wird, erlebt.
    Entspricht der Artikel nicht Deiner Meinung, oder bezweifelst Du den Inhalt einfach mal so?

    Nachtrag: Du darfst natürlich antworten, aber ich bin hier jetzt raus.
    Muss mich nicht ständig herumärgern, weil irgendwer meint mich beleidigen zu müssen
    oder sonst irgendwie blöd angehen muss, nur weil ich eine andere Meinung habe,
    oder Dinge einfach anders sehe.

    Zitat von Sören Hentzschel

    .... zumal die von dir per Screenshot gezeigte Tabelle deiner Argumentation sogar eher widerspricht. Denn die Tabelle zeigt höhere Anforderungen für das Upgrade als für eine Neuinstallation,

    Überlege doch bitte noch einmal!
    Du installierst Windows 11 neu auf einem System nur mit TMP Version 1.2.
    Das geht ohne Probleme.
    Nun kommt ein "Sicherheitsupdate" bei dem das Setup aktiv wird,
    und das Update wird gar nicht ausgeführt.
    Ab diesem Zeitpunkt bleibt man auch einem ungepatchten System hängen!

    Und der Endanwender versteht das alles gar nicht, er nutzt doch Windows 11!
    Welches doch bisher gut auf seinem System lief.

    Genau ein solches Szenario hatte ich auf einem Laptop von einer Bekannten.

    Aber gut, ich werde zu den Themen "Windows" und Microsoft" mich in Zukunft hier nicht mehr äußern.
    Es ist ja nicht erwünscht, dass man seine Meinung kundtut, wenn sie nicht der "Elite" hier on Board entspricht.

    Ich danke Dir Sören Hentzschel für Deinen ruhigen und sachlichen Gedankenaustausch.
    So mancher Einwand Deinerseits hat mich bei dem einen oder anderen Thema zum Nachdenken gebracht,
    ich denke da z.B. an die Geschichte mit dem "Datenschutz" und den Empfehlungen von Kukletz,
    und mich zum Umkehrschluss gebracht. Danke.

  • Windows 11

    • Mira_Belle
    • 1. März 2025 um 13:18

    schlingo Lieber Ingo, ich lasse mir von Dir nicht vorschreiben, worüber ich schreibe.
    Wenn es Dich stört, überspringe meine Beiträge, ignoriere sie, oder blockiere mich,
    aber unterlasse es, mich auf eine so doofe Art anzumachen. Danke.

    Zu. Hardwareanforderungen!
    Eventuell habe ich mich doof ausgedrückt und nicht den aller besten Artikel dazu verlinkt.
    Leider ist der wohl beste Artikel zu dem Thema hinter einer Paywall.

    Nach Upgrade auf Windows 11 teilweise keine Sicherheitsupdates erhältlich
    Das nahende Update-Ende für Windows 10 ist bekannt, nun erhält aber schon jetzt manches Windows 11 keine Sicherheitsupdates mehr. Wir erklären die Hintergründe.
    www.heise.de

    Und auch wenn kommuniziert wird, dass diese Änderungen nur OEMs betreffen, stimmt das bedauerlicherweise so nicht!
    Wer von Windows 7 oder Windows 10 kommt und per Upgrade zu Windows 11 gelangt ist,
    den betreffen viele der Änderungen nicht! Jedoch legt das Setup da andere, weit höhere Anforderungen an.
    Wer aber Windows 11 clean installieren möchte, kann unter Umständen vor Problemen stehen.
    Die Hardwareanforderungen sind da nämlich niedriger, aber bei einem Update könnte da einem das Setup in die Parade fahren.
    Und es gibt bei allem Überfluss noch so einige weitere Stolpersteine.
    Ist im c't-Artikel sehr gut erklärt. Und nein, diese Stolpersteine betreffen eben nicht nur Nutzer "alter" Hardware!
    Wobei, wenn ein PC, der zwei, drei Jahre auf dem Buckel hat, schon als "alt" gilt, ok.

    Ich unterstelle MS mal so ganz pauschal, dass sie einfach wieder Geld mit Windows-Lizenzen in die Kasse spülen wollen!
    Und nein, Windows 11 ist NICHT kostenlos!
    Mit jedem neuen PC, wird auch eine Windows-Lizenz verkauft, die Geld in MS-Kasse spült.


    Nachtrag!
    Kleine Fetzen aus dem c't-Artikel.

    Zitat

    Windows 11 läuft auch auf Rechnern schnell genug, die nur die weit geringeren Anforderungen der Vorgängerversion Windows 10 erfüllen. Die Änderungen für Windows 11 sind reine Willkür, um den Verkauf neuer PCs zu fördern. Weil auf den meisten PCs auch heute noch Windows vorinstalliert ist, bedeutet jeder PC-Verkauf zugleich zusätzliche Lizenzeinnahmen für Microsoft.

    Das Setup-Programm

    Zitat

    Dieses Setup-Programm ist das, was direkt in die Falle führt. Denn es stellt nicht nur andere Anforderungen an die Hardware als jene, die Microsoft offiziell verkündet hat, sondern vor allem je nach Aufgabe unterschiedliche. Bei einer Neuinstallation gelten andere, und zwar geringere, als beim Aktualisieren einer bereits vorhandenen Installation. Und dann gibt es noch von Microsoft selbst eingebaute Registry-Hacks, mit denen Setup.exe noch geringere Anforderungen erfüllt wissen will.

    Ähnlich beim Prozessor: Das Setup-Programm findet es bei einer Neuinstallation völlig ausreichend, wenn er zwei Kerne hat. Beim Aktualisieren hingegen besteht das Setup-Programm darauf, dass der Prozessor auch "kompatibel" ist, also in der aktuellen CPU-Liste aufgeführt ist. Einzig die seit 24H2 geltende Anforderung SSE4.2 gilt immer und lässt sich auch nicht umgehen, auch nicht mit Hacks.

  • Windows 11

    • Mira_Belle
    • 1. März 2025 um 11:35
    Zitat von .DeJaVu

    Lesen ist eines, verstehen ein anderes.

    Worauf genau beziehst Du Dich?

  • Windows 11

    • Mira_Belle
    • 1. März 2025 um 10:39
    Zitat von Foxxiator

    Was hat sich denn verändert in Sachen CPU seit dem Erscheinen von Windows 11?:/

    Hier ist die Antwort zu finden: https://www.deskmodder.de/blog/2025/03/0…d-und-qualcomm/

    Mh. und zu Deinem Einwand Sören Hentzschel "Nichts anderes gilt auch für jede andere Software auf der Welt." in Beitrag #542.

    Ein BS ist nicht einfach irgendeine Software!
    Ein BS ist die Grundlage, um überhaupt irgendwelche Software nutzen zu können.
    Ich finde, dass das schon einen kleinen, aber entscheidenden Unterschied macht.
    Aber für jemanden, der viel mit Sourcecode zu tun hat, mag Deine Interpretation natürlich vollkommen zutreffen.

  • Windows 11

    • Mira_Belle
    • 27. Februar 2025 um 11:15
    Zitat von Sören Hentzschel
    Zitat von Mira_Belle

    Was unter anderem für mich gegen W11 spricht ist, dass MS nach Gutdünken Hardwareanforderungen jederzeit,
    und sie haben es ja gemacht, wieder ändern kann.

    Nichts anderes gilt auch für jede andere Software auf der Welt. Die Hardwareanforderungen eines Betriebssystems ändern sich aber nicht permanent und gerade als Windows-Nutzer braucht man sich über geänderte Hardwareanforderungen ja nun wirklich nicht beklagen. Microsofts Problem war viel mehr, dass sie viel zu lange damit gewartet haben, die Anforderungen mal auf ein halbwegs zeitgemäßes Niveau zu heben. Die Systemanforderungen von Windows waren immer extrem gering und haben sich vor Windows 11 über sehr viele Jahre kaum nennenswert verändert.

    ...

    Und sie haben es schon wieder gemacht! Es sind Prozessoren rausgeflogen!

    Und ich denke bei Supportzeitraum eher an XP und Windows 7,
    die Vollkatastrophen Windows Vista und Windows 8 sowie 8.1 zähle ich nicht.
    Windows XP von 25. Oktober 2001 bis 8. April 2014.
    Windows 7 von 22. Oktober 2009 bis 14. Januar 2020.

    Und dies bei unveränderten Hardwareanforderungen.

  • Wiederherstellen meines alten Profils und damit auch meiner Lesezeichen nicht möglich.

    • Mira_Belle
    • 27. Februar 2025 um 11:05

    :thumbup:

    Und für die Zukunft:!:
    Backups, mach immer mal wieder ein Backup.
    In welcher Form auch immer, und wenn Du nur das Profil als ZIP packst und speicherst.

  • Windows 11

    • Mira_Belle
    • 22. Februar 2025 um 12:27

    Update, Upgrade, kommt die Setup.exe zum Einsatz oder auch nicht?
    MS schmeißt das ja alles gerne durcheinander!
    Es ist die Setup.exe, welche die Hardwareanforderungen prüft!
    Und je nachdem, ob es nur ein Update ist, da kommt die EXE eben nicht zum Einsatz,
    oder eben ein Upgrade (Versionswechsel) sind die Hardwareanforderungen eben unterschiedlich!
    Per Raghacks lassen sich die Hardwareanforderungen bei einem Upgrade aushebeln.
    Bei einer Neuinstallation funktionieren die Hacks natürlich nicht!

    Irgendwo las ich mal, man könne die Setuproutine gegen eine andere austauschen,
    welche eben nicht die Hardwareanforderungen überprüft! Egal, der Aufwand ist ernorm
    und nichts für normale Endanwender!
    Auch die Möglichkeit per Rufus Windows 11 auf nicht supportete Hardware zu installieren,
    ist keine Gewähr zukünftig Updates zu erhalten.

    Was unter anderem für mich gegen W11 spricht ist, dass MS nach Gutdünken Hardwareanforderungen jederzeit,
    und sie haben es ja gemacht, wieder ändern kann.
    Auch dass der Supportzeitrauch von 10 Jahren auf nur noch 2 Jahren, bzw. 3 Jahren zusammen gestrichen wurden,
    ist für mich nicht so nice.

    Andere Nutzer sehen das anders. Sie finden es toll immer das neueste Must-have zuhaben,
    ich brauche das nicht und vieles von dem Krempel ist für mich ohne Belang!
    W11 26H2 wird wahrscheinlich sehr eng mit KI und eventuell auch mit der Cloud verwoben sein.
    Wäre nicht so schlimm, wenn das alles optional wäre, wird es aber nicht sein!

    Darf aber jeder handhaben, wie er möchte.
    Ich versuche halt MS freizuwerden und experimentiere gerade mit Mint herum.

    Blöd finde ich, dass seit Corona es verdammt viele Menschen gibt, die nur noch "entweder oder" kennen.
    Schwarz oder weis! Differenzieren gibt es nicht mehr, andere Ansichten, andere Meinungen werden niedergebrüllt,
    oder es wird beleidigt oder der andere wird der Lächerlichkeit preisgegeben.

    Ganz oft hier auch zu beobachten, und ich schließe mich da selbst besser mal nicht aus.
    Wäre echt schön, wenn wir alle mal wieder etwas entspannter miteinander umgehen würden.

  • Wie kann ich die menuitems von addons stylen ?

    • Mira_Belle
    • 21. Februar 2025 um 23:16

    Ulf3000 Okey, lass uns doch mal konkret werden.
    Welche Erweiterung, und dann, welcher Eintrag im Kontextmenü!

    Ich möchte es nachvollziehen können:!:

  • Wie kann ich die menuitems von addons stylen ?

    • Mira_Belle
    • 21. Februar 2025 um 03:03

    Sollte doch mit den Browserwerkzeugen gehen!
    1. "Popups nicht automatisch ausblenden"
    2. Danach auf das Symbol "Iframe als Zieldokument auswählen" anklicken.
    3. Im sich nun öffnenden Fenster (Reiter), den entsprechenden "Eintrag" für das zu editierende Menü auswählen.

  • Windows 11

    • Mira_Belle
    • 20. Februar 2025 um 20:42

    Ich beziehe mich genau auf diese Aussagen! Woran genau Du Dich jetzt störst, ich weiß es nicht.

    Zu Windows LTSC ist alles gesagt! In Deinen Augen "veraltet", ist mir absolut egal.
    Für mich aktuell, weil ich all den Quatsch, der mir mit einem anderen Windows 10 untergejubelt wird,
    absolut nichts anfangen kann und ihn auch gar nicht haben will!
    Für meine Ablehnung von Windows 11 habe ich meine Gründe, die Du nicht akzeptierst und/oder nicht einsehen willst.
    Darum brauchen wir darüber auch gar nicht diskutieren. Es ist, wie es ist.

    Und weil MS für mich nichts Brauchbares mehr liefert, bemühe ich mich auf Linux zu migrieren.
    Gibt es noch etwas, worüber Du Dir echauffieren kannst?
    Und lass das doch bitte mit solchen unterschwelligen Beleidigungen, mach ich doch auch nicht.

  • Windows 11

    • Mira_Belle
    • 20. Februar 2025 um 19:46
    Zitat von .DeJaVu

    Wenn du nach Oktober 2025 Win10 ohne ESU oder mögliches Patches nutzt, bist du keinen Deut besser als die Windows 7/8-Fraktion.

    Mh, werde ich nicht, habe ich nicht vor.

    Zitat von .DeJaVu

    Bitte erspar mir deine Ergüsse dazu, danke.

    Habe ich auch nicht vor und habe auch nicht die kleinste Andeutung dazu gemacht!

    Zitat von .DeJaVu

    über LTSC/IOT diskutiere ich mit Privatpersonen nicht, ...

    Zwingt Dich ja keiner.

    Zitat von .DeJaVu

    ... kann eh nur illegal genutzt sein

    Vermutest Du! Ich kenne bisher noch kein rechtsgültiges Urteil dazu, dass das bestätigt.
    MS-"wünsche" sind außen vor, so meine Rechtsauffassung.
    Aber dazu gibt es auch halt noch nichts "Handfestes". Ergo, auch nur eine Vermutung,
    dieses Mal von mir.
    Aber wie ich schon schrieb, ich werde früher oder später bei Linux landen.
    Im Augenblick liebäugle ich mit MINT.
    Blöd dass 40 Jahre Windows-, bzw. DOSerfahrung mich nicht nur nicht weiterbringen, sondern mir oft im Weg stehen.

  • Windows 11

    • Mira_Belle
    • 20. Februar 2025 um 16:41

    Es ist schön zu sehen, dass es "Bordies" gibt, die differenzieren können. Danke.

    Zum Vergleich W7 zu W10, es gibt da schon so einige Unterschiede!
    So einige Peripherie läuft zwar perfekt mit W7, aber mit W10 so gar nicht!

    Aber grundsätzlich sage ich auch, wer solches betreibt, sollte den "W7" tunlichst aus dem Netz fern halten.

    Die asoziale Einstellung weniger, amüsiert mich nicht so wirklich.
    Schöner wäre es, den Menschen leichte Wege aufzuzeigen, wie sie ihre "schlechten" Systeme EINFACH auf z.B. ein Linux
    umstellen können. Und kommt mir jetzt nicht mit, ist doch ganz einfach!
    Ich habe schon zig Anläufe hinter mir, nie klappte es, und einfach ist was anderes!!
    Werde aber nicht aufgeben und habe bis 2032 noch viel Zeit für hunderte Versuche.

  • Windows 11

    • Mira_Belle
    • 19. Februar 2025 um 23:13

    Genau, wer sich nicht aktuelle Hardware leisten kann, hat halt im Netz nichts zu suchen!

    Gibt es auch für nicht mehr supportete Smartphones im Bekanntenkreis keine Hilfe mehr?
    Die haben ja auch keine Daseinsberechtigung mehr!!

    Verdammt, warum haben so einige das Differenzieren verlernt?

  • Windows 11

    • Mira_Belle
    • 19. Februar 2025 um 17:56

    So wirklich toll finde ich das Herziehen der "Nutzer" die ein älteres Windows nutzen nun auch wieder nicht!
    Und so viele Rechner mit Windows 7 sind es nun auch wieder nicht!
    Aber mal ein gewichtiger Grund, warum man auf Windows 7 hängen geblieben ist!
    Direkter Hardwarezugriff, könnte unter Umständen ein Grund sein.
    Jedoch muss ich auch sagen, es ist Wahnsinn einen solchen Rechner noch ins Netz zu lassen!
    Das sollte so nicht sein.
    Dann mag es Menschen geben, die eben kein Geld übrig haben, sind etwas Neueres zu leisten
    und denen für ihr tun, etwas surfen und eventuell noch E-Mail, diese alten "Gurken" reichen.

    Unterm Strich, es ist, wie es ist.

  • "Neues", altes Appmenu. Update, und bräuchte Hilfe!

    • Mira_Belle
    • 31. Januar 2025 um 20:36

    Ach so!!!!
    Sorry, mein Fehler, im Nightly nutze ich ja ein korrigiertes Appmenü-Skript!

    JavaScript
    // ==UserScript==
    // @name           Appmenu.uc.js
    // @namespace      Appmenu@gmail.com
    // @description    Basiert auf dem Script externalFuncButtonM.uc.js, Wiederherstellung der Orangenen FF-Menü Schaltfläche
    // @include        main
    // @version        update for Firefox 68+ by aborix
    // @author         defpt
    // @charset        UTF-8
    // @version        2019.08.04
    // @version        2020.05.27
    // @version        2020.07.13 Weitere Menüs und Funktionen ergänzt by bege
    // @version        2024.08.10 alle Einstellungen im Abschnitt Konfiguration vornehmen
    // @version        2024.08.18 einige Veränderungen am Skript, Symbole, Funktionen & Menüs by Mira Bellenbaum
    // @version        2025.01.15 EventListener korrigiert und angepasst, by Mira Bellenbaum
    // ==/UserScript==
    
      // Definiere den Profilpfad
      let ProfilePath = PathUtils.toFileURI(
        PathUtils.join(PathUtils.profileDir, "chrome", "icons")
      );
      
      var Appmenu = {
        // Beginn der Konfiguration ------------------
      
        // Editor mit angegebenem Pfad verwenden
        // editor: 'C:\\Program Files\\Notepad++\\notepad++.exe',
        editor: "C:\\Program Files\\Microsoft VS Code\\Code.exe",
        // oder
        // in 'view_source.editor.path' eingetragenen Editor verwenden
        editor: Services.prefs.getCharPref("view_source.editor.path"),
        // Dateimanager mit angegebenem Pfad verwenden oder leer ('') wenn System-Dateimanager verwenden
        //fileManager: 'C:\\Program files\\FreeCommander XE\\FreeCommander.exe',
        fileManager: "",
        // Parameter für Dateimanager oder leer ('')
        //FMParameter: '/T',
        FMParameter: "",
        // Submenüs ohne Inhalt im Hauptmenü automatisch ausblenden
        autohideEmptySubDirs: true,
        // Submenüs im Hauptmenü nach unten verschieben
        moveSubDirstoBottom: false,
        // Ort und Aussehen des Menü-Buttons einstellen
        //   isUrlbar: 1,  // 0: TabsToolbar; 1: navbar,
        isUrlbar: 2, // 0: TabsToolbar; 1: navbar; 2: toolbar-menubar
        isButton: 0, // 0: Hamburger,klein; 1: Firefox,groß,
        // Hotkey zum Öffnen des Appmenüs oder leer ('')
        hotkey: "x",
        hotkeyModifier: "alt",
      
        // Ende der Konfiguration --------------------
      
        // Submenüs im Hauptmenü nach unten verschieben
        subdirPopupHash: [],
        subdirMenuHash: [],
      
        toolbar: {
          // Submenüs des Hauptmenüs definieren; Separator einfügen mit {name: 'separator'}
          subdirs: [
            {
              name: "Firefox Verzeichnisse",
              image: `${ProfilePath}/folder_currentColor.svg`, // Der Pfad wird direkt verwendet, ohne `url()`
            },
            {
              name: "Firefox Funktionen",
              image: `${ProfilePath}/settings_currentColor.svg`, // Der Pfad wird direkt verwendet, ohne `url()`
            },
            {
              name: "separator",
            },
          ],
          
          apps: [
    
            // Untermenü Firefox Verzeichnisse
            {
              name: 'Profil-Verzeichniss',
              id: "AMProfil",
              root: 'ProfD',
              path: '\\',
              subdir: 'Firefox Verzeichnisse',
            },
            {
              name: 'Chrome-Ordner',
              id: "AMchrome",
              root: 'ProfD',
              path: '\\chrome',
              subdir: 'Firefox Verzeichnisse',
            },
            {
              name: 'CSS-Ordner',
              id: "AMCSS",
              root: 'ProfD',
              path: '\\chrome\\css',
              subdir: 'Firefox Verzeichnisse',
            },
            {
              name: 'JS-Ordner',
              id: "AMJS",
              root: 'ProfD',
              path: '\\chrome\\scripts',
              subdir: 'Firefox Verzeichnisse',
            },
            {
              name: 'Addon-Verzeichniss',
              id: "AMAddons",
              root: 'ProfD',
              path: '\\extensions',
              subdir: 'Firefox Verzeichnisse',
             },
             {
              name: 'Programm-Verzeichniss',
              id: "AMProgramm",
              root: 'CurProcD',
              path: '\\',
              subdir: 'Firefox Verzeichnisse',
             },
             {
              name: 'Startup-Cache',
              id: "AMCache",
              root: 'ProfLD',
              path: '\\startupCache',
              subdir: 'Firefox Verzeichnisse',
            },
          ],
          
           configs: [
            // Untermenü Firefox Funktionen
            {
              name: 'Anpassen',
              id: "AMAnpassen",
              command: "gCustomizeMode.enter()",
              subdir: 'Firefox Funktionen',
            },
            {
              name: "Neustart im abgesicherten Modus",
              id: "AMModus",
              command: "safeModeRestart();",
              subdir: "Firefox Funktionen",
            },
            {
              name: "Browser-Konsole",
              id: "AMKonsole",
              command:
                "var { require } = ChromeUtils.importESModule('resource://devtools/shared/loader/Loader.sys.mjs', {});\
                  var { BrowserConsoleManager } = require('resource://devtools/client/webconsole/browser-console-manager');\
                  BrowserConsoleManager.openBrowserConsoleOrFocus();",
              subdir: "Firefox Funktionen",
            },
            {
              name: "Browser-Werkzeuge",
              id: "AMWerkzeuge",
              command:
                "var { require } = ChromeUtils.importESModule('resource://devtools/shared/loader/Loader.sys.mjs', {});\
                  var { BrowserToolboxLauncher } = require('resource://devtools/client/framework/browser-toolbox/Launcher.sys.mjs');\
                  BrowserToolboxLauncher.init();",
              subdir: "Firefox Funktionen",
            },
            {
              name: "Web-Entwickler",
              id: "AMEntwickler",
              command:
                "var { require } = ChromeUtils.importESModule('resource://devtools/shared/loader/Loader.sys.mjs', {});\
                  var { gDevToolsBrowser } = require('resource://devtools/client/framework/devtools-browser');\
                  gDevToolsBrowser.toggleToolboxCommand(window.gBrowser, Cu.now());",
              subdir: "Firefox Funktionen",
            },
            {
              name: "Firefox synchronisieren",
              id: "AMsynchron",
              command: "gSync.openPrefs('menubar');",
              subdir: "Firefox Funktionen",
            },
            {
            name: "Zugangsdaten und Passwörter",
            id: "AMdaten",
            command:
              "LoginHelper.openPasswordManager(window, { entryPoint: 'mainmenu' })",
            tooltiptext: "about:logins",
            subdir: "Firefox Funktionen",
            },
            {
              name: "Task Manager",
              id: "AMManager",
              command: "switchToTabHavingURI('about:processes', true)",
              tooltiptext: "about:processes",
              subdir: "Firefox Funktionen",
            },
            {
              name: "Offline arbeiten",
              id: "AMOffline",
              command: "BrowserOffline.toggleOfflineStatus();",
              subdir: "Firefox Funktionen",
            },
              /*
                {
                name: 'separator',
                },
                */
            {
              name: 'Neustart',
              id: 'AMreboot',
              tooltiptext: 'userChrome.js-Cache wird geleert',
              command:"Services.appinfo.invalidateCachesOnRestart(); \
                        Services.startup.quit(Ci.nsIAppStartup.eRestart | Ci.nsIAppStartup.eAttemptQuit);",
            },
            {
              name: 'Beenden',
              id: 'AMquit',
              command: "goQuitApplication(event);",
            },
        ]
      },
    
      _externalAppPopup: null,
      _isready: false,
    
      init: function() {
        this.handleRelativePath(this.toolbar.apps);
        const XULNS = 'http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul';
    
        var ExternalAppBtn = document.createElementNS(XULNS, 'toolbarbutton');
        ExternalAppBtn.id = "AppMenuButton";
        ExternalAppBtn.setAttribute("label", "AppButton");
        //ExternalAppBtn.setAttribute("onclick", "event.preventDefault();event.stopPropagation();");
        ExternalAppBtn.addEventListener('click', event => {
          event.preventDefault();
          event.stopPropagation();
        });
        ExternalAppBtn.setAttribute("tooltiptext", "Firefox Menü");
        ExternalAppBtn.setAttribute("type", "menu");
        ExternalAppBtn.setAttribute("removable", "true");
          
        // Definiere den Profilpfad
        let ProfilePath = PathUtils.toFileURI(
          PathUtils.join(PathUtils.profileDir, "chrome", "image")
        );
      
        // Symbole
        let DefaultIcon = "Button_groß.png";
        let AlternateIcon = "Button_klein-plus.png";
    
    
        if (Appmenu.isButton) {
          ExternalAppBtn.style.listStyleImage = `url('${ProfilePath}/${DefaultIcon}')`; // Großes Symbol
          ExternalAppBtn.style.width = "94px"; // Feste Breite für großes Symbol
          ExternalAppBtn.style.height = "24px"; // Feste Höhe für großes Symbol
        } else {
          ExternalAppBtn.style.listStyleImage = `url('${ProfilePath}/${AlternateIcon}')`; // Kleines Symbol
          ExternalAppBtn.style.width = "16px"; // Feste Breite für kleines Symbol
          ExternalAppBtn.style.height = "21px"; // Feste Höhe für kleines Symbol
        }
          
        if (Appmenu.isUrlbar === 1) {
          var navBar = document.getElementById("nav-bar-customization-target");
          navBar.insertBefore(ExternalAppBtn, navBar.firstChild);
        } else if (Appmenu.isUrlbar === 2) {
          var menubar = document.getElementById("toolbar-menubar");
          menubar.insertBefore(ExternalAppBtn, menubar.firstChild);
        } else {
          var TabsToolbar = document.getElementById("TabsToolbar");
          TabsToolbar.insertBefore(ExternalAppBtn, TabsToolbar.firstChild);
        }
    
        var ExternalAppPopup = document.createElementNS(XULNS, 'menupopup');
        //ExternalAppPopup.setAttribute('onpopupshowing', 'event.stopPropagation(); Appmenu.onpopupshowing();');
        ExternalAppPopup.addEventListener('click', event => {
          event.stopPropagation();
        });
        ExternalAppPopup.setAttribute('id', 'AMpopup');
        this._externalAppPopup = ExternalAppPopup;
        ExternalAppBtn.appendChild(ExternalAppPopup);
        Appmenu.onpopupshowing();
          
        // Menü mit Tastaturkürzel öffnen
        if (Appmenu.hotkey) {
        let key = document.createXULElement('key');
          key.id = 'key_AppMenuPopup';
          key.setAttribute('key', Appmenu.hotkey);
          if (Appmenu.hotkeyModifier)
          key.setAttribute('modifiers', Appmenu.hotkeyModifier);
          key.setAttribute('oncommand', 'document.getElementById("AMpopup").openPopup();');
          document.getElementById('mainKeyset').appendChild(key);
        }
      },
    
      onpopupshowing: function() {
        if (this._isready) return;
        if (this._externalAppPopup === null) return;
        var ExternalAppPopup = this._externalAppPopup;
    
        for (let subdir of this.toolbar.subdirs) {
          if (subdir.name == 'separator') {
            ExternalAppPopup.appendChild(document.createXULElement('menuseparator'));
          } else {
            var subdirItem = ExternalAppPopup.appendChild(document.createXULElement('menu'));
            var subdirItemPopup = subdirItem.appendChild(document.createXULElement('menupopup'));
            subdirItem.setAttribute('class', 'menu-iconic');
            subdirItem.setAttribute('label', subdir.name);
            subdirItem.setAttribute('image', subdir.image);
            Appmenu.subdirPopupHash[subdir.name] = subdirItemPopup;
            Appmenu.subdirMenuHash[subdir.name] = subdirItem;
          }
        }
    
        for (let app of this.toolbar.apps) {
          var appItem;
          if (app.name == 'separator') {
            appItem = document.createXULElement('menuseparator');
          } else {
            appItem = document.createXULElement('menuitem');
            appItem.setAttribute('class', 'menuitem-iconic');
            appItem.setAttribute('label', app.name);
            appItem.setAttribute('image', app.image);
            //appItem.setAttribute('oncommand', "Appmenu.exec(this.path, this.args);");
            appItem.addEventListener('command', function () {
              Appmenu.exec(this.path, this.args);
              });
            appItem.setAttribute('tooltiptext', app.name);
            appItem.path = app.path;
            appItem.args = app.args;
          }
          if (app.subdir && Appmenu.subdirPopupHash[app.subdir])
            Appmenu.subdirPopupHash[app.subdir].appendChild(appItem);
          else ExternalAppPopup.appendChild(appItem);
        }
    
        for (let config of this.toolbar.configs) {
          var configItem;
          if (config.name == 'separator') {
            configItem = document.createXULElement('menuseparator');
          } else {
            configItem = ExternalAppPopup.appendChild(document.createXULElement('menuitem'));
            configItem.setAttribute('class', 'menuitem-iconic');
            configItem.setAttribute('label', config.name);
            configItem.setAttribute('image', config.image);
            //configItem.setAttribute('oncommand', config.command);
            configItem.addEventListener('command', () => {
                  eval(config.command);
              });
    
            if (config.tooltiptext) {
              configItem.setAttribute('tooltiptext', config.tooltiptext);
            } else {
              configItem.setAttribute('tooltiptext', config.name);
            }
            configItem.setAttribute('id', config.id);
          }
              
          if (config.subdir && Appmenu.subdirPopupHash[config.subdir]) {
            Appmenu.subdirPopupHash[config.subdir].appendChild(configItem);
          } else {
            ExternalAppPopup.appendChild(configItem);
          }
        }
    
        if (this.autohideEmptySubDirs) {
          for (let i = 0; i < Appmenu.subdirPopupHash.length; i++) {
            if (Appmenu.subdirPopupHash[i].hasChildNodes()) {
              continue;
            } else {
              Appmenu.subdirMenuHash[i].setAttribute("hidden", "true");
            }
          }
        }
    
        if (this.moveSubDirstoBottom) {
          let i = ExternalAppPopup.childNodes.length;
          while (ExternalAppPopup.firstChild.getAttribute('class') != 'menuitem-iconic' && i-- != 0) {
            ExternalAppPopup.appendChild(ExternalAppPopup.firstChild);
          }
        }
        this._isready = true;
      },
    
      handleRelativePath: function(apps) {
        for (let app of apps) {
          if (app.path) {
            app.path = app.path.replace(/\//g, '\\');
            var ffdir = Cc['@mozilla.org/file/directory_service;1'].getService(Ci.nsIProperties).get(app.root, Ci.nsIFile).path;
            if (/^(\\)/.test(app.path)) {
              app.path = ffdir + app.path;
            }
          }
        }
      },
    
      exec: function(path, args) {
        args = args || [];
        var args_t = args.slice(0);
        for (let arg of args_t) {
          arg = arg.replace(/%u/g, gBrowser.currentURI.spec);
        }
        var file = Cc['@mozilla.org/file/local;1'].createInstance(Ci.nsIFile);
        file.initWithPath(path);
        if (!file.exists()) {
          //Cu.reportError('Datei nicht gefunden: ' + path);
          alert('Datei nicht gefunden: ' + path);
          return;
        }
        if (file.isExecutable() && !path.endsWith('.js')) {
          var process = Cc['@mozilla.org/process/util;1'].createInstance(Ci.nsIProcess);
          process.init(file);
          process.run(false, args_t, args_t.length);
        } else if (file.isFile()) {
          if (this.editor) {
            let UI = Cc["@mozilla.org/intl/scriptableunicodeconverter"].createInstance(Ci.nsIScriptableUnicodeConverter);
            UI.charset = window.navigator.platform.toLowerCase().includes('win') ? 'Shift_JIS' : 'UTF-8';
            let path = UI.ConvertFromUnicode(file.path);
            let app = Cc['@mozilla.org/file/local;1'].createInstance(Ci.nsIFile);
            app.initWithPath(this.editor);
            let process = Cc['@mozilla.org/process/util;1'].createInstance(Ci.nsIProcess);
            process.init(app);
            process.run(false, [path], 1);
          } else {
            file.launch();
          }
        } else if (file.isDirectory()) {
          if (this.fileManager) {
            let args=[this.FMParameter,path];
            let app = Cc['@mozilla.org/file/local;1'].createInstance(Ci.nsIFile);
            app.initWithPath(this.fileManager);
            let process = Cc['@mozilla.org/process/util;1'].createInstance(Ci.nsIProcess);
            process.init(app);
            process.run(false, args, args.length);
          } else {
            file.launch();
          }
        }
      },
    };
    
    (function () {
        // Definiere den Profilpfad für die Symbole
        let ProfilePath = PathUtils.toFileURI(
          PathUtils.join(PathUtils.profileDir, "chrome", "icons")
        );
      
        // Standard-Symbol-Dateiname
        let ButtonIcon01 = "restart.svg";
        let ButtonIcon02 = "quit.svg";
      
        let Icon01 = "profile.svg";
        let Icon02 = "chrome.svg";
        let Icon03 = "css3.svg";
        let Icon04 = "js.svg";
        let Icon05 = "addons.svg";
        let Icon06 = "folder.svg";
        let Icon07 = "folder-1.svg";
      
        let Icon11 = "Themes.svg";
        let Icon12 = "debugging-workers.svg";
        let Icon13 = "command-console.svg";
        let Icon14 = "window-dev-tools.svg";
        let Icon15 = "developer.svg";
        let Icon16 = "sync.svg";
        let Icon17 = "passwords.svg";
        let Icon18 = "performance.svg";
        let Icon19 = "plug-disconnected.svg";
      
        // StyleSheetService zum Hinzufügen der CSS-Regeln
        let sss = Components.classes["@mozilla.org/content/style-sheet-service;1"].getService(Components.interfaces.nsIStyleSheetService);
        let uri = Services.io.newURI(
          "data:text/css;charset=utf-8," +
            encodeURIComponent(`
      
              menuitem[label="Profil-Verzeichniss"] { background-image: url('${ProfilePath}/${Icon01}');
                            background-repeat: no-repeat !important; 
                            background-position: 11px 3px !important; 
                            background-size: 16px 16px !important; /* Größe des Symbols anpassen */ 
                            -moz-context-properties: fill, fill-opacity;
                            fill: currentColor;
                            }
              menuitem[label="Chrome-Ordner"] { background-image: url('${ProfilePath}/${Icon02}'); 
                            background-repeat: no-repeat !important; 
                            background-position: 11px 3px !important; 
                            background-size: 16px 16px !important; /* Größe des Symbols anpassen */
                            -moz-context-properties: fill, fill-opacity;
                            fill: currentColor; 
                            }
              menuitem[label="CSS-Ordner"] { background-image: url('${ProfilePath}/${Icon03}'); 
                            background-repeat: no-repeat !important; 
                            background-position: 11px 3px !important; 
                            background-size: 16px 16px !important; /* Größe des Symbols anpassen */
                            -moz-context-properties: fill, fill-opacity;
                            fill: currentColor;                       
                            }
              menuitem[label="JS-Ordner"] { background-image: url('${ProfilePath}/${Icon04}'); 
                            background-repeat: no-repeat !important; 
                            background-position: 11px 3px !important; 
                            background-size: 16px 16px !important; /* Größe des Symbols anpassen */
                            -moz-context-properties: fill, fill-opacity;
                            fill: currentColor;                       
                            }
              menuitem[label="Addon-Verzeichniss"] { background-image: url('${ProfilePath}/${Icon05}');
                            background-repeat: no-repeat !important; 
                            background-position: 11px 3px !important; 
                            background-size: 16px 16pxx !important; /* Größe des Symbols anpassen */
                            -moz-context-properties: fill, fill-opacity;
                            fill: currentColor;                       
                            }
              menuitem[label="Programm-Verzeichniss"] { background-image: url('${ProfilePath}/${Icon06}'); 
                            background-repeat: no-repeat !important; 
                            background-position: 11px 3px !important; 
                            background-size: 16px 16px !important; /* Größe des Symbols anpassen */
                            -moz-context-properties: fill, fill-opacity;
                            fill: currentColor;                       
                            }
              menuitem[label="Startup-Cache"] { background-image: url('${ProfilePath}/${Icon07}');
                            background-repeat: no-repeat !important; 
                            background-position: 11px 3px !important; 
                            background-size: 16px 16px !important; /* Größe des Symbols anpassen */
                            -moz-context-properties: fill, fill-opacity;
                            fill: currentColor;                       
                            }
      
              #AMAnpassen     { background-image: url('${ProfilePath}/${Icon11}');
                                background-repeat: no-repeat !important; 
                                background-position: 11px 3px !important;
                                background-size: 16px 16px !important;
                                -moz-context-properties: fill, fill-opacity;
                                fill: currentColor;                          
                              }
              #AMModus        { background-image: url('${ProfilePath}/${Icon12}');
                                background-repeat: no-repeat !important; 
                                background-position: 11px 3px !important;
                                background-size: 16px 16px !important;
                                -moz-context-properties: fill, fill-opacity;
                                fill: currentColor;
                              }
              #AMKonsole      { background-image: url('${ProfilePath}/${Icon13}');
                                background-repeat: no-repeat !important; 
                                background-position: 11px 3px !important;
                                background-size: 16px 16px !important;
                                -moz-context-properties: fill, fill-opacity;
                                fill: currentColor;
                              }
              #AMWerkzeuge    { background-image: url('${ProfilePath}/${Icon14}');
                                background-repeat: no-repeat !important; 
                                background-position: 11px 3px !important; 
                                background-size: 16px 16px !important;
                                -moz-context-properties: fill, fill-opacity;
                                fill: currentColor;
                              }
              #AMEntwickler   { background-image: url('${ProfilePath}/${Icon15}');
                                background-repeat: no-repeat !important; 
                                background-position: 11px 3px !important;
                                background-size: 16px 16px !important;
                                -moz-context-properties: fill, fill-opacity;
                                fill: currentColor;
                              }
              #AMsynchron     { background-image: url('${ProfilePath}/${Icon16}');
                                background-repeat: no-repeat !important; 
                                background-position: 11px 3px !important; 
                                background-size: 16px 16px !important;
                                -moz-context-properties: fill, fill-opacity;
                                fill: currentColor;
                              }
              #AMdaten        { background-image: url('${ProfilePath}/${Icon17}');
                                background-repeat: no-repeat !important; 
                                background-position: 11px 3px !important; 
                                background-size: 16px 16px !important;
                                -moz-context-properties: fill, fill-opacity;
                                fill: currentColor;
                              }        
              #AMManager      { background-image: url('${ProfilePath}/${Icon18}');
                                background-repeat: no-repeat !important; 
                                background-position: 11px 3px !important; 
                                background-size: 16px 16px !important;
                                -moz-context-properties: fill, fill-opacity;
                                fill: currentColor;
                              }
              #AMOffline      { background-image: url('${ProfilePath}/${Icon19}');
                                background-repeat: no-repeat !important; 
                                background-position: 11px 3px !important;
                                background-size: 16px 16px !important;
                                -moz-context-properties: fill, fill-opacity;
                                fill: currentColor;
                              }
      
      
              /* Neustart-Button */
              #AMreboot { 
                  background-image: url('${ProfilePath}/${ButtonIcon01}');
                  background-repeat: no-repeat !important;
                  background-position: 10px 2px !important;
                  background-size: 20px 20px !important; /* Größe des Symbols anpassen */
                  padding-left: 10px !important; /* Platz für das Symbol lassen */
                  -moz-context-properties: fill, fill-opacity !important;
                  fill: #fbc96e !important;
              }
      
              /* Beenden-Button */
              #AMquit { 
                  background-image: url('${ProfilePath}/${ButtonIcon02}');
                  background-repeat: no-repeat !important;
                  background-position: 12px 3px !important;
                  background-size: 16px 16px !important; /* Größe des Symbols anpassen */
                  padding-left: 10px !important; /* Platz für das Symbol lassen */
                  -moz-context-properties: fill, fill-opacity !important;
                  fill: red !important;
              }
      
          `),
          null,
          null
        );
      
        // CSS-Regeln registrieren
        sss.loadAndRegisterSheet(uri, sss.AUTHOR_SHEET);
      })();
      
      if (window.gBrowser) Appmenu.init();
    Alles anzeigen

    Da muss die background-position: natürlich noch angepasst werden
    und der Code zum Ausblenden der Menüs in der Menüleiste fehlt ja auch noch!
    Kann aber vom "alten" Skript übernommen werden. ;)

    Bin dann mal weg.

  • "Neues", altes Appmenu. Update, und bräuchte Hilfe!

    • Mira_Belle
    • 31. Januar 2025 um 16:13
    Zitat von FuchsFan

    Schade, das Script ist gelöscht, aber kein Problem, Du nimmst Dein Script und überschreibst mit dem folgende Code ab _externalAppPopup: null, den letzten Teil.

    Dann hast Du genau das Script, mit dem ich getestet habe. Ist dann aber mit Deinem Original nicht mehr vergleichbar.

    JavaScript
    _externalAppPopup: null,
        ...
      setTimeout(function() { 
       document.getElementById('MoverAppMenuButton').appendChild(appButton);       
       appButton.setAttribute('consumeanchor', 'MoverAppMenuButton');
       appButton.setAttribute('label', 'Firefox Starter');
       appButton.setAttribute('tooltiptext', 'Firefox Starter');        
      }, 0);
    
    }());

    Ich stehe wohl gerade auf dem Schlauch!
    Welches von den drei Skripten soll ich nehmen und ändern?
    Das Erste?
    Ab welcher Zeile?
    Oder das Zweite?
    Und wenn ja, ab welcher Zeile?

    Aber so ganz verstehe ich es nicht, da bei mir die Kombi der Skripte funktionieren.

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