Cesta je ve schránce. Přišla z terminálu, z chatu s kolegou nebo z dokumentace, vypadá třeba jako ~/Projekty/klient/build/prod a je potřeba se do ní podívat ve Finderu. Otevřené okno Finderu je u toho, jen tu cestu nemá kam přijmout. Řádek cesty, který si jde dole v okně zapnout, ukazuje, kde jste, ale upravovat se nedá.
Zůstává ⇧⌘G, tedy „Přejít do složky". Funguje, ale je to dialog: musí se otevřít, objeví se přes okno, po použití zmizí. U jednoho skoku za dopoledne se nic neděje. U dvacátého už je zřetelné, že chybí jedna věc, kterou prohlížeč i Průzkumník ve Windows mají celou dobu na očích – editovatelný adresní řádek.
Nejvíc to pálí dvě skupiny lidí. Kdo přešel z Windows a má v prstech Ctrl+L. A kdo celý den přenáší cesty mezi terminálem, dokumentací a Finderem, protože u takové práce není skok do složky výjimka, ale základní pohyb.
Co ten nástroj dělá
Finder Address Bar (aplikace se jmenuje FinderPathBar) dá každému oknu Finderu pod panelem nástrojů řádek s celou cestou k aktuální složce. Cesta je v něm vidět jako jednotlivé názvy složek. Na kterýkoli z nich se dá kliknout a přejít do té složky.
A hlavně: do řádku se dá psát. Kliknete, napíšete nebo vložíte cestu, Enter a okno je na ní.
Řádek má každé okno vlastní, posouvá se a mění velikost spolu s ním. Leží přes okno Finderu tak, aby působil jako jeho součást, ne jako samostatný panel vedle. Nástroj vznikl z vlastní potřeby a je k dispozici zdarma pod licencí MIT: Finder Address Bar na GitHubu.
Gesto, které se nemusíte učit
Do psaní se přepne přes ⌘L nebo ⌃L, případně kliknutím do prázdného místa v řádku. Je to záměrně stejné gesto jako ⌘L v prohlížeči a Ctrl+L v Průzkumníku, takže si k němu nikdo nemusí budovat nový zvyk.
Při psaní se pod řádkem nabízejí naposledy zadané cesty a odpovídající složky. Šipkami ↓ ↑ se jimi dá projít, Tab doplní název složky, Esc psaní zruší. Tím se liší od dialogu: adresní řádek je pořád na místě, zvládne i navigaci kliknutím a nabízí naposledy zadané cesty.
Co všechno pochopí jako cestu
Tohle je místo, kde nástroj odvede nejvíc práce. Vložená cesta totiž skoro nikdy nepřijde v čisté podobě – přijde tak, jak ji vypsal terminál nebo jak ji někdo zapsal do dokumentace.
| Napíšete nebo vložíte | Stane se |
|---|---|
~/Downloads |
skok do složky Stažené v domovské složce |
.. nebo podslozka |
relativní skok od aktuální složky |
file:///Users/... |
otevře se jako běžná cesta |
"Moje složka" nebo Moje\ složka |
pozná uvozovky i shellové escapování |
\\server\sdileni |
otevře se jako smb://server/sdileni |
| cesta k souboru | soubor se otevře ve výchozí aplikaci |
| cesta k aplikaci | aplikace se spustí |
https://, http://, www.…, tomasmotl.cz |
otevře se v prohlížeči |
Webová adresa skončí v prohlížeči i bez protokolu, pokud zrovna neexistuje soubor toho jména. Jiná schémata, třeba smb:// nebo mailto:, dostane aplikace, která je obsluhuje. Síťové cesty z Windows stojí za zvláštní zmínku: kdo dostává přístupy ke sdíleným diskům v tvaru \\server\sdileni, je obvykle zvyklý je ručně překládat. Tady to není potřeba.
Rozhraní mluví česky i anglicky a názvy složek se zobrazují v jazyce systému, stejně jako ve Finderu.
Instalace jedním příkazem
Stačí jeden příkaz v Terminálu:
curl -fsSL https://raw.githubusercontent.com/Thominho/finder-address-bar/main/install.sh | bash
Příkaz aplikaci stáhne, uloží do složky Aplikace a spustí. Nic se nesestavuje, Xcode není potřeba. Instalační skript je součástí veřejného repozitáře, takže si ho jde před spuštěním přečíst – a kdo nechce nic pouštět přes curl, může si stáhnout ZIP z vydání nebo si aplikaci sestavit ze zdrojového kódu přes ./build.sh.
Od verze 1.2 se aplikace aktualizuje sama, takže instalace je jednorázová záležitost.
Poznámka na rovinu: aplikace není notarizovaná u Applu, protože to vyžaduje placený vývojářský účet. U ručně stahovaného ZIPu ji proto macOS napoprvé odmítne otevřít a je potřeba v Nastavení systému → Soukromí a zabezpečení kliknout na „Přesto otevřít". Instalace jedním příkazem na tohle nenarazí.
První spuštění
Aplikace nabídne dvě volby, obě předem zaškrtnuté. Vyhradit ve Finderu řádek znamená, že Finder pod panelem nástrojů drží prázdný řádek panelů a adresní řádek leží přesně na něm, takže u okna s jedním panelem nic nezakrývá (u více panelů je to jinak, viz níž). Druhá volba je spouštění po přihlášení.
Pak se macOS zeptá, jestli smí aplikace ovládat Finder. Bez toho nezjistí ani nezmění zobrazenou složku, takže je to podmínka, ne povolení navíc. V řádku nabídek se objeví ikona složky – odtud se dá změnit umístění řádku (pod panelem nástrojů, nebo dole místo řádku cesty Finderu), doladit jeho poloha po bodech, přepnout spouštění po přihlášení a aktualizace, nebo aplikaci ukončit.
Bez injektáže a se zapnutou ochranou SIP
U nástroje, který kreslí do cizích oken, rozhoduje o instalaci často jiná věc než seznam funkcí – totiž seznam oprávnění, která si nevyžádal.
Žádná injektáž kódu do Finderu, ochrana SIP zůstává zapnutá, žádné Zpřístupnění ani Nahrávání obrazovky. Jediné oprávnění, které aplikace chce, je Automatizace → Finder.
Za editovatelný řádek v cizím okně se tedy neplatí vypnutou systémovou ochranou. Oprávnění jde kdykoli odebrat v Nastavení systému; bez něj aplikace nezjistí ani nezmění zobrazenou složku.
Jak to funguje pod kapotou
Finder nejde rozšířit o skutečný řádek v panelu nástrojů, proto jde o malou aplikaci běžící na pozadí, která si řádek kreslí sama, ve čtyřech krocích:
- Přes AppleScript se Finderu zeptá, která okna jsou otevřená a jakou složku zobrazují.
- Polohu oken přečte z window serveru, tedy té části systému, která ví, kde na obrazovce jaké okno leží.
- Přes každé okno Finderu položí panel bez rámečku a drží ho nad ním, takže vypadá jako součást okna.
- Po stisku Enteru řekne Finderu, aby okno přepnul na novou složku. Soubory a webové adresy předá aplikaci, která je otevře.
Z toho plyne i jedno pravidlo slušnosti: nástroj je hostem v cizím okně, takže by se Finderu neměl pořád vyptávat. Ve verzi 1.3 se cesta aktualizuje hned po přechodu zpět, vpřed nebo do složky (dřív to trvalo až vteřinu) a dotazů na Finder je výrazně méně, takže ho to zatěžuje míň.
Aktualizace s kontrolou podpisu
Při spuštění a pak každých šest hodin se aplikace podívá na nejnovější vydání. Když najde novější verzi, stáhne ji a ověří, že jde o stejnou aplikaci v ohlášené verzi s neporušeným podpisem, teprve pak se nahradí a znovu spustí. Když zrovna píšete do řádku, počká. Automatické aktualizace jdou vypnout.
Vydání sestavuje GitHub Actions přímo z označeného zdrojového kódu.
Doladění a odinstalace
Nabídka v řádku nabídek umí řádek posunout o bod výš nebo níž. Rozměry se dají změnit přes defaults, například defaults write local.finderpathbar toolbarHeight -float 52; k dispozici jsou mimo jiné klíče toolbarHeight (52), barHeight (28) a titlebarHeight (28). Ladicí výpis zapne defaults write local.finderpathbar debug -bool true.
Odinstalace má tři kroky: vypnout spouštění po přihlášení, aplikaci ukončit a smazat. Nastavení odstraní defaults delete local.finderpathbar.
Kde to naráží
Protože je to překryv, a ne skutečná součást okna, při tažení a změně velikosti okna se řádek o zlomek vteřiny opozdí. Když má okno víc panelů, vyhrazený řádek zabere lišta panelů Finderu a adresní řádek se přesune dolů. Tlačítko + pro nový panel pak zůstává pod řádkem schované, ⌘T funguje dál.
Požadavky: macOS 13 nebo novější, Apple silicon i Intel. Vývoj a testování ale probíhaly jen na macOS 26 (Tahoe) – na jiných verzích může řádek sedět o pár bodů vedle a je potřeba ho doladit posunem z nabídky nebo přes defaults.
Zdarma a otevřené
Celý nástroj je pod licencí MIT, zdarma a s veřejným zdrojovým kódem: Finder Address Bar na GitHubu. V README je i prosba o hvězdičku na GitHubu, pokud vám nástroj pomohl.
Pokud řešíte weby, aplikace nebo servery a hledáte na to někoho, mrkněte na služby nebo se mi přímo ozvěte.