[ANN] launchy 0.1.2 Released

Discussion in 'Ruby' started by Jeremy Hinegardner, Aug 12, 2007.

  1. launchy version 0.1.2 has been released.

    http://copiousfreetime.rubyforge.org/launchy/

    Example:

    Launchy.do_magic("http://www.rubyforge.org")

    or

    Launchy::Spawnable::Browser.new.visit("http://www.ruby-lang.org/")

    Launchy is helper class for launching cross-platform applications in a
    fire and forget manner.

    There are application concepts (browser, email client, etc) that are common
    across all platforms, and they may be launched differently on each
    platform. Launchy is here to make a common approach to launching
    external application from within ruby programs.

    {{ Changelog for Version 0.1.2 }}

    === Version 0.1.2 - 2007-08-11

    * first publicly announced release
    * make forked child exit without calling at_exit handlers

    enjoy,

    -jeremy

    --
    ========================================================================
    Jeremy Hinegardner
    Jeremy Hinegardner, Aug 12, 2007
    #1
    1. Advertising

  2. Jeremy Hinegardner

    Trans Guest

    Re: launchy 0.1.2 Released

    On Aug 11, 11:51 pm, Jeremy Hinegardner <>
    wrote:
    > launchy version 0.1.2 has been released.
    >
    > http://copiousfreetime.rubyforge.org/launchy/
    >
    > Example:
    >
    > Launchy.do_magic("http://www.rubyforge.org")
    >
    > or
    >
    > Launchy::Spawnable::Browser.new.visit("http://www.ruby-lang.org/")
    >
    > Launchy is helper class for launching cross-platform applications in a
    > fire and forget manner.
    >
    > There are application concepts (browser, email client, etc) that are common
    > across all platforms, and they may be launched differently on each
    > platform. Launchy is here to make a common approach to launching
    > external application from within ruby programs.
    >
    > {{ Changelog for Version 0.1.2 }}
    >
    > === Version 0.1.2 - 2007-08-11
    >
    > * first publicly announced release
    > * make forked child exit without calling at_exit handlers
    >
    > enjoy,


    Looks very interesting. I might use this on one of my projects. Some
    thoughts/questions:

    * This is clearly useful for launching a browser. (which is what I
    could use it for). But will it really be useful for anything else?
    Maybe I can see launching an email program, but I'm not even sure
    about that.

    * How does it deal with a systems that have more than one browser
    installed? Which browser does it choose?

    * What is Launchy::Specification for, how is it used?

    * If I may make a suggestion... I think the API would be nicer if you
    did without the Spawnable namespace. Just Launchy::Browser would be
    much nicer.

    Nice work!
    T.
    Trans, Aug 12, 2007
    #2
    1. Advertising

  3. Re: launchy 0.1.2 Released

    Trans wrote:
    > On Aug 11, 11:51 pm, Jeremy Hinegardner wrote:


    > > launchy version 0.1.2 has been released.
    > >
    > > Launchy is helper class for launching cross-platform applications in a
    > > fire and forget manner.

    >
    > * How does it deal with a systems that have more than one browser
    > installed? Which browser does it choose?


    According to the documentation on the homepage:
    APP_LIST = { :windows => %w[ firefox iexplore ], :darwin => %w[ open ],
    :nix => %w[ firefox ], :unknown => [], }
    So on OSX it uses the default browser and on any other system firefox, if
    installed, or IE or nothing. I have to say, I find that somewhat suboptimal.
    Certainly it's possible to detect the default browser on Windows, KDE and
    GNOME, too, right? (Although, of course, it's still possible that someone
    has neither KDE or GNOME installed or that he has both and is running neither,
    which would make it hard to choose which default browser to use on *nix).


    --
    NP: Adema - Do What You Want To Do
    Jabber:
    ICQ: 205544826
    Sebastian Hungerecker, Aug 12, 2007
    #3
  4. Re: launchy 0.1.2 Released

    Le dimanche 12 ao=FBt 2007 11:53, Sebastian Hungerecker a =E9crit=A0:
    > Trans wrote:
    > > On Aug 11, 11:51 pm, Jeremy Hinegardner wrote:
    > > > launchy version 0.1.2 has been released.
    > > >
    > > > Launchy is helper class for launching cross-platform applications in a
    > > > fire and forget manner.

    > >
    > > * How does it deal with a systems that have more than one browser
    > > installed? Which browser does it choose?

    >
    > According to the documentation on the homepage:
    > APP_LIST =3D { :windows =3D> %w[ firefox iexplore ], :darwin =3D> %w[ ope=

    n ],
    >
    > :nix =3D> %w[ firefox ], :unknown =3D> [], }
    >
    > So on OSX it uses the default browser and on any other system firefox, if
    > installed, or IE or nothing. I have to say, I find that somewhat
    > suboptimal. Certainly it's possible to detect the default browser on
    > Windows, KDE and GNOME, too, right? (Although, of course, it's still
    > possible that someone has neither KDE or GNOME installed or that he has
    > both and is running neither, which would make it hard to choose which
    > default browser to use on *nix).


    So, it won't work on my computer, since I run linux without firefox install=
    ed.=20
    Under Windows, there is a default browser that can be set by the user, it=20
    would be great to use this one, though I don't know how to get it. Maybe fr=
    om=20
    the registry ?
    Under *nix, there is a BROWSER environement variable (but it is not often=20
    correctly set, unfortunately).
    Also, there should be Mozilla in the executable list, as the default after=
    =20
    firefox.
    But the best for me would be that konqueror is used as the browser, with yo=
    ur=20
    lib, since I run KDE. You can detect this from the env variable=20
    DESKTOP_SESSION which is set to "kde".

    =2D-=20
    Olivier Renaud
    Olivier Renaud, Aug 12, 2007
    #4
  5. Re: launchy 0.1.2 Released

    Am Sonntag, den 12.08.2007, 19:41 +0900 schrieb Olivier Renaud:
    > Le dimanche 12 août 2007 11:53, Sebastian Hungerecker a écrit :
    > > Trans wrote:
    > > > On Aug 11, 11:51 pm, Jeremy Hinegardner wrote:
    > > > > launchy version 0.1.2 has been released.
    > > > >
    > > > > Launchy is helper class for launching cross-platform applications in a
    > > > > fire and forget manner.
    > > >
    > > > * How does it deal with a systems that have more than one browser
    > > > installed? Which browser does it choose?

    > >
    > > According to the documentation on the homepage:
    > > APP_LIST = { :windows => %w[ firefox iexplore ], :darwin => %w[ open ],
    > >
    > > :nix => %w[ firefox ], :unknown => [], }
    > >
    > > So on OSX it uses the default browser and on any other system firefox, if
    > > installed, or IE or nothing. I have to say, I find that somewhat
    > > suboptimal. Certainly it's possible to detect the default browser on
    > > Windows, KDE and GNOME, too, right? (Although, of course, it's still
    > > possible that someone has neither KDE or GNOME installed or that he has
    > > both and is running neither, which would make it hard to choose which
    > > default browser to use on *nix).

    >
    > So, it won't work on my computer, since I run linux without firefox installed.
    > Under Windows, there is a default browser that can be set by the user, it
    > would be great to use this one, though I don't know how to get it. Maybe from
    > the registry ?
    > Under *nix, there is a BROWSER environement variable (but it is not often
    > correctly set, unfortunately).
    > Also, there should be Mozilla in the executable list, as the default after
    > firefox.
    > But the best for me would be that konqueror is used as the browser, with your
    > lib, since I run KDE. You can detect this from the env variable
    > DESKTOP_SESSION which is set to "kde".
    >


    Under GNOME the gconf key /desktop/gnome/url-handlers/http/command
    contains the default browser.

    Cheers
    detlef
    Detlef Reichl, Aug 12, 2007
    #5
  6. Re: launchy 0.1.2 Released

    > But the best for me would be that konqueror is used as the browser, with
    > your lib, since I run KDE. You can detect this from the env variable
    > DESKTOP_SESSION which is set to "kde".


    I answer to myself :
    DESKTOP_SESSION doesn't seem to be reliable, since its values are not standard
    (and often is equal to "default").
    So, maybe the best bet is to check the existence of KDE_SESSION_UID or
    GNOME_SESSION_ID, to know which desktop is run, if any.

    By the way, I was looking for the equivalent of OSX's "open" and
    Windows' "start" under *nix. There is the command "xdg-open" from the
    freedesktop project, which does just that. It's already on my system, maybe
    it is already widely installed on systems that follow freedesktop guidelines.

    --
    Olivier Renaud
    Olivier Renaud, Aug 12, 2007
    #6
  7. Re: launchy 0.1.2 Released

    --=-BhlAacdoJpnMT2CskNrb
    Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature";
    boundary="=-gSxCo0hhDUjaOXdOACVa"


    --=-gSxCo0hhDUjaOXdOACVa
    Content-Type: text/plain; charset=utf-8
    Content-Transfer-Encoding: quoted-printable

    On Sun, 2007-08-12 at 19:46 +0900, Detlef Reichl wrote:
    > Am Sonntag, den 12.08.2007, 19:41 +0900 schrieb Olivier Renaud:
    > > Le dimanche 12 ao=C3=BBt 2007 11:53, Sebastian Hungerecker a =C3=A9crit=

    :
    > > > Trans wrote:
    > > > > On Aug 11, 11:51 pm, Jeremy Hinegardner wrote:
    > > > > > launchy version 0.1.2 has been released.
    > > > > >
    > > > > > Launchy is helper class for launching cross-platform applications=

    in a
    > > > > > fire and forget manner.
    > > > >
    > > > > * How does it deal with a systems that have more than one browser
    > > > > installed? Which browser does it choose?
    > > >
    > > > According to the documentation on the homepage:
    > > > APP_LIST =3D { :windows =3D> %w[ firefox iexplore ], :darwin =3D> %w[=

    open ],
    > > >
    > > > :nix =3D> %w[ firefox ], :unknown =3D> [], }
    > > >
    > > > So on OSX it uses the default browser and on any other system firefox=

    , if
    > > > installed, or IE or nothing. I have to say, I find that somewhat
    > > > suboptimal. Certainly it's possible to detect the default browser on
    > > > Windows, KDE and GNOME, too, right? (Although, of course, it's still
    > > > possible that someone has neither KDE or GNOME installed or that he h=

    as
    > > > both and is running neither, which would make it hard to choose which
    > > > default browser to use on *nix).

    > >=20
    > > So, it won't work on my computer, since I run linux without firefox ins=

    talled.=20
    > > Under Windows, there is a default browser that can be set by the user, =

    it=20
    > > would be great to use this one, though I don't know how to get it. Mayb=

    e from=20
    > > the registry ?
    > > Under *nix, there is a BROWSER environement variable (but it is not oft=

    en=20
    > > correctly set, unfortunately).
    > > Also, there should be Mozilla in the executable list, as the default af=

    ter=20
    > > firefox.
    > > But the best for me would be that konqueror is used as the browser, wit=

    h your=20
    > > lib, since I run KDE. You can detect this from the env variable=20
    > > DESKTOP_SESSION which is set to "kde".
    > >=20

    >=20
    > Under GNOME the gconf key /desktop/gnome/url-handlers/http/command
    > contains the default browser.


    Calling gnome-open with the URL accomplishes the goal more easily.


    Cheers,
    Daniel Schierbeck

    --=-gSxCo0hhDUjaOXdOACVa
    Content-Type: application/pgp-signature; name=signature.asc
    Content-Description: This is a digitally signed message part
    Content-Transfer-Encoding: quoted-printable

    -----BEGIN PGP SIGNATURE-----
    Version: GnuPG v1.4.6 (GNU/Linux)

    iD8DBQBGvvfLE8pU4Gwf6g8RAgU9AKCRdhK14nasmSZDJG56vFhBOETvAgCgpxxT
    lojdIUnhQbEzkGehvAT9keo=3D
    =3D6xva
    -----END PGP SIGNATURE-----

    --=-gSxCo0hhDUjaOXdOACVa--

    --=-BhlAacdoJpnMT2CskNrb
    Content-Type: application/x-pkcs7-signature; name=smime.p7s
    Content-Disposition: attachment; filename=smime.p7s
    Content-Transfer-Encoding: base64

    MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIILGjCCBYkw
    ggRxoAMCAQICBEOI1E4wDQYJKoZIhvcNAQEFBQAwMTELMAkGA1UEBhMCREsxDDAKBgNVBAoTA1RE
    QzEUMBIGA1UEAxMLVERDIE9DRVMgQ0EwHhcNMDYxMDAzMTQyNjUwWhcNMDgxMDAzMTQ1NjUwWjCB
    hzELMAkGA1UEBhMCREsxKTAnBgNVBAoTIEluZ2VuIG9yZ2FuaXNhdG9yaXNrIHRpbGtueXRuaW5n
    MU0wIwYDVQQFExxQSUQ6OTIwOC0yMDAyLTItMjE0NjU1NjY3OTQ5MCYGA1UEAxMfRGFuaWVsIExp
    bGllbmZlbGR0IEcgU2NoaWVyYmVjazCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAn/eGl8Nz
    YQLFD44FwNI1HY67xBChpjiVN9UMv4N2C5Te2EIHxDKW8zb/RXk70vHnVrCqm5PDyZWVFPBNKFXG
    jZwYKmHK8Yi8mzK6HMmYCWfEih+uYyvO40OewsywEmuq1pPNP4vB2f+fpS/Am64vjo0M9U2ieeSj
    taQwSTnTAJkCAwEAAaOCAtQwggLQMA4GA1UdDwEB/wQEAwID+DArBgNVHRAEJDAigA8yMDA2MTAw
    MzE0MjY1MFqBDzIwMDgxMDAzMTQ1NjUwWjCCATcGA1UdIASCAS4wggEqMIIBJgYKKoFQgSkBAQEB
    AzCCARYwLwYIKwYBBQUHAgEWI2h0dHA6Ly93d3cuY2VydGlmaWthdC5kay9yZXBvc2l0b3J5MIHi
    BggrBgEFBQcCAjCB1TAKFgNUREMwAwIBARqBxkZvciBhbnZlbmRlbHNlIGFmIGNlcnRpZmlrYXRl
    dCBn5mxkZXIgT0NFUyB2aWxr5XIsIENQUyBvZyBPQ0VTIENQLCBkZXIga2FuIGhlbnRlcyBmcmEg
    d3d3LmNlcnRpZmlrYXQuZGsvcmVwb3NpdG9yeS4gQmVt5nJrLCBhdCBUREMgZWZ0ZXIgdmlsa+Vy
    ZW5lIGhhciBldCBiZWdy5m5zZXQgYW5zdmFyIGlmdC4gcHJvZmVzc2lvbmVsbGUgcGFydGVyLjBB
    BggrBgEFBQcBAQQ1MDMwMQYIKwYBBQUHMAGGJWh0dHA6Ly9vY3NwLmNlcnRpZmlrYXQuZGsvb2Nz
    cC9zdGF0dXMwJgYDVR0RBB8wHYEbZGFuaWVsLnNjaGllcmJlY2tAZ21haWwuY29tMIGEBgNVHR8E
    fTB7MEugSaBHpEUwQzELMAkGA1UEBhMCREsxDDAKBgNVBAoTA1REQzEUMBIGA1UEAxMLVERDIE9D
    RVMgQ0ExEDAOBgNVBAMTB0NSTDE0ODkwLKAqoCiGJmh0dHA6Ly9jcmwub2Nlcy5jZXJ0aWZpa2F0
    LmRrL29jZXMuY3JsMB8GA1UdIwQYMBaAFGC1hexWZH4SGSdnHVAVS3OuO/kSMB0GA1UdDgQWBBQn
    W1eORy2ftqsfHNOokMDZxxwMbDAJBgNVHRMEAjAAMBkGCSqGSIb2fQdBAAQMMAobBFY3LjEDAgOo
    MA0GCSqGSIb3DQEBBQUAA4IBAQBlSmFjtTcwZS7KdIWaJD3ohWE3aNHU2KkmSHhDKgXCadG7Uyy0
    BuVdkenPXSHGZIssWuRmZYo7N56dTa3FBUqNJHiaZnqxDKnGT9jHTjTiC5A9wYctCmX8hWSQeMzP
    7ZyPBBDZnzLGVjfaMY3nQJZUmTAfDyrPmPDC6xhYhieUEzSU9Hq14TJlCZSMQoFpukeSVxmYHysG
    toqxkcmzEyHnBTN13REv3X7CYd0CNPFlE/pYxHzhjK/zjkt9cSmSk3eTF2PpcaaSMaA+FYRTVjJg
    S7q8ZwDVV9NI0g8u9ZqMn1zEI6uEoANOC+wj4xLp1uSkYGr8oDD2H1kW5P2ivV1mMIIFiTCCBHGg
    AwIBAgIEQ4jUTjANBgkqhkiG9w0BAQUFADAxMQswCQYDVQQGEwJESzEMMAoGA1UEChMDVERDMRQw
    EgYDVQQDEwtUREMgT0NFUyBDQTAeFw0wNjEwMDMxNDI2NTBaFw0wODEwMDMxNDU2NTBaMIGHMQsw
    CQYDVQQGEwJESzEpMCcGA1UEChMgSW5nZW4gb3JnYW5pc2F0b3Jpc2sgdGlsa255dG5pbmcxTTAj
    BgNVBAUTHFBJRDo5MjA4LTIwMDItMi0yMTQ2NTU2Njc5NDkwJgYDVQQDEx9EYW5pZWwgTGlsaWVu
    ZmVsZHQgRyBTY2hpZXJiZWNrMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCf94aXw3NhAsUP
    jgXA0jUdjrvEEKGmOJU31Qy/g3YLlN7YQgfEMpbzNv9FeTvS8edWsKqbk8PJlZUU8E0oVcaNnBgq
    YcrxiLybMrocyZgJZ8SKH65jK87jQ57CzLASa6rWk80/i8HZ/5+lL8Cbri+OjQz1TaJ55KO1pDBJ
    OdMAmQIDAQABo4IC1DCCAtAwDgYDVR0PAQH/BAQDAgP4MCsGA1UdEAQkMCKADzIwMDYxMDAzMTQy
    NjUwWoEPMjAwODEwMDMxNDU2NTBaMIIBNwYDVR0gBIIBLjCCASowggEmBgoqgVCBKQEBAQEDMIIB
    FjAvBggrBgEFBQcCARYjaHR0cDovL3d3dy5jZXJ0aWZpa2F0LmRrL3JlcG9zaXRvcnkwgeIGCCsG
    AQUFBwICMIHVMAoWA1REQzADAgEBGoHGRm9yIGFudmVuZGVsc2UgYWYgY2VydGlmaWthdGV0IGfm
    bGRlciBPQ0VTIHZpbGvlciwgQ1BTIG9nIE9DRVMgQ1AsIGRlciBrYW4gaGVudGVzIGZyYSB3d3cu
    Y2VydGlmaWthdC5kay9yZXBvc2l0b3J5LiBCZW3mcmssIGF0IFREQyBlZnRlciB2aWxr5XJlbmUg
    aGFyIGV0IGJlZ3LmbnNldCBhbnN2YXIgaWZ0LiBwcm9mZXNzaW9uZWxsZSBwYXJ0ZXIuMEEGCCsG
    AQUFBwEBBDUwMzAxBggrBgEFBQcwAYYlaHR0cDovL29jc3AuY2VydGlmaWthdC5kay9vY3NwL3N0
    YXR1czAmBgNVHREEHzAdgRtkYW5pZWwuc2NoaWVyYmVja0BnbWFpbC5jb20wgYQGA1UdHwR9MHsw
    S6BJoEekRTBDMQswCQYDVQQGEwJESzEMMAoGA1UEChMDVERDMRQwEgYDVQQDEwtUREMgT0NFUyBD
    QTEQMA4GA1UEAxMHQ1JMMTQ4OTAsoCqgKIYmaHR0cDovL2NybC5vY2VzLmNlcnRpZmlrYXQuZGsv
    b2Nlcy5jcmwwHwYDVR0jBBgwFoAUYLWF7FZkfhIZJ2cdUBVLc647+RIwHQYDVR0OBBYEFCdbV45H
    LZ+2qx8c06iQwNnHHAxsMAkGA1UdEwQCMAAwGQYJKoZIhvZ9B0EABAwwChsEVjcuMQMCA6gwDQYJ
    KoZIhvcNAQEFBQADggEBAGVKYWO1NzBlLsp0hZokPeiFYTdo0dTYqSZIeEMqBcJp0btTLLQG5V2R
    6c9dIcZkiyxa5GZlijs3np1NrcUFSo0keJpmerEMqcZP2MdONOILkD3Bhy0KZfyFZJB4zM/tnI8E
    ENmfMsZWN9oxjedAllSZMB8PKs+Y8MLrGFiGJ5QTNJT0erXhMmUJlIxCgWm6R5JXGZgfKwa2irGR
    ybMTIecFM3XdES/dfsJh3QI08WUT+ljEfOGMr/OOS31xKZKTd5MXY+lxppIxoD4VhFNWMmBLurxn
    ANVX00jSDy71moyfXMQjq4SgA04L7CPjEunW5KRgavygMPYfWRbk/aK9XWYxggHVMIIB0QIBATA5
    MDExCzAJBgNVBAYTAkRLMQwwCgYDVQQKEwNUREMxFDASBgNVBAMTC1REQyBPQ0VTIENBAgRDiNRO
    MAkGBSsOAwIaBQCggfMwGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcN
    MDcwODEyMTIwNjM2WjAjBgkqhkiG9w0BCQQxFgQUkG4riKRykhjdpTuoGDdZ8DP3uDAwSAYJKwYB
    BAGCNxAEMTswOTAxMQswCQYDVQQGEwJESzEMMAoGA1UEChMDVERDMRQwEgYDVQQDEwtUREMgT0NF
    UyBDQQIEQ4jUTjBKBgsqhkiG9w0BCRACCzE7oDkwMTELMAkGA1UEBhMCREsxDDAKBgNVBAoTA1RE
    QzEUMBIGA1UEAxMLVERDIE9DRVMgQ0ECBEOI1E4wDQYJKoZIhvcNAQEBBQAEgYAH+GBe9wZaMj+4
    8PG8asf4Riackw90uR7P354pykSYLgKWpFbyaLjqyf62GU29rSN8KPD8CGiHslUTs76DmA5Cghd3
    cFZCGXx9oqZnYhSWSvru4vaxeVhMieRMqv1oSNcGuZqOajipzuBhp9AkcLvv8CpN6jWxs4q1iZcf
    zrgI8wAAAAAAAA==


    --=-BhlAacdoJpnMT2CskNrb--
    Daniel Schierbeck, Aug 12, 2007
    #7
  8. Jeremy Hinegardner

    Trans Guest

    Re: launchy 0.1.2 Released

    On Aug 12, 5:04 am, Olivier Renaud <> wrote:
    > > But the best for me would be that konqueror is used as the browser, with
    > > your lib, since I run KDE. You can detect this from the env variable
    > > DESKTOP_SESSION which is set to "kde".

    >
    > I answer to myself :
    > DESKTOP_SESSION doesn't seem to be reliable, since its values are not standard
    > (and often is equal to "default").
    > So, maybe the best bet is to check the existence of KDE_SESSION_UID or
    > GNOME_SESSION_ID, to know which desktop is run, if any.
    >
    > By the way, I was looking for the equivalent of OSX's "open" and
    > Windows' "start" under *nix. There is the command "xdg-open" from the
    > freedesktop project, which does just that. It's already on my system, maybe
    > it is already widely installed on systems that follow freedesktop guidelines.


    Interesting, but xdg-open opens Kate on my system.

    T.
    Trans, Aug 12, 2007
    #8
  9. Re: launchy 0.1.2 Released

    Olivier Renaud wrote:
    > Le dimanche 12 août 2007 11:53, Sebastian Hungerecker a écrit :
    >> Trans wrote:
    >>> On Aug 11, 11:51 pm, Jeremy Hinegardner wrote:
    >>>> launchy version 0.1.2 has been released.
    >>>>
    >>>> Launchy is helper class for launching cross-platform applications in a
    >>>> fire and forget manner.
    >>> * How does it deal with a systems that have more than one browser
    >>> installed? Which browser does it choose?

    >> According to the documentation on the homepage:
    >> APP_LIST = { :windows => %w[ firefox iexplore ], :darwin => %w[ open ],
    >> :nix => %w[ firefox ], :unknown => [], }

    [...]
    > So, it won't work on my computer, since I run linux without firefox installed.
    > Under Windows, there is a default browser that can be set by the user, it
    > would be great to use this one, though I don't know how to get it. Maybe from
    > the registry ?


    No need. Windows has had an equivalent to MacOS's 'open' since
    Windows 95, I believe:

    url = 'http://Ruby-Lang.Org/'
    `start #{url}`

    'start' will launch whatever application is registered to handle the
    filetype (if the parameter is a file) or protocol (if the parameter is
    a URI) in question -- in my case Opera.

    So, just setting

    Launchy::Spawnable::Browser::APP_LIST[:windows] = ['start']

    *should* work, but, unfortunately, Launchy doesn't work for me at all,
    so I can neither confirm nor deny that.

    jwm
    Jörg W Mittag, Aug 12, 2007
    #9
  10. Jeremy Hinegardner

    ara.t.howard Guest

    On Aug 12, 2007, at 12:51 AM, Jeremy Hinegardner wrote:

    >
    > Launchy is helper class for launching cross-platform applications in a
    > fire and forget manner.
    >


    awesome!

    a @ http://drawohara.com/
    --
    we can deny everything, except that we have the possibility of being
    better. simply reflect on that.
    h.h. the 14th dalai lama
    ara.t.howard, Aug 12, 2007
    #10
  11. Jeremy Hinegardner

    ara.t.howard Guest

    Re: launchy 0.1.2 Released

    On Aug 12, 2007, at 3:53 AM, Sebastian Hungerecker wrote:

    >
    > According to the documentation on the homepage:
    > APP_LIST = { :windows => %w[ firefox iexplore ], :darwin => %w
    > [ open ],
    > :nix => %w[ firefox ], :unknown => [], }
    > So on OSX it uses the default browser and on any other system
    > firefox, if
    > installed, or IE or nothing. I have to say, I find that somewhat
    > suboptimal.
    > Certainly it's possible to detect the default browser on Windows,
    > KDE and
    > GNOME, too, right? (Although, of course, it's still possible that
    > someone
    > has neither KDE or GNOME installed or that he has both and is
    > running neither,
    > which would make it hard to choose which default browser to use on
    > *nix).
    >


    but no patch? ;-)

    i think it's pretty simple on *nix

    launchy_browser = ENV['LAUNCHY_BROWSER']

    autocmds = %w[ htmlview ] ### and which ever others exist
    for kde, etc

    realcmds = %w[ firefox mozilla ] ### and some others


    cmds = [ launchy_browser, autocmds, realcmds ].flatten.map{|cmd|
    "( #{ cmd } >/dev/null 2>&1 )"}

    cmd = cmds.join ' || '

    system cmd

    you could do some detection crap, but simply having a preferred list
    of 'commands that find browsers' followed by a reasonable list of
    browsers is going to work on 99% of *nix boxes. for everyone else
    they can set an env var and all will be well. any unix user that
    can't manage to set environment vars to make non-standard setups work
    does deserve to surf the web anyhow ;-)

    cheers.



    a @ http://drawohara.com/
    --
    we can deny everything, except that we have the possibility of being
    better. simply reflect on that.
    h.h. the 14th dalai lama
    ara.t.howard, Aug 12, 2007
    #11
  12. Jeremy Hinegardner

    ara.t.howard Guest

    Re: launchy 0.1.2 Released

    On Aug 12, 2007, at 9:30 AM, Logan Capaldo wrote:

    >
    >
    > I think this kind of defeats the purpose of Launchy though no? I
    > thought
    > the idea was to use the user's preferred browser instead of "a
    > browser" w/o
    > needing to config it. By making them set an env var to get the right
    > browser, there's really no point in using Launchy at all. Any nix ruby
    > script can easily query an env on it's lonesome, or try a list of
    > possible
    > browsers, I thought (correct me if I am wrong) was that the point
    > of Launchy
    > was to do the "hard part" of detecting the user's preferred browser.
    >


    the point of the environment var is for those cases when it cannot be
    detected or, for example, debugging launchy itself - there is no
    requirement to set it. letting users override stuff is the unix way
    - trying to make a reasonable guess in all other cases is the realm
    of applications like launchy. always guessing correctly is a very
    tall order: the 'preferred' browser on our sysad machines is 'lynx'
    because we do not run X, nevertheless we do use a browser for hitting
    admin panels, etc. it's unreasonable to expect a library to run in
    such an environment. in any case i think a reasonable algorithm, in
    order of degredation, is

    - use user provided default iff given

    - use a preferred list of browser guessers (htmlview, for example)

    - use a preferred list of browsers

    - prompt user for browser, cache answer for next time


    2 cts.

    a @ http://drawohara.com/
    --
    we can deny everything, except that we have the possibility of being
    better. simply reflect on that.
    h.h. the 14th dalai lama
    ara.t.howard, Aug 12, 2007
    #12
  13. Re: launchy 0.1.2 Released

    On Sun, Aug 12, 2007 at 11:30:04PM +0900, J?rg W Mittag wrote:
    > Olivier Renaud wrote:
    > > Le dimanche 12 ao?t 2007 11:53, Sebastian Hungerecker a ?crit?:
    > >> Trans wrote:
    > >>> On Aug 11, 11:51 pm, Jeremy Hinegardner wrote:
    > >>>> launchy version 0.1.2 has been released.
    > >>>>
    > >>>> Launchy is helper class for launching cross-platform applications in a
    > >>>> fire and forget manner.
    > >>> * How does it deal with a systems that have more than one browser
    > >>> installed? Which browser does it choose?
    > >> According to the documentation on the homepage:
    > >> APP_LIST = { :windows => %w[ firefox iexplore ], :darwin => %w[ open ],
    > >> :nix => %w[ firefox ], :unknown => [], }

    > [...]
    > > So, it won't work on my computer, since I run linux without firefox installed.
    > > Under Windows, there is a default browser that can be set by the user, it
    > > would be great to use this one, though I don't know how to get it. Maybe from
    > > the registry ?

    >
    > No need. Windows has had an equivalent to MacOS's 'open' since
    > Windows 95, I believe:
    >
    > url = 'http://Ruby-Lang.Org/'
    > `start #{url}`
    >
    > 'start' will launch whatever application is registered to handle the
    > filetype (if the parameter is a file) or protocol (if the parameter is
    > a URI) in question -- in my case Opera.
    >
    > So, just setting
    >
    > Launchy::Spawnable::Browser::APP_LIST[:windows] = ['start']
    >
    > *should* work, but, unfortunately, Launchy doesn't work for me at all,
    > so I can neither confirm nor deny that.


    Thanks for the info, I personally don't have a windows machine to test
    on so I was shooting from the hip here. I'll change the windows
    launching and have a new release out today.

    enjoy,

    -jeremy

    --
    ========================================================================
    Jeremy Hinegardner
    Jeremy Hinegardner, Aug 12, 2007
    #13
  14. Re: launchy 0.1.2 Released

    On Mon, Aug 13, 2007 at 01:19:06AM +0900, Logan Capaldo wrote:
    > On 8/12/07, ara.t.howard <> wrote:
    > >
    > >
    > > On Aug 12, 2007, at 9:30 AM, Logan Capaldo wrote:
    > >
    > > >
    > > >
    > > > I think this kind of defeats the purpose of Launchy though no? I
    > > > thought
    > > > the idea was to use the user's preferred browser instead of "a
    > > > browser" w/o
    > > > needing to config it. By making them set an env var to get the right
    > > > browser, there's really no point in using Launchy at all. Any nix ruby
    > > > script can easily query an env on it's lonesome, or try a list of
    > > > possible
    > > > browsers, I thought (correct me if I am wrong) was that the point
    > > > of Launchy
    > > > was to do the "hard part" of detecting the user's preferred browser.
    > > >

    > >
    > > the point of the environment var is for those cases when it cannot be
    > > detected or, for example, debugging launchy itself - there is no
    > > requirement to set it. letting users override stuff is the unix way
    > > - trying to make a reasonable guess in all other cases is the realm
    > > of applications like launchy. always guessing correctly is a very
    > > tall order: the 'preferred' browser on our sysad machines is 'lynx'
    > > because we do not run X, nevertheless we do use a browser for hitting
    > > admin panels, etc. it's unreasonable to expect a library to run in
    > > such an environment. in any case i think a reasonable algorithm, in
    > > order of degredation, is
    > >
    > > - use user provided default iff given
    > >
    > > - use a preferred list of browser guessers (htmlview, for example)
    > >
    > > - use a preferred list of browsers
    > >
    > > - prompt user for browser, cache answer for next time

    >
    >
    > I agree mostly. However a lib with a method named "do_magic" should try very
    > hard to fulfill that implicit promise IMO. (And I don't see why xdg-open or
    > equivalent couldn't invoke lynx.) Man, I sound whiny today :)


    Yes that is my goal, part of this release was to get feedback on other
    ways to do things. I don't have 'every' system; so the feedback is
    necessary for launchy to "do_magic".

    Great feedback all around guys, I appreciate it. I'll put it all
    together and have another release out today which will hopefully work
    for even MORE users.

    enjoy,

    -jeremy

    --
    ========================================================================
    Jeremy Hinegardner
    Jeremy Hinegardner, Aug 12, 2007
    #14
  15. Re: launchy 0.1.2 Released

    On Sun, Aug 12, 2007 at 09:04:04PM +0900, Olivier Renaud wrote:
    > > But the best for me would be that konqueror is used as the browser, with
    > > your lib, since I run KDE. You can detect this from the env variable
    > > DESKTOP_SESSION which is set to "kde".

    >
    > I answer to myself :
    > DESKTOP_SESSION doesn't seem to be reliable, since its values are not standard
    > (and often is equal to "default").
    > So, maybe the best bet is to check the existence of KDE_SESSION_UID or
    > GNOME_SESSION_ID, to know which desktop is run, if any.
    >
    > By the way, I was looking for the equivalent of OSX's "open" and
    > Windows' "start" under *nix. There is the command "xdg-open" from the
    > freedesktop project, which does just that. It's already on my system, maybe
    > it is already widely installed on systems that follow freedesktop guidelines.


    Thanks for the tip, xdg-open looks like a good thing, I'll incorporate
    what I can.

    Looks like there's lots of good things in xdg-utils.

    enjoy,

    -jeremy

    --
    ========================================================================
    Jeremy Hinegardner
    Jeremy Hinegardner, Aug 12, 2007
    #15
  16. Re: launchy 0.1.2 Released

    On Sun, Aug 12, 2007 at 06:31:00PM +0900, Trans wrote:
    >
    >
    > On Aug 11, 11:51 pm, Jeremy Hinegardner <>
    > wrote:
    > > launchy version 0.1.2 has been released.
    > >
    > > http://copiousfreetime.rubyforge.org/launchy/
    > >
    > > Example:
    > >
    > > Launchy.do_magic("http://www.rubyforge.org")
    > >
    > > or
    > >
    > > Launchy::Spawnable::Browser.new.visit("http://www.ruby-lang.org/")
    > >
    > > Launchy is helper class for launching cross-platform applications in a
    > > fire and forget manner.
    > >
    > > There are application concepts (browser, email client, etc) that are common
    > > across all platforms, and they may be launched differently on each
    > > platform. Launchy is here to make a common approach to launching
    > > external application from within ruby programs.
    > >
    > > {{ Changelog for Version 0.1.2 }}
    > >
    > > === Version 0.1.2 - 2007-08-11
    > >
    > > * first publicly announced release
    > > * make forked child exit without calling at_exit handlers
    > >
    > > enjoy,

    >
    > Looks very interesting. I might use this on one of my projects. Some
    > thoughts/questions:
    >
    > * This is clearly useful for launching a browser. (which is what I
    > could use it for). But will it really be useful for anything else?
    > Maybe I can see launching an email program, but I'm not even sure
    > about that.


    I'm not sure either, I would like to add email programs for sure, other
    applications, I don't know, I'll leave it open to be filled as there is
    demand. Music players? Image viewers?

    > * How does it deal with a systems that have more than one browser
    > installed? Which browser does it choose?


    I'm working on that, primarily it should use an 'autocmd' on each system
    that can detect the preferred application on the system, then fall back
    to reasonable defaults.

    > * What is Launchy::Specification for, how is it used?


    I bootstrapped the development of Launchy with another project I'm
    working on, rabal (http://copiousfreetime.rubyforge.org/rabal/).

    Rabal generates directory structure, Rakefiles, some classes useful for
    most applicaiton (version.rb, initial unit testing, license templates
    etc.). specification.rb is a generated file from rabal and an instance
    of the Launchy::Specification is in gemspec.rb. This instance is used by
    the Rakefiles for project management and can be used from within the
    application itself for displaying help, contact information etc.

    Rabal could use some feedback so if your interested I would love to hear
    what anyone thinks. It resembles hoe in some respects, but it made
    to be extensible, so if you have your own directory/file templates you
    can write in a plugin to manage them and rabal will pick them up and
    incorporate them into the application.

    > * If I may make a suggestion... I think the API would be nicer if you
    > did without the Spawnable namespace. Just Launchy::Browser would be
    > much nicer.


    I'll think about it.

    > Nice work!
    > T.


    Thanks!

    -jeremy

    --
    ========================================================================
    Jeremy Hinegardner
    Jeremy Hinegardner, Aug 12, 2007
    #16
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Jeremy Hinegardner

    [ANN] launchy 0.2.0 Released

    Jeremy Hinegardner, Aug 12, 2007, in forum: Ruby
    Replies:
    2
    Views:
    92
    Jeremy Hinegardner
    Aug 15, 2007
  2. Jeremy Hinegardner

    [ANN] launchy 0.2.1 Released

    Jeremy Hinegardner, Aug 18, 2007, in forum: Ruby
    Replies:
    2
    Views:
    95
    Jeremy Hinegardner
    Aug 20, 2007
  3. Jeremy Hinegardner

    [ANN] launchy 0.3.0 Released

    Jeremy Hinegardner, Aug 30, 2007, in forum: Ruby
    Replies:
    1
    Views:
    72
    Trans
    Aug 30, 2007
  4. Jeremy Hinegardner

    [ANN] launchy 0.3.1 Released

    Jeremy Hinegardner, Sep 9, 2007, in forum: Ruby
    Replies:
    1
    Views:
    103
    Trans
    Sep 17, 2007
  5. Jeremy Hinegardner

    [ANN] launchy 0.3.2 Released

    Jeremy Hinegardner, May 22, 2008, in forum: Ruby
    Replies:
    0
    Views:
    79
    Jeremy Hinegardner
    May 22, 2008
Loading...

Share This Page