Marin is an image viewer made in C# with AvaloniaUI. This application is designed to be used efficiently with either a mouse or a keyboard, allowing for easy one-handed operation. The application features a tab-oriented interface, file exploration and management, customizable keyboard shortcuts, and more.
- Tab-Oriented Interface: Manage multiple image viewing sessions with a tabbed interface.
- Keyboard and Mouse Support: Navigate and use the application with either a mouse or keyboard.
- File Explorer / Manager: Browse and manage your image files directly within the application.
- Image Previewer: Click and hold on a folder to preview images inside, with up to 3 levels of depth for subfolder exploration.
- Customizable Keyboard Shortcuts: Set your preferred keyboard shortcuts for various actions.
- Hide UI Elements in Full Screen: Focus on your images by hiding UI elements when in full-screen mode.
- Session Management: Save your sessions (open tabs) for later use.
- No Image Editing: This application is focused on viewing images and does not include image editing features like cropping, adjusting brightness, or contrast.
To run Marin, follow these steps:
-
Clone the Repository:
git clone https://github.com/H97-Git/marin.git cd marin -
Install Dependencies:
Make sure you have the .NET SDK installed. You can download it from here.
-
Build the Project:
dotnet build
-
Run the Application:
dotnet run
The application comes with customizable keyboard shortcuts. To configure these shortcuts, go to the settings menu and set your preferred key bindings for various actions.
The file explorer allows you to navigate your file system and manage your image files. You can perform basic file operations such as copy, cut, paste, and delete.
Click and hold on a folder (or press P) to preview the images inside. The previewer supports exploring up to 3 levels of subfolders to display images.
Press the fullscreen toggle button or use the keyboard shortcut to enter fullscreen mode. In fullscreen mode, UI elements are hidden to provide an unobstructed view of your images.
Your open tabs can be saved and restored later, allowing you to pick up where you left off.
We welcome contributions to the project. If you find any issues or have suggestions for new features, please open an issue on GitHub. To contribute code:
-
Fork the Repository: Click the "Fork" button at the top right of this page.
-
Clone Your Fork:
git clone https://github.com/H97-Git/marin.git cd marin -
Create a Branch:
git checkout -b feature/your-feature-name
-
Commit Your Changes:
git commit -m "Add some feature" -
Push to the Branch:
git push origin feature/your-feature-name
-
Open a Pull Request: Open a pull request on GitHub and provide a description of your changes.
This project is licensed under the MIT License. See the LICENSE file for details.
- AvaloniaUI for the cross-platform UI framework.
- FluentAvaloniaUI for their beautiful controls.
- Magick.NET for image processing.
- NaturalSort for natural sorting of file names.
- PanAndZoom for zooming and panning images in Tab.
- Serilog for logging.
- SharpCompress for archives extraction.