# Functions
> An assorted collection of useful OS X specific Bash-style functions. Part of [Awesome OS X Command Line](https://github.com/herrbischoff/awesome-osx-command-line).
## Table of Contents
- [Developer](#developer)
- [App Icons](#app-icons)
- [Create App Icon](#create-app-icon)
- [Helper Functions](#helper-functions)
- [Ask User for Password](#ask-user-for-password)
- [Finder](#finder)
- [Get Path of Frontmost Finder Window](#get-path-of-frontmost-finder-window)
- [Print Files Selected in Finder](#print-files-selected-in-finder)
- [Set Current Directory's Finder View to Column View](#set-current-directorys-finder-view-to-column-view)
- [Set Current Directory's Finder View to Icon View](#set-current-directorys-finder-view-to-icon-view)
- [Set Current Directory's Finder View to List View](#set-current-directorys-finder-view-to-list-view)
## Developer
### App Icons
#### Create App Icon
Function to quickly create an application icon from 1024px master file.
```bash
function mkicns() {
if [[ -z "$@" ]]; then
echo "Input file missing"
else
filename=${1%.*}
mkdir $filename.iconset
sips -z 16 16 $1 --out $filename.iconset/icon_16x16.png
sips -z 32 32 $1 --out $filename.iconset/icon_16x16@2x.png
sips -z 32 32 $1 --out $filename.iconset/icon_32x32.png
sips -z 64 64 $1 --out $filename.iconset/icon_32x32@2x.png
sips -z 128 128 $1 --out $filename.iconset/icon_128x128.png
sips -z 256 256 $1 --out $filename.iconset/icon_128x128@2x.png
sips -z 256 256 $1 --out $filename.iconset/icon_256x256.png
sips -z 512 512 $1 --out $filename.iconset/icon_256x256@2x.png
sips -z 512 512 $1 --out $filename.iconset/icon_512x512.png
cp $1 $filename.iconset/icon_512x512@2x.png
iconutil -c icns $filename.iconset
rm -r $filename.iconset
fi
}
```
### Helper Functions
#### Ask User for Password
This function will use AppleScript to present a password entry dialog to make
your scripts a little more user friendly.
```bash
function gui_password {
if [[ -z $1 ]]; then
gui_prompt="Password:"
else
gui_prompt="$1"
fi
PW=$(osascript <
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.