TreeMap
A free, open-source disk-space visualizer. Squarified treemap, duplicate hunting, disk-full forecasting, and cleanup that only ever moves files to the Trash.
Kleine, schnelle Werkzeuge fürs Web und für den Mac. Ohne Tracking, ohne Werbung.
Translation pending
ProductivitySwift · ShellGitHub @stefanradermacherOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Schlichter PDF-Betrachter für macOS
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
PDF-Betrachter für macOS 15+, gemacht zum Lesen und gebaut mit SwiftUI und PDFKit. Er kann nur anzeigen, nichts bearbeiten. Leser ist kostenlos, quelloffen (Apache-Lizenz 2.0, siehe LICENSE), werbefrei und übermittelt keine Daten: kein Tracking, keine Analyse, keine eigenen Netzwerkverbindungen. Es nutzt ausschließlich Apple-Frameworks. Wer die Entwicklung unterstützen möchte, kann unter Leser → Über Leser ein freiwilliges Trinkgeld über den App Store geben; es schaltet nichts frei.Read the full README ↗
PDF-Betrachter für macOS 15+, gemacht zum Lesen und gebaut mit SwiftUI und PDFKit. Er kann nur anzeigen, nichts bearbeiten.
Leser ist kostenlos, quelloffen (Apache-Lizenz 2.0, siehe LICENSE), werbefrei und übermittelt keine Daten: kein Tracking, keine Analyse, keine eigenen Netzwerkverbindungen. Es nutzt ausschließlich Apple-Frameworks. Wer die Entwicklung unterstützen möchte, kann unter Leser → Über Leser ein freiwilliges Trinkgeld über den App Store geben; es schaltet nichts frei.
Nicht Teil des lizenzierten Werks sind die Kennzeichen des Projekts: der Name „Leser“, das App- und das Dokumentsymbol, die Monogramme und scripts/make_icon.swift, das die Symbole zeichnet. Was damit erlaubt ist, steht in TRADEMARKS.md — kurz gesagt: über Leser reden und die unveränderte App weitergeben ja, eine Abspaltung unter diesem Namen nein. NOTICE hält den Umfang fest und ist nach Abschnitt 4(d) der Lizenz bei jeder Weitergabe mitzuführen. Der Code selbst bleibt frei verwendbar.
Für die Veröffentlichung im Mac App Store liegen unter docs/ die vorbereiteten Texte (app-store.md), die Datenschutzerklärung (datenschutz.md), die Support-Seite (support.md) und die Screenshots. Was sich von Version zu Version geändert hat, steht in CHANGELOG.md (englisch: CHANGELOG.en.md).
Die Oberfläche gibt es auf Deutsch und Englisch. Die Texte liegen im String-Katalog Resources/Localizable.xcstrings; die Schlüssel sind die deutschen Sätze. Neue Texte holt man mit xcodebuild -exportLocalizations -project Leser.xcodeproj -localizationPath <Ordner> -exportLanguage en heraus und trägt die Übersetzung im Katalog nach.
Leser ist ein Xcode-Projekt (Leser.xcodeproj, Xcode 27 oder neuer, macOS 15+). In Xcode öffnen und mit ⌘R starten; für einen signierten Build unter „Signing & Capabilities“ das eigene Team eintragen.
Ohne Xcode-Oberfläche:
./build.sh
Das baut build/Leser.app mit xcodebuild (mit derselben Sandbox wie im App Store) und installiert die App nach /Applications. Läuft Leser gerade, wird es vorher beendet und danach wieder geöffnet. Stammt die installierte App aus dem App Store, lässt build.sh sie unangetastet und meldet nur den Build. Nur bauen, ohne zu installieren: ./build.sh --no-install.
Nennt Config/Local.xcconfig eine Team-ID, signiert build.sh mit diesem Team wie beim Archiv für den App Store; Xcode legt das Entwicklungsprofil bei Bedarf an. Ohne Team-ID, oder mit --adhoc, signiert es ad hoc und braucht kein Entwicklerkonto.
Die Versionsnummer (z. B. 1.0) steht im Projekt unter „Version“ (MARKETING_VERSION) und wird von Hand erhöht. Die Build-Nummer in Klammern steht als CURRENT_PROJECT_VERSION in Config/Leser.xcconfig und ist damit eingecheckter Zustand: Xcode und build.sh lesen dieselbe Zahl, sie kann nicht sinken, und im Verlauf sieht man, welcher Commit welchen Build ergeben hat.
Vor jedem Upload in den App Store einmal ./scripts/bump-build.sh ausführen und mitcommitten — App Store Connect verlangt für jeden Upload eine höhere Nummer als für den vorigen. Die eingereichten Stände tragen Tags wie v1.0-build26.
Nachträglich lässt sich die Nummer nicht setzen: CFBundleVersion wird beim Verarbeiten der Info.plist eingesetzt, und ein Skript, das die fertige Plist im Produkt ändert, wird von Xcode danach wieder überschrieben.
Das App-Icon und das Dokumentsymbol werden von scripts/make_icon.swift gezeichnet: das App-Icon in den Asset-Katalog, das Dokumentsymbol nach Resources/PDFDocument.icns. Nach Änderungen an der Zeichnung im Projektordner swift scripts/make_icon.swift ausführen. Das Dokumentsymbol zeigt macOS nur, wenn Leser die Standard-App für PDFs ist, und auch dann meist nur dort, wo es keine Seitenvorschau gibt.
scripts/make_manual.swift zeichnet docs/Leser-Handbuch.pdf, ein dreizehnseitiges Handbuch mit Gliederung und vier Bildschirmfotos aus docs/screenshots/. Es erklärt die Bedienung, dient zugleich als Beispieldokument und ist in den Screenshots für den App Store zu sehen – die Bildschirmfotos im Handbuch zeigen also das Handbuch selbst. Die Texte stehen in docs/handbuch/de.md und docs/handbuch/en.md, das Format ist oben in den Dateien beschrieben. Nach Änderungen im Projektordner swift scripts/make_manual.swift ausführen; swift scripts/make_manual.swift en schreibt die englische Fassung nach docs/Leser-Manual.pdf. Beide Fassungen kopiert das Skript außerdem nach Resources/: Sie liegen im App-Bundle, und „Hilfe → Leser-Handbuch“ öffnet die zur App-Sprache passende direkt in Leser, offline und immer zur installierten Version passend.
Sources/Leser/: Quellcode; neue Dateien gehören automatisch zum ProjektResources/: Asset-Katalog mit App-Icon, Monogramme, Lokalisierung, PrivacyInfo.xcprivacyConfig/Info.plist, Config/Leser.entitlements: App-Einstellungen und Sandbox-Berechtigungen (Lese- und Schreibzugriff auf selbst gewählte Dateien, geschrieben wird nur bei „Bild sichern unter …“; das Merken solcher Dateien für Verweise auf andere Dokumente; Drucken)Config/Leser.xcconfig: Build-Einstellungen; bindet optional Config/Local.xcconfig einTests/LeserTests/: Unit-Tests; neue Dateien gehören automatisch zum Test-Targettestdata/: Dokumente zum Ausprobieren von Hand, darunter zwei mit Links zwischen den Dateien (swift scripts/make_link_tests.swift)./test.sh
Das führt die Unit-Tests aus (Swift Testing). Sie laufen im Debug-Build von Leser, der eigene Einstellungen hat, und lassen die der installierten App unberührt. Die PDFs, die sie brauchen, erzeugen sie selbst, mit genau dem Text, den Seitenbeschriftungen, Links und Kennungen, um die es im Test geht. Einzelne Gruppen oder Tests: ./test.sh PageReferenceTests oder ./test.sh PageReferenceTests/pageLabelsDecide(). Das vollständige Protokoll steht in .build/test.log.
Geprüft werden vor allem die Teile mit eigener Logik: Seitenangaben und Verweise auf andere Dokumente, Kopieren mit Absätzen, Dokumentkennung, Lesestellen, Lesezeichen, Zuordnungen und Links in andere Dateien, Navigation, Suche, Drucken, die Teilung der Seitenleiste, die Dateiüberwachung beim Neuladen, die Nachfrage nach der Standard-App, die Werkzeuge, das Auslesen von Bildern und der Sepia-Ton.
Zum Signieren mit eigenem Entwicklerkonto Config/Local.xcconfig.example nach Config/Local.xcconfig kopieren und die eigene Team-ID eintragen. Die Datei bleibt lokal. Ohne sie baut Xcode ohne Team, und ./build.sh signiert ad hoc.
PDFs öffnen per Doppelklick („Öffnen mit“), per Drag & Drop aufs Dock-Symbol oder mit ⌘O.
| Funktion | Tastatur |
|---|---|
| Suchen / Weitersuchen / Rückwärts | ⌘F / ⌘G oder ↩ im Suchfeld / ⇧⌘G |
| Suchergebnisse ein-/ausblenden | ⌥⌘F |
| Seitenleiste ein-/ausblenden | ⌃⌘S |
| Seitenleiste mit Gliederung / Miniaturen | ⌃⌘1 / ⌃⌘2 |
| Vergrößern / Verkleinern / Originalgröße | ⌘+ / ⌘- / ⌘0 |
| Seitenbreite / Seitenhöhe / Ganze Seite | ⌘1 / ⌘2 / ⌘3 |
| Fortlaufend / Einzelseite / Doppelseite / Doppelseite (erste Seite einzeln) | ⌥⌘1 / ⌥⌘2 / ⌥⌘3 / ⌥⌘4 |
| Vorherige / nächste Seite | ← / → oder ⌥⌘↑ / ⌥⌘↓ |
| Erste / letzte Seite | Pos1 / Ende oder ⌥⌘Pos1 / ⌥⌘Ende |
| Zurück / Vorwärts (nach einem Sprung) | ⌘[ / ⌘], Seitentasten der Maus oder Wischen |
| Gehe zu Seite … | ⌥⌘G |
| Lesezeichen hinzufügen | ⌘D |
| Lesezeichen ein-/ausblenden | ⌃⌘3 |
| Ansicht teilen / geteilte Ansicht schließen | ⌃⌘T |
| Dokumentinformationen | ⌘I |
| Drucken / Papierformat | ⌘P / ⇧⌘P |
| Text kopieren | markieren, ⌘C |
Die Anzeige (Fortlaufend, Einzelseite, Doppelseite) lässt sich über das Menü „Darstellung“ oder das Symbol in der Symbolleiste wählen; welche beim Öffnen gilt, steht in den Einstellungen. Die Einstellungen „Seitenbreite“, „Seitenhöhe“ und „Ganze Seite“ bleiben beim Ändern der Fenstergröße erhalten. Zoomen mit zwei Fingern auf dem Trackpad funktioniert ebenfalls. Passwortgeschützte PDFs fragen beim Öffnen nach dem Passwort. Größe und Position des zuletzt benutzten Fensters werden gespeichert und für neu geöffnete Dokumente übernommen, auch nach einem Neustart.
Unter dem Dokumentnamen steht die Position im Dokument („3 von 18“). Die Symbolleiste zeigt vier Gruppen: Blättern (˄, Seitenbezeichnung, ˅), Anzeige (Anzeigemodus, geteilte Ansicht), Zoom (verkleinern, Zoomstufe mit Anpassen-Optionen, vergrößern) und Werkzeuge, dazu die Suche. Zwischen den Blätterpfeilen steht die Seitenbezeichnung, wie sie das PDF festlegt, etwa „xi“ oder „12“, sonst die Seitenzahl. Ein Klick darauf oder Gehe zu Seite … (⌥⌘G) öffnet ein Feld, das Seitenbezeichnungen wie Seitenzahlen versteht.
Was ein Ziehen mit der Maus bewirkt, bestimmt das Werkzeug, wählbar in der Symbolleiste und im Menü „Werkzeuge“. Es gilt für das ganze Fenster, beide Hälften einer geteilten Ansicht eingeschlossen, und neue Fenster beginnen mit dem zuletzt gewählten.
characterBounds(at:) in manchen Dokumenten seitlich verrutscht ist. Doppelklick wählt ein Wort, Dreifachklick eine Zeile, Umschalt-Klick erweitert. Weit weg von Text, etwa mitten in einem Bild, übernimmt wie bisher PDFKit.Verschieben geht auch ohne Umschalten: mit gehaltener Leertaste oder der mittleren Maustaste. Kurz gedrückt blättert die Leertaste wie gewohnt.
Ein Rechtsklick auf ein Bild bietet Bild kopieren und Bild sichern unter …. Leser liest das Bild aus dem PDF selbst, in seiner eigenen Auflösung, und setzt eine Transparenzmaske (SMask) als Alphakanal ein. Liegen Bilder übereinander, gilt das oberste, das an der Stelle nicht durchsichtig ist. JPEGs ohne Transparenz werden unverändert gesichert, alles andere als PNG. Erlaubt ein Dokument kein Kopieren, sind beide Einträge ausgegraut.
Die Seitenleiste zeigt wahlweise die Gliederung oder Miniaturen aller Seiten; umschalten lässt sich mit dem Umschalter oben in der Seitenleiste oder über das Menü „Darstellung“. In den Miniaturen ist die aktuelle Seite markiert, ein Klick springt zur Seite. Hat ein Dokument Lesezeichen, stehen sie in einem eigenen Bereich darüber. In einer geteilten Ansicht gehört die Seitenleiste zur aktiven Ansicht.
Lesezeichen merken sich Stellen in einem Dokument. Gespeichert werden sie in Leser, nicht im PDF. Lesezeichen → Lesezeichen hinzufügen … (⌘D) nimmt die Stelle oben im Fenster, ein Rechtsklick in die Seite genau diese Stelle; ein kleines Fenster schlägt als Namen die Gliederungsüberschrift der Stelle vor, die anderen Einträge der Seite und die Seitenbezeichnung stehen zur Auswahl. Über das Kontextmenü der Gliederung entsteht ein Lesezeichen direkt mit dem Namen des Eintrags.
Die Lesezeichen stehen in einem Bereich über der Gliederung und im Menü „Lesezeichen“, nach ihrer Stelle im Dokument geordnet. Umbenennen per Doppelklick, ↩ oder Kontextmenü, löschen per ⌫ oder Kontextmenü. Der Bereich passt seine Höhe den Lesezeichen an; zieht man die Trennlinie, merkt sich Leser die Höhe für das Dokument, und ein Doppelklick auf die Linie oder Darstellung → Lesezeichen-Bereich automatisch anpassen stellt die Anpassung wieder her. Darstellung → Lesezeichen (⌃⌘3) blendet den Bereich aus und ein.
Lesestelle und Lesezeichen hängen an der Kennung, die das erzeugende Programm ins PDF schreibt, nicht am Dateipfad: Umbenennen und Verschieben übersteht beides, und eine Kopie öffnet an derselben Stelle. PDFs ohne Kennung erkennt Leser an einer Prüfsumme ihres Inhalts.
Ruht der Mauszeiger kurz auf einem Link ins selbe Dokument, zeigt ein kleines Fenster die Zielstelle, ohne dass man die Seite verlässt.
Seitenangaben im Text wie „siehe Seite 12“, „(Seite 7)“ oder „on page 359“ behandelt Leser wie Links, mit derselben Vorschau und einem Sprung bei Klick. Gezählt wird nach den Seitenbezeichnungen des PDFs; hat es keine, nach der Position, aber nur, wenn die Zielseite die Zahl auch gedruckt trägt. Leser nimmt lieber eine Angabe nicht, als falsch zu springen: Steht ein fremder Titel davor oder danach, ist es kein Verweis ins eigene Dokument.
Verweise auf andere Dokumente wie „(Atlas der Sterne, S. 42)“ oder ein kursiver Titel mit Seitenzahl öffnen das genannte Dokument an der Seite, je nach Einstellung in einem neuen Tab oder in der zweiten Ansicht. Beim ersten Klick fragt Leser, welche Datei zu dem Titel gehört, und merkt sie sich mit einem Security-Scoped Bookmark für alle Dokumente; danach zeigt auch hier die Vorschau die Zielseite. Echte PDF-Links in andere Dateien laufen genauso, mit dem Dateinamen als Titel. Ist das Dokument schon offen, springt Leser dort hin.
Nach jedem Sprung führt Gehe zu → Zurück (⌘[) zurück, ebenso die Seitentasten einer Maus oder eine Wischbewegung.
Kopierter Text kommt in Absätzen an: Leser fügt die Zeilen wieder zusammen, wo das Layout es nahelegt, und setzt am Zeilenende getrennte Wörter wieder zusammen, auch über Spalten hinweg. Fett und Kursiv bleiben erhalten (als RTF), weiße Schrift wird schwarz.
Der Druckdialog hat einen eigenen Abschnitt „Leser“: Originalgröße (Standard), Große Seiten verkleinern oder Auf Papierformat skalieren, dazu das automatische Drehen quer liegender Seiten. Leser merkt sich die Wahl für den nächsten Druck.
Darstellung → Sepia tönt die Seiten wie warmes Papier; Drucken und Kopieren bleiben davon unberührt. Die Tönung ist eine cremefarbene Fläche, die im Modus „Multiplizieren“ nur über den Seiten liegt. Ein Farbfilter auf der Ebene der Seiten hätte dieselbe Wirkung, zeichnet sie aber über ein Zwischenbild und macht die Schrift weich; nur die kleinen Miniaturen bekommen noch den Filter.
Die Fundstellen erscheinen in einer eigenen Seitenleiste rechts, mit Textausschnitt und Seitenzahl; ein Klick springt zur Stelle. Die Leiste lässt sich mit ⌥⌘F aus- und wieder einblenden und verschwindet, wenn das Suchfeld geleert wird. Die linke Seitenleiste zeigt dabei weiter Gliederung oder Miniaturen.
Mit Darstellung → Ansicht teilen (⌃⌘T) oder dem Knopf in der Symbolleiste zeigt das Fenster das Dokument zweimal, nebeneinander oder untereinander (umschaltbar im Menü „Darstellung“). Jede Hälfte hat eigene Position, eigenen Zoom und eigenen Anzeigemodus; den Trenner kann man verschieben.
Über Anderes Dokument … in der Kopfzeile der zweiten Ansicht (oder Darstellung → Anderes Dokument in zweiter Ansicht öffnen …) lässt sich dort ein anderes PDF öffnen. Dessen Leseposition wird nicht gespeichert.
Symbolleiste, Menübefehle, Pfeiltasten, Gliederung und Suche wirken immer auf die aktive Ansicht: die zuletzt angeklickte, erkennbar an der farbigen Linie unter ihrer Kopfzeile.
Das Über-Fenster bietet drei freiwillige Trinkgelder als In-App-Käufe (StoreKit 2, Verbrauchsartikel):
| Produkt-ID | Name | Preis |
|---|---|---|
com.stefanradermacher.leser.tip.coffee | Ein Kaffee ☕️ | 1,99 € |
com.stefanradermacher.leser.tip.breakfast | Ein Frühstück 🥐 | 4,99 € |
com.stefanradermacher.leser.tip.dinner | Ein Abendessen 🍝 | 9,99 € |
Namen und Emoji stehen in der App und folgen deshalb ihrer Sprache; aus dem App Store kommt nur der Preis, der sich nach dem Land des Kontos richtet. Anzeigename und Beschreibung aus App Store Connect zeigt Leser nicht selbst — sie erscheinen in Apples Kaufdialog und im Store-Eintrag. Angelegt werden müssen genau diese Produkte dort trotzdem, als „Verbrauchsartikel“.
Zum Testen ohne echtes Geld liegt Config/Leser.storekit bei; das Schema „Leser“ nutzt sie, wenn die App in Xcode mit ⌘R gestartet wird. Builds, die nicht aus dem App Store oder Xcode kommen (z. B. über build.sh), zeigen statt der Knöpfe einen Hinweis.
Dieselben Trinkgelder gibt es in einem eigenen kleinen Fenster über Hilfe → Leser unterstützen …. Das Hilfe-Menü enthält außerdem das Handbuch (Hilfe → Leser-Handbuch, zur App-Sprache passend und offline) und Links zur Projektseite auf GitHub und zum Melden von Fehlern und Ideen.
Ablage → Dokumentinformationen (⌘I) zeigt Name, Ort, Größe und Datum der Datei, die im PDF gespeicherten Angaben (Titel, Autor, Thema, Stichwörter, erstellendes Programm, Daten, PDF-Version), Seitenzahl und Seitenformat, ob es eine Gliederung und durchsuchbaren Text gibt, sowie Verschlüsselung und Berechtigungen. Die Werte lassen sich markieren und kopieren; „Im Finder zeigen“ öffnet den Ordner der Datei. In einer geteilten Ansicht gelten die Angaben für das Dokument der aktiven Ansicht.
Die Einstellungen (Leser → Einstellungen …, ⌘,) sind in drei Tabs geteilt.
Allgemein
Darstellung
Verweise
Leser fragt selbst höchstens zweimal, ob es PDFs standardmäßig öffnen soll, und zwar mit einer schmalen Leiste oben im Dokumentfenster, nie mit einem Dialog:
Die Änderung selbst bestätigt macOS mit einer eigenen Rückfrage. Lässt macOS sie nicht zu, nennt Leser den Grund und den Weg über den Finder.
LeserApp.swift: App, schreibgeschütztes Dokument (DocumentGroup(viewing:))ViewerModel.swift: PDFView, Seiten, Zoom, Gliederung, Suche, Lesestelle; ReaderPDFView mit Kopieren, Kontextmenü und Klicks auf VerweiseContentView.swift: Fenster mit Split-View und SymbolleisteSidebarView.swift: Gliederung, Miniaturen, Lesezeichen-Bereich, SuchtrefferSplitView.swift: geteilte Ansicht, aktive Ansicht, zweites Dokument; SplitContainer für die Teilung mit AppKitViewerCommands.swift: MenübefehleBookmarks.swift: Lesezeichen, ihre Liste in der Seitenleiste und das Fenster zum AnlegenDocumentKey.swift: erkennt ein Dokument an seiner Kennung statt am Pfad, für Lesestelle und LesezeichenDocumentSearch.swift: hält die Suchen zweier Ansichten desselben Dokuments auseinanderLinkPreview.swift: Vorschau beim Zeigen auf Links und VerweisePageReferences.swift: findet Seitenangaben und Verweise auf andere Dokumente im TextOtherDocuments.swift: Zuordnung von Titeln zu Dateien, Öffnen in Tab oder zweiter Ansicht, Links in andere Dateien, Einstellungen „Verweise“ParagraphText.swift: fügt kopierte Zeilen wieder zu Absätzen zusammenPrintOptions.swift: Abschnitt „Leser“ im DruckdialogPageTone.swift: Sepia-Ton der Seiten, als Fläche über den SeitenReaderTools.swift: Werkzeuge, eigene Textauswahl nach Zeichen, rechteckige Auswahl, VerschiebenPageImages.swift: findet die Bilder einer Seite und liest sie mit Transparenz aus, für „Bild kopieren“ und „Bild sichern unter …“AboutView.swift: Über-Fenster; Links (Quellcode, weitere Projekte) stehen gesammelt in AppLinksTipJar.swift: Trinkgelder mit StoreKit 2DefaultAppOffer.swift: Nachfrage und Einstellung zur Standard-App für PDFsDocumentInfoView.swift: Fenster mit DokumentinformationenFileWatcher.swift: meldet Änderungen an einer Datei, auch wenn Programme sie beim Speichern ersetzenLockedChangeBanner.swift: Leiste für eine geänderte Datei, die wieder ihr Passwort brauchtMenuCleaner.swift: entfernt Menüeinträge, die in einem reinen Betrachter keinen Sinn ergeben (Sichern, Duplizieren, Umbenennen, Bewegen, Zurücksetzen, Neu, Schreibtools, Automatisch ausfüllen, Hilfe); Widerrufen, Wiederholen, Ausschneiden, Einsetzen und Löschen sind ausgeblendet, ihre Tastenkürzel funktionieren in Such- und Seitenfeld aber weiterPreferences.swift: Einstellungen und Einstellungsfenster, gespeicherte LesepositionenTabBarKeeper.swift: blendet die Tableiste bei nur einem Dokument ein oder ausToolbarSegments.swift: Knopfgruppen der Symbolleiste (AppKit-Segmente mit Menüs, wie in Vorschau)WindowFrameKeeper.swift: merkt sich Größe und Position des Fensters und versetzt neue Fenster