Amended on Mon 13 Jul 2009 10:06 PM (UTC) by Nick Gammon
Message
It is fiddly to put the toolbar details into the SQLite database, as this stuff is done by internal libraries. However it was possible to make it not use the Registry. :-)
From version 4.42 onwards, the toolbar details, and the MRU list (Most Recently Used files) are now saved in a file called MUSHclient.INI in the same directory as the working directory when MUSHclient is invoked.
To do this, I had to remove the reference to setting "Gammon Software Solutions" as the Registry key for the program.
The only problem with this is trying to migrate from earlier versions, where people may have stored extensive settings in the Registry.
The sequence at startup is now:
Open a file MUSHclient.INI in the startup directory of MUSHclient - this will be used for the toolbar locations and MRU list.
Look for the global preferences database (mushclient_prefs.sqlite) in the startup directory.
If not found, look for the global preferences database (mushclient_prefs.sqlite) in the MUSHclient application directory.
If not found in either place, create the preferences database in the startup directory AND then set the Registry to use the "Gammon Software Solutions\MUSHclient" key to try to locate existing global preferences (created by earlier versions of MUSHclient). Then copy those preferences from the Registry to the SQLite database.
Thus the net effect is that the "Gammon Software Solutions\MUSHclient" Registry key will not be created provided it finds the SQLite global preferences database.
This might seem too late to post this, now that 4.41 is out, but the toolbar details are still stored in the registry (although someone already noted this). Is there any possible way to change this and save those details in the SQLlite file?
There is a chicken-and-egg situation here. It uses the global prefs to work out where the world files are stored.
I could be remembering wrong, but I thought I could say:
MUSHClient.exe <WorldFile>
And it would open that world file, and thus be able to get the pref's DB.
But, now that I think about it, that's going to require custom shortcuts as well anyway (1 per MUD), so it's no different that changing the "Start in" portion, so...
Me? I'm placing the prefs file in the default startup location that Vista assigns a newly installed program. Maybe it is time to revisit the installer.
Quote:
the location of the pref's db being specified either (a) on the command line
I was hoping the application would behave in a reasonable way without having to use command-line arguments. Although some optional behaviour could be done that way.
Quote:
(b) in the world file itself
There is a chicken-and-egg situation here. It uses the global prefs to work out where the world files are stored.
Obviously too late for the 4.40 release, but have you considered having the location of the pref's db being specified either (a) on the command line or (b) in the world file itself. Haven't thought thru the implications of that, but (b) seems like it might solve some problems without having to mess with the shortcuts.
You know, it's kind of peaceful running Ubuntu. These 64 Mb applications that seem necessary under Windows don't exist. The OS runs smoothly and efficiently. Plus, MUSHclient works pretty well under it too. :
Anyway, that was where the prefs database went, so I suppose that is as good a place as any.
BTW I don't suppose anyone knows what "Desktop Windows Manager" is? That is using 64 Mb of memory and my hard disk is going crazy.
I don't know what it thinks it is managing, but I remember when Windows 3.1 only needed 4 Mb of RAM to install. Now a single part of Windows uses 64 Mb. Plus, another 18 Mb for Windows Explorer, and another 17 Mb for Windows Sidebar.
I recently found that Vista has decided to rename its default fonts that everyone uses, so if a Vista user sends a Word document to someone who has a Mac, they won't have the fonts (Helvetica or something that everyone uses). Their new names are Constantia, Corbel, Calibri, Cambria, Candara, Consolas, I think.
So that is a pest if you don't have Vista, *and* Microsoft don't make them available from their site, *and* they serve a "take down" notice on you if you try to publish them elsewhere. Oh well.
Well, for as far I know, the purpose of %APPDATA% has always been to provide a place for applications to store user-specific data that they do not need to take notice of. E.g. the under-the-hood stuff. Preferences come to mind, cached datastuffies, etc. World files would logically belong under (My) Documents, or some special subfolder.
Don't get me started on that subject, btw. Not only does stuff keep moving around with every other version of windows, it also keeps changing names. Drives me nuts, and as such I simply use C:\Files. Aah. :)
While we are at it, can we store world files (and anything else that MUSHclient needs to write to) in a place other than Program Files, perhaps based on the same scheme Worstje is mentioning? The reason for this is that an increasingly larger number of users are using Vista, and it's becoming very commonplace to see questions on the MUD I play asking why they can't save their world files.
.. No. As I said - when run from Program Files. Eg.. non-portable installation. If you want MUSH to be portable, you wouldn't install it in Program Files in the first place.
Program Files? %APPDATA%\MUSHclient\prefsfile.sqlite
Elsewhere? %MUSHCLIENT% directory.
The dates and times for posts above are shown in Universal Co-ordinated Time (UTC).
To show them in your local time you can join the forum, and then set the 'time correction' field in your profile to the number of hours difference between your location and UTC time.