3 Punkte von woojinim64 2026-04-22 | 4 Kommentare | Auf WhatsApp teilen

Hallo! Ich veröffentliche hier mein Mini-Projekt DualClip, das ich gebaut habe, als ich zum ersten Mal macOS benutzt habe.

So einen Beitrag zu schreiben ist mein erstes Mal, deshalb bin ich etwas nervös. Bitte seid nachsichtig, auch wenn die Formulierungen etwas holprig sind 🙇


Was ist das?

Es ist einfach eine kleine Menüleisten-App, die drei Zwischenablage-„Slots“ bereitstellt.

Slot A → unverändert die Standard-Zwischenablage (⌘C / ⌘V)
Slot B → ⌥⌘C / ⌥⌘V
Slot C → ⌃⌘C / ⌃⌘V

Es ist kein „History“-Ansatz wie bei Paste oder Maccy, sondern ein „Slot“-Ansatz.
Dinge wie häufig verwendete E-Mails oder Variablennamen kann man in B fest ablegen und das normale Kopieren und Einfügen weiter wie gewohnt mit ⌘C/⌘V nutzen.


Warum ich das gebaut habe

Beim Refactoring oder bei Übersetzungsarbeit reicht schon ein zusätzliches ⌘C, und das, was man vorher kopiert hatte, ist einfach weg.
Wenn sich das über einen Tag aufsummiert, ist das überraschend stressig.
Ich habe auch History-Apps ausprobiert, aber für mich hatten sie diese Nachteile.

  • Das zusätzliche Tempo aus Popup öffnen und auswählen ist langsam
  • Wenn man nicht „das gerade eben“, sondern „das davor“ sucht, muss man am Ende doch mit den Augen danach suchen
  • Ich wollte einfach, dass beim Drücken von ⌥⌘V genau das sofort eingefügt wird

Deshalb habe ich statt immer mehr Funktionen anzubauen nur das Ein-Zeilen-Konzept übriggelassen: „Im Slot ablegen und per Shortcut herausholen“.


Der Teil, der beim Entwickeln am meisten Spaß gemacht hat (Atomic Paste)

Das war komplizierter als gedacht, denn unter macOS liest ⌘V immer nur das system pasteboard.
Um also Slot B einzufügen, muss ich die system clipboard kurz überschreiben — und dadurch würde das ursprünglich mit ⌘C Kopierte verloren gehen.
Ich habe lange darüber nachgedacht, wie ich das lösen kann.
Am Ende läuft es in dieser Reihenfolge ab.

  1. Die aktuelle system clipboard zuerst sichern (Deep Copy aller Typen)
  2. Mit dem Inhalt von Slot B überschreiben
  3. ⌘V per CGEvent simulieren
  4. Nach 150 ms mit dem gesicherten Original wiederherstellen

Dieser Zyklus ist komplett in unter 150 ms abgeschlossen, deshalb merkt die nutzende Person überhaupt nicht, dass „das mit ⌘C Kopierte kurz verschwunden war“.
Ich nenne das für mich selbst „Atomic Paste“ ...(ich war ein bisschen stolz auf den Namen 😅).
Besonders das Timing dafür, das Polling kurz anzuhalten und changeCount zu ignorieren, hat wirklich lange gedauert.
Ich habe mich lange gefragt: „Warum wird Slot A plötzlich zum Inhalt von Slot B ...?“

Noch ein paar kleinere Punkte:

  • Unterstützt Text/Bilder/Dateien/RTF komplett (Deep Copy von NSPasteboardItem)
  • In Passwortfeldern funktioniert es gar nicht erst (IsSecureEventInputEnabled-Check)
  • Beim Beenden wird der Slot-Speicher per Zero-Fill gelöscht (memset_s)
  • Alle Shortcuts lassen sich ändern (dank sindresorhus/KeyboardShortcuts)

Zum Thema Privatsphäre

Da Zwischenablage-Apps mit sensiblen Daten arbeiten, habe ich hier besonders darauf geachtet.

  • Es wird nichts auf die Festplatte geschrieben. Alles bleibt nur im RAM.
  • Es gibt überhaupt keinen Netzwerk-Code. Kein Update-Check und keine Telemetrie.
  • Es ist MIT-Open-Source, ihr könnt also selbst hineinschauen.

Wenn ihr es ausprobieren wollt

Am bequemsten ist wahrscheinlich Homebrew.
brew install RAKKUNN/tap/dualclip

Oder ihr ladet das ZIP aus den GitHub Releases herunter und legt es in /Applications ab.
Es ist ein von Apple notariell beglaubigter Build, daher erscheint beim ersten Start kein Warnfenster.

GitHub: https://github.com/RAKKUNN/DualClip
Voraussetzungen: macOS 13+ (Apple Silicon), Bedienungshilfen-Berechtigung


Es ist meine erste macOS-App, daher gibt es sicher noch viele unausgereifte Stellen.
Für Feedback wie „So wäre es besser“ oder „Hier tritt ein Fehler auf“ wäre ich wirklich sehr dankbar und würde viel daraus lernen.
Hinterlasst gern einen Kommentar!
Ich wünsche euch allen einen schönen Tag!!

4 Kommentare

 
vwjdalsgkv 2026-04-23

Auch Ditto, ein Clipboard-Manager für Windows, funktioniert ähnlich wie das, was Sie umgesetzt haben.
Wenn Sie es sich als Referenz ansehen, könnte das hilfreich sein, um eine Richtung für Verbesserungen zu finden~

 
woojinim64 2026-04-23

Danke für die Informationen!🙇🙇
Ich schaue es mir einmal an und ziehe in Betracht, Teile davon selektiv zu übernehmen!

 
greekr4 2026-04-23

Es wäre wahrscheinlich gut, auch eine Speicherfunktion wie bei Clipy zu integrieren.

 
woojinim64 2026-04-23

Haben Sie eher Bedarf an Verlauf oder Snippets?
Ein Verlauf passt jedoch nicht zur Ausrichtung von DualClip.
Ich bemühe mich, es so leichtgewichtig und komfortabel wie möglich zu machen.
Vielen Dank für das Feedback.