I believe those files do some preliminary "closing" of Puppy stuff and then relay to the /etc/rc.shutdown script.

Thanks Musher0, looks like wmpoweroff is the one I need. It seems to be located at /usr/bin/wmpoweroff. Looks like it writes to /tmp/wmexitmode.txt then links to /usr/sbin/shutdownconfig, which writes to /tmp/shutdown_results which is read after control passes back to /usr/bin/xwin which calls /sbin/poweroff which calls /etc/rc.d/rc.shutdown. Darn it - It looks circular and complex. Maybe I shouldn't fiddle with it.

What exactly do you want to do? It might be acheivable with a service script which are called with the "stop" parameter from /etc/rc.d/rc.shutdown. A lot easier than fiddling .._________________Woof Mailing List | keep the faith |

What exactly do you want to do? It might be acheivable with a service script which are called with the "stop" parameter from /etc/rc.d/rc.shutdown. A lot easier than fiddling ..

I use ThinSlacko in a "dualboot from usb" environment on the Win XP netbook that I use for work, and I'm experimenting with ways of speeding up my day by avoiding having to wait for slow shutdowns caused by slow savefile writes to usb. I think I have found one good solution here:
http://www.murga-linux.com/puppy/viewtopic.php?t=67084
but I realised I needed to be careful not to jeopardise mounted filesystems (especially my NTFS XP stuff) so I was experimenting with ways of doing a normal "proper" shutdown but without letting snapmergepuppy do it's thing. I read the posts about commenting out the snapmergepuppy lines in rc.shutdown but that became an "all or nothing" solution which took away the "automatic save at shutdown" feature completely.
I wanted to allow shutdown saves 90% of the time, but have a desktop icon for "dump_everything_and_shutdown_superquick" for the other 10% of the time.

(I have also trialled the code that inserts a gtkdialog into the shutdown process, and that works fine as long as I am watching the screen during the shutdown, but I was hoping to find a method that is just "click and run - no questions asked")

I toyed with the idea of having two versions of rc.shutdown - one unmodified, and one modified by removal of snapmergepuppy, but then discovered it wasn't as simple as using a desktop icon to call the modified version. The other processes that exist between calling wmpoweroff and handing control to rc.shutdown make it more complex than I first realised.
I've thought of writing a script to rename my proposed "rc.shutdownMODIFIED" to rc.shutdown, then including a routine to rename things back to how they were - but I have some research to do before I'm going to risk it.

Why don't you create yourself a nice little shutdown gui with a checkbox called "save session" or something, , have it checked by default, when unchecked it produces a signal and then that can create a flag in /tmp called "No_save" or whatever.

In rc.shutdown, you will see a big "case" statement with quite a few cases. Find the one "13)". Now you test for the condition of whether "/tmp/No_save" exists and if so don't run the snapmerge. Something like:

So if I understand you correctly, you are suggesting something like the following:
1) Modify rc.shutdown section 13 that you have shown, to test for the flag in /tmp (ie, doesnt proceed with snapmergepuppy if flag is set)
2) Write a script that is able to set the flag in /tmp, then calls wmpoweroff and lets it do the rest
3) Add a desktop icon labelled "immediate shutdown without save" or something and symlink it to the script.

So if I understand you correctly, you are suggesting something like the following:
1) Modify rc.shutdown section 13 that you have shown, to test for the flag in /tmp (ie, doesnt proceed with snapmergepuppy if flag is set)
2) Write a script that is able to set the flag in /tmp, then calls wmpoweroff and lets it do the rest
3) Add a desktop icon labelled "immediate shutdown without save" or something and symlink it to the script.

Something like that will work, and make sure everything gets killed and unmounted cleanly.

OK, it's taken me a few hours but I think I've made it to first base. I've got your sample code working now, but I had to add another " (in the end I figured that maybe the leading quote marks were missing from the filename). It seems to work now (just with manual creation of /tmp/No_save) so next I will work on the script to set the flag file and call wmpoweroff.

The standard Slacko was quite slow on a P450 laptop I tried it on - and verrrrrry slow to get to the desktop.
THINSlacko is stripped down, but unlikley to be significantly quicker on something as old as your kit.