Álvaro Ramírez
png to icns (Emacs DWIM style)
UPDATE: dwim-shell-command is now available on melpa.
Since writing a DWIM version of the shell-command, I've been having a little fun revisiting command line utilities I sometimes invoke from my beloved editor. In this instance, converting a png file to an icns icon. What's more interesting about this case is that it's not just a one-liner, but a short script in itself. Either way, it's just as easy to invoke from Emacs using dwim-shell-command--on-marked-files
.
(defun dwim-shell-command-convert-image-to-icns () "Convert png to icns icon." (interactive) (dwim-shell-command-on-marked-files "Convert png to icns icon" " # Based on http://stackoverflow.com/questions/12306223/how-to-manually-create-icns-files-using-iconutil # Note: png must be 1024x1024 mkdir <<fne>>.iconset sips -z 16 16 '<<f>>' --out '<<fne>>.iconset/icon_16x16.png' sips -z 32 32 '<<f>>' --out '<<fne>>.iconset/icon_16x16@2x.png' sips -z 32 32 '<<f>>' --out '<<fne>>.iconset/icon_32x32.png' sips -z 64 64 '<<f>>' --out '<<fne>>.iconset/icon_32x32@2x.png' sips -z 128 128 '<<f>>' --out '<<fne>>.iconset/icon_128x128.png' sips -z 256 256 '<<f>>' --out '<<fne>>.iconset/icon_128x128@2x.png' sips -z 256 256 '<<f>>' --out '<<fne>>.iconset/icon_256x256@2x.png' sips -z 512 512 '<<f>>' --out '<<fne>>.iconset/icon_512x512.png' sips -z 512 512 '<<f>>' --out '<<fne>>.iconset/icon_256x256@2x.png' sips -z 1024 1024 '<<f>>' --out '<<fne>>.iconset/icon_512x512@2x.png' iconutil -c icns '<<fne>>.iconset'" :utils '("sips" "iconutil") :extensions "png"))