Skip to content
/ xdg-utils Public

Query system for default apps using XDG MIME databases.

License

Notifications You must be signed in to change notification settings

meli/xdg-utils

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

xdg-utils

GitHub license Crates.io docs.rs

Query system for default apps using XDG MIME databases.

The xdg-utils library provides dependency-free (except for std) Rust implementations of some common functions in the freedesktop project xdg-utils.

What is implemented?

  • Function query_default_app performs like the xdg-utils function binary_to_desktop_file but returns the command string to be executed instead of the path of the desktop file.
  • Function query_mime_info launches the mimetype or else the file command.

Some of the utils may be implemented by combining these functions with other functions in the Rust standard library.

Name Function Implemented functionalities
xdg-desktop-menu Install desktop menu items no
xdg-desktop-icon Install icons to the desktop no
xdg-icon-resource Install icon resources no
xdg-mime Query information about file type handling and install descriptions for new file types queries only
xdg-open Open a file or URL in the user's preferred application all (combine crate functions with std::process::Command)
xdg-email Send mail using the user's preferred e-mail composer no
xdg-screensaver Control the screensaver no

Specification

https://specifications.freedesktop.org/mime-apps-spec/mime-apps-spec-latest.html

Reference implementation

https://cgit.freedesktop.org/xdg/xdg-utils/tree/scripts/xdg-utils-common.in

Help / Feature requests/ Bugs

While this library was created for the meli project, it is intended for general use. Thus you can report bugs and/or request features in the crate's repository on github, git.meli.delivery or the meli mailing-list