Ciao, io per la grafica sono negato, quello che sono riuscito a fare è quello che vedi in allegato...non mi offendo se dici che schifo... :-)
Riguardo l'apertura del browser, il codice postato da Giulio ha una variabile non definita: Browser. Prova a dargli un'occhio...
PUBLIC SUB OpenWebPage(sLink AS String)
DIM sExec AS String
DIM aTest AS String[]
DIM bCheck AS Boolean
DIM hFirefox AS Process
IF NOT Browser THEN
SELECT CASE Settings["/Browser"]
CASE "konqueror"
aTest = ["konqueror"]
CASE "epiphany"
aTest = ["epiphany"]
CASE "firefox"
aTest = ["firefox", "mozilla-firefox"]
CASE "seamonkey"
aTest = ["seamonkey"]
CASE ELSE
aTest = [Application.Env["BROWSER"]]
IF Application.Env["KDE_FULL_SESSION"] THEN
aTest.Add("konqueror")
ELSE IF Application.Env["GNOME_DESKTOP_SESSION_ID"] THEN
aTest.Add("epiphany")
aTest.Add("firefox")
ENDIF
END SELECT
aTest.Add("konqueror")
aTest.Add("mozilla-firefox")
aTest.Add("firefox")
aTest.Add("mozilla")
aTest.Add("seamonkey")
aTest.Add("opera")
FOR EACH sExec IN aTest
bCheck = NOT CheckProgram(sExec)
IF bCheck THEN BREAK
NEXT
IF NOT bCheck THEN RETURN
Browser = sExec
ENDIF
IF Left(sLink) = "/" THEN
sLink = "http://" & Replace(sLink, "?", "%3F")
ENDIF
IF Browser = "firefox" THEN
hFirefox = SHELL "firefox -remote " openURL(" & sLink & ", NEW - window)"" WAIT
IF hFirefox.Value = 2 THEN
SHELL Browser & " " & Chr$(34) & sLink & Chr$(34)
END IF
ELSE
SHELL Browser & " " & Chr$(34) & sLink & Chr$(34)
END IF
CATCH
Message.Error(Error.Text)
END
EDIT: nei sorgenti che allego ho implementato anche delle funzioni della Guida, a puro titolo di prova per ora...ditemi cosa ne pensate e se è tutto ok...bisognerebbe cercare di rendere espandibile la casella di scelta dell'argomento, ma - mi vergogno a dirlo - non so che controllo utilizzare!