Írtam egy saját vágólap kezelőt Mac OS-re

A macOS vágólapja alapból csak egyetlen elemet tárol. Bár léteznek remek kiegészítők ennek orvoslására, a legtöbb vagy havidíjas, vagy tele van felesleges funkciókkal, vagy találkoztam már olyannal is ami pár óra után több GB memóriát használ. Én egy olyan eszközre vágytam, ami láthatatlanul teszi a dolgát, nem kér enni, és pontosan azt tudja, amire szükségem van. Így született meg a ClipboardMA.
A koncepció: Egyszerűség mindenek felett
A cél egy olyan "Menu Bar" alkalmazás volt, ami:
- A háttérben figyeli a másolásokat.
- Megőrzi az elmúlt N darab vágólap-elemet.
- Egyetlen kattintással visszamásolja a kiválasztott szöveget.
- Natívnak érződik macOS-en (Dark Mode támogatás, szép ikonok).
A Pythonnak van egy zseniális könyvtára, a rumps, ami kifejezetten arra készült, hogy egyszerű scriptekből macOS menüsor-alkalmazást varázsoljon.
A program lelke mindössze néhány sor:
@rumps.timer(1)
def check_clipboard(self, _):
current_clipboard = pyperclip.paste()
if current_clipboard != self.last_copied:
self.history.insert(0, current_clipboard)
self.update_menu()
Ez a kis kódrészlet ellenőrzi a vágólapot, és ha változást lát, azonnal menti az előzmények közé. Nincs felesleges erőforrás-pazarlás, csak tiszta logika.
"Igazi" alkalmazás lett belőle
A Python scriptek futtatása Terminálból fejlesztés közben rendben van, de felhasználóként kényelmetlen. Ezért a py2app segítségével az egész projektet egyetlen, önállóan futtatható .app csomagba konvertáltam.
Így a ClipboardMA most már úgy viselkedik, mint bármelyik másik Mac app:
- Van saját ikonja
- Nem kell hozzá telepített Python környezet a felhasználónak
- Hozzáadható a "Login Items"-hez, így a gép indításakor automatikusan betöltődik
A projektet teljesen nyílt forráskódda, MIT licensz alatt tettem közzé a codebergen: https://codeberg.org/nagyfrantisek/ClipboardMA