Sharper Integration is an AppImage desktop integration program that aims for simple integration via established Linux desktop conventions.
Its features include:
- Extracts and integrates the desktop icon and desktop file from the AppImage and integrates them with the desktop.
- Registers App Images with their associated mime-types.
- Upon installation of itself, associates itself with the AppImage mime-type.
- Adds options to undo desktop integration and to update the AppImage from the menu (using AppImageUpdate or appimageupdatetool if present in the same directory as SharperIntegration).
Sharper Integration is primarily written in C#.
Download SharperIntegration from here and make it executable. Then execute the AppImage, it should prompt you to install itself.
Firejail runs AppImages within special namespaces isolated from the rest of the system. This means Sharper Integration will be prevented performing its Desktop Integration functions when run within Firejail without broader permissions granted to Sharper Integration.
- As a user, I want to be able to right-click on a program and integrate it into my desktop environment, so that I can launch it via my normal desktop conventions.
- Correct Icon must be extracted and used.
- Correct desktop file must be extracted and used, desktop file should remain the same.
- Integration must be reversible.
- Desktop file should have the option to update (if AppImageUpdate or appimageupdatetool are on the path).
- If AppImageUpdate is on the path, then that should be launched, otherwise appimageupdatetool should be used if it is on the path.
- Seamlessly integrates AppImages on launch of an AppImage.
- The desktop entry has a sane format and name.
- Some apps can't run?!
- Some apps seem to crash!?
- Doesn't seem to follow appimageupdate conventions.
- Integrates as an appimage.
- Runs as a user space service.
- Apps are automatically removed for seemingly no reason (usually related to the PATH changing).
dotnet SDK 8 or greater is required to build SharperIntegration within your normal operating environment.
To build and package SharperIntegration as an AppImage, Docker is required. Once Docker is installed, run the following command:
./build.sh
An AppImage should be produced in the ./_out
directory.
SemVer is used for versioning. For the published versions, see the tags in this repository.
This project is licensed under the GNU Lesser General Public License v3.0 - see the LICENSE file for details.
- XDG Desktop Entry Specification
- AppImageKit
- Awesome AppImage
- Dialogs are displayed using either Zenity or KDialog
- Numerous wonderful C# packages: