BROWSER SWITCHBOARD
-version 3.0rc1
+version 3.3
Browser Switchboard is a program which allows you to choose which
browser to use as the default browser. It supports MicroB, Tear,
Fennec/Mobile Firefox, and Midori out of the box, and can also be used
-to launch MicroB without having browserd running.
+to launch MicroB without having browserd running. A Control Panel
+applet to choose the default browser is provided.
Download:
applet in the Control Panel. Links in most applications, locally-saved
web pages opened from the file manager, and (for Maemo 4.x) entries in
the Web sidebar panel will open in the browser that you select as the
-default. If you don't configure a default browser, MicroB will continue
-to be used as the default browser.
+default. Opening the "Web" menu entry and running "browser" from the
+shell will also cause your chosen default browser to open. If you don't
+configure a default browser, MicroB will continue to be used as the
+default browser.
No matter which browser you select as the default, MicroB can always be
-opened via the Web menu entry in the applications menu (for Maemo 4.x,
-located in the Internet menu by default), or by running "browser" from
-the shell. While MicroB is open, it will receive all links from other
-applications; closing MicroB will restore your chosen default browser.
+opened via the MicroB menu entry in the applications menu (for Maemo
+4.x, installed in the Extras menu by default), or by running "microb"
+from the shell. While MicroB is open, it will receive all links from
+other applications; closing MicroB will restore your chosen default
+browser.
-Some users have reported that a restart may be necessary to ensure that
-Browser Switchboard is functioning. If you experience trouble after
-installing the package, try rebooting your device first.
+If you experience trouble after installing the package, try rebooting
+your device. If that fixes things, please report this as a bug.
Configuring the Default Browser by Hand:
default_browser = "your_browser"
EOF
-where your_browser can be one of "tear", "microb", "fennec", "midori",
-or "other" (see below for more on the "other" option). You can of
-course also edit the $HOME/.config/browser-switchboard file with your
+where your_browser can be one of "tear", "microb", "fennec", "opera",
+"midori" or "other" (see below for more on the "other" option). You can
+of course also edit the $HOME/.config/browser-switchboard file with your
favorite text editor.
To restore the default behavior, just delete the config file:
# BEGIN SAMPLE CONFIG FILE
# This is a comment
# continuous_mode: 0 -- close after handling a request; 1 -- run
-# continuously in the background
-continuous_mode = 0
-# default_browser: "tear", "microb", "fennec", "midori", or "other"
+# continuously in the background (default)
+# On Fremantle, this is forced to 1 regardless of config setting
+continuous_mode = 1
+# default_browser: "tear", "microb", "fennec", "midori", "opera" or
+# "other"
default_browser = "tear"
# other_browser_cmd: If default browser is "other", what program
# to run (%s will be replaced by URI)
#other_browser_cmd = "some_browser %s"
+# logging: Where log output should go: "stdout", "syslog", "none"
+#logging = "stdout"
+# autostart_microb: Fremantle only: whether MicroB should be
+# prestarted in the background: 0 -- never prestart MicroB; 1 -- always
+# prestart MicroB; -1 -- only prestart MicroB when MicroB is the default
+# browser (default behavior if unset)
+#autostart_microb = 0
# END SAMPLE CONFIG FILE
Lines beginning with # characters are comments and are ignored by the
-script.
+script. [Most options correspond directly to an option or option group
+in the configuration UI.]
In continuous mode, Browser Switchboard keeps running in the background
instead of closing after handling each request. This saves a bit of
startup time for each link (on my N800 running Diablo), but costs you
-about 100 KB extra memory. Continuous mode is disabled by default; set
-continuous_mode to 1 to enable. [This option corresponds to the
-"Optimize Browser Switchboard for" option group in the UI; "Lower memory
-usage" corresponds to continuous_mode off, while "Faster browser startup
-time" corresponds to continuous_mode on.]
-
-The "tear", "microb", "fennec", and "midori" options for default_browser
-should be self-explanatory.
+about 150 KB extra memory. Continuous mode is enabled by default; set
+continuous_mode to 0 to enable. On Fremantle, continuous mode is always
+enabled regardless of the value of this config setting, to provide
+better compatibility with MicroB's behavior. [This option corresponds
+to the "Optimize Browser Switchboard for" option group in the UI; "Lower
+memory usage" corresponds to continuous_mode off, while "Faster browser
+startup time" corresponds to continuous_mode on.]
+
+The "tear", "microb", "fennec", "opera" and "midori" options for
+default_browser should be self-explanatory. [These correspond to the
+options in the "Default browser" combo box in the UI.]
If the default browser is "other", Browser Switchboard will run the
program specified in other_browser_cmd as the default browser, with a
$ some_browser 'http://www.google.com/'
-at a shell.
+at a shell. [In the UI, setting "Default brower" to "Other" activates
+the "Command (%s for URI)" setting, which corresponds to the value of
+other_browser_cmd.]
+
+The logging option controls where Browser Switchboard sends its debug
+logging output to. You should not need to change this unless you're
+debugging Browser Switchboard, and there is no UI for this option. The
+default option is "stdout", which means you won't see output unless you
+run Browser Switchboard from the shell. "syslog" will send the output
+to the system log (assuming you have a syslogd set up on your device),
+and "none" disables debug logging entirely.
+
+On Fremantle only, autostart_microb controls whether MicroB is
+prestarted when the device boots and whether the MicroB browser process
+is left running when no browser windows are open. By default, MicroB is
+prestarted (and the process left open when no browser windows are open)
+only when MicroB is set as the default browser; you can force MicroB to
+always prestart by setting autostart_microb = 1, while you can force it
+to never prestart by setting autostart_microb = 0. [This option has no
+corresponding UI at the moment.]
+
+
+The browser-switchboard-config Command-Line Configuration Tool:
+
+A command-line configuration utility is provided to allow programs and
+scripts to query and set Browser Switchboard configuration variables.
+For example,
+
+$ browser-switchboard-config -b
+
+will display the default browser, and
+
+$ browser-switchboard-config -s -b "opera"
+
+will set the default browser to Opera Mobile. See the help output from
+running browser-switchboard-config with no arguments for more
+information.
+
+The primary purpose of this tool is to allow browser vendors to provide
+an option in their browsers to set themselves as the default browser,
+via something like this (shell-like pseudocode):
+
+if [ -x /usr/bin/browser-switchboard-config ]; then
+ if [ `browser-switchboard-config -b` = "mybrowser" ]; then
+ display "MyBrowser is the default browser."
+ else
+ button "Make MyBrowser the default browser"
+ action "browser-switchboard-config -s -b mybrowser"
+ fi
+else
+ display "Install Browser Switchboard to make MyBrowser the default browser"
+fi
+
+Browser vendors: setting yourself as the default browser without
+prompting the user first (via package maintainer scripts, for example)
+is strongly discouraged.
Browser Switchboard and MicroB's browserd:
Uninstalling Browser Switchboard:
Remove the Browser Switchboard package using the Application Manager,
-and everything should be back to normal. A reboot may be necessary for
-changes to take effect -- if you experience problems, try restarting
-your device first.
+and everything should be back to normal. If you experience problems
+after uninstalling, try restarting your device first; if that fixes
+things, please report this as a bug.
Compiling Browser Switchboard:
4. Compile:
-SDK$ make
-SDK$ make -C config-ui
+SDK$ make diablo
+SDK$ make -C config-ui diablo-plugin util
+
+(Replace "diablo" with "fremantle", "diablo-plugin" with
+"fremantle-plugin" and "util" with "fremantle-util" if compiling for
+Fremantle.
-(If you want the standalone config application instead of the Control
+If you want the standalone config application instead of the Control
Panel plugin, do
-SDK$ make -C config-ui hildon-app
+SDK$ make -C config-ui diablo-hildon-app
instead.
If you're using the Scratchbox2-based SDK+, you want
5. Install to a temporary directory, and tar up the result:
SDK$ make DESTDIR=temp install
-SDK$ make -C config-ui install
+SDK$ make DESTDIR=temp -C config-ui install
SDK$ cd temp
SDK$ tar cf stuff.tar .
+(On Fremantle, add a
+SDK$ make DESTDIR=temp install-xsession-script
+before creating the tarball.)
+
6. As root on your device, move files that will be replaced in the
install process out of the way:
git.maemo.org. You can get a copy of the current development version by
cloning the repository:
-$ git clone https://git.maemo.org/projects/browser-switch
+$ git clone http://git.maemo.org/projects/browser-switch
or you can browse the source using gitweb
-(https://git.maemo.org/projects/browser-switch/?p=browser-switch;a=summary).
+(http://git.maemo.org/projects/browser-switch/?p=browser-switch;a=summary).
Maintainer: