Skip to content

DavidL344/Athena

Repository files navigation

Athena banner

Athena is a cross-platform utility for file extension handling across multiple applications with various parameters.

GitHub Release GitHub Release

Features

  • 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)
  • 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)
  • 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

Libraries used

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!