Skip to content

A command-line tool to select default applications for document types and URL schemes on Mac OS X

Notifications You must be signed in to change notification settings

moretension/duti

Folders and files

NameName
Last commit message
Last commit date

Latest commit

8b5b9a0 · Jul 9, 2023

History

96 Commits
Apr 3, 2022
Jan 8, 2008
Feb 27, 2009
Jan 6, 2008
Jan 22, 2011
Aug 17, 2018
Jul 9, 2023
Dec 20, 2007
Nov 20, 2022
Dec 10, 2007
Dec 10, 2007
Mar 21, 2008
Feb 25, 2023
May 7, 2013
May 7, 2013
May 7, 2013
Dec 10, 2007
Jan 4, 2008
Apr 3, 2008
Oct 15, 2008
Oct 15, 2008
Jan 29, 2008

Repository files navigation

duti

duti is a command-line utility capable of setting default applications for various document types on macOS, using Apple's Uniform Type Identifiers (UTI). A UTI is a unique string describing the format of a file's content. For instance, a Microsoft Word document has a UTI of com.microsoft.word.doc. Using duti, the user can change which application acts as the default handler for a given UTI.

Compiling

autoreconf -i
./configure
make
sudo make install

Usage

duti can read settings from four different sources:

  1. standard input

  2. a settings file

  3. an XML property list (plist)

  4. command-line arguments.

A settings line, as read in cases 1 and 2, consists of an application's bundle ID, a UTI, and a string describing what role the application handles for the given UTI. The process is similar when duti processes a plist. If the path given to duti on the command-line is a directory, duti will apply settings from all valid settings files in that directory, excluding files whose names begin with . (single dot).

duti can also print out the default application information for a given extension (-x). This feature is based on public domain source code posted by Keith Alperin on the heliumfoot.com blog.

See the man page for additional usage details.

Examples

  • Set Safari as the default handler for HTML documents:

    duti -s com.apple.Safari public.html all
  • Set TextEdit as the default handler for Word documents:

    echo 'com.apple.TextEdit   com.microsoft.word.doc all' | duti
  • Set Finder as the default handler for ftp:// URLs:

    duti -s com.apple.Finder ftp
  • Get default application information for .jpg files:

    duti -x jpg
    
    # Output
    Preview
    /Applications/Preview.app
    com.apple.Preview

Support

duti is unsupported. You can submit bug reports and feature requests at the duti GitHub project page.

Related

dutis is a wrapper around duti, providing an interactive interface to select default applications.

License

duti was originally released into the public domain by Andrew Mortensen in 2008. It's provided as is without warranties of any kind. You can do anything you want with it. If you incorporate some or all of the code into another project, I'd appreciate credit for the work I've done, but that's all.

Andrew Mortensen April 2018

About

A command-line tool to select default applications for document types and URL schemes on Mac OS X

Resources

Stars

Watchers

Forks

Packages

No packages published