Switch to full style
About SheepShaver, a PPC Mac emulator for Windows, MacOSX, and Linux that can run System 7.5.3 through MacOS 9.0.4.
Post a reply

Shut down SheepShaver window before running Preferences?

Thu Jan 31, 2019 3:15 am

I was experimenting with using the SheepShaver Preferences Pane in my MacOS9 system, instead of using the menus that I created with AppleScript - and I remembered why I disabled the Preferences Pane. Whenever you use the Preferences Pane, you get error messages about the Unix folder not being found, and it can be almost impossible to shut down SheepShaver. The non-technical user shouldn't have to go through this.

This is a question for kanjitalk755: Is it possible for SheepShaver to do something like this:

When the user clicks on Preferences..., display a message saying that the SheepShaver window must be closed first. Then close the main SheepShaver window and open the Preferences Pane for changes.

That way the error messages won't appear, and the changes will be ready for the next launch of SheepShaver.

Re: Shut down SheepShaver window before running Preferences?

Thu Jan 31, 2019 9:58 am

As far as I am aware, this only applies to your MacOS9 system. In a regular setup, you can change settings in SheepShaver Preferences and then quit SheepShaver and launch it again. The setup manual clearly states that SheepShaver should be quit after saving changes in Preferences. Only if a user does not quit and relaunch SheepShaver after making changes, the error that 'Unix' cannot be found appears. But one can then still dismiss the error message and quit SheepShaver in the usual ways.

The procedure you describe is not possible in a regular setup. Closing the SheepShaver window is not possible without shutting down SheepShaver. Opening the Preferences pane is not possible without SheepShaver running with its window open.

Maybe closing the Preferences pane after saving changes should quit SheepShaver.

Re: Shut down SheepShaver window before running Preferences?

Thu Jan 31, 2019 12:44 pm

Ronald P. Regensburg wrote:Maybe closing the Preferences pane after saving changes should quit SheepShaver.


That would be excellent if possible.`

Re: Shut down SheepShaver window before running Preferences?

Thu Jan 31, 2019 2:44 pm

There is more that can be improved with regard to the Preferences pane (Virtual Machine Settings window). If you put away the Settings window by minimizing it, you cannot get that window back and SheepShaver becomes unresponsive. The only way out is to force quit SheepShaver.

The minimize feature should better be disabled for that window and the "Save" button should be a "Save and quit SheepShaver" button.

Who can make that so?

Re: Shut down SheepShaver window before running Preferences?

Thu Jan 31, 2019 3:27 pm

Ronald P. Regensburg wrote:The minimize feature should better be disabled for that window and the "Save" button should be a "Save and quit SheepShaver" button.

Who can make that so?


Removing the minimize button and changing the Save button to say Save and Quit SheepShaver are trivial, and I'll be glad to send the replacement nib file.

Unfortunately, what is NOT trivial for a non-programer like me is getting the "SaveChanges" function to quit SheepShaver itself. As far I understand it (which is not very far), the QuitEmulator() function can only be sent from code that runs the SheepShaver window, not the Prefs window. I've tried various hacks that I don't understand, and none of them work.

Maybe someone with more programming experience than my kindergarten-level knowledge can do this easily?

Re: Shut down SheepShaver window before running Preferences?

Thu Jan 31, 2019 5:18 pm

From what I can see, your understanding is correct -- the prefs window is completely outside the main SheepShaver loop, which is why we have all these problems in the first place (but also why it was able to be added relatively easily in the first place). Unfortunately, breaking into the SheepShaver code means modifying platform independent code, which could cause unforeseen consequences.

All that said, my OS X coding expertise isn't much different than yours, so we'll need someone with a bit more experience to weigh in on how best to address these issues.

Re: Shut down SheepShaver window before running Preferences?

Thu Jan 31, 2019 5:22 pm

Maybe it would be possible to save the preferences in such a way that it doesn't interfere with SheepShaver itself? The extfs setting seems to be the only real problem. Why should changing extfs cause SheepShaver to think that the folder doesn't exist? Does SheepShaver check that setting repeatedly, or something of that sort?

Re: Shut down SheepShaver window before running Preferences?

Thu Jan 31, 2019 9:09 pm

Yes, that is something I have been wondering about for a long time. The preferences editor "SheepShaverPrefs" used to be a separate application that has somehow been coupled with SheepShaver. SheepShaver is supposed to read the prefs file only at launch. How then can writing a change to the prefs file while SheepShaver is running influence how SheepShaver behaves? When I make and save the same changes to the prefs file using the old SheepShaverPrefs application while SheepShaver is running, SheepShaver will continue to function normally as if the changes have not been made and there is no cannot find Unix error. Only at next launch the changed settings are used.

The buil-in prefs editor needs to be able to read the current content of the prefs file but the SheepShaver part of the combined application should be unaware of changes in the prefs file while it is running. That would be the real solution for this issue.
Last edited by Ronald P. Regensburg on Thu Jan 31, 2019 9:21 pm, edited 4 times in total.
Reason:  

Re: Shut down SheepShaver window before running Preferences?

Sat Feb 02, 2019 10:55 am

I have implemented the "Save and Quit" feature.

https://github.com/kanjitalk755/macemu

Re: Shut down SheepShaver window before running Preferences?

Sat Feb 02, 2019 12:59 pm

Thank you, kanjitalk755!

Re: Shut down SheepShaver window before running Preferences?

Sat Feb 02, 2019 3:35 pm

This certainly is an improvement. It reminds the user that he needs to shut down te emulated machine. It is not foolproof, the user can ignore the hint and click Restart or Cancel.

Re: Shut down SheepShaver window before running Preferences?

Sat Feb 02, 2019 6:01 pm

When building, you might want to remove the minimize button, because the only way to restore the Preferences Pane after minimizing is by clicking its icon on the dock - and the dock may not be visible. Here's the checkbox to clear:

Image

Re: Shut down SheepShaver window before running Preferences?

Sat Feb 02, 2019 8:00 pm

Yes, thanks. I did not realise it could be done this way. I replaced my todays build with one with disabled minimizing of the prefs pane. Another possible cause of user frustration removed. :smile:

Re: Shut down SheepShaver window before running Preferences?

Sun Feb 03, 2019 12:55 am

In accordance with the release, I have disabled the minimize button of my repo.

Re: Shut down SheepShaver window before running Preferences?

Sun Feb 03, 2019 9:09 am

Again: Thank you, kanjitalk755!
Post a reply