Shut down SheepShaver window before running Preferences?

About SheepShaver, a PPC Mac emulator for Windows, MacOS X, and Linux that can run System 7.5.3 to MacOS 9.0.4.

Moderators: Cat_7, Ronald P. Regensburg, ClockWise

Post Reply
emendelson
Forum All-Star
Posts: 1706
Joined: Tue Oct 14, 2008 12:12 am

Shut down SheepShaver window before running Preferences?

Post by emendelson »

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.
User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Re: Shut down SheepShaver window before running Preferences?

Post by Ronald P. Regensburg »

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.
emendelson
Forum All-Star
Posts: 1706
Joined: Tue Oct 14, 2008 12:12 am

Re: Shut down SheepShaver window before running Preferences?

Post by emendelson »

Ronald P. Regensburg wrote:Maybe closing the Preferences pane after saving changes should quit SheepShaver.
That would be excellent if possible.`
User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Re: Shut down SheepShaver window before running Preferences?

Post by Ronald P. Regensburg »

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?
emendelson
Forum All-Star
Posts: 1706
Joined: Tue Oct 14, 2008 12:12 am

Re: Shut down SheepShaver window before running Preferences?

Post by emendelson »

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?
User avatar
adespoton
Forum All-Star
Posts: 4227
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: Shut down SheepShaver window before running Preferences?

Post by adespoton »

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.
emendelson
Forum All-Star
Posts: 1706
Joined: Tue Oct 14, 2008 12:12 am

Re: Shut down SheepShaver window before running Preferences?

Post by emendelson »

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?
User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Re: Shut down SheepShaver window before running Preferences?

Post by Ronald P. Regensburg »

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:  
kanjitalk755
Apple Corer
Posts: 239
Joined: Thu Nov 09, 2017 12:06 pm

Re: Shut down SheepShaver window before running Preferences?

Post by kanjitalk755 »

I have implemented the "Save and Quit" feature.

https://github.com/kanjitalk755/macemu
emendelson
Forum All-Star
Posts: 1706
Joined: Tue Oct 14, 2008 12:12 am

Re: Shut down SheepShaver window before running Preferences?

Post by emendelson »

Thank you, kanjitalk755!
User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Re: Shut down SheepShaver window before running Preferences?

Post by Ronald P. Regensburg »

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.
emendelson
Forum All-Star
Posts: 1706
Joined: Tue Oct 14, 2008 12:12 am

Re: Shut down SheepShaver window before running Preferences?

Post by emendelson »

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
User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Re: Shut down SheepShaver window before running Preferences?

Post by Ronald P. Regensburg »

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:
kanjitalk755
Apple Corer
Posts: 239
Joined: Thu Nov 09, 2017 12:06 pm

Re: Shut down SheepShaver window before running Preferences?

Post by kanjitalk755 »

In accordance with the release, I have disabled the minimize button of my repo.
User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Re: Shut down SheepShaver window before running Preferences?

Post by Ronald P. Regensburg »

Again: Thank you, kanjitalk755!
Post Reply