MacPad
Textový editor pro macOS se záložkami, obnovou neuložených konceptů a ovládáním podle Poznámkového bloku z Windows 11. Swift a AppKit bez závislostí.
Kdo přešel z Windows na Mac, obvykle postrádá Poznámkový blok: okno, do kterého jde v rychlosti něco napsat, zavřít ho bez ukládání a druhý den najít rozepsaný text na stejném místě. MacPad tuhle práci přenáší na macOS. Ovládá se podobně jako Poznámkový blok ve Windows 11, rozepsané záložky přežijí zavření aplikace i její pád a soubor na disku se změní teprve tehdy, když ho uživatel uloží.
Prostý text místo textového procesoru
Vestavěný TextEdit je textový procesor. Nový dokument zakládá ve formátu RTF a změny ukládá průběžně rovnou do souboru. Na dopis to stačí, na poznámky, konfigurační soubory a texty z Windows méně: soubor se přepisuje, i když ho člověk jen otevřel a něco zkoušel.
MacPad pracuje jen s prostým textem a drží se ovládání Poznámkového bloku ve Windows 11 (verze 11.2607.14.0, se kterou se porovnává). Tři rozdíly jsou záměrné: kódování jde zvolit už při otevření, tentýž soubor pod dvěma cestami (hardlink) MacPad pozná jako jeden dokument a změnu z jiného programu nepřepíše bez dotazu.
Co uživateli usnadní práci
Rozepsaný text nezmizí
Po novém spuštění se vrátí koncepty, pořadí záložek, výběr i pozice posunu, a to i po vynuceném ukončení procesu, které repozitář zkouší zvlášť. Záložní kopie se původního souboru nikdy nedotknou. Když uživatel koncept výslovně zahodí, zmizí i obě jeho záložní kopie. Obnovu jde v nastavení vypnout.
Soubor se mění jen po uložení
Ukládá se atomickou výměnou souboru. Když otevřený soubor mezitím změní jiný program, MacPad to ohlásí a nabídne porovnání: obě verze vedle sebe s čísly řádků, vyznačenými změnami, kódováním a konci řádků. Znovu načíst nebo přepsat jde až poté, co aplikace ověří, že obě verze jsou pořád aktuální. Pokud se soubor změní přímo během ukládání, cizí změna se uloží do zvláštní kopie a MacPad ukáže, kde leží.
Kódování a konce řádků zůstanou, jak byly
Soubory otevře a uloží v UTF-8, UTF-16 i Windows-1250 a zachová jejich kódování, značku BOM i konce řádků LF a CRLF. Dialog pro otevření má výběr kódování a náhled textu. Automatický režim čte BOM nebo striktní UTF-8; když vstup nesedí, MacPad se na kódování zeptá, místo aby text potichu poškodil. Starší český soubor z Windows tak po uložení zůstane bajt po bajtu ve stejném formátu.
Záložky, dvě okna a rychlá poznámka
Záložky jde připnout, pojmenovat, přesunout do jiného okna a zavřený soubor otevřít znovu (⇧⌘T). Rozdělený editor ukáže dva panely, každý s vlastním výběrem a posunem; když v obou běží týž dokument, sdílejí text i historii kroků zpět. Rychlá poznámka se otevře z ikony v řádku nabídek nebo globální zkratkou a Escape ji schová a vrátí fokus do předchozí aplikace. Funguje, dokud MacPad běží; globální zkratka je vypnutá, dokud si ji uživatel nenastaví.
Klávesnice místo myši
Přepínač záložek je na ⌘K, paleta příkazů na ⇧⌘P a hledání ve všech otevřených záložkách na ⇧⌘F. Kromě zkratek z macOS fungují uvnitř editoru i vybrané zkratky s Ctrl z Windows, systémové zkratky přitom nepřebíjejí. Řádkové operace (vložení data a času, duplikace, přesun, řazení, odstranění shodných řádků) jdou vrátit jedním krokem zpět. Tisk jde přes systémový dialog, takže i do PDF.
Historie verzí a náhled Markdownu
Volitelná historie uložených verzí drží nejvýš 20 verzí na soubor, 30 dní a 100 MiB celkem a starou verzi obnoví jako nový koncept. Ve výchozím stavu je vypnutá. Náhled Markdownu ukáže nadpisy, seznamy, úkoly a formátování vedle zdroje, který nemění.

Swift a AppKit bez cizích knihoven
MacPad je napsaný ve Swiftu nad AppKitem a kromě systémových knihoven AppKit, Foundation, CryptoKit a Carbon nic dalšího nepotřebuje. I náhled Markdownu stojí na parseru z Foundation, bez webového zobrazení. Projekt se generuje nástrojem XcodeGen ze souboru project.yml. Aplikace chce macOS 14 nebo novější na Apple Silicon; procesory Intel balíček pro arm64 nepodporuje. Rozhraní je česky a anglicky a ovládání s VoiceOverem prošlo v obou jazycích.
Podle README prošlo nad revizí 1b8cf91 na macOS 15.7.4 celkem 143 automatických testů: 48 pro souborovou vrstvu, obnovu, historii a porovnání řádků a 95 pro AppKit, rozdělený editor, Markdown, tisk, ovládání klávesnicí, kontrast a výkon. Stejná sada prošla i na macOS 14.8.9 v GitHub Actions. Na Macu s čipem M1 Pro trvá otevření souboru o velikosti 50 MiB v mediánu 746 ms a vložení znaku na jeho konec 8 ms. V souboru s 10 MiB českého textu trvá vložení 24 ms.
Komu se hodí
- Lidem, kteří na Macu chtějí stejné návyky jako ve Windows: záložky místo souborů na ploše, zkratky s Ctrl a text, který po zavření nezmizí.
- Správcům a vývojářům, kteří na Macu upravují soubory z Windows serverů s konci řádků CRLF nebo v kódování Windows-1250 a nechtějí, aby je editor převedl.
- Komukoli, kdo si během dne zapisuje drobnosti: rychlá poznámka z řádku nabídek je jedna a tatáž, ať se otevře kdykoli.
Data zůstávají na Macu
MacPad nemá účet, synchronizaci s cloudem ani telemetrii. Koncepty i historie leží v ~/Library/Application Support/MacPad a nejsou šifrované, což je dobré vědět u sdíleného počítače. Ukládat do synchronizované složky jde, souběžné úpravy z víc strojů ale můžou skončit konfliktem. Náhled Markdownu nenačítá nic ze sítě: HTML ukáže jako text, obrázky jen jako popisky a odkaz otevře v prohlížeči teprve po kliknutí, a to jen pro HTTP a HTTPS.
Stav projektu
MacPad je ve vývoji ve verzi 0.1.0. Balíček 0.1.0 už prošel podpisem, notarizací u Applu, spuštěním přes Gatekeeper i aktualizací se zachováním konceptů na macOS 15.7.4. Vydaný ale není, protože vznikl před opravami tisku, ovládání klávesnicí a kontrastu; veřejné vydání čeká na nový balíček z přijaté revize. Otevřené zůstávají tři věci: studený start prázdného editoru trvá v mediánu 1 775 ms proti cílové sekundě, úplné porovnání s Poznámkovým blokem není hotové a klávesy Home a End s modifikátory zatím nejsou ověřené na fyzické klávesnici.
Jak začít
V Mac App Storu MacPad není a hotový balíček ke stažení zatím také ne, sestavuje se ze zdrojového kódu. Potřeba je Xcode (vyzkoušené verze 16.2 a 26.3) a XcodeGen 2.44.1:
git clone https://github.com/nks-hub/nks-macpad.git
cd nks-macpad
bash scripts/build.sh build
open build/DerivedData/Build/Products/Debug/MacPad.app
Kdo potřebuje editor i pro Windows nebo pro soubory o desítkách gigabajtů, najde ho v Textidě. MacPad zůstává u prostého textu a poznámek na Macu.
Zdrojový kód
Kód je na GitHubu v repozitáři nks-hub/nks-macpad pod licencí MIT. Chyby se hlásí v GitHub Issues, otevřené úkoly před vydáním vede repozitář v souboru TODO.md.