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

Beiträge von BrokenHeart

  • userChrome.js Scripte für den Fuchs (Diskussion)

    • BrokenHeart
    • 23. Oktober 2022 um 14:18
    Zitat von BlackRitus

    Bug: Wenn man in einem privaten Fenster auf das Plus klickt, wird kein neuer Tab erstellt. Strg + T funktioniert.

    Ich kann mit dieser Version des Skripts das Problem auch reproduzieren (auch in einem 'normalen' Fenster), unter der Voraussetzung, dass sich der newTab-Button in der Tableiste befindet. Wenn der Button in der Symbolleiste ist, dann geht es.


    Du könntest folgendes, korrigierte Skript einmal testen:

    JavaScript
    // ==UserScript==
    // @name           zzzz-MultiRowTab_LiteforFx48.uc.js
    // @namespace      http://space.geocities.yahoo.co.jp/gl/alice0775
    // @description    Experimentelle CSS Version für Mehrzeilige Tableiste
    // @include        main
    // @compatibility  Firefox 106
    // @author         Alice0775
    // @version        2016/08/05 00:00 Firefox 48
    // @version        2016/05/01 00:01 hide favicon if busy
    // @version        2016/03/09 00:01 Bug 1222490 - Actually remove panorama for Fx45+
    // @version        2016/02/09 00:01 workaround css for lwt
    // @version        2016/02/09 00:00
    // ==/UserScript==
    "use strict";
    MultiRowTabLiteforFx();
    function MultiRowTabLiteforFx() {
    
        var css =` @-moz-document url-prefix("chrome://browser/content/browser.xhtml") {
    
        /* Anpassung der Symbolleisten */
        #titlebar,#tabbrowser-tabs { -moz-appearance: none !important; }
    
        /* Anpassen der Titelleistenschaltfläche [- x] der Tableiste */
        #TabsToolbar > .titlebar-buttonbox-container { display: block !important; margin: 0 !important; }
        #TabsToolbar > .titlebar-buttonbox-container .titlebar-button { height: calc(8px + var(--tab-min-height)); padding: 0 !important; width: 46px; }
        #toolbar-menubar:not([inactive]) ~ #TabsToolbar:not([inFullscreen]) > .titlebar-buttonbox-container { display: none !important; }
    
        /* Mehrzeilige Tableiste */
        box.scrollbox-clip[orient="horizontal"] { display: block !important; }
        box.scrollbox-clip[orient="horizontal"] > scrollbox {
            display: flex !important;
            flex-wrap: wrap !important;
            max-height: calc(calc(8px + var(--tab-min-height)) * 5); /* Anzahl der Tabzeilen(Standard = 5 Zeilen)  */
            overflow-x: hidden !important;
            overflow-y: auto !important; }
        .tabbrowser-tab[fadein]:not([pinned]) { flex-grow: 1 !important; }
        .tabbrowser-tab {
             height: calc(8px + var(--tab-min-height));
             overflow: hidden; }
        .tabbrowser-tab > .tab-stack { width: 100% !important; }
        #TabsToolbar .toolbarbutton-1 { margin: 0 !important; }
    
        /* Ausblenden */
        .tabbrowser-tab:not([fadein]),#alltabs-button { display: none !important; }
    
       /* --- Ziehbereich der Tab-Leiste --- */
    
        /* Anpassung */
        /* --- Ziehbereich der Tab-Leiste --- */
        /* Anpassung */
        hbox.titlebar-spacer[type="pre-tabs"] { width: 0px !important; } /* Linker Ziehbereich: Standard 40px  */
        hbox.titlebar-spacer[type="post-tabs"] { width: 0px !important; } /* Rechter Ziehbereich: Standard 40px  */
    
        /* ↓ Wenn Sie die linke und rechte Seite des CSS-Codes auskommentieren und den CSS-Code aktivieren, 
           können Sie den Ziehbereich links einblenden, der beim Maximieren des Fensters ausgeblendet wird.  */
        /* :root:not([sizemode="normal"]) hbox.titlebar-spacer[type="pre-tabs"] { display: block !important; } */
    
        /* ↓Wenn Sie die Auskommentierung links und rechts von unten stehenden CSS-Code entfernen und den CSS-Code 
             aktivieren, können Sie den linken und rechten Ziehbereich einblenden, der im Vollbildmodus ausgeblendet wird.  */
        /* :root[inFullscreen] .titlebar-spacer { display: block !important; } */
    
        } `;
        var sss = Cc['@mozilla.org/content/style-sheet-service;1'].getService(Ci.nsIStyleSheetService);
        var uri = makeURI('data:text/css;charset=UTF=8,' + encodeURIComponent(css));
        sss.loadAndRegisterSheet(uri, sss.USER_SHEET);
    
        var css =` @-moz-document url-prefix("chrome://browser/content/browser.xhtml") {
    
        /* Bei Überschreitung der angegebenen Zeilenanzahl, mit der Maus,    
           über die dann eingeblendetet Scrolleiste zur gewünschten Zeile wechseln */
        box.scrollbox-clip > scrollbox[orient="horizontal"] > scrollbar { -moz-window-dragging: no-drag !important; }
    
        } `;
        var sss = Cc['@mozilla.org/content/style-sheet-service;1'].getService(Ci.nsIStyleSheetService);
        var uri = makeURI('data:text/css;charset=UTF=8,' + encodeURIComponent(css));
        sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET);
    
        if(location.href !== 'chrome://browser/content/browser.xhtml') return;
    
        // Scroll-Buttons und Spacer in der Tab-Leiste ausblenden shadowRoot
        gBrowser.tabContainer.arrowScrollbox.shadowRoot.getElementById('scrollbutton-up').style.display = "none";
        gBrowser.tabContainer.arrowScrollbox.shadowRoot.getElementById('scrollbutton-down').style.display = "none";
        gBrowser.tabContainer.arrowScrollbox.shadowRoot.querySelector('[part="overflow-start-indicator"]').style.display = "none";
        gBrowser.tabContainer.arrowScrollbox.shadowRoot.querySelector('[part="overflow-end-indicator"]').style.display = "none";
    
        // Tabbar scrollIntoView
        gBrowser.tabContainer.addEventListener("SSTabRestoring", function(event) {event.target.scrollIntoView({behavior: "instant", block: "nearest", inline: "nearest"})}, true);
        gBrowser.tabContainer.addEventListener("TabAttrModified", function(event) {event.target.scrollIntoView({behavior: "instant", block: "nearest", inline: "nearest"})}, true);
        gBrowser.tabContainer.addEventListener("TabMove", function(event) {event.target.scrollIntoView({behavior: "instant", block: "nearest", inline: "nearest"})}, true);
    
        // drag & drop & DropIndicator
    
        gBrowser.tabContainer.clearDropIndicator = function() {
          let tabs = this.allTabs;
          for (let i = 0, len = tabs.length; i < len; i++) {
            tabs[i].removeAttribute("style");
          }
        }
        gBrowser.tabContainer.addEventListener("dragleave", function(event) { this.clearDropIndicator(event); }, true);
    
        gBrowser.tabContainer.on_dragover = function(event) {
          this.clearDropIndicator();
          var effects = this.getDropEffectForTabDrag(event);
    
          event.preventDefault();
          event.stopPropagation();
    
          if (effects == "link") {
            let tab = this._getDragTargetTab(event, true);
            if (tab) {
              if (!this._dragTime) {
                this._dragTime = Date.now();
              }
              if (Date.now() >= this._dragTime + this._dragOverDelay) {
                this.selectedItem = tab;
              }
              return;
            }
          }
    
          let newIndex = this._getDropIndex(event, effects == "link");
          let children = this.allTabs;
          if (newIndex == children.length) {
            children[newIndex - 1].style.setProperty("box-shadow","-1px 0 0 red inset,1px 0 0 red","important");
          } else {
            children[newIndex].style.setProperty("box-shadow","1px 0 0 red inset,-1px 0 0 red","important");
          }
        }
    
        gBrowser.tabContainer.on_drop = function(event) {
          this.clearDropIndicator();
          var dt = event.dataTransfer;
          var dropEffect = dt.dropEffect;
          var draggedTab;
          let movingTabs;
          if (dt.mozTypesAt(0)[0] == TAB_DROP_TYPE) {
            // tab copy or move
            draggedTab = dt.mozGetDataAt(TAB_DROP_TYPE, 0);
            // not our drop then
            if (!draggedTab) {
              return;
            }
            movingTabs = draggedTab._dragData.movingTabs;
            draggedTab.container._finishGroupSelectedTabs(draggedTab);
          }
    
          this._tabDropIndicator.hidden = true;
          event.stopPropagation();
          if (draggedTab && dropEffect == "copy") {
            // copy the dropped tab (wherever it's from)
            let newIndex = this._getDropIndex(event, false);
            let draggedTabCopy;
            for (let tab of movingTabs) {
              let newTab = gBrowser.duplicateTab(tab);
              gBrowser.moveTabTo(newTab, newIndex++);
              if (tab == draggedTab) {
                draggedTabCopy = newTab;
              }
            }
            if (draggedTab.container != this || event.shiftKey) {
              this.selectedItem = draggedTabCopy;
            }
          } else if (draggedTab && draggedTab.container == this) {
            let oldTranslateX = Math.round(draggedTab._dragData.translateX);
            let tabWidth = Math.round(draggedTab._dragData.tabWidth);
            let translateOffset = oldTranslateX % tabWidth;
            let newTranslateX = oldTranslateX - translateOffset;
            if (oldTranslateX > 0 && translateOffset > tabWidth / 2) {
              newTranslateX += tabWidth;
            } else if (oldTranslateX < 0 && -translateOffset > tabWidth / 2) {
              newTranslateX -= tabWidth;
            }
    
            let dropIndex;
            if (draggedTab._dragData.fromTabList) {
              dropIndex = this._getDropIndex(event, false);
            } else {
              dropIndex = this._getDropIndex(event, false);
             // "animDropIndex" in draggedTab._dragData &&
             // draggedTab._dragData.animDropIndex;
            }
            let incrementDropIndex = true;
            if (dropIndex && dropIndex > movingTabs[0]._tPos) {
              dropIndex--;
              incrementDropIndex = false;
            }
    
            if (oldTranslateX && oldTranslateX != newTranslateX && !gReduceMotion) {
              for (let tab of movingTabs) {
                tab.setAttribute("tabdrop-samewindow", "true");
                tab.style.transform = "translateX(" + newTranslateX + "px)";
                let postTransitionCleanup = () => {
                  tab.removeAttribute("tabdrop-samewindow");
    
                  this._finishAnimateTabMove();
                  if (dropIndex !== false) {
                    gBrowser.moveTabTo(tab, dropIndex);
                    if (incrementDropIndex) {
                      dropIndex++;
                    }
                  }
    
                  gBrowser.syncThrobberAnimations(tab);
                };
                if (gReduceMotion) {
                  postTransitionCleanup();
                } else {
                  let onTransitionEnd = transitionendEvent => {
                    if (
                      transitionendEvent.propertyName != "transform" ||
                      transitionendEvent.originalTarget != tab
                    ) {
                      return;
                    }
                    tab.removeEventListener("transitionend", onTransitionEnd);
    
                    postTransitionCleanup();
                  };
                  tab.addEventListener("transitionend", onTransitionEnd);
                }
              }
            } else {
              this._finishAnimateTabMove();
              if (dropIndex !== false) {
                for (let tab of movingTabs) {
                  gBrowser.moveTabTo(tab, dropIndex);
                  if (incrementDropIndex) {
                    dropIndex++;
                  }
                }
              }
            }
          } else if (draggedTab) {
            // Move the tabs. To avoid multiple tab-switches in the original window,
            // the selected tab should be adopted last.
            const dropIndex = this._getDropIndex(event, false);
            let newIndex = dropIndex;
            let selectedTab;
            let indexForSelectedTab;
            for (let i = 0; i < movingTabs.length; ++i) {
              const tab = movingTabs[i];
              if (tab.selected) {
                selectedTab = tab;
                indexForSelectedTab = newIndex;
              } else {
                const newTab = gBrowser.adoptTab(tab, newIndex, tab == draggedTab);
                if (newTab) {
                  ++newIndex;
                }
              }
            }
            if (selectedTab) {
              const newTab = gBrowser.adoptTab(
                selectedTab,
                indexForSelectedTab,
                selectedTab == draggedTab
              );
              if (newTab) {
                ++newIndex;
              }
            }
    
            // Restore tab selection
            gBrowser.addRangeToMultiSelectedTabs(
              gBrowser.tabs[dropIndex],
              gBrowser.tabs[newIndex - 1]
            );
          } else {
            // Pass true to disallow dropping javascript: or data: urls
            let links;
            try {
              links = browserDragAndDrop.dropLinks(event, true);
            } catch (ex) {}
    
            if (!links || links.length === 0) {
              return;
            }
    
            let inBackground = Services.prefs.getBoolPref(
              "browser.tabs.loadInBackground"
            );
            if (event.shiftKey) {
              inBackground = !inBackground;
            }
    
            let targetTab = this._getDragTargetTab(event, true);
            let userContextId = this.selectedItem.getAttribute("usercontextid");
            let replace = !!targetTab;
            let newIndex = this._getDropIndex(event, true);
            let urls = links.map(link => link.url);
            let csp = browserDragAndDrop.getCSP(event);
            let triggeringPrincipal = browserDragAndDrop.getTriggeringPrincipal(
              event
            );
    
            (async () => {
              if (
                urls.length >=
                Services.prefs.getIntPref("browser.tabs.maxOpenBeforeWarn")
              ) {
                // Sync dialog cannot be used inside drop event handler.
                let answer = await OpenInTabsUtils.promiseConfirmOpenInTabs(
                  urls.length,
                  window
                );
                if (!answer) {
                  return;
                }
              }
    
              gBrowser.loadTabs(urls, {
                inBackground,
                replace,
                allowThirdPartyFixup: true,
                targetTab,
                newIndex,
                userContextId,
                triggeringPrincipal,
                csp,
              });
            })();
          }
    
          if (draggedTab) {
            delete draggedTab._dragData;
          }
        }
    
        gBrowser.tabContainer._getDropIndex = function(event, isLink) {
          var tabs = this.allTabs;
          var tab = this._getDragTargetTab(event, isLink);
          if (!RTL_UI) {
            for (let i = tab ? tab._tPos : 0; i < tabs.length; i++) {
              if (
                event.screenY <
                tabs[i].screenY + tabs[i].getBoundingClientRect().height
              ) {
                if (
                  event.screenX <
                  tabs[i].screenX + tabs[i].getBoundingClientRect().width / 2
                ) {
                  return i;
                }
                if (
                  event.screenX >
                  tabs[i].screenX + tabs[i].getBoundingClientRect().width / 2 &&
                  event.screenX <
                  tabs[i].screenX + tabs[i].getBoundingClientRect().width
                ) {
                  return i + 1;
                }
              }
            }
          } else {
            for (let i = tab ? tab._tPos : 0; i < tabs.length; i++) {
              if (
                event.screenY <
                tabs[i].screenY + tabs[i].getBoundingClientRect().height
              ) {
                if (
                  event.screenX <
                  tabs[i].screenX + tabs[i].getBoundingClientRect().width &&
                  event.screenX >
                  tabs[i].screenX + tabs[i].getBoundingClientRect().width / 2
                ) {
                  return i;
                }
                if (
                  event.screenX <
                  tabs[i].screenX + tabs[i].getBoundingClientRect().width / 2
                ) {
                  return i + 1;
                }
              }
            }
          }
          return tabs.length;
        }
    
    }
    Alles anzeigen
  • Entwicklung Firefox

    • BrokenHeart
    • 23. Oktober 2022 um 12:08
    Zitat von FuchsFan

    Jetzt habe ich festgestellt, dass es am Script MultiRowTabs.uc.js by BrokenHeart von BrokenHeart liegt. Nehme ich es raus, dann wird alles normal angezeigt.

    CSS
     /* Titlebar */
            :root[tabsintitlebar] #titlebar     {
                appearance: none !important; 
               /* height: 0px !important;*/
            }

    Lösche bitte folgende Zeile aus dem Skriptheight: 0px !important; (bei mir Zeile 332)

  • userChrome.js Scripte für den Fuchs (Diskussion)

    • BrokenHeart
    • 23. Oktober 2022 um 11:57
    Zitat von BlackRitus

    Firefox 106.0.1 (release) zusammen mit 02-MultiRowTabLiteforFx.uc.js

    Deine Frage bezieht sich auf ein Skript, welches bei Endor gehostet wird. Hier geht es aber um das MultiRow-Skript welches im

    1. Beitrag dieses Threads beschrieben ist. Falls du Fragen zu dem von dir verlinkten Skript hast, wäre dieser Thread die passende Anlaufstelle.

    PS: Das Verhalten tritt in dem hier beschriebenen Skript nicht auf. Ein neuer Tab wird auch im privaten Fenster erzeugt, wenn man auf das '+'-Icon klickt.

  • Meine *.css und *.js für Fx 10x.0bxbeta

    • BrokenHeart
    • 22. Oktober 2022 um 12:45

    Auch wenn ich nicht ganz durch deine Fehlerbeschreibung durchgestiegen bin, so glaube ich, dass es sich bei dir wohl um ein anderes Problem handelt, als ich zuerst angenommen hatte. Ich nutze die Beta nicht und kann daher nur für die aktuelle Nightly (FF108) Aussagen und einen Test machen und da gibt es eben das Problem mit der Größenänderung der einzelnen Items, welches durch die Zeile behoben wird, aber keine verschwindenden Lesezeichen.

    Zitat von universum123

    wohin /Zeile sollte denn am besten

    Zitat von BrokenHeart

    Füge bitte mal in Zeile 41 folgenden Code ein:

    Edit: Eben getestet: Mit dem neusten Nightly-Update hat sich auch die Größenänderung der mehrzeiligen Lesezeichenleiste erledigt und die Änderung mit 'Contain' ist nicht mehr notwendig! Dein Code funktioniert (so wie bei 2002Andreas) hier in der Nightly einwandfrei. Da muss dann etwas anderes bei dir (css/js) für diese Probleme sorgen... :/

  • Meine *.css und *.js für Fx 10x.0bxbeta

    • BrokenHeart
    • 22. Oktober 2022 um 10:27

    Füge bitte mal in Zeile 41 folgenden Code ein:

    contain: none !important;

    und schau, ob dann der Fehler noch auftritt. Das Problem, dass Lesezeichen verschwinden, kann ich zwar nicht bestätigen, aber er stellt durch eine Umstellung beim FF die Höhe der mehrzeiligen Lesezeichenleiste falsch (zu groß) ein. Das gleiche gilt auch für die mehrzeilige Tableiste! Der Code sollte das fixen...

  • Mehrzeilige Tableiste für aktuelle Firefox-Versionen

    • BrokenHeart
    • 21. Oktober 2022 um 19:57
    Zitat von fuxxi

    Da es nun funktioniert, möchte ich mir nicht mehr die Mühe machen mit Fehlerberichten und der Browserkonsole rumzuspielen - Ich hoffe, Du siehst es mir nach.

    Alles klar. Hauptsache du hast eine passende Lösung für dich gefunden... ;)

    Nur eine Bitte hätte ich: Wenn du auch mit dem neuen Skript einen Tab-Absturz z.B. unter web.whatsapp.com haben solltest, könntest du mir bitte dann nur diese Tatsache (in diesem Thread oder auch per PM) mitteilen? Das würde mir sehr bei der Entscheidung helfen, ob ich noch nach einem Fehler suchen muss oder eben nicht. Danke...

  • Mehrzeilige Tableiste für aktuelle Firefox-Versionen

    • BrokenHeart
    • 20. Oktober 2022 um 15:53
    Zitat von fuxxi

    Kurze Frage: Wie passe ich die Farben der Tabs dem Firefox-Theme an?

    Das muss dann schon 'händisch' über die Farbeinstellungen passieren. Eine Option, um die Farben einem bestehendem Theme anzupassen oder eigene Themes umzuschalten, sind (noch) nicht implementiert und ich weiß auch nicht, wann ich wieder Zeit (und Lust) habe an dem Skript noch größere Änderungen vorzunehmen. Zwar liegt hier auch eine neue, vollständig überarbeitete Version in der Schublade, aber die ist alles andere als fertig und nicht wirklich einsetzbar... ;(

    Zitat von fuxxi

    PS: Gerade festgestellt: WhatsApp-Web und auch andere Tabs stürzen, seitdem ich dieses Skript benutze, random ab. Mit nem alten Multirow-Skript (CSS) ging alles einwandfrei. Mehr hab ich nicht umgestellt.

    Als erstes wäre die Information wichtig, welche Firefox-Version du nutzt und welches Betriebssystem. Wenn es wirklich einen Zusammenhang zwischen den abgestürzten Tabs und dem Skript geben sollte, dann müsstest du nach so einem Absturz die 'Browser-Konsole' (CTRL+UMSCHALT+J) öffnen und den Inhalt hier posten. Fehlerberichte, die an Mozilla gesendet wurden, wären auch sehr hilfreich - wenn so was existiert. Wenn du den Fehler provozieren könntest, wäre das für die Reproduzierbarkeit und Fehlersuche ebenfalls von Vorteil.

    Ich muss dazu sagen, dass ich dieses Skript selber verwende und oft mehr als 100 Tabs gleichzeitig offen habe und mir dieser Fehler noch nie passiert ist. Das muss nichts heißen, da es immer bestimmte Rahmenbedingungen sind, die nicht bei jedem gleich sind. Vielleicht meldet sich ja sonst noch jemand mit diesem Problem...

    Zitat von FuchsFan

    Jetzt funktioniert wieder alles, nach den ersten Erkenntnissen.

    Danke! :thumbup: :)

    Vielen Dank für dein Feedback, freut mich wenn es läuft. :thumbup: :)

  • Fenster unter Firefox-Suchfeld mit einer anderen Rahmenfarbe versehen und nicht mit so stark abgerundeten Ecken

    • BrokenHeart
    • 19. Oktober 2022 um 20:53
    Zitat von Mr. Cutty

    Was unter ShadowRoot: Neue Aufruf-Methode für CSS-Regeln (!Wichtiges Update für FF-Versionen ab 104!) bei "Kurzanleitung" steht.

    Zitat von 2002Andreas

    Das alleine reicht nicht.

    Wenn er die Kurzanleitung für die UserSkripte aus dem verlinkten Beitrag genommen hat, dann sollte das eigentlich schon reichen (natürlich vorausgesetzt, dass da beim Entpacken und Kopieren kein Fehler passiert ist).

    @Mr. Cutty:

    Bitte überprüfe nochmal ganz genau, ob auch wirklich alle Dateien im richtigen Verzeichnis sind und der Firefox auch neu gestartet wurde.

  • [Script] [Nightly] Autopopup für Lesezeichenleiste funktioniert nicht mehr...

    • BrokenHeart
    • 11. Oktober 2022 um 13:46
    Zitat von harff182

    Ich lasse die Lesezeichen-Symbolleiste mit Strg+Umschalt+B verschwinden und hol sie wieder.

    Autopopup funktioniert nicht.

    Das war schon immer so. Durch das Verbergen der Leiste werden wohl auch die registrierten Listener gelöscht und müssen dann beim Anzeigen wieder neu gesetzt werden. So wie es aborix auch beim Aufruf von 'Symbolleiste anpassen' im Skript gemacht hat.

    Falls du das unbedingt geändert haben möchtest, dann kannst du ja aborix fragen, ob er das Skript (für dich) anpasst und diese Abfrage (Aktivierung/Deaktivierung) mit einbaut ...

    Mich stört dieses Verhalten überhaupt nicht, da ich die Lesezeichenleiste immer aktiviert lasse.

  • Fenstergröße und -position definieren

    • BrokenHeart
    • 23. September 2022 um 01:45

    Ich nutze für solche Zwecke das freie OpenSource Automatisierungs-Tool AutoHotkey:

    AutoHotkey

    - AHK-Installieren.

    - Folgendes Skript z.B. als FireFoxStart.ahk irgendwo abspeichern.

    Code: FireFoxStart.ahk
    ;-------------------------
    ;Firefox starten 
    ;Run, "Pfad zur firefox.exe im Programmverzeichnis", Arbeitsverzeichnis(-> ohne Anführungszeichen!,optional)
    ;-------------------------
    Run, "D:\Programme (Portable)\Firefox Portable\FireFox Release\FirefoxLoader.exe",  D:\Programme (Portable)\Firefox Portable\FireFox Release\ 
    
    ;-------------------------
    ;Warten bis Firefox Fenster existiert (Timeout nach 4 Sekunden)
    ;-------------------------
    WinWait, Mozilla Firefox,,4 
    
    ;-------------------------
    ;Falls Fehler -> Meldung und Abbruch
    ;-------------------------
    if ErrorLevel
    {
        MsgBox, WinWait timed out.
        return
    }
    
    ;-------------------------
    ;Warten bis Firefiox sich positioniert hat. Wert ggf. erhöhen (in ms)
    ;-------------------------
    Sleep 250 
    
    ;-------------------------
    ;Fensterposition festlegen
    ;,,,x,y,Breite,Höhe
    ;;-------------------------
    WinMove,,,100,100,1200,750 
    Alles anzeigen

    - Pfade/Werte anpassen und dann die ahk-Datei doppelklicken/starten.

    Firefox startet dann in der gewünschten Größe.

  • Erweiterte Tooltips (Proton)...

    • BrokenHeart
    • 21. September 2022 um 23:31
    Zitat von Sören Hentzschel

    Ich mochte es ebenfalls. Ich werde für sowas nur nicht mit Scripts anfangen.

    Na dann, werde mal nachfragen wie teuer ein 'custom-build' inkl. Support von Mozilla ist. ;)

    Zitat von Speravir

    Dann installiere dir tab_title_url von sdavidg/firefoxChromeScripts. Das kann dir im Tooltip sogar eine Vorschau des Tabs anzeigen.

    Cool :thumbup:. Das sieht doch sehr vielversprechend aus. Noch testen und optisch an meinen gräulich-bläulichen Firefox anpassen, dann könnte das eine sehr gute Lösung sein. Allerdings brauche/möchte ich die Vorschauen nicht und hab die Option abgeschaltet.

    Danke dir! :)

  • Erweiterte Tooltips (Proton)...

    • BrokenHeart
    • 21. September 2022 um 23:14

    Ok, danke für die Infos! Werde den Verlust überleben...war wahrscheinlich eh der einzige, dem das gefallen hat. :/

  • Erweiterte Tooltips (Proton)...

    • BrokenHeart
    • 21. September 2022 um 22:28
    Zitat von Sören Hentzschel

    Und ja, die Pläne wurden ad acta gelegt, der entsprechende Code in Firefox 102 entfernt.

    Sehr schade :(. Ich fand es sehr nützlich neben dem Seitentitel und der Domain auch noch die genaue Adresse zu sehen. Letztere sieht man zwar auch in der URL-Bar, aber eben nur für den selektierten Tab.

    Gibt es eine (interne) Begründung für die Entscheidung, die Entwicklung einzustellen?

  • Erweiterte Tooltips (Proton)...

    • BrokenHeart
    • 21. September 2022 um 14:49

    In Firefox 91esr gab es noch die Möglichkeit die ausführlicheren Tooltips zu aktivieren(s. Screenshot), in den aktuellen Versionen sind die entsprechenden 'about:config'-Einträge verschwunden. Hat Mozilla die mit Proton eingeführten neuen Tooltips ganz ad Acta gelegt, oder kann man sie jetzt auf einem anderen Weg wieder aktivieren?

  • Mehrzeilige Tableiste für aktuelle Firefox-Versionen

    • BrokenHeart
    • 20. September 2022 um 22:09
    Zitat von stromike

    Hi Leute ich mal wieder. Also ich habe die Scripte gefunden bei meinem Portablen Firefox und da geht die mehrzeilige Reihe, allerdings ohne Mausscrollen.

    Ich weiß jetzt nicht ob es da einen Zusammenhang gibt, aber ab Version 102 (ESR) kann es beim erstmaligen Starten des Firefox (z.B. nach Start von Windows) passieren, dass das Mausrad nicht funktioniert, um durch die Tab-Reihen zu scrollen (die Scrollbar funktioniert!). Nach einem Neustart des Firefox geht es dann sofort wieder. Dieses Verhalten scheint auf ein Timing-Problem beim Starten des Skripts hinzudeuten. Meines Erachtens, hängt das sporadische Auftreten dieses Fehlers damit zusammen, wie viele und welche Skripte vor dem MultiRowTabs-Skript gestartet werden.

    Da die Skripte im chrome-Verzeichnis defaultmäßig in alphabetischer Reihenfolge geladen werden, ist es daher notwendig das Skript so umzubenennen, dass es möglichst als erstes gestartet wird. Mein Vorschlag: 0_MultiRowTabs.uc.js.

    Ich habe jetzt etliche Male den Rechner/Windows neu gestartet und das Mausrad hat mit dem unbenannten Skript immer funktioniert. Wenn jemand eine JavaScript-Lösung(!) oder zumindest eine gute Erklärung hätte, warum der "Wheel-Event' unter den oben genannten Bedingungen nicht aufgerufen wird, wäre das natürlich super!

    Nachtrag: Ich denke, dass ich das Timing Problem mit dem "Wheel-Event" lösen konnte. Damit ist das Umbenennen des Skripts nicht mehr notwendig. Das Update stelle ich in den Startbeitrag...

  • Bilder-Zoom bei Amazon fehlerhaft

    • BrokenHeart
    • 10. September 2022 um 11:53
    Zitat von Loom

    Liegt wohl doch an den Cookies

    Ich würde sagen, es liegt auch an den Cookies. Bei der selben Installation, mit dem selben Profil funktioniert es nach Löschen und erneutem Akzeptieren der Cookies und dann wieder nicht.

    Aber ehrlich gesagt, ich denke nicht, dass es ein Firefox Problem ist, sondern ein amazon Problem. Edge und Chrome verhalten sich ja (hier) auch unterschiedlich. Von daher wäre es am besten, sich an diese Stelle per Mail zu wenden und das Problem mal zu schildern.

  • Bilder-Zoom bei Amazon fehlerhaft

    • BrokenHeart
    • 10. September 2022 um 10:46

    Bei mir sehr indifferentes "Fehlerbild":

    Firefox 91.13 ESR -> kein Hover-Zoom (angemeldet)

    Firefox 104.0.2 -> Hover-Zoom (angemeldet)

    Firefox 106 -> Hover Zoom (nicht angemeldet)

    Google Chrome -> kein Hover-Zoom (nicht angemeldet)

    Google Edge -> Hover Zoom (nicht angemeldet)

    Ich habe das Gefühl, amazon würfelt ? :/

    Eben noch getestet: ;)

    Wenn man alle Cookies von "amazon.de" in den Firefox-Einstellungen löscht und bei der erneuten Consent-Abfrage nur die notwendigen Cookies akzeptiert, anstatt alles, dann funktioniert es in der Version 104.0.2 bei mir auch nicht mehr. Andersherum ist es genauso...

    Liegt wohl an den Cookies... :/

  • Tableiste ganz unten - suche .uc.js Script und weiteres

    • BrokenHeart
    • 6. September 2022 um 20:45
    Zitat von ^L^

    Folgender greift leider nicht mehr ...

    Funktioniert hier in der aktuellen Release (104.0.2) noch einwandfrei... :/

  • Downloads stottern

    • BrokenHeart
    • 6. September 2022 um 20:16
    Zitat von Frodher1979

    wollte wissen, warum Downloads auf dem Firefox Browser nicht durchgehend laufen, sondern hin und wieder anhalten und danach weiterlaufen.

    Ist das bei der Verwendung von Chome und/oder Edge genauso? Falls ja, ist dieses Verhalten sehr wahrscheinlich entweder dem Server, von dem du etwas herunterlädst, oder deiner langsamen Internetverbindung geschuldet.

    Zitat von Frodher1979

    Ist dies ein Fehler, oder nicht?

    Also ich kenne dieses Verhalten nicht, aber wie schon weiter oben erwähnt: ohne Angabe einer Download-Quelle, bei der dieses "Stottern" bei dir reproduzierbar auftritt, kann man schlecht entscheiden, ob dies ein Fehler ist oder nicht?!

  • Alltabs-Button in Nightly wird ständig angezeigt

    • BrokenHeart
    • 5. September 2022 um 14:48
    Zitat von Sören Hentzschel

    Das könnte eine Erweiterung in welcher Form auch immer missbräuchlich nutzen oder einer dieser Tabs spielt Töne ab und man findet den Tab nicht, weil man ihn ja nicht sieht.

    Der Punkt mit der missbräuchlichen Nutzung ist allerdings wirklich nachvollziehbar. Daher überlege ich jetzt auch, ob da nicht eine andere Lösung sinnvoller wäre, als ihn vollständig auszublenden. Wahrscheinlich wäre es für Mozilla und damit auch für uns am einfachsten, den AllTabs-Button über alle Symbolleisten frei verschiebbar zu machen, so wie es ja auch schon beim NeuerTab-Button möglich ist. Alternativ natürlich auch ein neues Untermenü im Anwendungsmenü.

    Falls Mozilla das nicht macht, müsste man vielleicht skriptmäßig etwas "nachhelfen".

    Zitat von Sören Hentzschel

    [...] ist die Wahrscheinlichkeit hoch, dass die Option irgendwann entfernt werden wird.

    Danke für deine Einschätzung. Dann sollte man wirklich für den Tag-X bereit sein und, wie weiter oben erwähnt, eine Skript-Lösung parat haben (auch für die MultiRowTabs!).

Unterstütze uns!

Jährlich (2026)

35,3 %

35,3% (273,24 von 775 EUR)

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