I just tried running MUSHclient with Wine version 0.9.29.
I'm very pleased to report that everything I tested appears to be working. (Well, granted, I didn't test very much, but still...)
The installer worked without any hitches, although I did disable the "start menu shortcuts" option.
MUSHclient itself started off just fine. I didn't test it without the /wine option.
The tips of the day box, however, was empty, but I consider that to be a very minor problem (actually I don't care about it at all, personally).
I only tried using Lua scripting, and I didn't try anything more complex than using script prefixes and tiny commands like world.Send and world.Note. But at least those working indicates that MC is able to talk to Lua. I don't have any scripts or triggers or whatnot to try out, so I didn't test any further.
I can load and save worlds. And, very usefully, I can connect to them too...
I entered my registration code and that worked just fine.
Just for kicks, I had MC display itself in the "tray" and that worked as well.
Lessee. That's pretty much what I tried. This is really great, since I was getting sick of testing MUDs by using telnet on Linux, and since Linux is my primary environment now, I'm very happy. :-)
I've been running MUSHclient on Wine 0.9.28 for a week now, and I've been happy with it as well. All my scripts have been running fine since I've converted them to Lua (slowly, since i'm still learning the language), and I've sent them to people running on Windows, and they work the same there too. In fact, the closest thing I have to a complaint is that occasional the blinking cursor just disappears, even though I have the focus always set on the input bar. It comes back if I click on the input area though, so no big deal.
My only question is about the extra dlls that can be downloaded. Will the mysql interfaces and such work? I've been doing too much script conversion to even think of testing anything I haven't done on my Windows boxes yet.
Yes, it should work (under Wine). I successfully accessed my mySQL database, using MUSHclient 3.84, Lua 5.1, and the DLL mentioned there (as well as the updated mysql.dll mentioned on http://www.gammon.com.au/forum/?id=7341).
Oh, I figured out what starts off the focus problem. Might not be a wine thing, but I can't get my windows box to connect to anything right now to test it out. When I have the infobar open, the cursor is always in there, and when I close the infobar, it doesn't always come back to the input section. Also, when I'm typing and the infobar is open, the cursor will follow along the correct column, but still be down in the infobar.
I am having one problem: at startup, the position is correctly remembered but the size is not. This is problematic because I have two monitors, and MUSHclient is on the right-hand one; but then the size is of two monitors which means I have to resize it every time I start it.
Is this a Wine issue, or is it something in MUSHclient? That is, does MUSHclient remember position but not size, or is the interaction with Wine causing the size remembering to not happen correctly?
I have had reports of problems remembering the size on 2 monitors, and as I don't have 2 monitors on my PC, I can't test this.
I think there is a check that if the saved size exceeds the boundary of the "screen" (however that is defined exactly), then it resizes it to be inside the screen.
This is to allow for the possibility that you were running MUSHclient with high resolution, and then reopen with lower (say, 640 X 480) and cannot see any of the MUSHclient window.
Ah, that makes sense. I suspect it might not be getting the first screen value correctly; it's probably getting the resolution of one monitor as opposed to the total workspace size. I am not sure to do this correctly under Windows, though; I've never really played with that part of the API. And who knows what the extra interference of Wine is adding to the equation...
Perhaps you could add an option to disallow that safety check? I never change my resolution unless I'm doing something fairly specific, in which case I would know to watch out for disappearing windows.
... it's probably getting the resolution of one monitor as opposed to the total workspace size.
I think it is getting a rectangle. My development PC is getting into the habit of turning itself off quite frequently these days so I am not using it right now.
When you have multiple monitors the viewable screen is probably not a rectangle but a region, as the sum of their viewable spaces is not necessarily a rectangle.
Thus I either have to get a visible region, or enumerate all visible rectangles, or, as you suggest, have an option to disable the test.
... at startup, the position is correctly remembered but the size is not.
I have found suggested code on MSDN that detects the multiple monitor situation and attempts to cope.
Now the "clip to monitor" algorithm first finds the monitor closes to the saved window rectangle, and attempts to put it there. If it completely fits, it should work. However this is untested as I only have one monitor.
wine 0.9.32 is out now, and I've upgraded that recently. The bulk of the work on wine has been for 3d rendering, so not terribly much has changed since 0.9.29. So far, the only problem I've noticed has been for the LoadPlugin function. MC can't seem to find the files no matter how I put them in: "QReporter.xml" "Aard/QReporter.xml" "c:\Program Files\MUSHclient\worlds\plugins\Aard\QReporter.xml" "/home/biggs/drive_c/Program Files/MUSHclient/worlds/plugins/Aard/QReporter.xml" and such. The weird thing is that I can load up plugins fine through the plugin menu, and at startup. I'm pretty sure it's just wine related.