moretension / duti

A command-line tool to select default applications for document types and URL schemes on Mac OS X
Other
1.41k stars 66 forks source link

Alternative to duti? #46

Open ssbarnea opened 3 years ago

ssbarnea commented 3 years ago

As duti does not really seems actively maintained, I am wondering if there is any alternative can that be used to repair messed file associations on macos? ... especially if it would include an option to disassociate files.

deltabravozulu commented 2 years ago

https://github.com/Lord-Kamina/SwiftDefaultApps

faelin commented 2 years ago

https://github.com/Lord-Kamina/SwiftDefaultApps

This project is even less well maintained than duti (last commit in Oct 2020 vs 3 days ago for duti)

ssbarnea commented 1 year ago

To be honest I would be glad to contribute to a Python rewrite of duti. This kind of project does not really need speed, it needs to be easy to use and maintain.

iloveitaly commented 1 year ago

Is there something broken with the current implementation that you'd like to fix with a python version? Not against it, but duti is very stable and I'd opt for a simple tweak on the existing version vs a full rewrite.

Message ID: @.***>

ssbarnea commented 1 year ago

Yes there is. As a command line tool, duti fails to provide any help when installed. --help should list all available commands and also some examples of usage. Reading https://clig.dev/ could help (not affiliated with them).

If it would have a way to display help, it would probably be easy to contribute PRs to improve the help, but there is is none right now.

Just to give some examples, -u and -e are not even documented on the README. I had to dig the issue tracker to discover them.

iloveitaly commented 1 year ago

totally agree! That should be a simple PR that could be easily implemented in the existing C code.

On Thu, Dec 22, 2022 at 8:07 AM Sorin Sbarnea @.***> wrote:

Yes there is. As a command line tool, duti fails to provide any help when installed. --help should list all available commands and also some examples of usage. Reading https://clig.dev/ could help (not affiliated with them).

If it would have a way to display help, it would probably be easy to contribute PRs to improve the help, but there is is none right now.

— Reply to this email directly, view it on GitHub https://github.com/moretension/duti/issues/46#issuecomment-1362949585, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABE2RZAYCMW5K46SRUNI6LWORVDJANCNFSM4YZGY4UA . You are receiving this because you commented.Message ID: @.***>

faelin commented 1 year ago

I would add that the --help response even could be written in Python, without changing the rest of the app virtually at all (except for reading the help flag and redirecting args to the Python).

Not a good way to do it, but if someone really wants to contribute and can only do it on Python, then there are still ways to do it without rewriting the code base.

faelin commented 1 year ago

However, a test suite and/or added documentation would be a huge win for community maintenance!

ssbarnea commented 1 year ago

That means that we could make it a python tool, ease the way we install it while still keeping its c low level implementation. Is not a rewrite, is more of wrapping it so we can make the UI easier to maintain.

faelin commented 1 year ago

@ssbarnea in that case, perhaps a better method might be to produce a sister repo, something like pyduti or duti-py, that uses a submodule to reference this project and provides the desired wrappers. This A) keeps the project in its native code without mixing code languages, and B) keeps the original implementation clean so that we aren't reliant on the maintainer of this project to process PRs.

Another option, though, if you get maintainer privileges, would be to create an alternate release branch that runs parallel to main, and use release tags to indicate the python-wrapped version.

Nakilon commented 1 year ago

How do I deassociate tg:// links with Telegram app?

tsonglew commented 1 year ago

dutis is a wrapper of duti, providing an interactive way to set default applications in command line

iloveitaly commented 12 months ago

@faelin I have maintainer privileges and can approve any improvements/PRs here!

b-hal commented 1 month ago

To be honest I would be glad to contribute to a Python rewrite of duti. This kind of project does not really need speed, it needs to be easy to use and maintain.

No, since Apple removed Python from macOS, the best solution for a deployable (e.g. with a MDM) is a small binary like duti is now.