Separates Downloads-Fenster?

  • Firefox-Version
    99
    Betriebssystem
    Windows Server 2008 R2

    Es soll ja nicht mehr funktionieren, aber ich frage trotzdem:
    Gibt es eine Möglichkeit wieder ein separates Downloads-Window zu bekommen?

    Ich meine nicht das Fenster das angezeigt wird, wenn man auf "Alle Downloads anzeigen" klickt, sondern ein kleines Fenster in welchem nur die Downloads aufgelistet sind und das automatisch aufklappt, wenn ein Download gestartet wird.

    Vom Inhalt her also in etwa das was man auch sieht, wenn man in die Adressleiste about:downloads eingibt.

    Und vom Verhalten her so, dass sich dieses Fenster automatisch öffnet, wenn ein Download gestartet wird, nur eben separat als eigenes kleines Fenster.

    Früher sah das mal so aus, gibt es aber schon lange nicht mehr:

    Im Internet liest man nur, dass das nicht mehr möglich ist.

  • Sören Hentzschel 22. April 2022 um 08:43

    Hat den Titel des Themas von „Separates Downloads-Window?“ zu „Separates Downloads-Fenster?“ geändert.
  • Ich verwende dazu dieses Script, es baut in die Navbar

    eine Schaltfläche ein, bei klick öffnet sich das Downloadfenster

    ungefähr so wie auf Deinem Bild. Leider habe ich noch keinen Weg

    gefunden, wie man das Script so erweitern kann dass Fenster bei Download

    automatisch öffnet. teste es mal vielleicht hilft dir das weiter.

    Downloadbutton.uc.js

    Mfg.
    Endor

    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:128.0) Gecko/20100101 Firefox/128.0
    OS: Windows 10 pro 64 bit und Windows 10 Home 64 bit
    Meine Scripte Sammlung: https://github.com/Endor8/userChrome.js
    Kein Support per PN. Fragen bitte im Forum stellen!

  • Das würde mich auch interessieren.

    Ich hab extra noch mal einen leeren Chrome-Ordner verwendet (natürlich aber mit der userchrome.js) um zu sehen ob es ohne die ganzen css-Anpassungen funktioniert.

    Aber leider nein.

    Hab's jetzt noch mal unter Windows 10 probiert, mit neuem Profil und (fast) leerem Chrome-Ordner.

    Wieder nix.

    Kein neuer Button.

    Komisch.

    Einmal editiert, zuletzt von NoNameNeeded (22. April 2022 um 22:23)

  • Du hast aber auch Firefox selber vorbereitet? Sprich alle notwendigen Anpassungen im Programmordner von Firefox?

    HP Chromebook 15a-nb0225ng, i3N-305, 8 GB LPDDR5-4800 MHz RAM (integriert), 256GB UFS, - chromeOS 125 (Stable Channel) - Linux Debian Bookworm: Firefox Nightly, Beta und Main Release (Mozilla PPA), Android 13: Firefox Nightly und Firefox (Main Release)

    Smartphone - Firefox Main Release, Firefox Nightly, Firefox Klar (Main Release)

  • So, jetzt nachdem ich den Code zum gefühlt dreißigsten Mal kopiert und in Notepad+ eingefügt habe, klappt's auch schon.


    Also danke für diesen Tip!
    Und ja, es wäre schön wenn das Ding auch aufklappen würde, wenn ein Download startet.

    Einmal editiert, zuletzt von NoNameNeeded (23. April 2022 um 03:18) aus folgendem Grund: Ein Beitrag von NoNameNeeded mit diesem Beitrag zusammengefügt.

  • Ich habe keine Ahnung warum fast alles nicht funktioniert bei dir :/


    So sieht das aus:

    Jupp, verstehe ich auch nicht.

    Um das Fenster dann meinen Anpassungen der Bibliothek anzupassen war dann auch gar nicht viel nötig, einfach das * und das ** zusätzlich einfügen und gut war es.

    *

    , url-prefix("chrome://browser/content/downloads/contentAreaDownloadsView.xhtml")

    *

    CSS
    #contentAreaDownloadsView {
        background-color: #D5D2D9 !important;
        padding: 10px !important;
    }
    #downloadsListBox {
        border-radius: 0 !important;
    }

    Ergebnis sieht dann so ↓ aus:

    So ↓ sieht als Gegenstück die Bibliothek aus:

    Es grüßt,

    Ralf

    Einmal editiert, zuletzt von Dharkness (23. April 2022 um 10:55)

  • NoNameNeeded

    Ja leider klappt es automatisch nicht auf.

    Mein Können reicht da leider nicht aus.

    Vielleicht kann sich das aborix mal anschauen ob und wie man dieses

    Script, RE: Separates Downloads-Fenster?, entsprechend erweitern kann.

    Mfg.
    Endor

    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:128.0) Gecko/20100101 Firefox/128.0
    OS: Windows 10 pro 64 bit und Windows 10 Home 64 bit
    Meine Scripte Sammlung: https://github.com/Endor8/userChrome.js
    Kein Support per PN. Fragen bitte im Forum stellen!

  • Testet folgendes:

    Fügt im Skript nach Zeile 30 ein:

    JavaScript
      Downloads.getList(Downloads.ALL)
        .then(list => list.addView({
          onDownloadAdded: () => document.getElementById('Download-button').click();
        })); 
  • Ich habe das mal ein bisschen angepasst, damit mehr in ein kleines Fenster passt.

    Wer das auch machen möchte, der muss mit Winrar eine bestimmte Datei im Firefox-Ordner öffnen, nämlich die omni.ja Datei im Browser Ordner (NICHT die in der auch die Firefox.exe liegt).

    Dort muss man sich dann in Winrar bis zu folgendem Unterordner vorarbeiten:

    omni.ja\chrome\browser\content\browser\downloads

    Und dort muss die Datei allDownloadsview.js angepasst werden.

    Ich habe das so gemacht:

    Anschließend muss die veränderte Datei einfach wieder in das Winrar-Fenster gezogen werden und mit einer Bestätigung (ok klicken) wird die Datei omni.ja in ihrer veränderten Form gespeichert (Firefox muss dafür geschlossen sein).

    Vor der ganzen Prozedur sollte man auf jeden Fall eine Kopie der omni.ja anlegen, denn wenn etwas schief geht, dann ist Firefox erstmal kaputt.

    Ein weiterer Nachteil ist natürlich, dass man diese Veränderung jedes Mal erneut vornehmen muss, wenn durch ein Update die omni.ja Datei ersetzt wird.

  • Fügt im Skript nach Zeile 30 ein:

    Funktioniert bei mir nur, wenn die 'return'-Anweisung und die geschweiften Klammern nicht "wegoptimiert" werden:

    JavaScript
    Downloads.getList(Downloads.ALL).then(list => list.addView({
        onDownloadAdded: () => { return document.getElementById('Download-button').click(); }
        })); 

    Liegt es daran, dass der Ausdruck document.getElementById('Download-button').click(); als zwei Statements aufgefasst wird und man deswegen das 'return' und die Klammern für die 'Arrow'-Funktion explizit setzen muss? :/

    Ein weiterer Nachteil ist natürlich, dass man diese Veränderung jedes Mal erneut vornehmen muss, wenn durch ein Update die omni.ja Datei ersetzt wird.

    Wow! So viel Aufwand und so viele Nachteile für etwas, was sich mit ein paar wenigen Zeilen Code in der 'userChrome.css' auch erledigen lässt. Dharkness hat doch schon in #9 gezeigt, wie man es richtig macht.

  • Also funktioniert es jetzt bei dir, dass das Fenster angezeigt wird, wenn ein Download gestartet wird?

    Zum zweiten:
    Naja, warum einfach wenn's auch umständlich geht, war wohl mein Gedanke...:D

    Aber ohne Scherz, mir war gar nicht aufgefallen, dass er auch die Zeilen schmaler gemacht hat, ich dachte er hat "nur" die Farben verändert.

    Wenn's einfacher geht ist es natürlich auch besser.

  • Also funktioniert es jetzt bei dir, dass das Fenster angezeigt wird, wenn ein Download gestartet wird?

    Ja.

    [...], mir war gar nicht aufgefallen, dass er auch die Zeilen schmaler gemacht hat,[...]

    Es ist doch egal, was du anpasst, ob Farben oder Größenangaben. Letztendlich kannst du ja unter den angegebenen IDs und den Kind-Elementen beliebige optische Anpassung via CSS vornehmen. Du musst halt nur die Browser-Werkzeuge bemühen, dann hast du alle Informationen, die du brauchst.

  • Wow! So viel Aufwand und so viele Nachteile für etwas, was sich mit ein paar wenigen Zeilen Code in der 'userChrome.css' auch erledigen lässt. Dharkness hat doch schon in #9 gezeigt, wie man es richtig macht.

    Naja, ich bin halt von Natur aus ein Faultier :saint:, deshalb hatte ich erst einmal getestet, ob die Anpassungen für die Bibliothek auch für das Fenster Downloads passen und siehe da, das Fenster war fast komplett eingenordet. Dann mussten nur noch 2 Anpassungen in die bibliothek.css eingefügt werden und fertig war das Fenster Downloads. :)

    Es grüßt,

    Ralf

  • JavaScript
    Downloads.getList(Downloads.ALL).then(list => list.addView({
        onDownloadAdded: () => { return document.getElementById('Download-button').click(); }
        })); 

    Liegt es daran, dass der Ausdruck document.getElementById('Download-button').click(); als zwei Statements aufgefasst wird und man deswegen das 'return' und die Klammern für die 'Arrow'-Funktion explizit setzen muss? :/

    Nein, der Strichpunkt am Ende darf nicht sein.

    So funktioniert es:

    JavaScript
      Downloads.getList(Downloads.ALL)
        .then(list => list.addView({
          onDownloadAdded: () => document.getElementById('Download-button').click()
        })); 
  • Danke für die Richtigstellung! Liegt es also daran, dass {onDownloadAdded: () => document.getElementById('Download-button').click() } ein Parameter des Funktionsaufrufes von list.addView() ist?

  • Die Funktion list.addView hat genau einen Parameter, nämlich das Objekt

    { onDownloadAdded: () => document.getElementById('Download-button').click() },

    das nur aus dieser einen Komponente besteht:

    onDownloadAdded: () => document.getElementById('Download-button').click()