Skip to content

Instantly share code, notes, and snippets.

@nickbudi
Last active July 1, 2024 11:14
Show Gist options
  • Save nickbudi/11277384 to your computer and use it in GitHub Desktop.
Save nickbudi/11277384 to your computer and use it in GitHub Desktop.
Get Finder to sort like Windows Explorer a la terminal

Get Finder to sort folders first like Windows Explorer a la terminal.

Note: This hack is no longer needed in High Sierra. Just run defaults write com.apple.finder _FXSortFoldersFirst -bool true

Results

Results Two things to note:

  • Unfortunately files are sorted by kind first then alphabetically. Check the location of bootstrap.sh in the screenshot for example. This is as close as I could get it to Windows Explorer for now.
  • I've left folder dropdowns. I think I like folder dropdowns for moving files between subfolders with ease, we'll see.
# Use list view in all Finder windows by default
# Four-letter codes for the other view modes: 'icnv', 'clmv', 'Flwv'
defaults write com.apple.finder FXPreferredViewStyle -string "Nlsv"
# Set item arrangement to none (enables folder dropdowns, 'Name' if you want to remove them)
defaults write com.apple.finder FXPreferredGroupBy -string "None"
# Sort list view by kind in ascending order (Windows style)
/usr/libexec/PlistBuddy -c "Set :StandardViewSettings:ExtendedListViewSettings:sortColumn kind" ~/Library/Preferences/com.apple.finder.plist
/usr/libexec/PlistBuddy -c "Set :StandardViewSettings:ExtendedListViewSettings:columns:4:ascending true" ~/Library/Preferences/com.apple.finder.plist
/usr/libexec/PlistBuddy -c "Set :StandardViewSettings:ListViewSettings:sortColumn kind" ~/Library/Preferences/com.apple.finder.plist
/usr/libexec/PlistBuddy -c "Set :StandardViewSettings:ListViewSettings:columns:kind:ascending true" ~/Library/Preferences/com.apple.finder.plist
# Sort Folders before files hack (Windows style)
FILE=/System/Library/CoreServices/Finder.app/Contents/Resources/English.lproj/InfoPlist.strings
# Backup InfoPlist.strings first if no backup exists
[ -f $FILE.bak ] || sudo ditto $FILE $FILE.bak
# Convert InfoPlist.strings to XML
sudo plutil -convert xml1 $FILE
# Add a space in front of 'Folder' string
sudo sed -i '' 's/g\>Folder/g\> Folder/' $FILE > /dev/null
# Convert InfoPlist.strings back to binary
sudo plutil -convert binary1 $FILE
# Remove all .DS_Store files to reset folder specific view options
sudo find / -name ".DS_Store" -depth -exec rm -f {} \;
# Restart cfprefsd and Finder
killAll cfprefsd
killAll Finder
@nimbling
Copy link

This performs the "space before folder" hack, does it? Handy!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment