As far as I know it just shows the splash logo while odyssey is booting, something for amiga users to see so they know it's started and don't try running it ten times more until something happens.
Amiga users are too used to their software opening in under a second as most does, programs that don't give a window with a bar showing you how far they've got (yam and dopus5 for example) unlike sitting in front of a mac and watching the spinning pizza of despair for what seems like several hours before anything shows up.
Amiga user since 1985 AOS4, A-EON, IBrowse & Alinea Betatester
In addition to what Severin said, you should be able to use C:URLOpen to do what you wanted after configuring Odyssey in SYS:Prefs/URL, but maybe OpenURL would be better for you, since there doesn't appear to be any way to specify which browser you want to use with URLOpen; it just pops up a requester and asks you. Perhaps you can remove all but one browser from the prefs (haven't tried this).
@JosDuchIt OdysseyLauncher appears to be a general purpose splash launcher that is adapted for use with Odyssey. If you check the version of OdysseyLauncher with the AmigaDOS "Version" command you will see "SplashLauncher 1.6". You could change the TOOLTYPES in the icon and rename it for use as a splash launcher for a different application.
Amiga X1000 with 2GB memory & OS 4.1FE + Radeon HD 5450
@xenic What it OUGHT to do, but I don't think it does, is detect if Odyssey is already running & send ARexx messages to it instead of opening a second copy of Odyssey.
I've been meaning to write something like that myself, but keep forgetting...
What it OUGHT to do, but I don't think it does, is detect if Odyssey is already running & send ARexx messages to it instead of opening a second copy of Odyssey.
That's what "OpenURL" does. It checks if a browser is already open and if so, sends the URL to the open browser with ARexx. If you install "OpenURL" and set the prefs correctly, then all you need is a one-line script that calls "C:OpenURL". On my system I have "C:OpenURL" set as the browser in OS4 SYS:Prefs/URL so that all calls to URLOpen or URL: will be forwarded to OpenURL; which will send the URL to the browser with ARexx if it is already open.
Amiga X1000 with 2GB memory & OS 4.1FE + Radeon HD 5450
@xenic Yes, but OpenURL is no-longer the official AmigaOS4 solution, and was replaced (for better or worse) by URLOpen.
URLOpen does not support sending ARexx messages (as you know). Some people (inc myself) complained about this at the time, and were told that the OS4 devs considered such things to be ugly kludges (or something along those lines), and that it was up to the program to correctly handle multiple instances (by sending it's own ARexx messages or whatever).
I've come to believe this is better than the OpenURL solution, even though it's not how Amiga programs have historically done it. It makes a lot of sense, because there is FAR less complexity involved for the user when setting-up a new program (just one Shell command, without all the extra ARexx commands, ports & associated options).
On the downside, no-one (as far as I know) has actually yet used URLOpen like they are supposed to. (I haven't checked NetSurf, so apologies to Chris Young if he's done this.)
URLOpen does not support sending ARexx messages (as you know). Some people (inc myself) complained about this at the time, and were told that the OS4 devs considered such things to be ugly kludges (or something along those lines), and that it was up to the program to correctly handle multiple instances (by sending it's own ARexx messages or whatever).
Personally, I'm more concerned about how well a program works than than how 'pretty' the code is. How will 'the program' determine what browser the user wants to use?? Even if the program could determine the browser in use it would need to contain the AREXX port names and commands for all the Amiga browsers. If the OS4 devs think it's better to have all the same code duplicated in every program or script that needs to open a URL in a browser instead of having it all consolidated in a single application then I think they are misguided.
Quote:
I've come to believe this is better than the OpenURL solution, even though it's not how Amiga programs have historically done it. It makes a lot of sense, because there is FAR less complexity involved for the user when setting-up a new program (just one Shell command, without all the extra ARexx commands, ports & associated options).
I don't understand why the URLOpen command is "FAR less complex" than the OpenURL command. OpenURL has prefs similar to OS4 URL Prefs and there is just one shell command or a library function call from within a program binary. The only real difference is that OpenURL will send the the URL to a browser with ARexx if the browser is already open. The prefs browser commands are actually simpler in OpenURL prefs.
You need to set a seperate command for files in URL prefs. OpenURL will automatically use "file://" if you use the FILE argument. OpenURL will also add http protocol if it's not included in the command argument. For example, on my system entering "openurl www.amigans.net" will open a new tab in my browser containing the Amigans main page.
I have my OS4 URL Prefs browser commands set to: OpenURL "*"file:///%s*"" for files. OpenURL "*"http://%s*"" for HTTP. Both an OpenURL command or URLOpen command will open in a new tab in my browser if it's already open. If I want to switch browsers for URL opening I just change the OpenURL prefs and both URLOpen and OpenURL will use the same browser setting.
Amiga X1000 with 2GB memory & OS 4.1FE + Radeon HD 5450
@Severin if you prefer using your own scripts that's fine too. Personally I would prefer to D/L OpenURL, click install and add Odyssey to the default prefs for the other Amiga browsers. It would be even easier if the OpenURL maintainer would add Odyssey to the default prefs.
Amiga X1000 with 2GB memory & OS 4.1FE + Radeon HD 5450
But then you're missing all the fun, fiddling with scripts and customizing is the amiga way. People are getting to lazy to think with other OS's doing everything for them (usually forcing them to do it their way or not at all).
Solving little things like this is a good introduction to using arexx scripts, it might be a challenge but the user will learn things which will help solving other problems.
Amiga user since 1985 AOS4, A-EON, IBrowse & Alinea Betatester
Personally, I'm more concerned about how well a program works than than how 'pretty' the code is.
You misunderstood me. I never claimed that the underlying code was ugly. By "ugly kludge" I meant the way OpenURL works (at the level the user can see & at the level they have to configure).
Quote:
How will 'the program' determine what browser the user wants to use??
You again misunderstood me. (This time I have to wonder if you were paying attention to what I said in two of my earlier posts.)
The whole design of URLOpen is that if it tells "Browser X" to open a URL, then it is up to Browser X to check for multiple instances of itself & send itself ARexx messages if required. In the case of Odyssey, it makes most sense to do this in OdysseyLauncher, since that starts quickly (while the main program does not).
Quote:
I don't understand why the URLOpen command is "FAR less complex" than the OpenURL command.
That's easy to explain! With OpenURL, the user needs to supply 5 or 6 pieces of info to tell (for example) Odyssey how to open a URL: 1. AppDir:Odyssey "%u" 2. ODYSSEY (ARexx port) 3. SHOW 4. SCREENTOFRONT 5. OPEN NAME="%u" 6. OPEN NAME="%u" NEWPAGE
On the other hand, with URLOpen the user only needs to supply one piece of info: 1. APPDIR:Odyssey "*"http://%s*""
This of course relies upon Odyssey(Launcher) to know what ARexx port it uses & what ARexx commands it supports. Which seems reasonable, I think, even if it isn't what actually happens at the moment (consider this a bug of the OS4 port of Odyssey!).
edit: OK, I see what you mean about URLOpen requiring duplicate information for handling https, http & file protocols. That does seem a silly oversight, but it could easily be improved & does not challenge the underlying differences in how URLOpen & OpenURL work (the latter requires lots of non-obvious ARexx info that the former doesn't).
Edited by ChrisH on 2016/6/30 10:00:33 Edited by ChrisH on 2016/6/30 10:01:15 Edited by ChrisH on 2016/6/30 10:02:42 Edited by ChrisH on 2016/6/30 10:03:20
You misunderstood me. I never claimed that the underlying code was ugly. By "ugly kludge" I meant the way OpenURL works (at the level the user can see & at the level they have to configure).
I didn't misunderstand you; I just provided an misleading response. What I should have said was: Personally, I'm more concerned about how well a program works than how 'functionally elegant' the program is. Quote:
You again misunderstood me. (This time I have to wonder if you were paying attention to what I said in two of my earlier posts.)
The whole design of URLOpen is that if it tells "Browser X" to open a URL, then it is up to Browser X to check for multiple instances of itself & send itself ARexx messages if required. In the case of Odyssey, it makes most sense to do this in OdysseyLauncher, since that starts quickly (while the main program does not).
Yes, there does seem to some misunderstanding. Most of the posts in this topic seem to be suggesting alternative methods for opening a URL in an already open browser that could be applied to all Amiga browsers while you seem to be suggesting that a splash window program should be changed to open a URL in a single browser. Quote:
That's easy to explain! With OpenURL, the user needs to supply 5 or 6 pieces of info to tell (for example) Odyssey how to open a URL
That's not completely accurate. If you only enter the browser startup information (path to browser & URL) and leave the ARexx stuff blank, OpenURL will always open a new browser window like URLOpen does. The ARexx data is optional for those who would prefer that a URL be opened in an already open browser window.
I searched the Odyssey sources and did not find OdysseyLauncher. It appears to be a seperate splash window startup program adapted to Odyssey and added to the Odyssey distribution for the convenience of users who want a splash window. If you want additional functionality then I think it would need to be replaced by another program or script.
I still think adding ARexx capability to URLOpen would be a less "awkward kludge" than forcing users to write an ARexx script for each Amiga Browser or installing OpenURL and having URLOpen call OpenURL like I've done.
Amiga X1000 with 2GB memory & OS 4.1FE + Radeon HD 5450
Arexx for odyssey would not be simple as it can be run multiple times, each with it's own arexx port.
That's not to mention the fact that each copy has it's own prefs and unless you think ahead and set the prefs for several copies, you might be surprised when Odyssey opens with default settings you weren't expecting. In fact, that's exactly what happens if you use URLOpen without changing it's prefs to call scripts or in my case forward the URL to OpenURL.
Quote:
Which port should be used if multiple ports are found?
In the case of OpenURL you enter "ODYSSEY" (without a number) in the OpenURL prefs and it will use the first port it finds. In the case of your scripts, I guess you would need to check for Odyssey ports with several different numbers and use the first one you find.
Quote:
How does a user tell which port is for which window?
You would need yet another requester to guess which port to use.
Or use the first port found as I mentioned above. I think that using the first port found makes more sense than asking the user for a port name when he may not even know what the port names are; let alone which one corresponds to which window. I consider the inability to distinguish port names for various copies of Odyssey to be a weakness. I have other programs that display the port name in the window dragbar and I think that any program with an ARexx port that can be run multiple times should do the same; Display the port name in the Window DragBar or another empty space in the window.
Amiga X1000 with 2GB memory & OS 4.1FE + Radeon HD 5450
Most of the posts in this topic seem to be suggesting alternative methods for opening a URL in an already open browser that could be applied to all Amiga browsers while you seem to be suggesting that a splash window program should be changed to open a URL in a single browser.
You are focussing too much on the details & failing to see the big picture. My suggestion is ideally suited to all Amiga Browsers:
OdysseyLauncher only exists as a PROXY for Odyssey, because Odyssey takes ages for OS4 to load & you cannot tell it is doing anything until OS4 has finished loading Odyssey's executable.
What I suggested for OdysseyLauncher can JUST AS WELL be applied to NetSurf, etc, without the need for a separate Launcher. e.g. I don't know if this is how NetSurf works, but it is easy to imagine that if NetSurf is already running, and URLOpen calls NetSurf with a new URL, this second NetSurf command could see that NetSurf is already running, and simply send it an ARexx message telling it to open the given URL. The second NetSurf command would then quit (without ever opening any windows itself).
Quote:
If you want additional functionality then I think it would need to be replaced by another program or script.
I'd always intended to do something like this, but didn't get around to it until now. Was a nice distraction
Quote:
I still think adding ARexx capability to URLOpen would be a less "awkward kludge" than forcing users to write an ARexx script for each Amiga Browser or installing OpenURL and having URLOpen call OpenURL like I've done.
That's because you still don't seem to fully understand what I'm trying to suggest. Hopefully my NetSurf example has enlightened you a bit? i.e. There is NO need for users to write an ARexx script for each Amiga Browser nor install OpenURL... as long as each Amiga Browser is fixed to work correctly with AmigaOS4.1 .
P.S. Without wishing to confuse you, I should point out that "the URLOpen way" is simpler for developers & more future-proof, because it does not enforce the use of an ARexx port (like OpenURL does). Instead it leaves it up to each browser/etc how it communicates with multiple instances. Instead of the complexity of an ARexx port, you could just use a simple Exec port. And if ARexx ever gets replaced by something more modern, the developer can choose to use that instead. No need to add even more options to OpenURL!
Edited by ChrisH on 2016/6/30 23:08:47 Edited by ChrisH on 2016/6/30 23:09:50 Edited by ChrisH on 2016/6/30 23:10:52 Edited by ChrisH on 2016/6/30 23:15:35
Using the first port it finds is never a good idea, you should use the highest port number. For example, a second copy has been started because the first has crashed or locked up etc. so pumping new files and the dead version won't do a lot.
@ChrisH
I was just pointing out the odyssey port problems as IBrowse and Netsurf don't allow multiple copies.
Amiga user since 1985 AOS4, A-EON, IBrowse & Alinea Betatester