# 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) - [Finder](#finder) - [Get Path of Frontmost Finder Window](#get-path-of-frontmost-finder-window) - [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 } ``` ## Finder ### Get Path of Frontmost Finder Window ```bash function finder_path { osascript -e 'tell application "Finder"'\ -e "if (${1-1} <= (count Finder windows)) then"\ -e "get POSIX path of (target of window ${1-1} as alias)"\ -e 'else' \ -e 'get POSIX path of (desktop as alias)'\ -e 'end if' \ -e 'end tell'; } ``` ### Set Current Directory's Finder View to Column View ```bash function column_view { osascript -e 'set cwd to do shell script "pwd"'\ -e 'tell application "Finder"'\ -e "if (${1-1} <= (count Finder windows)) then"\ -e "set the target of window ${1-1} to (POSIX file cwd) as string"\ -e "set the current view of the front Finder window to column view"\ -e 'else' -e "open (POSIX file cwd) as string"\ -e "set the current view of the front Finder window to column view"\ -e 'end if' -e 'end tell'; } ``` ### Set Current Directory's Finder View to Icon View ```bash function icon_view { osascript -e 'set cwd to do shell script "pwd"'\ -e 'tell application "Finder"'\ -e "if (${1-1} <= (count Finder windows)) then"\ -e "set the target of window ${1-1} to (POSIX file cwd) as string"\ -e "set the current view of the front Finder window to icon view"\ -e 'else' -e "open (POSIX file cwd) as string"\ -e "set the current view of the front Finder window to icon view"\ -e 'end if' -e 'end tell'; }; ``` ### Set Current Directory's Finder View to List View ```bash function list_view { osascript -e 'set cwd to do shell script "pwd"'\ -e 'tell application "Finder"'\ -e "if (${1-1} <= (count Finder windows)) then"\ -e "set the target of window ${1-1} to (POSIX file cwd) as string"\ -e "set the current view of the front Finder window to list view"\ -e 'else' -e "open (POSIX file cwd) as string"\ -e "set the current view of the front Finder window to list view"\ -e 'end if' -e 'end tell';\ } ``` ## License Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.