Let me start by saying I'm a Windows guy. I'm not always thrilled with Windows desktop iterations, and often seemingly misguided direction changes, but with a long history in Information Systems I find myself more productive on Windows. I'm also a super fanboy of the .NET framework, and other brilliant software underpinnings that Microsoft's engineers dream up (Powershell..nuff said). Don't get me wrong I like Linux, and use it in production, but mostly on headless servers running great open source software packages that either don't run on Windows or just run better on Linux. I do however, always have at least one Ubuntu desktop sitting at arms reach, where I enjoy watching the evolution of Ubuntu's Unity desktop, testing game builds, and generally just keeping a close eye because I enjoy it.
Lately I've been tinkering even more and decided to try writting a simple Ubuntu application using Mono, MonoDevelop, and GTKSharp. Since Ubuntu relies on (.desktop) text files for app icons in the Dash and Launcher, and I obtain many Linux software packages outside the Ubuntu Software Center that don't include these Ubuntu specific text files, I decided to write a simple graphical interface to create these files from user entered parameters. The software asks for a path to the program executable, icon, and Dash filter categories, then creates an {appname}.desktop text file with these parameters and saves it to /usr/share/applications/ (where all these files live). Since this path requires elevated permission, I launch the Mono application with a shell script using gksudo that provides functionality similar to a Windows UAC prompt. It includes a simple filesystem check to see if the file already exists and prompts accordingly, and if no conflicts are found the file is created and the launcher will be visible in the Dash once it's indexed (after a reboot). It's a very simple program that performs a normally tedious task on Ubunutu, and maybe a good introduction application if your interested in Mono development on Linux.
This software is not meant to be production ready, but rather a personal exercise in using Mono, MonoDevelop, and GTK Sharp to build a simple desktop application for Ubuntu based on .NET technologies. The download includes the application and source code, and you are free to use it however you like.
NOTE: While every attempt has been made to ensure the safe content and operation of these files, they are provided as-is, without warranty or guarantee of any kind. By downloading and using these files you are accepting any and all risks associated and release Crazy Minnow Studio, LLC of any and all liability.
Categories: General Discussion, Tutorials, Linux
Comments: No comments yet