Athena is a cross-platform utility for file extension handling across multiple applications with various parameters.
- Cross-platform with portability in mind
- The commands are as equivalent as possible on all supported platforms
- Configuration is saved as plain text and can be version-controlled across multiple systems
- Easily turned portable by creating a
user
directory in the application's root
- Seamless
- Double-clicking a file opens an app picker, letting the user choose how to open the file
- The entries aren't limited to just applications like it is with most system pickers
- Easily add multiple entries of the same application with different parameters
Media player (Play)
,Media player (Add to queue)
Web browser (Open)
,Web Browser (Open in private window)
- Multiple app picker frontends are available based on the user's preference
- TUI (platform-agnostic)
- WPF (Windows)
- GTK (Linux)
- Double-clicking a file opens an app picker, letting the user choose how to open the file
- Online streaming support
- For applications that support it, add a protocol prefix to the front of a URL to parse it as a file
athena run <URL>/<file>.mp4
(opens in a web browser)athena run athena:<URL>/<file>.mp4
(opens in a video player)
- For applications that support it, add a protocol prefix to the front of a URL to parse it as a file
- QoL enhancements
- Easily edit configuration* and generate templates using built-in commands
Command | Opened/Generated file | Detection method |
---|---|---|
athena edit |
the main configuration file | no additional arguments after the edit subcommand |
athena edit mpv.play |
the mpv player app entry |
an argument after the edit subcommand |
athena edit .mp4 |
the .mp4 file extension |
the . at the start of the file extension |
athena edit https:// |
the https protocol |
the :// part at the end of the protocol |
* due to CliWrap's current limitation, TUI applications opened through Athena don't support interactivity
Library | License |
---|---|
Cocona | MIT |
Spectre.Console | MIT |
CliWrap | MIT |
GitInfo | MIT |
ini-parser-new | MIT |
GtkSharp | GNU LGPLv2 |
ModernWpfUI | MIT |
Special thanks to @cinnamonbear055 for designing the logo and banner!