{"id":21337756,"url":"https://github.com/freeslave/mimeapps","last_synced_at":"2026-01-03T05:05:37.506Z","repository":{"id":71413288,"uuid":"56391154","full_name":"FreeSlave/mimeapps","owner":"FreeSlave","description":"MIME Applications Associations specification implementation in D programming language","archived":false,"fork":false,"pushed_at":"2021-06-13T11:22:00.000Z","size":51,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-22T14:45:51.987Z","etag":null,"topics":["d","dlang","freedesktop","mime","mimeapps","xdg"],"latest_commit_sha":null,"homepage":"","language":"D","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsl-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FreeSlave.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE_1_0.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-04-16T15:33:04.000Z","updated_at":"2024-01-09T06:32:53.000Z","dependencies_parsed_at":null,"dependency_job_id":"640a555b-8dcd-4e85-bb89-4338470f620f","html_url":"https://github.com/FreeSlave/mimeapps","commit_stats":null,"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FreeSlave%2Fmimeapps","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FreeSlave%2Fmimeapps/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FreeSlave%2Fmimeapps/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FreeSlave%2Fmimeapps/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FreeSlave","download_url":"https://codeload.github.com/FreeSlave/mimeapps/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243814893,"owners_count":20352038,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["d","dlang","freedesktop","mime","mimeapps","xdg"],"created_at":"2024-11-22T00:01:25.731Z","updated_at":"2026-01-03T05:05:37.459Z","avatar_url":"https://github.com/FreeSlave.png","language":"D","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Mimeapps\n\nD library for finding associations between MIME types and applications, e.g. for deciding which application should be used to open a file.\n\n[![Build Status](https://github.com/FreeSlave/mimeapps/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/FreeSlave/mimeapps/actions/workflows/ci.yml) [![Coverage Status](https://coveralls.io/repos/github/FreeSlave/mimeapps/badge.svg?branch=master)](https://coveralls.io/github/FreeSlave/mimeapps?branch=master)\n\n[Online documentation](https://freeslave.github.io/d-freedesktop/docs/mimeapps.html)\n\nModern desktop environments on GNU/Linux and BSD flavors implement [MIME Applications Associations](https://www.freedesktop.org/wiki/Specifications/mime-apps-spec/)\nto control file associations. The goal of **mimeapps** library is to provide implementation of this specification in D programming language.\nPlease feel free to propose enchancements or report any related bugs to *Issues* page.\n\nNote: detection of file MIME type is out of the scope of **mimeapps**. You may consider using [mime library](https://github.com/FreeSlave/mime) for this purpose.\n\n## Features\n\n### Implemented\n\n* Reading mimeapps.list and mimeinfo.cache files.\n* Detecting default application for MIME type.\n* Getting associated applications for MIME type with respect to explicitly removed ones.\n* Adding, removing association or setting default application for MIME type.\n* Support for desktop-specific mimeapps.list files.\n\n## Examples\n\n### [Mimeapps list](examples/list.d)\n\nList default application and other associated applications for MIME type(s):\n\n    dub examples/list.d text/plain image/png text/html\n\nAlso can be used for uri schemes:\n\n    dub examples/list.d x-scheme-handler/http\n\n### [Mimeapps test](examples/test.d)\n\nParse all mimeapps.list and mimeinfo.cache found on the system. Reports errors to stderr.\nUse this example to check if the mimeapps library can parse all related files on your system.\n\n    dub examples/test.d\n\n### [Mimeapps open](examples/open.d)\n\nDetect MIME type of file and open it with default application for found type.\n\n    dub examples/open.d LICENSE_1_0.txt\n\nAdd option --ask to list all associated applications before opening the file.\n\n    dub examples/open.d --ask LICENSE_1_0.txt\n\nPass http url to open in web browser:\n\n    dub examples/open.d --ask https://github.com/FreeSlave/mimeapps\n\n### [Mimeapps update](examples/update.d)\n\nUpdate mimeapps.list file. If you want to update file associations on your system using this example use *--force* flag, but I would recommend to make a copy first.\n\n    cp $HOME/.config/mimeapps.list /tmp/mimeapps.list\n    dub examples/update.d --file=/tmp/mimeapps.list --remove=text/plain:kde4-kwrite.desktop --add=image/jpeg:gthumb.desktop --default=application/pdf:kde4-okular.desktop\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffreeslave%2Fmimeapps","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffreeslave%2Fmimeapps","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffreeslave%2Fmimeapps/lists"}