 Ja, Apple släppte ju nyligen nya tangentbord som är väldigt tunna och har så där härligt låga tangenter. Jag älskar dom och skulle aldrig byta tillbaka. Men det är en sak som stör mig med dem. Dom har "inbyggda" knappar för iTunes. F7, F8 och F9 är specialknappar som styr iTunes. Det vore väl helt i sin ordning om det inte var så att man måste stänga av F-funktionaliteten på knapparna för att kunna använda det, eller trycka på den illa placerade Fn-knappen likt på en laptop.

Sen så använder jag F-tangenterna faktiskt, speciellt för saker som att byta Space, lite code completion i BBEdit och sådant, men mest för att jag ställt in att F1/F2 är framåt/bakåt i Safari och i Findern och det kan jag inte leva utan.
Så vad gör man åt det då? Jo, man låter knapparna vara F-tangenter och använder Quicksilver (om du inte redan använder Quicksilver så är det verkligen dags att börja nu, världens mest användbara program) för att knyta AppleScripts till tangenter. Det är väldigt enkelt och kallas för Triggers. Du skapar ett AppleScript och lägger det på ett ställe som Quicksilver indexerar och sen lägger du upp en ny trigger i Preferences för Quicksilver. Där söker du upp ditt script och sen kan du sätta att det ska köras när du klickar på till exempel F8, som är play/pause-knappen på tangentbordet.
- tell application "iTunes"
- if player state is playing then
- pause
- else
- play
- end if
- end tell
 Ovanstående script pausar eller startar musiken i iTunes. Enkelt och smidigt. Men sedan en stund tillbaka så använder jag Spotify också, och det vore ju synd om ovanstående script startar iTunes bara för att jag just nu lyssnar på musik i Spotify, så därför så använder jag nedanstående script:
- tell application "System Events"
- set aApps to (name of every process)
- set curApps to name of every process where frontmost is true
- set curApp to item 1 of curApps as string
- end tell
- if "Spotify" is in aApps then
- tell application "Spotify" to activate
- tell application "System Events"
- tell process "Spotify"
- click menu item 1 of menu 1 of menu bar item 5 of menu bar 1
- end tell
- end tell
- tell application curApp
- activate
- end tell
- else if "iTunes" is in aApps then
- tell application "iTunes"
- if player state is playing then
- pause
- else
- play
- end if
- end tell
- end if
Ok, för att förklarar lite så frågar jag först "System Events" om vilka program som är igång, sen kollar jag om Spotify är med i listan. Om det är det så är det med allra största säkerhet det jag lyssnar på. Tyvärr så är Spotify inte scriptbart (om någon från Spotify läser detta så... Fixa!) så vi måste köra med ett litet trick. Först så ber vi Spotify bli det aktiva programmet, sedan ber vi System Events att välja "menu item 1 of menu 1 of menu bar item 5 of menu bar 1" vilket helt enkelt är Play/Pause-menydelen i Spotify, så då uppnår vi samma sak med andra ord. Sen så säger vi åt det program vi var i från början att bli aktivt igen så vi kan fortsätta med det vi höll på med. Om Spotify inte är igång så faller vi tillbaka på iTunes, om det är igång. Annars händer inget.
Det är för play/pause det, nästa del är för nästa/föregående spår, som ser ut så här:
- tell application "System Events"
- set aApps to (name of every process)
- set curApps to name of every process where frontmost is true
- set curApp to item 1 of curApps as string
- end tell
- if "Spotify" is in aApps then
- tell application "Spotify" to activate
- tell application "System Events"
- tell process "Spotify"
- click menu item 3 of menu 1 of menu bar item 5 of menu bar 1
- end tell
- end tell
- tell application curApp
- activate
- end tell
- else if "iTunes" is in aApps then
- tell application "iTunes"
- if player state is playing then
- next track
- end if
- end tell
- end if
Och föregående spår:
- tell application "System Events"
- set aApps to (name of every process)
- set curApps to name of every process where frontmost is true
- set curApp to item 1 of curApps as string
- end tell
- if "Spotify" is in aApps then
- tell application "Spotify" to activate
- tell application "System Events"
- tell process "Spotify"
- click menu item 4 of menu 1 of menu bar item 5 of menu bar 1
- end tell
- end tell
- tell application curApp
- activate
- end tell
- else if "iTunes" is in aApps then
- tell application "iTunes"
- if player state is playing then
- previous track
- end if
- end tell
- end if
Sen ett AppleScript för volymknapparna, volym upp:
- set getSound to (get volume settings) as list
- set Theoutput to item 1 of getSound
- set volume output volume Theoutput + 10
Volym ned:
- set getSound to (get volume settings) as list
- set Theoutput to item 1 of getSound
- set volume output volume Theoutput - 10
|