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