#Help w/WShell 2.0
23 messages in this thread
Bill,
OK, I need help! I'm not sure about setting up my startup for
WShell 2.0. I dismount con: and then use dhopts to mount pip: and con: and
set up the cnc-menus menu file. Then I open a NewWsh with FROM
s:user-startup to finish up the rest of my normal startup stuff. I follow
that with the line to make the wshellseg resident. I get an error message
that the handler is already running. I use the "shell" name for the
wshellseg to replace the normal shell with WShell, per the example
mountlist. What have I done wrong?
Second, when I open my NewWsh I use the MENU switch to load in the
cnc-menus which works fine, the menus show up with no problem. But I don't
quite understand how to reload the menu file if I then make changes to it.
I want to experiment with different menu lines, either to add or delete or
modify, then reload the menus without having to reboot, but I don't seem to
be able to figure out what to do that works. Help!
Steven,
I'm not sure what you mean by the error message that "the handler is
already running." Can you repeat the exact text of the message? What line
in the startup actually causes it?
To paly around with building menus, it helps to have a shell open but with
no menus attached. Load the modified menu file using the DHOpts command
with the REPLACE option, and then start up the shell with the MENU option
specified in the console definition. Check out the new menus; if you want
to make further changes, close down that shell and go back to the one
without menus.
It's really only necessary to have the menu you're changing not be in use;
you can load the menu and give it a trial name with the DHOpts NAME option.
-Bill
Bill,
The message is WARNING:resident process already loaded. I'm not
sure of the exact words, but that's pretty close. The startup looks like:
assign dismount con:
dhopts con:0/11/640/200/DisplayHandler!/NOCLOSE MENU s:CNC-Menus
sys:newwsh con:0/11/640/200/MainCLI/menu#cnc-menus FROM
s:user-startup
resident shell l:wshellseg system pure
I'm not sure which line produces the warning. I essentially took this from
the example startup on the distribution diskette.
I think I understand about the menus. I actually have a
"permanent" shell running from which my user-startup is executed, so I
can't close it down because several processes are "attached" to the shell
and are running in the background. I would have to open a second shell and
attach menus to it in order to close it down and change the menus, if I
understand your explanation correctly.
The way I typically ran under 1.3 was to do the startup-sequence,
then close the Amiga CLI and keep a WShell open as a permanent CLI for
normal operation. I like to keep a CLI always open so I can easily work
from either a CLI or Workbench. BTW can menu items which run programs have
multiple commands on a line? For instance, could I do something like:
"cd work: ; run progname*N"
Is pathman rendered obsolete by 2.0? I see that the assign command now
accepts multiple directories. — Art
Art,
The multiple-assign's in 2.04 work for some programs, but are not as
transparent as one would like — a lot of programs will not find a file
located in a second or subsequent directory of a multi-assign. PathMan has
yet to fail to work as advertised. It's definitely not obsolete. It's a
necessity.
– BobR
Bob –
> The multiple-assign's in 2.04 work for some programs, but are not as
> transparent as one would like — a lot of programs will not find a file
> located in a second or subsequent directory of a multi-assign.
What _I_ find frustrating is that even programs like the Amigados "List"
that came with 2.04 doesn't look in the second directory of a multi-assign!
I have ProPage, and it has it's own set of fonts which I keep in a
directory in my ProPage directory. I add this directory to the FONTS:
assign during my startup-sequence, and when I go to the font requestor, it
shows stuff in the added directory as well as the initial fonts: directory.
I'll try it with something else and see what happens.
– db —–> via Whap!
Yes, this was a complaint that we had when we wrote the code originally.
Almost all of the programs received bug reports complaining about not
working with the multiple assigns. Alas, this is a problem that needs to
be dealt with at the Dos level if it is to be fixed correctly.
John –
With many programs, including c-directory ones distributed with 2.04, not
working properly with multiply-assigned directories, the logical approach,
IMHO, is simply to forget that I can even MAKE multiply-assigned
directories, and use the same work-arounds I was used to.
This should REALLY be fixed!
. . . . . JimDoc
No argument on it being fixed.
Actually, an industrious programmer could make it work by SetFunction()ing
Examine/ExNext to handle the case of multiply-assigned directories.
John A. Toebes, VIII – via Whap!
John –
> …an industrious programmer could make it work by SetFunction()ing
> Examine/ExNext to handle the case of multiply-assigned directories.
Fortunately, or un- , no one is likely to mistake me for a programmer, (or,
generally speaking, for industrious!) <grin>. Nice to know it won't be
hard to fix, tho'…
. . . . . JimDoc
Did I make the mistake of implying that it was *simple*? Sigh, the old age
is starting to get to me. Next thing you know, my eye sight will go and I
won't see the 2.0 RKMs. 🙂 😉 🙂
Who knows, inside of everyone is a programmer just waiting to write some
Cobol code…
John A. Toebes, VIII – via Whap!
John –
RE: Old age… The first two things to go with age are sex drive… I
forget the other one. 9-)
– Nelson …
– via Whap!
After programming for awhile in COBOL in the past, I believe wanting to
program in Cobol is a sign of old age. But then if COBOL was available for
the Amiga, then maybe the machine would boom as a business platform. But I
doubt it. 🙂
—Mike,
Now there's an interesting thought. But how do you plan on handling the
case where someone "CD"s to such a place?
(It took me a while to remember what this thread was in reference to. If
only Whap could keep a history of messages online…)
When you CD to a path assigned directory, it does a duplock on the
directory. You will have to setfunction duplock to recognize this
case and do something special. Normally, the packet would be sent to
the first entry on the chain. As I said originally, a Creative
programmer could do it. I didn't say that it was a sane thing to do
(although it does seem to be an interesting challenge).
No, not completely. 2.0 Paths are a much different beast than Pathman.
Both have their uses (being diplomatic here).
John A. Toebes, VIII – via Whap!
Can you elaborate? How do ASSIGN and the PATH: device differ. Honestly,
if ASSIGN will work for my purposes (mostly, multiple drawers for REXX:)
I'd prefer to get the Tao: icon off my WB. — Art
Assign should work fine for multiple Drawers for REXX: or any of the other
system assigns where all that is done is a simple test to locate an item.
However, be aware that Assigns fail for anything that wants to do directory
operations because of how it is implemented. Bill has done a good job on
Pathman to make it handle the multiple directory case, but there are a
number of programs out there that will not operate correctly in its
presense. One such example is some editors that attempt to create backup
files for the file you are changing.
Technically, the difference between the two is that Pathman is another
handler which forwards all packets to the target device. ASSIGN does its
magic inside DOS by implementing a new type of assign path.
John A. Toebes, VIII – via Whap!
It seems like I have also noticed a problem with ASSIGN and multiple
directories. I would assign extra REXX: directories with ASSIGN ADD but
AREXX would not find scripts in any directory except the first assigned. I
started a small discussion on this on USENET 4 or 5 months ago and others
reported seeing the same behavior.
—Mike,
Art,
You'll find that the multi-assigns supported by AmigaDOS 2.0 don't work
nearly as well as WShell's PathHandler. The implementation is flawed (but
fixable) in that references to foo:bar aren't equivalent as being CD'd to
foo: and referencing bar.
The ability to list concatenated directories with the PathHandler is also
not supported in multi-assigns.
-Bill
Thanks. I guess the story is if it ain't broke don't fix it. Pathman it's
been, so pathman it'll stay. Can I create a Yin/Yang icon as
Tao:disk.info? 🙂
BTW, I emailed you an order for WShell 2.0. via CIS. Did you recieve it?
— Art
Art,
To redefine the Tao: icon, you need to use a trick. Put the desired icon
file on one of your mounted volumes and assign disk.info: to the file. When
Workbench asks for Tao:disk.info, the PathHandler transforms it as a
implicit reference to the disk.info: file. The trick is necessary as it's
not possible to store a file on the PathHandler, only directories.
-Bill