Changeset 87295b4


Ignore:
Timestamp:
Sep 25, 2012 7:25:01 PM (9 years ago)
Author:
zzz <zzz@…>
Branches:
master
Children:
7051e1c
Parents:
23ca6b4f
Message:
  • URLLauncher: Add xdg-open (ticket #617); minor refactor
File:
1 edited

Legend:

Unmodified
Added
Removed
  • apps/systray/java/src/net/i2p/apps/systray/UrlLauncher.java

    r23ca6b4f r87295b4  
    4444    private static final int MAX_TRIES = 99;
    4545
     46    /**
     47     *  Browsers to try IN-ORDER
     48     */
     49    private static final String[] BROWSERS = {
     50            // This debian script tries everything in $BROWSER, then gnome-www-browser and x-www-browser
     51            // if X is running and www-browser otherwise. Those point to the user's preferred
     52            // browser using the update-alternatives system.
     53            "sensible-browser",
     54            // another one that opens a preferred browser
     55            "xdg-open",
     56            // Try x-www-browser directly
     57            "x-www-browser",
     58            // general graphical browsers
     59            "defaultbrowser",  // puppy linux
     60            "opera -newpage",
     61            "firefox",
     62            "mozilla",
     63            "netscape",
     64            "konqueror",
     65            "galeon",
     66            // Text Mode Browsers only below here
     67            "www-browser",
     68            "links",
     69            "lynx"
     70    };
     71           
    4672    /**
    4773     *  Prevent bad user experience by waiting for the server to be there
     
    157183                        try { bufferedReader.close(); } catch (IOException ioe) {}
    158184                }
    159                 if (_shellCommand.executeSilentAndWaitTimed(browserString + " " + url, 5))
     185                if (_shellCommand.executeSilentAndWaitTimed(browserString + ' ' + url, 5))
    160186                    return true;
    161187
     
    165191            }
    166192
    167             // This debian script tries everything in $BROWSER, then gnome-www-browser and x-www-browser
    168             // if X is running and www-browser otherwise. Those point to the user's preferred
    169             // browser using the update-alternatives system.
    170             if (_shellCommand.executeSilentAndWaitTimed("sensible-browser " + url, 5))
    171                 return true;
    172 
    173             // Try x-www-browser directly
    174             if (_shellCommand.executeSilentAndWaitTimed("x-www-browser " + url, 5))
    175                 return true;
    176 
    177             // puppy linux
    178             if (_shellCommand.executeSilentAndWaitTimed("defaultbrowser " + url, 5))
    179                 return true;
    180 
    181             if (_shellCommand.executeSilentAndWaitTimed("opera -newpage " + url, 5))
    182                 return true;
    183 
    184             if (_shellCommand.executeSilentAndWaitTimed("firefox " + url, 5))
    185                 return true;
    186 
    187             if (_shellCommand.executeSilentAndWaitTimed("mozilla " + url, 5))
    188                 return true;
    189 
    190             if (_shellCommand.executeSilentAndWaitTimed("netscape " + url, 5))
    191                 return true;
    192 
    193             if (_shellCommand.executeSilentAndWaitTimed("konqueror " + url, 5))
    194                 return true;
    195 
    196             if (_shellCommand.executeSilentAndWaitTimed("galeon " + url, 5))
    197                 return true;
    198            
    199             // Text Mode Browsers only below here
    200             if (_shellCommand.executeSilentAndWaitTimed("www-browser " + url, 5))
    201                 return true;
    202 
    203             if (_shellCommand.executeSilentAndWaitTimed("links " + url, 5))
    204                 return true;
    205 
    206             if (_shellCommand.executeSilentAndWaitTimed("lynx " + url, 5))
    207                 return true;
    208            
     193            for (int i = 0; i < BROWSERS.length; i++) {
     194                if (_shellCommand.executeSilentAndWaitTimed(BROWSERS[i] + ' ' + url, 5))
     195                    return true;
     196            }
    209197        }
    210198        return false;
Note: See TracChangeset for help on using the changeset viewer.