Med nogle små enkelte ninjatricks, kan man sætte sin Mac op, så den tager et billede, og uploader det til Dropbox, når man sender den en besked via Beskeder.

Det geniale løsning bygger på Apples Beskeder til Mac. Man kan nemlig få Beskeder til at kommer med forskellige advarsler, eksempelvis når man modtager en besked. En advarsel kan være eksekveringen af et AppleScript. AppleScript er en slags programmeringssprog indbygget i OS X, med hvilket man kan gøre en masse smarte ting. Er man ferm til den slags, kan næste hvad som helst lade sig gøre. Det er Dennis Jakobsen, som har sendt ONX denne vejlending.

Der findes bedre og smartere færdige løsninger på markedet, der kan det samme, men Dennis' ide er ret godt tænkt, om ikke andet så for at vise, hvad man egentlig kan med lidt snilde.

Sådan virker scriptet

Vi starter med at gennemgang af hvad scriptet (se neden for) gør. Husk på, at det kun sættes i gang af Beskeder, når man modtager en besked.

Først tjekkes det, at beskeden starter med "/foto". Gør den det sættes resten igang ellers sluttes scriptet bare med det samme. Derved sikrer vi, at der ikke tages billeder hver eneste gang, der kommer en besked, men kun når den starter med vores kommando "/foto".

Starter beskeden med "/foto" skrues der helt ned for lydstyrken. Derved sikrer vi os, at lyden ikke afslører, at vi om lidt tager et billede. Dernæst aktiverer vi PhotoBooth, som vi lige giver 3 sekunder til at blive åbnet i før vi går videre. De tre sekunder skal eventuelt ændres til noget mere, alt efter hvor lang tid PhotoBooth er om at blive åbnet.

Efter de tre sekunder fortæller vi systemet, at PhotoBooth skal køre i baggrunden, så ingen kan se på skærmen hvad der sker. Dernæst beder vi PhotoBooth udføre kommandoen Arkiv -> Tag fotografi. Inden vi igen lukker programmet ned, forsinker vi processen 5 sekunder, så der er tid til at få taget billedet. Dette skal eventuelt også justeres lidt.

Når der er gjort skruer vi volumen op til 3, og slutter af.

Så langt så godt. Når vi sender beskeden "/foto" til vores Mac tager den et billede med PhotoBooth. Det foregår i baggrunden uden lyd, så ingen bemærker det. I praksis er det svært ikke at få PhotoBooth til ikke at dukke op på skærmen. Da de indlagte forsinkelser og hastigheden på ens Mac kan være svære at koordinere. Desuden vil det alligevel variere på forskellige tidspunkter.

Synkroniser med Dropbox

Fotoet ligger nu i PhotoBooth-mappen på vores Mac. Som vi tidligere har beskrevet, er det relativt nemt at lave et symbolic link fra PhotoBooth-mappen til ens Dropbox. Derved synkroniseres foto automatisk med Dropbox, så man kan se det på eksempelvis sin iPhone. Hvis ikke du kender til Dropbox eller muligheden for opsætning af symbolske links, så læs her: Integrer Dropbox direkte i Mac’ens filsystem

Opsætning

Gem koden neden for som et ApplesScript. Brug eksempelvis TextEdit og gem med filendelsen .applescript

Opsætning foregår i Beskeder, hvor man kan bede om at få udført en AppleScript-instruks, når man modtager en besked. Åben Indstillinger. Ud for AppleScrip-instruks, skal du vælge "Åbn instruksmappen". I Finder skal du trække dit eget script over i denne instruksmappe. Når det er gjort, kan du vælge det i listen.

Vil du synkronisere med Dropbox, skal det også lige sættes om jævnfør linket længere oppe i artiklen.

Der er selvfølgelig et hav af andre muligheder for, hvad der skal ske med fotoet. En oplagt mulighed er at brygge videre på AppleScriptet, så det eksempelvis automatisk sender en mail med fotoet til en given adresse.

Man kan også sætte helt andre ting op, der kan aktives med andre tekstkommandoer. Det meste kan faktisk lade sig gøre og bolden er hermed givet op til de kreative læsere.

Opdatering oktober 2016: Siden jeg skrev artiklen har Apple ændret nogle ting i macOS i forhold til sikkerheden. Derfor skal der eventuelt gives nogle tilladelser før man kan bruge metoden. Prøv at kigge i Systemindstillinger > Sikkerhed og anonymitet. Vælg fanebladet Anonymitet og Tilgængelighed i venstyre side.

Koden til AppleScript

Hvis du får en fejlmeddelelse, hjalp det for mig at ændre "Messages" i første linje til "iChat". Det afhænger lidt af sprogindstillinger etc.


using terms from application "Messages"
  on message received theMessage from theBuddy for theChat
    if (theMessage begins with "/") then
      if theMessage begins with "foto" then
        beep 3
      else
        set volume 0
        tell application "Photo Booth"
          activate
        end tell
        tell application "System Events"
          tell process "Photo Booth"
            delay 3
            tell application "Finder"
              set visible of process "Photo Booth" to false
            end tell
            tell menu bar 1
              tell menu bar item "Arkiv"
                tell menu "Arkiv"
                  click menu item "Tag fotografi"
                end tell
              end tell
            end tell
          end tell
        end tell
        delay 5
        tell application "Photo Booth"
          quit
        end tell
        set volume 3
      end if
    end if
  end message received
end using terms from
CleanMyMac X

Skal din Mac i topform?

Optimer og vedligehold din Mac med CleanMyMac X. Appen scanner alle afkroge af dit system efter junk der kan slettes og overvåger din Macs helbred. Pengene er godt givet ud for at få en Mac, der altid er i topform.