XDG-PREFS(1)

๐Ÿ“ฆ version 1.12, in nixos 26.05, nixpkgs unstable

โœจ NAME โœจ

xdg-prefs(1) โ€” it's from the User Commands section, and it does exactly this: locate and set preferred desktop applications. Bestie, it's giving "desktop default vibes" and it's honestly iconic ๐Ÿ’….

๐Ÿฆ‹ SYNOPSIS ๐Ÿฆ‹

xdg-prefs [options] {-p,--pref} [--] APPID [TYPE [...]]

xdg-prefs [options] {-e,--exec} [--] TYPE

xdg-prefs [options] {-l,--list} [--] TYPE [...]

๐ŸŒธ DESCRIPTION ๐ŸŒธ

Okay so xdg-prefs has exactly two modes, no cap: (1) it locates preferred applications by category or mime type, and (2) it sets preferred applications by category or mime type. That's the whole main-character plot ๐ŸŽ€.

๐Ÿ’– ARGUMENTS ๐Ÿ’–

The program accepts these arguments, bestie:

๐Ÿซถ APPID

This is the application identifier of an XDG desktop application you want to locate. The application identifier, APPID, can be one of these:

  1. the name of a desktop entry file without the .desktop suffix (e.g. "gvim"); the name may contain a "/" if it is specified relative to a user or system application directory, in which case it must not start with a "/" or ".".
  2. the name of a desktop entry file with the .desktop suffix (e.g. "gvim.desktop"); the same restrictions as (1), above, apply; or,
  3. the full path (absolute or relative) and filename of a desktop entry file (e.g. "/usr/share/applications/gvim.desktop"); the full path must contain at least one "/" and start with either a "/" or a ".".
Providing a non-option application identifier argument is mandatory when the --pref option is specified. Like, not optional. Periodt.

๐Ÿงš TYPE

This is the type of application for which to show or set APPID as the preferred application. The application type, TYPE, can be one of these:

  1. A recognized XDG category name (e.g. "TextEditor"). For recognized XDG category names, see XDG CATEGORIES down below ๐Ÿ‘‘
  2. A mime (content) type (e.g. "text/plain"). All mime types have a "/" in their names and are thus distinguished from XDG categories. The content type cannot contain wild cards (i.e. it cannot contain "*").

โœจ OPTIONS โœจ

The options that are detailed below are recognized by xdg-prefs. xdg-prefs uses getopt_long_only(3), so unambiguous abbreviations of long options and long options with a single dash are also supported. Cute, flexible, slay ๐Ÿ’….

๐ŸŽ€ COMMAND OPTIONS ๐ŸŽ€

One of the following command options must be specified to set the command mode:

  • -p, --pref [--] APPID[;...] [TYPE [...]] โ€” Specifies that APPID is to be used as the default or preferred application for TYPE. When additional application identifiers, APPID, are specified, separated by semicolons (";"), the application identifiers specify the order of preference of applications for the mime types or categories, TYPE.

When no mime types nor categories are specified, the mime types and categories for which to set the application identifier will be taken from the application's .desktop file.

When multiple mime types or categories are specified, the applications will be set against each mime type and category specified. Like, every single one. No skipping ๐Ÿซถ.

  • -e, --exec [--] TYPE โ€” Execute the preferred application corresponding to the specified mime type or category, TYPE. It is an error when no usable application has been assigned to the specified TYPE. That's the vibe check failing, bestie ๐Ÿ˜ญ.
  • -l, --list [--] TYPE [...] โ€” List the preferred applications (by application identifier) corresponding to the specified mime types or categories, TYPE.
  • -h, --help, -H, -?, --? โ€” Prints usage information to standard output and exits.
  • -V, --version โ€” Prints detailed version information and exits.
  • -C, --copying โ€” Prints detailed copying permissions and exits.

๐ŸŒˆ GENERAL OPTIONS ๐ŸŒˆ

The following general options are recognized:

  • -r, --recommend โ€” When listing, launching or setting preferred applications, use the recommended application instead of the default application for the given type.
  • -f, --fallback โ€” When listing or launching preferred applications, use the fallback application instead of the default or recommended application for the given type.
  • -t, --textonly โ€” When listing, launching or setting preferred applications, only list, launch or set applications that run in a terminal. Note that this is the default behaviour when the DISPLAY environment variable is not set.
  • --P, --pointer โ€” Passes the --pointer option to xdg-launch(1) when launching the application.
  • --K, --keyboard โ€” Passes the --keyboard option to xdg-launch(1) when launching the application.

๐Ÿ‘‘ XDG CATEGORIES ๐Ÿ‘‘

In the category listings below, the more specific category is listed first and then the more general categories are listed following a semicolon. Quick heads-up so you don't get confused, bestie ๐Ÿ’œ.

The following XDG categories are recognized and tracked by the program:

  • "Building;Development" โ€” A tool to build applications. One mime type is application/x-cmakecache, but it is application specific, so xdg-prefs only tracks these applications by category.
  • "Debugger;Development" โ€” A tool to debug applications. No known mime type. These applications are only tracked by category.
  • "IDE;Development" โ€” Integrated Development Environment (IDE) application. Some mime types are text/x-chdr, text/x-csrc, text/x-c++hdr, text/x-c++src, text/x-java, text/x-dsrc, text/x-pascal, text/x-perl, text/x-python. These applications have a wide range of mime types, so they are only tracked by category.
  • "GUIDesigner;Development" โ€” A GUI designer application. Some mime types are application/x-designer, application/x-fluid; however, these mime types are application specific so they are only tracked by category.
  • "Profiling;Development" โ€” A profiling tool. No commonly known tools or mime types. These applications are only tracked by category.
  • "RevisionControl;Development" โ€” Applications like cvs or subversion. No commonly known mime types. Some examples are bzr-explorer.desktop and there should be a gitk.desktop. These applications are only tracked by category.
  • "Translation;Development" โ€” A translation tool. Only tool I know of is linguist.desktop with mime types text/vnd.trolltech.linguist and application/x-linguist; however, these mime types are application specific, so they are only tracked by category.
  • "Calendar;Office" โ€” Calendar application. Only application I know that is marked like this is etm.desktop with no mime types.
  • "ContactManager;Office" โ€” Address books, contact lists, LDIF file manipulation. No commonly known applications or mime types. But surely an LDIF file would do.
  • "Database;Office", "Database;Development", "Database;AudioVideo" โ€” Application to manage a database. Applications are base.desktop with mime types application/vnd.oasis.opendocument.database and application/vnd.sun.xml.base; and gmdb.desktop, with mime types application/vnd.ms-access, application/x-msaccess, application/msaccess, application/vnd.msaccess, application/mdb, application/x-mdb.
  • "Dictionary;Office", "Dictionary;TextTools" โ€” A dictionary. No commonly known applications or mime types.
  • "Chart;Office" โ€” Chart application. No commonly known applications or mime types.
  • "Email;Office", "Email;Network" โ€” Email application. Many applications with mime types x-scheme-handler/mailto and message/rfc822.
  • "FlowChart;Office" โ€” A flowchart application. Applications dia.desktop with mime types application/x-dia-diagram; and libreoffice-draw.desktop with mime types application/vnd.oasis.opendocument.graphics, application/vnd.oasis.opendocument.graphics-flat-xml, application/vnd.oasis.opendocument.graphics-template, application/vnd.sun.xml.draw, application/vnd.sun.xml.draw.template, application/vnd.visio, application/x-wpg, application/vnd.corel-draw, application/vnd.ms-publisher, image/x-freehand, application/clarisworks.
  • "PDA;Office" โ€” Tool to manage your PDA. No commonly known applications or mime types.
  • "ProjectManagement;Office", "ProjectManagement;Development" โ€” Project management application. No commonly known applications or mime types.
  • "Presentation;Office" โ€” Presentation software. libreoffice-impress.desktop with mime types application/vnd.oasis.opendocument.presentation, application/vnd.oasis.opendocument.presentation-template, application/vnd.sun.xml.impress, application/vnd.sun.xml.impress.template, application/mspowerpoint, application/vnd.ms-powerpoint, application/vnd.openxmlformats-officedocument.presentationml.presentation, application/vnd.ms-powerpoint.presentation.macroenabled.12, application/vnd.openxmlformats-officedocument.presentationml.template, application/vnd.ms-powerpoint.template.macroenabled.12, application/vnd.openxmlformats-officedocument.presentationml.slide, application/vnd.openxmlformats-officedocument.presentationml.slideshow, application/vnd.ms-powerpoint.slideshow.macroEnabled.12, application/vnd.oasis.opendocument.presentation-flat-xml, application/x-iwork-keynote-sffkey. Perhaps the oasis and microsoft mime types are the most common.
  • "Spreadsheet;Office" โ€” A spreadsheet. libreoffice-calc.desktop with mime types application/vnd.oasis.opendocument.spreadsheet, application/vnd.oasis.opendocument.spreadsheet-template, application/vnd.sun.xml.calc, application/vnd.sun.xml.calc.template, application/msexcel, application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel.sheet.macroenabled.12, application/vnd.openxmlformats-officedocument.spreadsheetml.template, application/vnd.ms-excel.template.macroenabled.12, application/vnd.ms-excel.sheet.binary.macroenabled.12, text/csv, application/x-dbf, text/spreadsheet, application/csv, application/excel, application/tab-separated-values, application/vnd.lotus-1-2-3, application/vnd.oasis.opendocument.chart, application/vnd.oasis.opendocument.chart-template, application/x-dbase, application/x-dos_ms_excel, application/x-excel, application/x-msexcel, application/x-ms-excel, application/x-quattropro, application/x-123, text/comma-separated-values, text/tab-separated-values, text/x-comma-separated-values, text/x-csv, application/vnd.oasis.opendocument.spreadsheet-flat-xml, application/vnd.ms-works, application/clarisworks.

๐Ÿ’œ "WordProcessor;Office"

A word processor, bestie. Like, the whole "I have to write an essay" vibe.

  • abiword.desktop โ€” mime types: application/x-abiword, text/x-abiword, text/x-xml-abiword, text/plain, application/msword, application/rtf, application/vnd.plain, application/xhtml+xml, text/html, application/x-crossmark, application/docbook+xml, application/x-t602, application/vnd.oasis.opendocument.text, application/vnd.oasis.opendocument.text-template, application/vnd.oasis.opendocument.text-web, application/vnd.sun.xml.writer, application/vnd.stardivision.writer, text/vnd.wap.wml, application/wordperfect6, application/wordperfect5.1, application/vnd.wordperfect, application/x-abicollab
  • libreoffice-writer.desktop โ€” mime types: application/vnd.oasis.opendocument.text, application/vnd.oasis.opendocument.text-template, application/vnd.oasis.opendocument.text-web, application/vnd.oasis.opendocument.text-master, application/vnd.sun.xml.writer, application/vnd.sun.xml.writer.template, application/vnd.sun.xml.writer.global, application/msword, application/vnd.ms-word, application/x-doc, application/x-hwp, application/rtf, text/rtf, application/vnd.wordperfect, application/wordperfect, application/vnd.lotus-wordpro, application/vnd.openxmlformats-officedocument.wordprocessingml.document, application/vnd.ms-word.document.macroenabled.12, application/vnd.openxmlformats-officedocument.wordprocessingml.template, application/vnd.ms-word.template.macroenabled.12, application/vnd.ms-works, application/vnd.stardivision.writer-global, application/x-extension-txt, application/x-t602, text/plain, application/vnd.oasis.opendocument.text-flat-xml, application/x-fictionbook+xml, application/macwriteii, application/x-aportisdoc, application/prs.plucker, application/vnd.palm, application/clarisworks

๐ŸŽจ "2DGraphics;Graphics"

A 2D based graphical application. Flat, gorgeous, iconic.


๐Ÿฆ‹ "VectorGraphics;2DGraphics;Graphics"

An app for viewing, creating, or processing vector graphics. Curves so smooth they ate ๐Ÿ’…

  • evince-previewer.desktop โ€” mime types: application/pdf, application/x-bzpdf, application/x-gzpdf, application/x-xzpdf, application/x-ext-pdf, application/postscript, application/x-bzpostscript, application/x-gzpostscript, image/x-eps, image/x-bzeps, image/x-gzeps, application/x-ext-ps, application/x-ext-eps, application/x-dvi, application/x-bzdvi, application/x-gzdvi, application/x-ext-dvi, image/vnd.djvu, image/vnd.djvu+multipage, application/x-ext-djv, application/x-ext-djvu, image/tiff, application/x-cbr, application/x-cbz, application/x-cb7, application/x-cbt, application/x-ext-cbr, application/x-ext-cbz, application/x-ext-cb7, application/x-ext-cbt, application/oxps, application/vnd.ms-xpsdocument
  • evince.desktop โ€” same energy, same mime types: application/pdf, application/x-bzpdf, application/x-gzpdf, application/x-xzpdf, application/x-ext-pdf, application/postscript, application/x-bzpostscript, application/x-gzpostscript, image/x-eps, image/x-bzeps, image/x-gzeps, application/x-ext-ps, application/x-ext-eps, application/x-dvi, application/x-bzdvi, application/x-gzdvi, application/x-ext-dvi, image/vnd.djvu, image/vnd.djvu+multipage, application/x-ext-djv, application/x-ext-djvu, image/tiff, application/x-cbr, application/x-cbz, application/x-cb7, application/x-cbt, application/x-ext-cbr, application/x-ext-cbz, application/x-ext-cb7, application/x-ext-cbt, application/oxps, application/vnd.ms-xpsdocument
  • inkscape.desktop โ€” mime types: image/svg+xml, image/svg+xml-compressed, application/vnd.corel-draw, application/pdf, application/postscript, image/x-eps, application/illustrator
  • libreoffice-draw.desktop โ€” mime types: application/vnd.oasis.opendocument.graphics, application/vnd.oasis.opendocument.graphics-flat-xml, application/vnd.oasis.opendocument.graphics-template, application/vnd.sun.xml.draw, application/vnd.sun.xml.draw.template, application/vnd.visio, application/x-wpg, application/vnd.corel-draw, application/vnd.ms-publisher, image/x-freehand, application/clarisworks

๐Ÿ–ผ๏ธ "RasterGraphics;2DGraphics;Graphics"

For viewing, creating, or processing raster (bitmap) graphics. Pixels, babe. Little square icons of joy ๐ŸŽ€

  • apache.en.desktop โ€” mime types: image/bmp, image/gif, image/jpeg, image/jpg, image/png, image/tiff, image/x-bmp, image/x-pcx, image/x-tga, image/x-portable-pixmap, image/x-portable-bitmap, image/x-targa, image/x-portable-greymap, application/pcx, image/svg+xml, image/svg-xml
  • gtkam.desktop โ€” no mime types
  • xsane.desktop โ€” no mime types
  • qiv.desktop โ€” mime types: image/bmp, image/gif, image/jpeg, image/jpg, image/pjpeg, image/png, image/tiff, image/x-bmp, image/x-gray, image/x-icb, image/x-ico, image/x-png, image/x-portable-anymap, image/x-portable-bitmap, image/x-portable-graymap, image/x-portable-pixmap, image/x-xbitmap, image/x-xpixmap, image/x-pcx, image/svg+xml, image/svg+xml-compressed, image/vnd.wap.wbmp
  • gpicview.desktop โ€” mime types: image/bmp, image/gif, image/jpeg, image/jpg, image/png, image/tiff, image/x-bmp, image/x-pcx, image/x-tga, image/x-portable-pixmap, image/x-portable-bitmap, image/x-targa, image/x-portable-greymap, application/pcx, image/svg+xml, image/svg-xml
  • gpaint.desktop โ€” no mime types
  • gthumb-import.desktop โ€” mime types: x-content/image-dcf, x-content/image-picturecd
  • xzgv.desktop โ€” no mime types
  • fedora-xsane.desktop โ€” no mime types
  • gimp.desktop โ€” mime types: image/bmp, image/g3fax, image/gif, image/x-fits, image/x-pcx, image/x-portable-anymap, image/x-portable-bitmap, image/x-portable-graymap, image/x-portable-pixmap, image/x-psd, image/x-sgi, image/x-tga, image/x-xbitmap, image/x-xwindowdump, image/x-xcf, image/x-compressed-xcf, image/x-gimp-gbr, image/x-gimp-pat, image/x-gimp-gih, image/tiff, image/jpeg, image/x-psp, application/postscript, image/png, image/x-icon, image/x-xpixmap, image/svg+xml, application/pdf, image/x-wmf, image/jp2, image/jpeg2000, image/jpx, image/x-xcursor
  • gthumb.desktop โ€” mime types: image/bmp, image/g3fax, image/gif, image/x-fits, image/x-pcx, image/x-portable-anymap, image/x-portable-bitmap, image/x-portable-graymap, image/x-portable-pixmap, image/x-psd, image/x-sgi, image/x-tga, image/x-xbitmap, image/x-xwindowdump, image/x-xcf, image/x-compressed-xcf, image/x-gimp-gbr, image/x-gimp-pat, image/x-gimp-gih, image/tiff, image/jpeg, image/x-psp, application/postscript, image/png, image/x-icon, image/x-xpixmap, image/svg+xml, application/pdf, image/x-wmf, image/jp2, image/jpeg2000, image/jpx, image/x-xcursor

๐ŸงŠ "3DGraphics;Graphics"

For viewing, creating, or processing 3-D graphics. Third dimension unlocked, no cap ๐Ÿ”ฅ

  • blender-windowed.desktop โ€” mime types: application/x-blender
  • drawxtl.desktop โ€” no mime types
  • wings3d.desktop โ€” no mime types
  • blender.desktop โ€” mime types: application/blender, application/x-blender
  • g3dviewer.desktop โ€” no mime types

๐Ÿ–จ๏ธ "Scanning;Graphics"

A tool to scan a file/text. Feeding paper into a machine in the year of our lord, we love to see it โœจ

  • xsane.desktop โ€” no mime types

๐Ÿ” "OCR;Scanning;Graphics"

Optical character recognition, aka turning a picture of words into actual words. Main character energy for your scanner.

  • xsane.desktop โ€” no mime types

๐Ÿ“ธ "Photography;Graphics"

๐Ÿ“ธ "Photography;Office"

Camera tools, etc. Say cheese ๐Ÿ’–

  • apache.en.desktop โ€” mime types: image/bmp, image/gif, image/jpeg, image/jpg, image/png, image/tiff, image/x-bmp, image/x-pcx, image/x-tga, image/x-portable-pixmap, image/x-portable-bitmap, image/x-targa, image/x-portable-greymap, application/pcx, image/svg+xml, image/svg-xml
  • flphoto.desktop โ€” mime types: application/x-flphoto
  • gtkam.desktop โ€” no mime types
  • gpicview.desktop โ€” mime types: image/bmp, image/gif, image/jpeg, image/jpg, image/png, image/tiff, image/x-bmp, image/x-pcx, image/x-tga, image/x-portable-pixmap, image/x-portable-bitmap, image/x-targa, image/x-portable-greymap, application/pcx, image/svg+xml, image/svg-xml
  • gthumb.desktop โ€” mime types: image/bmp, image/jpeg, image/gif, image/png, image/tiff, image/x-bmp, image/x-ico, image/x-png, image/x-pcx, image/x-tga, image/xpm, image/svg+xml

๐Ÿ“ฐ "Publishing;Graphics"

๐Ÿ“ฐ "Publishing;Office"

Desktop publishing applications and colour management tools. Iconic category, honestly โ€” except there are no commonly known applications or mime types. Empty. A vibe. ๐Ÿ™ˆ


๐Ÿ‘€ "Viewer;Graphics"

๐Ÿ‘€ "Viewer;Office"

A tool to view e.g. a graphic or pdf file. Quick clarification bestie: "Viewer;Office" is primarily PDF viewers; "Viewer;Graphics" are primarily image viewers. Same family, different slay.


๐Ÿ”ค "TextTools;Utility"

A text tool utility. (A category, really.) That's it, that's the whole description, and honestly? Respect.


โš™๏ธ "DesktopSettings;Settings"

A configuration tool for the GUI. Example applications are: lxsession-edit.desktop, qt4config.desktop, lxsession-default-apps.desktop, exo-preferred-applications.desktop, ControlPanel.desktop, thunar-volman-settings.desktop, mate-notification-properties.desktop, mate-window-properties.desktop, lxappearance.desktop, gtk-theme-switch2.desktop, obconf.desktop, tint2conf.desktop, mate-appearance-properties.desktop, libsmfm-pref-apps.desktop, thunar-settings.desktop, elementary_config.desktop, gtk-chtheme.desktop, pcmanfm-desktop-pref.desktop, stuurman-desktop-pref.desktop, libfm-pref-apps.desktop and gtk2_prefs.desktop. A whole little ecosystem of settings panels ๐Ÿซถ


๐Ÿ”ง "HardwareSettings;Settings"

A tool to manage hardware components, like sound cards, video cards or printers. Real talk: this is really a category and cannot have a preferred application by category. Example applications are: cups.desktop, ffadomixer.desktop, grandr.desktop, lxkb-config.desktop, lxrandr.desktop, mate-display-properties.desktop, mate-keyboard.desktop, mate-settings-mouse.desktop, redhat-system-config-printer.desktop, system-config-printer.desktop and xde-input.desktop. There are no commonly known mime types.


๐Ÿ–จ๏ธ "Printing;HardwareSettings;Settings"

A tool to manage printers. Applications are cups.desktop, redhat-system-config-printer.desktop and system-config-printer.desktop. There are no commonly known mime types, so preferred applications are tracked by category only โ€” noted, booked, and filed away ๐Ÿ“‹


๐Ÿ“ฆ "PackageManager;Settings"

A package manager application. Slay, install things.

  • xfp.desktop โ€” mime types: application/x-deb, application/x-debian-package, application/x-rpm

โ˜Ž๏ธ "Dialup;Network"

A dial-up program. Retro. Wholesome. Slightly haunted by the sound of a modem ๐Ÿ˜ญ

  • mandriva-tightvnc.desktop โ€” no mime types
  • "InstantMessaging;Network" โ€” An instant messaging client, bestie ๐Ÿ’ฌ. empathy.desktop with no mime types; pidgin.desktop with no mime types. These applications are only tracked by category โ€” periodt.
  • "Chat;Network" โ€” A chat client. No commonly known applications or mime types โ€” not a single iconic one to name ๐Ÿ˜ญ.
  • "IRCClient;Network" โ€” An IRC (Internet Relay Chat) client. hexchat.desktop with mime types x-scheme-handler/irc and x-scheme-handler/ircs ๐Ÿงš.
  • "Feed;Network" โ€” RSS, podcast and other subscription based contents. No commonly known applications or mime types โ€” we stay empty-handed on this one ๐Ÿ™ˆ.
  • "FileTransfer;Network" โ€” Tools like FTP or P2P programs. filezilla.desktop and gftp.desktop but no commonly known mime types. (But I don't have a bittorrent client installed.) ๐Ÿ˜ญ
  • "HamRadio;Network" โ€” Tools like FTP or P2P programs. No commonly known applications or mime types โ€” yes, that's what it says, and I'm not touching it ๐Ÿ’€.
  • "News;Network" โ€” A news reader or a news ticker. No commonly known applications or mime types โ€” nothing iconic to report ๐Ÿ—ž๏ธ.
  • "P2P;Network" โ€” A P2P program. No commonly known applications or mime types โ€” the void is voiding ๐Ÿ’€.
  • "RemoteAccess;Network" โ€” A tool to remotely manage your PC. remmina.desktop, telnet.desktop, mandriva-tightvnc.desktop, innovidata-opennx-wizard.desktop, bssh.desktop, x11vnc.desktop, ssvnc.desktop, putty.desktop, vncviewer.desktop, innovidata-opennx-admin.desktop, bvnc.desktop, innovidata-opennx.desktop, gdmflexiserver-xnest.desktop with no mime types.
  • "Telephony;Network" โ€” Telephony via PC. ekiga.desktop with no mime types ๐Ÿ“ž.
  • "TelephonyTools;Utility" โ€” Telephony tools, to dial a number, manage PBX, etc. No commonly known applications or mime types โ€” the PBX girlies are quiet ๐Ÿคซ.
  • "VideoConference;Network" โ€” Video conference software. No commonly known applications or mime types โ€” no webcam moments logged ๐Ÿ˜ญ.
  • "WebBrowser;Network" โ€” A web browser. chromium.desktop with mime types, text/html, text/xml, application/xhtml+xml, text/mml, x-scheme-handler/http, x-scheme-handler/https, dillo.desktop with no mime types, elinks.desktop with mime types, text/html, eric6_webbrowser.desktop with mime types, text/html, text/xml, application/xhtml+xml, x-scheme-handler/http, x-scheme-handler/https, firefox.desktop with mime types, text/html, text/xml, application/xhtml+xml, application/xml, application/rss+xml, application/rdf+xml, application/vnd.mozilla.xul+xml, text/mml, x-scheme-handler/http, x-scheme-handler/https, x-scheme-handler/ftp, javaws.desktop with mime types, application/x-java-jnlp-file, links.desktop with no mime types, lynx.desktop with no mime types, midori.desktop with mime types, text/html, application/xhtml+xml, x-scheme-handler/http, x-scheme-handler/https, x-scheme-handler/geo, image/svg+xml, midori-private.desktop with mime types, MozillaFirefox.desktop with mime types, text/html, text/xml, application/xhtml+xml, application/vnd.mozilla.xul+xml, text/mml, application/x-xpinstall, mozilla-firefox.desktop with mime types, text/html, text/xml, application/xhtml+xml, application/xml, application/rss+xml, application/rdf+xml, application/vnd.mozilla.xul+xml, text/mml, x-scheme-handler/http, x-scheme-handler/https ๐ŸŒ.
  • "WebDevelopment;Network", "WebDevelopment;Development" โ€” A tool for web developers. No commonly known applications or mime types ๐Ÿ› ๏ธ.
  • "Midi;Audio;AudioVideo" โ€” An app related to MIDI. No commonly known applications or mime types โ€” MIDI girlies where? ๐ŸŽน
  • "Mixer;Audio;AudioVideo" โ€” Just a mixer. alsamixer.desktop, alsavolume.desktop, aumix.desktop, ffadomixer.desktop, pavucontrol.desktop, pnmixer.desktop, with no mime types ๐ŸŽš๏ธ.
  • "Sequencer;Audio;AudioVideo" โ€” A sequencer. No commonly known applications or mime types โ€” no sequencer besties found ๐ŸŽ›๏ธ.
  • "Tuner;Audio;AudioVideo" โ€” A tuner. No commonly known applications or mime types โ€” the tuner void ๐ŸŽ™๏ธ.
  • "TV;Audio;AudioVideo" โ€” A TV application. Too many to list. Every video player โ€” yes, every single one ๐Ÿ“บ.
  • "AudioVideoEditing;Audio", "AudioVideoEditing;Video", "AudioVideoEditing;AudioVideo" โ€” Application to edit audio/video files. These entries are not putting themselves in the right categories โ€” iconic mess, honestly ๐Ÿ˜ญ. audacity.desktop with mime types, application/ogg, audio/basic, audio/mpeg, audio/x-aiff, audio/x-mp3, audio/x-wav, application/x-audacity-project, kdenlive.desktop with mime types, application/x-kdenlive, openshot.desktop with mime types, application/vnd.openshot-project, org.kde.kdenlive.desktop with mime types, application/x-kdenlive, stopmotion.desktop with mime types, application/x-stopmotion.
  • "Player;Audio", "Player;Video", "Player;AudioVideo" โ€” Application to play audio/video files. Too many to list. Every audio and video player โ€” the whole playlist is here ๐ŸŽถ.
  • "Recorder;Audio", "Recorder;Video", "Recorder;AudioVideo" โ€” Application to record audio/video files. org.gnome.Cheese.desktop with no mime types ๐Ÿง€.
  • "DiscBurning;AudioVideo" โ€” Application to burn a disc. brasero.desktop with mime types, application/x-cd-image, application/x-cdrdao-toc, application/x-cue, application/x-toc, audio/x-scpls, audio/x-ms-asx, audio/x-mp3-playlist, audio/x-mpegurl, application/x-brasero, x-content/audio-cdda, x-content/video-dvd, x-content/video-vcd, x-content/video-svcd, x-content/image-picturecd, simpleburn.desktop with no mime types, xfburn.desktop with mime types, application/x-cd-image ๐Ÿ’ฟ.
  • "Archiving;Utility" โ€” A tool to archive/backup data. deja-dup.desktop with no mime types, deja-dup-monitor.desktop with no mime types, deja-dup-preferences.desktop with no mime types, file-roller.desktop with mime types, application/x-7z-compressed, application/x-7z-compressed-tar, application/x-ace, application/x-alz, application/x-ar, application/x-arj, application/x-bzip, application/x-bzip-compressed-tar, application/x-bzip1, application/x-bzip1-compressed-tar, application/x-cabinet, application/x-cbr, application/x-cbz, application/x-cd-image, application/x-compress, application/x-compressed-tar, application/x-cpio, application/x-deb, application/x-ear, application/x-ms-dos-executable, application/x-gtar, application/x-gzip, application/x-gzpostscript, application/x-java-archive, application/x-lha, application/x-lhz, application/x-lzip, application/x-lzip-compressed-tar, application/x-lzma, application/x-lzma-compressed-tar, application/x-lzop, application/x-lzop-compressed-tar, application/x-rar, application/x-rar-compressed, application/x-rpm, application/x-rzip, application/x-tar, application/x-tarz, application/x-stuffit, application/x-war, application/x-xz, application/x-xz-compressed-tar, application/x-zip, application/x-zip-compressed, application/x-zoo, application/zip, flburn.desktop with no mime types, gnome-file-roller.desktop with mime types, application/x-7z-compressed, application/x-7z-compressed-tar, application/x-ace, application/x-alz, application/x-ar, application/x-arj, application/x-bzip, application/x-bzip-compressed-tar, application/x-bzip1, application/x-bzip1-compressed-tar, application/x-cabinet, application/x-cbr, application/x-cbz, application/x-cd-image, application/x-compress, application/x-compressed-tar, application/x-cpio, application/x-deb, application/x-ear, application/x-ms-dos-executable, application/x-gtar, application/x-gzip, application/x-gzpostscript, application/x-java-archive, application/x-lha, application/x-lhz, application/x-lrzip, application/x-lrzip-compressed-tar, application/x-lzip, application/x-lzip-compressed-tar, application/x-lzma, application/x-lzma-compressed-tar, application/x-lzop, application/x-lzop-compressed-tar, application/x-ms-wim, application/x-rar, application/x-rar-compressed, application/x-rpm, application/x-rzip, application/x-tar, application/x-tarz, application/x-stuffit, application/x-war, application/x-xz, application/x-xz-compressed-tar, application/x-zip, application/x-zip-compressed, application/x-zoo, application/zip, roller.desktop with no mime types, xarchiver.desktop with mime types, application/x-arj, application/arj, application/x-bzip, application/x-bzip-compressed-tar, application/x-gzip, application/x-rar, application/x-rar-compressed, application/x-tar, application/x-zip, application/x-zip-compressed, application/zip, application/x-7z-compressed, application/x-compressed-tar, application/x-bzip2, application/x-bzip2-compressed-tar, application/x-lzma, application/x-lzma-compressed-tar, application/x-lzop, application/x-lzop-compressed-tar, application/x-xz, application/x-xz-compressed-tar, application/x-deb, application/x-rpm, xfburn.desktop with mime types, application/x-cd-image ๐Ÿ—œ๏ธ.
  • "Compression;Archiving;Utility" โ€” A tool to manage compressed data/archives. file-roller.desktop with mime types as above, gnome-file-roller.desktop with mime types as above โ€” yes, "as above," no need to retype the whole saga ๐Ÿ’….
  • "FileManager;FileTools;System" โ€” A file manager. caja.desktop with no mime types, emelfm2.desktop with mime types, inode/directory, inode/mount-point, enlightenment_filemanager.desktop with mime types, inode/directory, fluff.desktop with no mime types, mandriva-rox.desktop with no mime types, mc.desktop with no mime types, PathFinder.desktop with no mime types, pcmanfm.desktop with mime types, inode/directory, rox.desktop with no mime types, rox-filer.desktop with no mime types, spacefm.desktop with mime types, inode/directory, inode/mount-point, x-scheme-handler/ssh, x-scheme-handler/smb, x-scheme-handler/nfs, x-scheme-handler/ftp, stuurman.desktop with mime types, x-directory/normal, inode/directory, Thunar.desktop with no mime types, Thunar-folder-handler.desktop with mime types, x-directory/gnome-default-handler, x-directory/normal, inode/directory, vifm.desktop with mime types, inode/directory, xfe.desktop with mime types, text/plain ๐Ÿ“.
  • "TerminalEmulator;System" โ€” A terminal emulator application. aterm.desktop, eterm.desktop, fedora-xterm.desktop, gksu.desktop, lxterminal.desktop, mageia-xterm.desktop, mandriva-xterm.desktop, pterm.desktop, roxterm.desktop, rpmforge-rxvt-unicode.desktop, terminal-as-root-(gksu).desktop, terminals.desktop, urxvtc.desktop, urxvt.desktop, urxvt-tabbed.desktop, uxterm.desktop, xterm.desktop, xterm-(unicode).desktop: all with no mime types ๐Ÿ–ฅ๏ธ.
  • "Filesystem;System" โ€” A file system tool. Applications are: gparted.desktop and Thunar-bulk-rename.desktop, with no mime types ๐Ÿ’ฝ.

๐Ÿ–ฅ๏ธ "Monitor;System" + "Monitor;Network"

A monitor app or applet โ€” like, something whose whole personality is watching a resource or some activity ๐Ÿ‘€.

The applications are: boinc.desktop, boinc-manager.desktop, bonobo-browser.desktop, etherape.desktop, ettercap.desktop, gsmartcontrol.desktop, lxtask.desktop, manage-print-jobs.desktop, mandriva-xkill.desktop, print-applet.desktop, redhat-manage-print-jobs.desktop, redhat-print-applet.desktop, wireshark-gtk.desktop with mime types application/vnd.tcpdump.pcap, application/x-pcapng, application/x-snoop, application/x-iptrace, application/x-lanalyzer, application/x-nettl, application/x-radcom, application/x-etherpeek, application/x-visualnetworks, application/x-netinstobserver, application/x-5view and application/x-tektronix-rf5; xdg-assist.desktop, xdg-monitor.desktop, xload.desktop, xsensors.desktop, zenmap.desktop and zenmap-root.desktop.

Ngl this is really more of a category than a preferred-application type, bestie โ€” the monitors are for all sorts of different purposes, so it's giving "big tent" energy ๐ŸŽช

๐Ÿ”’ "Security;System" + "Security;Settings"

A security tool, periodt.

The applications are: ettercap.desktop with no mime types; and fwbuilder.desktop with mime type text/x-xml-fwbuilder.

Same situation โ€” this is more of a category than a preferred application type ๐Ÿ’…

โ™ฟ "Accessibility;Settings" + "Accessibility;Utility"

Accessibility stuff ๐Ÿซถ. The applications are dasher.desktop with no mime types.


๐Ÿงฎ "Calculator;Utility"

A calculator, obviously ๐Ÿ”ข.

The applications are: calcoo.desktop, gcalctool.desktop, calculator.desktop, gnome-gcalctool.desktop and xcalc.desktop: all with no known mime types. These applications are tracked only by category.


โฐ "Clock;Utility"

A clock application or applet ๐Ÿ•. The applications are: wmitime.desktop.

Strangely there are many more clock applications, but they do not have the appropriate categories set ๐Ÿ˜ญ. There are no known mime types. These applications are only tracked by category.


๐Ÿ“ "TextEditor;Utility"

A text editor โœ๏ธ. Buckle up bestie, this list is long:

  • adie.desktop with mime types application/x-shellscript, text/english, text/plain, text/x-c, text/x-c++, text/x-c++hdr, text/x-chdr, text/x-c++src, text/x-csrc, text/x-java, text/x-makefile, text/x-moc, text/x-pascal, text/x-tcl and text/x-tex
  • bvi.desktop with mime types application/octet-stream
  • bviplus.desktop with mime types application/octet-stream
  • fltk-editor.desktop
  • gedit.desktop with mime types application/x-shellscript, text/plain, text/x-c, text/x-c++, text/x-c++hdr, text/x-chdr, text/x-c++src, text/x-csrc, text/x-java, text/x-makefile, text/x-moc, text/x-pascal, text/x-tcl and text/x-tex
  • gvim.desktop with mime types application/x-shellscript, text/english, text/plain, text/x-c, text/x-c++, text/x-chdr, text/x-c++hdr, text/x-csrc, text/x-c++src, text/x-java, text/x-makefile, text/x-moc, text/x-pascal, text/x-tcl and text/x-tex
  • mcedit.desktop
  • nano.desktop
  • vi.desktop with mime types application/x-shellscript, text/english, text/plain, text/x-c, text/x-c++, text/x-chdr, text/x-c++hdr, text/x-csrc, text/x-c++src, text/x-java, text/x-makefile, text/x-moc, text/x-pascal, text/x-tcl and text/x-tex
  • vim.desktop with mime types application/x-shellscript, text/english, text/plain, text/x-c, text/x-c++, text/x-chdr, text/x-c++hdr, text/x-csrc, text/x-c++src, text/x-java, text/x-makefile, text/x-moc, text/x-pascal, text/x-tcl and text/x-tex
  • xedit.desktop and xfw.desktop with mime type text/plain

๐Ÿ“š "Documentation"

Help or documentation ๐Ÿง. The applications are: assistant.desktop with mime type application/x-assistant; mate-user-guide.desktop, TUV.desktop and yelp.desktop with mime types application/docbook+xml, x-scheme-handler/ghelp, x-scheme-handler/help, x-scheme-handler/info and x-scheme-handler/man.

Lowkey these applications are better tracked by mime type than by category (which is quite general) โ€” like, the category is doing the absolute bare minimum here ๐Ÿ’€


๐ŸŒ™ "Screensaver"

A screen saver โ€” and launching this desktop entry should activate the screen saver โœจ.

Strangely, this category is not associated with the many screen savers loaded on my Arch Linux system ๐Ÿ˜ญ. These must be tracked by category; however, correction of .desktop files to include this category is necessary.


๐Ÿ“Œ "TrayIcon"

An application that is primarily an icon for the "system tray" or "notification area" โ€” and fr fr, apps that open a normal window and just happen to have a tray icon as well should not list this category ๐Ÿšซ.

Example applications are: alltray.desktop, cbatticon.desktop, dhcpcd-gtk.desktop, fbxkb.desktop, ftmenu.desktop, gatotray.desktop, moc-tray.desktop, peksystray.desktop, pnmixer.desktop, sbxkb.desktop, sd-applet.desktop, stalonetray.desktop, wmsystemtray.desktop, xdg-monitor.desktop and xdg-traymenu.desktop.

This is really a general category and there are no tracked preferred applications in this category ๐Ÿซ 

๐Ÿงฉ "Applet"

An applet that will run inside a panel or another such application โ€” likely desktop specific, iykyk ๐ŸชŸ


๐ŸŸ "DockApp"

A WindowMaker style dock application. The example applications are absolute icons of the genre ๐Ÿ‘‘

allin1.desktop, AlsaMixer.app.desktop, asclock.desktop, asclock-gtk.desktop, asclock-xlib.desktop, bubblemon.desktop, flipse.desktop, lal.desktop, peksystray.desktop, volume-app.desktop, wmacpi.desktop, wmappl.desktop, wmauda.desktop, wmbatteries.desktop, wmbattery.desktop, wmbiff.desktop, wmBinClock.desktop, wmblob.desktop, wmblueclock.desktop, wmbluecpu.desktop, wmbluegpu.desktop, wmbluemem.desktop, wmbubble.desktop, wmbutton.desktop, wmcalc.desktop, wmCalClock.desktop, wmCalClockKbd.desktop, wmcdplay.desktop, wmcliphist.desktop, wmclock.desktop, wmclockmon.desktop, wmcore.desktop, wmcpu.desktop, wmcpuload.desktop, wmcpumon.desktop, wmdiskmon.desktop, wmfire.desktop, wmforkplop.desktop, wmfrog.desktop, wmgtemp.desktop, wmifinfo.desktop, wmifs.desktop, wminet.desktop, wmitime.desktop, wmmail.desktop, wmmaiload.desktop, wmMand.desktop, wmmixer.desktop, wmMoonClock.desktop, wmnd.desktop, wmnet.desktop, wmsmixer.desktop, wmstickynotes.desktop, wmsysmon.desktop, wmsystemtray.desktop, wmsystray.desktop, wmtime.desktop, wmtimer.desktop, wmtop.desktop, wmtrash.desktop, wmudmount.desktop, wmwave.desktop, wmWeather.desktop, wmweather+.desktop, wmwifi.desktop and wmwork.desktop.

This is really a general category and preferred applications are not tracked in this category ๐ŸŒˆ

๐Ÿš "Shell"

A shell โ€” and to be clear, an actual specific shell such as bash or tcsh, not a TerminalEmulator ๐Ÿซก

The applications are: tkwish8.6.desktop.

The preferred shell should be set by other means โ€” so don't come looking here for it ๐Ÿ’…

โœจ FILE FORMAT โœจ

okay so bestie, there are literally two formats of file and you gotta know which one you're looking at:

  1. Mime application file format โ€” this one is compliant to the XDG mime application specification. fancy, official, the whole thing ๐Ÿ’…
  2. XDG category file format โ€” this one is similar to the XDG mime application specification but it uses XDG categories instead of mime types. same vibe, different key ๐ŸŽ€

๐ŸŽ€ MIME APPLICATIONS

so for applications that are set by default, the XDG mime applications specification is what's used to store the default applications, the added associations and the removed associations. all three. she does it all ๐Ÿ’–

Files are searched in this exact order, top to bottom, no skipping:

  • $XDG_CONFIG_HOME/$XDG_CURRENT_DESKTOP-mimeapps.list โ€” this one is desktop environment specific ๐Ÿ–ฅ๏ธ Only considered for defaults and not associations.
  • $XDG_CONFIG_HOME/mimeapps.list โ€” considered for both defaults and associations.
  • $XDG_CONFIG_DIRS/$XDG_CURRENT_DESKTOP-mimeapps.list โ€” desktop environment specific again. Only considered for defaults and not associations.
  • $XDG_CONFIG_DIRS/mimeapps.list โ€” considered for both defaults and associations.
  • $XDG_DATA_HOME/applications/$XDG_CURRENT_DESKTOP-mimeapps.list โ€” desktop environment specific. Only considered for defaults and not associations. โš ๏ธ This location is deprecated but available for backward compatibility.
  • $XDG_DATA_HOME/applications/mimeapps.list โ€” considered for both defaults and associations. โš ๏ธ This location is deprecated but available for backward compatibility.
  • $XDG_DATA_DIRS/applications/$XDG_CURRENT_DESKTOP-mimeapps.list โ€” desktop environment specific. Only considered for defaults and not associations. โš ๏ธ This location is deprecated but available for backward compatibility.
  • $XDG_DATA_DIRS/applications/mimeapps.list โ€” considered for both defaults and associations. โš ๏ธ This location is deprecated but available for backward compatibility.
lowkey important: notice how the $XDG_DATA_HOME and $XDG_DATA_DIRS ones are all flagged deprecated but available for backward compatibility? they still work, they're just the old spots. don't @ me, that's literally what the page says ๐Ÿซถ

๐ŸŒธ EXAMPLE

Following is an example of the contents of a mimeapps.list file โ€” and yes we're keeping it character for character because this is the moment:

[Added Associations]
application/pdf=zat.desktop;zathura.desktop;raktpdf.desktop;gvim.desktop;
application/x-ole-storage=libreoffice-startcenter.desktop;
application/x-desktop=gvim.desktop;
image/jpeg=xv.desktop;flphoto.desktop;gpicview.desktop;
image/png=gpicview.desktop;
application/octet-stream=bvi.desktop;wireshark.desktop;
text/html=firefox.desktop;
text/plain=vim.desktop;

[Default Applications]
x-scheme-handler/mailto=kde4-kmailservice.desktop
application/x-extension-eml=kde4-kmailservice.desktop
message/rfc822=kde4-kmailservice.desktop
application/octet-stream=bvi.desktop
text/plain=vim.desktop

๐Ÿฆ‹ XDG CATEGORIES

okay this is the part where things get cute. for preferences that are set by category, xdg-prefs maintains its own separate prefapps.list file ๐Ÿ“‹

It's similar in format to the mimeapps.list file of the XDG mime applications specification โ€” with one exception: the XDG category is used in place of the mime type as a key in the various sections of the file. that's the whole twist, and it ate ๐Ÿ’…

And just like the mimeapps.list files, the prefapps.list files are searched in this order:

  • $XDG_CONFIG_HOME/$XDG_CURRENT_DESKTOP-prefapps.list โ€” desktop environment specific. Only considered for defaults and not associations.
  • $XDG_CONFIG_HOME/prefapps.list โ€” considered for both defaults and associations.
  • $XDG_CONFIG_DIRS/$XDG_CURRENT_DESKTOP-prefapps.list โ€” desktop environment specific. Only considered for defaults and not associations.
  • $XDG_CONFIG_DIRS/prefapps.list โ€” considered for both defaults and associations.
  • $XDG_DATA_HOME/applications/$XDG_CURRENT_DESKTOP-prefapps.list โ€” desktop environment specific. Only considered for defaults and not associations. โš ๏ธ This location is deprecated but available for backward compatibility.
  • $XDG_DATA_HOME/applications/prefapps.list โ€” considered for both defaults and associations. โš ๏ธ This location is deprecated but available for backward compatibility.
  • $XDG_DATA_DIRS/applications/$XDG_CURRENT_DESKTOP-prefapps.list โ€” desktop environment specific. Only considered for defaults and not associations. โš ๏ธ This location is deprecated but available for backward compatibility.
  • $XDG_DATA_DIRS/applications/prefapps.list โ€” considered for both defaults and associations. โš ๏ธ This location is deprecated but available for backward compatibility.

Same deprecated-energy as the mime ones, same "still works tho" energy. iconic consistency ๐Ÿ’€

๐Ÿ“ EXAMPLE

Following is an example of the contents of a prefapps.list file... and bestie, that's genuinely all the page gives you here ๐Ÿ˜ญ it introduces the example and then โ€” nothing. no sample block. so like, the format is the same as mimeapps.list above but with XDG categories where the mime types go, and the manpage just trusts you to get it. main character confidence, honestly ๐Ÿ‘‘


and that's the whole page, bestie!! ๐ŸŽ€โœจ you officially know XDG-PREFS(1) better than 90% of the people using it. this icon is from xdg-launch version 1.12, dated 2022-01-28 โ€” so yes she's been around a minute, and she still slays ๐Ÿ’–๐Ÿฆ‹ periodt โœจ

๐Ÿ“ฆ where this page comes from