Elke app starten met een sneltoets

Vandaag gaan we opstaan ​​en een uitdaging tegemoet zien die ik onlangs heb gesteld: hoe wijs ik een sneltoets toe om een ​​app te starten? Er is geen voor de hand liggende ingebouwde functionaliteit om dit te bereiken, maar met een beetje vindingrijkheid kunnen we het met weinig moeite doen. Lees verder om erachter te komen hoe.


De regels

Zoals je ongetwijfeld weet, zijn er veel Mac-apps van derden die we zouden kunnen gebruiken om dit te doen (zoals Apptivate). Dat is het mooie van Mac-gebruiker zijn, de community van ontwikkelaars staat altijd te popelen om een ​​stap verder te gaan en lacunes in functionaliteit in te vullen.

De persoon in kwestie wilde slechts één app-snelkoppeling en kon het kopen, downloaden en / of installeren van een app niet rechtvaardigen om dit te laten gebeuren.

Dat gezegd zijnde, de oorspronkelijke uitdaging, zoals die aan mij was gegeven, kwam met enkele bepalingen. Eerst moesten er geen hulpprogramma's van derden worden gebruikt. De persoon in kwestie wilde slechts één app-snelkoppeling en kon het kopen, downloaden en / of installeren van een app niet rechtvaardigen om dit te laten gebeuren.

Verder moest er geen complexe scripting worden gebruikt. Als je mijn artikelen blijft lezen, weet je dat ik een AppleScript-nerd ben en normaal gesproken meteen naar deze situatie zou terugkeren. Helaas was deze persoon niet vertrouwd met scripting, dus die optie is ook uit!


We gaan uitzoeken hoe Tweebot kan worden gestart met een sneltoets.

Verlies bekennen? Nooit!

Toegegeven, dit klonk als een bijna onmogelijke prestatie om te winnen. De functionaliteit zit gewoon niet in OS X en als ik me niet mocht wenden tot AppleScript, wat zou ik anders kunnen doen?

In minder dan twee minuten plat, had ik een werkende oplossing

Gelukkig hou ik van een goede puzzel. In minder dan twee minuten plat had ik een werkende oplossing, dankzij de andere grote automatiseringsassistent die wordt geleverd met OS X: Automator.


Services to the Rescue

Ik wist dat Automator de sleutel was voor het uitvoeren van AppleScript-achtige functionaliteit zonder het gedoe van leren coderen. Maar een Automator-actie om een ​​app te lanceren zou me op zichzelf geen goed doen, ik zou nog steeds een manier nodig hebben om de actie aan een sneltoets te koppelen. Maar hoe?


Het deelvenster Sneltoetscombinaties doet ons niets.

Als we kijken naar het deelvenster "Toetsenbordsnelkoppelingen" in Systeemvoorkeuren, zien we slechts één sectie waarin we nieuwe snelkoppelingen kunnen toevoegen: "Applicatiesnelkoppelingen." Dit helpt ons echter op geen enkele manier, omdat het alleen dient als een manier om een ​​menuopdracht uit te voeren in een app die op dit moment open is.

Het enige wat we moeten doen, is een aangepaste service maken die een specifieke app start en het hier een snelkoppeling geven.

Terwijl ik hier rondkeek, struikelde ik over mijn antwoord: het Services-menu. OS X stelt u in staat om globale snelkoppelingen toe te wijzen aan elke Service. Het enige wat we moeten doen, is een aangepaste service maken die een specifieke app start en het hier een snelkoppeling geven. Schaakmat! Laten we kijken hoe we dit kunnen doen.


Stap 1. Stel een Automator-service in

Onze eerste stap is om Automator te starten en naar toe te gaan Bestand> Nieuw. Je zou een venster moeten zien verschijnen dat je wat opties geeft voor wat je moet maken. Klik op 'Services' en klik op de knop 'Kiezen'.


Open Automator en kies "Service"

Dit zal een schone lei in Automator lanceren waar we onze workflow kunnen samenstellen. Als u nog nooit met Services in Automator hebt gewerkt, hoeft u zich geen zorgen te maken, zoals met alle andere dingen in Automator, ze zijn supereenvoudig!

Services zijn contextuele workflows die beschikbaar zijn in Mac OS X. Ze accepteren tekst of bestanden van de huidige applicatie of de Finder.

Stap 2. Geen invoer, geen toepassing

Voordat we acties opnemen in onze werkstroom, bekijkt u de instellingen boven in het venster, die de invoer bepalen voor de service die we bouwen.

Normaal gesproken worden services gebouwd om input te ontvangen en iets met hen te doen in een bepaalde applicatie. Wij zullen dit idee echter schenden, we hebben niets nodig om verwerkt te worden, we willen gewoon een app lanceren. Zorg er daarom voor dat u de opties "geen invoer" en "een toepassing" selecteert.


Geen invoer, geen enkele toepassing

Stap 3. Neem de introductie-actie opnemen op

Aan de linkerkant van de gebruikersinterface van Automator moet een kolom staan ​​met een reeks acties. Voer een zoekopdracht uit naar "Toepassing starten" en sleep deze naar het lege canvas aan de rechterkant.


Zoek de actie "Start applicatie"

Stap 4. Selecteer uw app en bewaar

Nadat u de actie "Toepassing starten" naar het werkgebied hebt gesleept, ziet u een klein vervolgkeuzemenu waarmee u de specifieke toepassing kunt kiezen die u wilt starten. Ik ga Tweetbot kiezen, maar voel je vrij om alles te selecteren wat je maar wilt.


Sleep in de actie "Start applicatie" en kies een app

Sla hier uw Service op, geef een naam en sluit Automator. Bijna klaar!


Stap 5. Wijs een sneltoets toe

Terug in Systeemvoorkeuren, klik op het paneel "Toetsenbord" en ga naar het tabblad "Toetsenbordsnelkoppelingen". Selecteer 'Services' in de linkerkolom en zoek en selecteer uw zojuist gemaakte kolom in de rechterkolom Start Tweetbot Service (of welke app dan ook waarmee je bent gegaan).

Klik vanaf hier eenvoudig op de knop "Snelkoppeling toevoegen" en voer de snelkoppeling in die u wilt gebruiken om die app te openen.


Wijs een sneltoets toe aan uw nieuwe Service

Dat is alles wat er is! Sluit Systeemvoorkeuren, ga terug naar Finder en druk op je snelkoppeling om te zien of het werkt. Als u nauwlettend hebt gevolgd, moet uw app meteen worden gestart.


Een unieke snelkoppeling vinden

Het lastige deel over het instellen van een globale snelkoppeling is dat je zeker zult ontdekken dat iemand anders die snelkoppeling al hard naar zijn app heeft gecodeerd. Uw snelkoppeling werkt mogelijk via Finder, maar wanneer u een andere app start, kan er een conflict zijn.

In mijn ervaring overschrijft een native app-snelkoppeling een mondiale Services-snelkoppeling.

In mijn ervaring overschrijft een native app-snelkoppeling een mondiale Services-snelkoppeling. Bijvoorbeeld in mijn voorbeeld dat ik gebruikte Option-Shift-Command-T om Tweetbot te starten. Helaas gebruikt Safari dit voor iets anders, dus Tweetbot wordt niet vanuit Safari gestart met deze snelkoppeling.

Mijn beste advies hier is vallen en opstaan. Probeer een snelkoppeling te bedenken die u normaal niet in een toepassing gebruikt en probeer het een paar dagen uit om te zien of er conflicten ontstaan.


Hoe zou je het anders kunnen doen?

Daar heb je het, een snelle en gemakkelijke manier om een ​​sneltoets te maken voor het starten van een specifieke app: geen code schrijven en geen apps van derden nodig.

Met deze zelfde uitdaging, hoe zou je het doen? Kun je een andere manier bedenken om het te doen? Wat als we scripting toestaan? Laat het ons weten in de commentaarsectie hieronder.