Sunday, July 31, 2011

Shell integration in Linux

I just published version 1.1.07 of MP3 Diags Unstable, which brings shell integration to Linux. Unlike Windows, getting this to work on Linux is trickier, because of the diversity of desktop environments and file browsers. So I'd be really surprised if this worked for everybody, but the situation can improve over time.

The program finally gets a Close button on Gnome 3, which it didn't have thus far (at any rate, it does on my virtual installation, which uses fallback mode; I don't know if that matters). It also got minimize and maximize buttons in Gnome 2 and 3.

There are some changes which affect packaging - I renamed some files to reflect that they belong to the "unstable" branch, and I also restructured the .spec file, based on feedback that I received from an anonymous user a while ago. I didn't make everything lowercase, though, as that seemed too big of a change.

These changes are Linux-specific, so there's no reason to update if you use Windows.

At the time that I write this there are no binaries with the new version at openSUSE Build Service, whose build process seems down. I'll keep trying to get the binaries to build.

Saturday, July 23, 2011

Explorer intergation and more

After a long while, MP3 Diags finally got some new features. They all revolve around using command-line arguments.

First, Michael Elsdörfer sent me some code that allowed song information to be displayed in the console, without entering the GUI mode. Then I added options to create new, GUI sessions based on parameters passed to the program. Then I used these to add the possibility to integrate MP3 Diags with the file browser (only Windows Explorer works currently, though), so now you can right-click on a folder and have it open in MP3 Diags.

These are in the unstable, 1.1 branch and are documented in the Shell integration and Advanced features pages. Download links are here. If you don't really need these features I'd suggest to continue using the stable, 1.0 branch. I'd also suggest to packagers to stick with 1.0 or at least wait for a while (or perhaps provide both - the way I package the program, the stable and unstable versions are considered unrelated applications, which can be installed in parallel without interacting). I intend to fix any bugs that are discovered in the unstable version in a timely manner, provided that I get enough information to proceed.

I haven't decided what to do next but implementing the shell integration on Linux would make sense. I could use some help in this area - links to some documentation or examples would be great, as currently I'm quite clueless about how to achieve this programmatically.

I don't know if anybody noticed but there was a 1.1.05.058 version, which didn't correctly detect if it could actually configure the explorer integration. If you downloaded it early, you should replace it with 1.1.06.059, which at least works OK for me (I said "early" because after some 10 hours I posted a fix, without changing the version number).

If you have any opinions about these features, it would be a good idea to post them to this forum page.