Finder Attribute von Dateien löschen (Synology Shares)

Wie auch immer es dazu kommt, in meinen Synology Shares sind manche Dateien nicht mehr zu öffnen und erscheinen ausgegraut im Finder. Der Grund dafür sind erweiterte Finder-Attribute, die den Zugriff beschränken. Das Skript hier löscht einfach die Attribute aller im Finder ausgewählten Dateien.

##hubionmac.com
##remove extenden finder attributes from Finder selection.
##e.g. on synology shares some files (greyed out) can only be opened after this procedure
tell application "Finder"
  set a to selection
  repeat with b in a
    set b to quoted form of POSIX path of (b as alias)
    do shell script "xattr -d com.apple.FinderInfo " & b
  end repeat
end tell
									

Posted in Finder, Useful Snippets | Tagged , , , | Leave a comment

Update-Server kurzzeitig umstellen

Update_umleitung

Im Zuge einer Projektarbeit (Aufsetzten eines OSX Update-Servers) musste ein Skirpt her, mit dem man kurzfristig die Adressen des lokalen Updates-Servers eintragen lassen kann. Das ist an sich nicht schwierig und lässt sich auch über einen Terminal-Befehl leicht erreichen. Das ganze soll nur möglichst einfach ablaufen und sich auch Rückgängig machen lassen, damit der lokale Update-Server nur verwendet wird, wenn das Programm auch läuft... also:

Das Skript hier einfach als Anwendung speicher, die nach dem Öffnen auch offen bleibt. Der Wert der Variable myupdate_server_ip sollte natürlich entsprechende IP des Update-Server gesetzte werden.

Update_umleitung-BlogBild

### 09.02.2014 © hubionmac.com
### AppleScript welches den Update-Server eines Macs für die Dauer der Laufzeit verändert und beim Beendet wieder auf den Default-Wert zurücksetzt
### Der Defaults Befehlt stammt von http://support.apple.com/kb/ht4069



##Voreinstellung, das ist die IP oder der Domain-Name des Update-Servers
property myupdate_server_ip : "192.168.1.1"

on run
  ##Wenn der Dialog mit Ja bestätigt wird geht es weiter, ansonsten beendet sich das Programm
  set doit to button returned of (display alert "Soll ich den Update-Server (" & myupdate_server_ip & ") eintragen?" buttons {"Nein", "Ja"} default button {"Ja"}) as text
  if doit is "Ja" then
    try
      ##das ist die eigentliche Code Zeile über die der Update-Server definiert wird
      do shell script "defaults write /Library/Preferences/com.apple.SoftwareUpdate CatalogURL http://" & myupdate_server_ip & ":8088/index.sucatalog" with administrator privileges
      ##Sofern der vorherige Eintrage erfolgreich war, müsste diese Befehl ohne Fehler durchlaufen
      do shell script "defaults read /Library/Preferences/com.apple.SoftwareUpdate CatalogURL"
      ##Das ist ein reiner Info Dialog ohne weitere Funktion… verschwindet nach 5 Sekunden
      display alert "Update Server eingetragen, beende das Programm, um den Eintrag wieder zu löschen…" buttons {"OK"} default button {"OK"} giving up after 5
    on error msg
      ##Sollte es einen Fehler gegegeben haben (z.B. die Voreinstellung wurde nicht gesetzt, wird dieser angezeigt und das Programm beendet...
      display alert "Es scheint ein Problem setzen der Voreinstellung gegeben zu haben…\n\n" & msg
      quit
    end try
  else
    ##Wenn der Anfangs-Dialog mit nein bestätigt wurde, beendet sich das Programm halt...
    tell me to quit
  end if
  
end run

##Routine die beim Beendetn des Skript-Programmes durchlaufen wird
on quit
  ##es wird versucht die gesetzte Voreinstellung wieder zur löschen… kommt es zu einem Fehler, wird dieser angezeigt und das Programm beendet sich trotzdem...
  try
    do shell script "sudo defaults delete /Library/Preferences/com.apple.SoftwareUpdate CatalogURL" with administrator privileges
    display alert "Update-Server wieder zurück auf default" giving up after 5
  on error msg
    display alert msg
  end try
  continue quit
  
end quit
									

Und sobald das Programm nun läuft, wir nach dem Kennwort gefragt, der Update-Server umgestellt und wenn man es beendet ist alles wieder auf Anfang gesetzt. Ist super praktisch, wenn man nur zeitweise den lokalen Update-Server nutzen möchte, z.B. bei mobilen Geräten, die nicht immer im lokalen Netzwerk verbleiben. Danke an Dennis für die Grund-Idee.

Posted in defaults write, OS X | Tagged , , , | Leave a comment

Webdesgin: helfende-tiere.de im neuen Look

Die Seite wurde komplett neu gestaltet. Neben zahlreichen Pfoten- und Hufspuren verziert die Lieblingsschrift (MyFairCody) des Siteowners den neuen Webauftritt. Als CMS kommt WordPress zum Einsatz.20140122-105116.jpg
Posted in webdev | Tagged , , , | Leave a comment

Webdesign: macxtreme.de im neuen Look

Die neue Seite von Macxtreme ist online. Pures html5, etwas Javascript und WordPress im Hintergrund. Das ganze konnte Dank html5 Boilerplate in Recordzeit umgesetzte werden. THX! logo
Posted in links, webdev | Tagged , | Leave a comment

.icns Icon-Dateien via Terminal erstellen

Für ein Skript, welches mir automatisch Partition mit Image-Dateien bespielt, brauchte ich einen Mechanismus, über den ich dynamisch VolumeIcons auf die fertigen Volumes anwenden konnte. Normalerweise würde ich hierfür
  • Im Programm Vorschau ein entsprechendes Bilds (idealerweise 512x512px) öffnen, auswählen und kopieren
  • Das gewünschte Objekt im Finder auswählen und mir die Information anzeigen lassen
  • tab drücken und mit cmd+V das Bild aus der Zwischenablage als Icon festlegen
Read More »
Posted in Useful Snippets | Tagged , , , | Leave a comment

SVG Editor

LogoNachdem Inkscape den Dienst unter 10.7 eingestellt hat und die Alternative DrawBerry zwar schön funktioniert, die exportieren SVGs aber nichts taugen, bin ich bei svg-edit fündig geworden. Einfach simpel und online dazu.
Posted in Nice2Know | Tagged , | Leave a comment

Mails ins Postfach bewegen… 3.0

Da ich in letzte Zeit einige meiner Accounts auf Exchange umstellen musste, hat das Skript nicht mehr korrekt funktioniert. Deshalb hierzu eine kleine Anpassung.

-- MoveMailTo
--  Created by Hubi on 16.06.2009
--Änderung vom 07.12.2009
--     ->Unterordner können nu auch als Ziel genutzt werden
--     ->POP Accounts bzw. lokale Ordner können nun auch angesprochen werden.
--  Copyright 2009 hubionmac.com. All rights reserved. ;-)
-- Änderung vom 31.10.2013:
--     ->Unterstützung von Exchange Postfächern… diese haben zumindest unter 10.7 und 10.8 die Account Typ unknown
tell application "Mail"
  
  set theSelection to selection
  if theSelection ≠ {} then
    try
      set ac_name to (name of account of mailbox of (item 1 of theSelection))
      set ac_typ to account type of account of mailbox of (item 1 of theSelection)
    on error
      --wenn eine Nachricht in einem lokalen Postfach ausgewählt wurde kann das nur schief gehen, also:
      set ac_name to ""
      set ac_typ to pop
    end try
    set t_mail to {}
    if ac_typ = imap or ac_typ = unknown then
      repeat with i from 1 to (count of every mailbox of account ac_name)
        --set t_mail to t_mail & ((i & " " & name of mailbox i of account ac_name) as text)
        set t_mail to t_mail & ((name of mailbox i of account ac_name & " (" & i & ")") as rich text)
      end repeat
    else if ac_typ = pop then
      repeat with i from 1 to (count of every mailbox)
        --set t_mail to t_mail & ((i & " " & name of mailbox i of account ac_name) as text)
        set t_mail to t_mail & ((name of mailbox i & " (" & i & ")") as rich text)
      end repeat
    end if
    
    
    set my_mailboxes to {"•••NEW•••"} & t_mail
    set theaction to choose from list my_mailboxes default items {item 1 of my_mailboxes}
    if theaction as rich text ≠ "false" then
      if theaction as rich text = (item 1 of my_mailboxes) as rich text then
        set new_mailboxname to text returned of (display dialog "New Mailbox" default answer "---New Mailbox ---")
        if new_mailboxname as rich text ≠ "false" then
          if ac_typ = imap then
            tell account ac_name to set desti_box to (make new mailbox with properties {name:new_mailboxname})
          else if ac_typ = pop then
            make new mailbox with properties {name:new_mailboxname}
            set desti_box to new_mailboxname
          end if
        end if
      else
        --set desti_box to mailbox ((first word of (theaction as text)) as integer) of account ac_name
        if ac_typ = imap or ac_typ is unknown then
          set desti_box to mailbox ((last word of (theaction as rich text)) as integer) of account ac_name
        else if ac_typ = pop then
          set desti_box to mailbox ((last word of (theaction as rich text)) as integer)
        end if
      end if
      repeat with themessage in theSelection
        
        move themessage to desti_box
      end repeat
    end if
  else
    display dialog "Nix ausgewählt zum verschieben" giving up after 1
  end if
end tell
									

Posted in Apple Mail | Tagged , , | Leave a comment

Big Red Button

Einen USB-Taster brauchte ich, mit dem ich eine Klingel realisieren konnte, die an verschiedenen Rechner einen Ton gleichzeit abspielt.
Das ganz noch dazu ohne in günstig und am liebsten ohne Java... fündig wurde ich beim Big Red Button von Dream Cheeky, für den man sich dank derrick via GitHub eine coolen USB-Treiber kompilieren konnte. Ein wenig Applescript-Voodoo später ist er nun fertig. DOWNLOAD
Big Red Button Skript v.2
1.38 MB (223 hits)
Das Skript überwacht den Knopf auch, d.h. wenn der Button vom Rechner entfernt wird, solange das Skirpt läuft, schlägt es Alarm =!) Siehe auch das Demo-Video
Posted in tools, Useful Snippets | Tagged , , , | Leave a comment

AppleScript als default application auch unter 10.8

Die Problemstellung war folgende:

Ich habe hier eine Warenwirtschaft, die Exporte immer als csv oder xml ausgibt. Diese werden per Default von Excel geöffnet.

Das Problem: Excel ist nun nicht die optimale Anwendung, um Dateien jenseits der 2MB Grenze schnell zu bearbeiten.

Die Lösung: Ich lasse CSV-Dateien per Default nicht von Excel sondern von einem AppleScript öffnen, welches mit etwas PHP&Co die Auswertung im Bruchteil einer Sekunde erledigen kann ;-)

Wie macht man das?

Read More »
Posted in Automator, scripting | Tagged , , | Leave a comment

AppleTouch Icon Droplet

Das ist ein einfaches Skript, das sips nutzt um alles passenden Größen der Apple-Touch-Icons für eine Website anzulegen. Einfach als Droplet abspeichern, PNG draufziehen und als Ergebnis erhält man die entsprechend benannten Touch-Icons in der entsprechende Größe.

on open these
  set allowedExtensions to {".png", ".jpg", ".pdf", ".gif", ".tif", "tiff"}
  if (count of these) is 1 then
    set this to item 1 of these
    tell application "Finder" to set thisname to name of this
    set this_posix to quoted form of POSIX path of this
    set this_posix_folder to quoted form of (do shell script "dirname " & this_posix)
    set myextension to (characters -4 through -1 of thisname) as text
    if myextension is not in allowedExtensions then
      error "This script does not work with " & myextension & "-files."
    else
      set imagewidth to last word of (do shell script "sips -g pixelWidth " & this_posix) as integer
      set imageheigth to last word of (do shell script "sips -g pixelHeight " & this_posix) as integer
      if imagewidth ≠ imageheigth then
        error "The Image file should have the values for width and height. (" & imagewidth & "x" & imageheigth & ")"
      else
        if imagewidth < 144 then
          display dialog "This Image is smaller than 144x144 pixel… well I will scale those blurry pixels" buttons {"OK"} default button {"OK"}
        end if
        do shell script "sips -s format png -Z 144 " & this_posix & " --out " & this_posix_folder & "/apple-touch-icon-144x144-precomposed.png"
        (do shell script "sips -s format png -Z 144 " & this_posix & " --out " & this_posix_folder & "/apple-touch-icon-144x144-precomposed.png")
        (do shell script "sips -s format png -Z 114 " & this_posix & " --out " & this_posix_folder & "/apple-touch-icon-114x114-precomposed.png")
        (do shell script "sips -s format png -Z 72 " & this_posix & " --out " & this_posix_folder & "/apple-touch-icon-72x72-precomposed.png")
        (do shell script "sips -s format png -Z 57 " & this_posix & " --out " & this_posix_folder & "/apple-touch-icon-57x57-precomposed.png")
        (do shell script "sips -s format png -Z 57 " & this_posix & " --out " & this_posix_folder & "/apple-touch-icon-precomposed.png")
        (do shell script "sips -s format png -Z 57 " & this_posix & " --out " & this_posix_folder & "/apple-touch-icon.png")
        
      end if
    end if
  else
    error "This script only works with on input file"
  end if
end open

									

Posted in Useful Snippets, webdev | Tagged , , | 1 Comment
  • Seite übersetzen:


    Paypal for Pizza:




  • Kategorien


  • Letzte Kommentare

    • Roger: Thank you for that droplet. Exactly what I was looking for, to see on windows computer which were corrupted...
    • Dieter: Servus Hubi! Zur Info: mit der neuen Mail Version 7.3 (1878.2) in OS X 10.9.3 gibt es KEINE Probleme,...
    • Hubi: Hallo Steffen, Danke Dir für den Code. Ich lasse das jetzt mal so stehen. AppleScript ist aktuell nicht mehr so...
    • Steffen: Okay, das Kommentar war etwas zu voreilig. Ich habe online diesen Code gefunden, der bei mir wunderbar...
    • Steffen: Hallo, gerade habe ich mich über das von dir beschriebe Script gefreut, doch leider komme ich es nicht zu...