Merge commit 'v3.2' into test-branch
[browser-switch] / README
1 BROWSER SWITCHBOARD
2 version 3.2
3
4 Browser Switchboard is a program which allows you to choose which
5 browser to use as the default browser. It supports MicroB, Tear,
6 Fennec/Mobile Firefox, and Midori out of the box, and can also be used
7 to launch MicroB without having browserd running.
8
9
10 Download:
11 Binary packages and source are available for download from the project
12 page on garage.maemo.org: https://garage.maemo.org/frs/?group_id=1159
13
14
15 Quick Start:
16 1. Download the binary package: browser-switchboard_X.Y-Z_all.deb
17 (where X.Y-Z is the version number, of course).
18 2. Install the package using the Application Manager (open the
19 Application Manager, then select Application->Install from file in the
20 menu).
21
22 You can now select the default browser by using the Browser Switchboard
23 applet in the Control Panel.  Links in most applications, locally-saved
24 web pages opened from the file manager, and (for Maemo 4.x) entries in
25 the Web sidebar panel will open in the browser that you select as the
26 default.  Opening the "Web" menu entry and running "browser" from the
27 shell will also cause your chosen default browser to open.  If you don't
28 configure a default browser, MicroB will continue to be used as the
29 default browser.
30
31 No matter which browser you select as the default, MicroB can always be
32 opened via the MicroB menu entry in the applications menu (for Maemo
33 4.x, installed in the Extras menu by default), or by running "microb"
34 from the shell.  While MicroB is open, it will receive all links from
35 other applications; closing MicroB will restore your chosen default
36 browser.
37
38 If you experience trouble after installing the package, try rebooting
39 your device.  If that fixes things, please report this as a bug.
40
41
42 Configuring the Default Browser by Hand:
43
44 If for some reason, you don't want to use the Control Panel applet to
45 configure Browser Switchboard, you can create the configuration file by
46 hand from a shell.  Run the following (where $ is your prompt, not
47 something you type):
48
49 $ cat > $HOME/.config/browser-switchboard <<EOF
50 default_browser = "your_browser"
51 EOF
52
53 where your_browser can be one of "tear", "microb", "fennec", "midori",
54 or "other" (see below for more on the "other" option).  You can of
55 course also edit the $HOME/.config/browser-switchboard file with your
56 favorite text editor.
57
58 To restore the default behavior, just delete the config file:
59
60 $ rm $HOME/.config/browser-switchboard
61
62
63 Advanced Configuration:
64
65 Here's a more complete sample configuration file:
66
67 # BEGIN SAMPLE CONFIG FILE
68 # This is a comment
69 # continuous_mode: 0 -- close after handling a request; 1 -- run
70 # continuously in the background
71 continuous_mode = 0
72 # default_browser: "tear", "microb", "fennec", "midori", or "other"
73 default_browser = "tear"
74 # other_browser_cmd: If default browser is "other", what program
75 # to run (%s will be replaced by URI)
76 #other_browser_cmd = "some_browser %s"
77 # logging: Where log output should go: "stdout", "syslog", "none"
78 #logging = "stdout"
79 # END SAMPLE CONFIG FILE
80
81 Lines beginning with # characters are comments and are ignored by the
82 script.  [Most options correspond directly to an option or option group
83 in the configuration UI.]
84
85 In continuous mode, Browser Switchboard keeps running in the background
86 instead of closing after handling each request.  This saves a bit of
87 startup time for each link (on my N800 running Diablo), but costs you
88 about 100 KB extra memory.  Continuous mode is disabled by default; set
89 continuous_mode to 1 to enable.  [This option corresponds to the
90 "Optimize Browser Switchboard for" option group in the UI; "Lower memory
91 usage" corresponds to continuous_mode off, while "Faster browser startup
92 time" corresponds to continuous_mode on.]
93
94 The "tear", "microb", "fennec", and "midori" options for default_browser
95 should be self-explanatory.  [These correspond to the options in the
96 "Default browser" combo box in the UI.]
97
98 If the default browser is "other", Browser Switchboard will run the
99 program specified in other_browser_cmd as the default browser, with a
100 URI replacing the %s on the command line; for example, if
101 other_browser_cmd is set to "some_browser %s", and Browser Switchboard
102 is asked to load http://www.google.com/, it will perform the equivalent
103 of typing in 
104
105 $ some_browser 'http://www.google.com/'
106
107 at a shell.  [In the UI, setting "Default brower" to "Other" activates
108 the "Command (%s for URI)" setting, which corresponds to the value of
109 other_browser_cmd.]
110
111 The logging option controls where Browser Switchboard sends its debug
112 logging output to.  You should not need to change this unless you're
113 debugging Browser Switchboard, and there is no UI for this option.  The
114 default option is "stdout", which means you won't see output unless you
115 run Browser Switchboard from the shell.  "syslog" will send the output
116 to the system log (assuming you have a syslogd set up on your device),
117 and "none" disables debug logging entirely.
118
119
120 Browser Switchboard and MicroB's browserd:
121
122 MicroB uses a background process called browserd to decrease its load
123 time.  Browser Switchboard knows how to launch MicroB without having
124 browserd running all the time, so if you don't plan on using MicroB
125 often, you can disable browserd (for example, by using the
126 maemo-control-services control panel applet available in Maemo Extras to
127 disable tablet-browser-daemon).  This will save you about 1 MB of
128 memory, but add a few seconds to MicroB's load time.
129
130
131 Uninstalling Browser Switchboard:
132
133 Remove the Browser Switchboard package using the Application Manager,
134 and everything should be back to normal.  If you experience problems
135 after uninstalling, try restarting your device first; if that fixes
136 things, please report this as a bug.
137
138
139 Compiling Browser Switchboard:
140
141 If for some reason you don't want to use the prebuilt binary package to
142 install Browser Switchboard, you can compile and install by hand:
143 1. You will need a copy of the SDK for your device.  Make sure the
144 following packages are installed: libdbus-glib-1-dev for
145 browser-switchboard; libdbus-1-dev, libgtk2.0-dev, libhildon1-dev,
146 hildon-control-panel-dev for the config UI.
147 2. Download the source tarball: browser-switchboard_X.Y.orig.tar.gz
148 3. Unpack the source tarball in your SDK install:
149
150 SDK$ tar -xvzf browser-switchboard_X.Y.orig.tar.gz
151 SDK$ cd browser-switchboard-X.Y
152
153 4. Compile:
154
155 SDK$ make diablo
156 SDK$ make -C config-ui diablo-plugin
157
158 (Replace "diablo" with "fremantle" and "diablo-plugin" with
159 "fremantle-plugin" if compiling for Fremantle.
160
161 If you want the standalone config application instead of the Control
162 Panel plugin, do 
163 SDK$ make -C config-ui diablo-hildon-app
164 instead.
165
166 If you're using the Scratchbox2-based SDK+, you want
167 SDK+$ sb2 make
168 etc. as usual.)
169
170 5. Install to a temporary directory, and tar up the result:
171
172 SDK$ make DESTDIR=temp install
173 SDK$ make -C config-ui install
174 SDK$ cd temp
175 SDK$ tar cf stuff.tar .
176
177 6. As root on your device, move files that will be replaced in the
178 install process out of the way:
179
180 DEVICE# mv /usr/share/dbus-1/services/com.nokia.osso_browser.service
181   /usr/share/dbus-1/services/com.nokia.osso_browser.bak
182 DEVICE# mv /usr/bin/browser /usr/bin/browser.bak
183
184 7. Copy the tar file from step 5 to your device, and as root, unpack it
185 in the root directory of your device:
186
187 DEVICE# cd /
188 DEVICE# tar xf /path/to/stuff.tar
189
190 To uninstall, remove the files you installed, restore the backup copies,
191 and reboot your device.
192
193
194 Bug Reports and Patches:
195
196 Bug reports, patches, and suggested improvements can either be sent to
197 the maintainer via email (see below) or posted in the Tear thread on the
198 talk.maemo.org forums (http://talk.maemo.org/showthread.php?t=28539).
199
200
201 Source Code Repository:
202
203 Source code is hosted in a Git (http://git-scm.com/) repository on
204 git.maemo.org.  You can get a copy of the current development version by
205 cloning the repository:
206
207 $ git clone http://git.maemo.org/projects/browser-switch
208
209 or you can browse the source using gitweb
210 (http://git.maemo.org/projects/browser-switch/?p=browser-switch;a=summary).
211
212
213 Maintainer:
214
215 Steven Luo <steven+maemo@steven676.net> is the primary maintainer, with
216 Jason Simpson (the original developer) assisting in development.
217
218
219 License:
220
221 Browser Switchboard is available under the terms of the GNU General
222 Public License (GPL), version 2 or later (see the file LICENSE in the
223 source).