Thursday, December 6, 2007

gnome-volume-manager-2.22.0

Just released gnome-volume-manager-2.22.0 - a bit early for GNOME 2.22, but seeing as how I rarely ever hack on this project anymore, I figured I should actually release a new version (last release was 2.17.0 from presumably a year or more ago).

This new release adds integration with ConsoleKit for detecting whether the user is local and whether or not he/she is active at the console.

The other major change it includes is the ability to execute autorun.exe and autorun.inf files on cdroms so long as wine is installed on the system.

I implemented this feature toward the end of the summer because I had attempted to help my grandmother migrate from Windows95 to Linux. Unfortunately, while she was OK with the GNOME desktop itself for the most part, she wasn't comfortable using OpenOffice (she wanted Microsoft Office 97) and she wanted to use the proprietary versions of Mahjongg/Sudoku/etc games that she was used to running on her old Windows95 machine. As I began to show her how to install/run Windows software under Linux using wine, I realized that the process could be a whole lot simpler/intuitive than it was by making gnome-volume-manager auto-magically run autorun.exe and autorun.inf files under wine for her when she plopped the cd into the drive.

...and the rest is, as they say, history.

2 comments:

Anonymous said...

Congrats

H. Leszek said...

You probably mean that you REimplemented the windows autorun.
See: http://bugzilla.gnome.org/show_bug.cgi?id=453266

What I can't believe is that after all this time and 2 working implementations in svn, it is still not working in the gnome release.

I just installed gnome 2.22 and noticed that it was still not working.
When I looked in the code, i noticed that some code moved from gnome-volume-manager to nautilus and then i saw this:

} else if (_check_file (root, "autorun.exe", TRUE)) {
/* TODO */
} else if (_check_file (root, "AUTORUN.EXE", TRUE)) {
/* TODO */
} else if (_check_file (root, "autorun.inf", FALSE)) {
/* TODO */
} else if (_check_file (root, "AUTORUN.INF", FALSE)) {
/* TODO */
}

so how could it be working ?

-Leszek

Code Snippet Licensing

All code posted to this blog is licensed under the MIT/X11 license unless otherwise stated in the post itself.