Mercurial > docs > unix-phil
comparison unix-phil.ms @ 32:d632de027d77
wrote about uzbl (ch05)
author | meillo@marmaro.de |
---|---|
date | Thu, 25 Mar 2010 18:02:51 +0100 |
parents | 0caa9760fca8 |
children | 0bd43c4ad9f8 |
comparison
equal
deleted
inserted
replaced
31:0caa9760fca8 | 32:d632de027d77 |
---|---|
1105 | 1105 |
1106 | 1106 |
1107 | 1107 |
1108 .NH 1 | 1108 .NH 1 |
1109 Case study: uzbl | 1109 Case study: uzbl |
1110 | 1110 .LP |
1111 .NH 2 | 1111 The last chapter took a look on the \s-1MUA\s0 \s-1MH\s0, |
1112 History | 1112 this chapter is about uzbl, a web browser that adheres to the Unix Philosophy. |
1113 .LP | 1113 ``uzbl'' is the \fIlolcat\fP's word for the English adjective ``usable''. |
1114 uzbl is young | 1114 It is pronounced the identical. |
1115 | 1115 |
1116 .NH 2 | 1116 .NH 2 |
1117 Contrasts to similar sw | 1117 Historical background |
1118 .LP | 1118 .LP |
1119 like with nmh | 1119 Uzbl was started by Dieter Plaetinck in April 2009. |
1120 .LP | 1120 The idea was born in a thread in the Arch Linux forum. |
1121 addons, plugins, modules | 1121 .[ |
1122 | 1122 %O http://bbs.archlinux.org/viewtopic.php?id=67463 |
1123 .NH 2 | 1123 .] |
1124 Gains of the design | 1124 After some discussion about failures of well known web browsers, |
1125 .LP | 1125 Plaetinck (alias Dieter@be) came up with a very sketchy proposal |
1126 of how a better web browser could look like. | |
1127 To the question of another member, if Plaetinck would write that program, | |
1128 because it would sound fantastic, Plaetinck replied: | |
1129 ``Maybe, if I find the time ;-)''. | |
1130 .PP | |
1131 Fortunately, he found the time. | |
1132 One day later, the first prototype was out. | |
1133 One week later, uzbl had an own website. | |
1134 One month after the first code showed up, | |
1135 a mailing list was installed to coordinate and discuss further development. | |
1136 A wiki was set up to store documentation and scripts that showed up on the | |
1137 mailing list and elsewhere. | |
1138 .PP | |
1139 In the, now, one year of uzbl's existance, it was heavily developed in various branches. | |
1140 Plaetinck's task became more and more to only merge the best code from the | |
1141 different branches into his main branch, and to apply patches. | |
1142 About once a month, Plaetinck released a new version. | |
1143 In September 2009, he presented several forks of uzbl. | |
1144 Uzbl, acutally, opened the field for a whole family of web browsers with similar shape. | |
1145 .PP | |
1146 In July 2009, \fILinux Weekly News\fP published an interview with Plaetinck about uzbl. | |
1147 In September 2009, the uzbl web browser was on \fISlashdot\fP. | |
1148 | |
1149 .NH 2 | |
1150 Contrasts to other web browsers | |
1151 .LP | |
1152 Like most \s-1MUA\s0s are monolithic, but \s-1MH\s0 is a toolchest, | |
1153 most web browsers are monolithic, but uzbl is a frontend to a toolchest. | |
1154 .PP | |
1155 Today, uzbl is divided into uzbl-core and uzbl-browser. | |
1156 Uzbl-core is, how its name already indicates, the core of uzbl. | |
1157 It handles commands and events to interface other programs, | |
1158 and also displays webpages by using webkit as render engine. | |
1159 Uzbl-browser combines uzbl-core with a bunch of handler scripts, a status bar, | |
1160 an event manager, yanking, pasting, page searching, zooming, and more stuff, | |
1161 to form a ``complete'' web browser. | |
1162 In the following text, the term ``uzbl'' usually stands for uzbl-browser, | |
1163 so uzbl-core is included. | |
1164 .PP | |
1165 Unlike most other web browsers, uzbl is mainly the mediator between the | |
1166 various tools that cover single jobs of web browsing. | |
1167 Uzbl listens for commands on a named pipe (fifo), a Unix socket, and on stdin. | |
1168 It writes events to a Unix socket and to stdout. | |
1169 Loading a webpage in a running uzbl instance requires not more than: | |
1170 .DS | |
1171 .CW | |
1172 echo 'uri http://example.org' >/path/to/uzbl-fifo | |
1173 .DE | |
1174 The graphical rendering of the webpage is done by webkit, | |
1175 which is a library that cares about the whole rendering task. | |
1176 .PP | |
1177 Downloads, browsing history, bookmarks, and thelike are not provided | |
1178 by uzbl-core itself, as they are in other web browsers. | |
1179 Uzbl-browser only provides, so called, handler scripts that wrap | |
1180 external applications which provide such function. | |
1181 For instance, \fIwget\fP is used to download files and uzbl-browser | |
1182 includes a script that calls wget with appropriate options in | |
1183 a prepared environment. | |
1184 .PP | |
1185 Modern web browsers are proud to have addons, plugins, and modules, instead. | |
1186 This is their effort to achieve similar goals. | |
1187 But instead of using existing, external programs, the functions are | |
1188 integrated into the web browser, just not compiled into it. | |
1189 | |
1190 .NH 2 | |
1191 Discussion of the design | |
1192 .LP | |
1193 This section discusses uzbl in regard of the Unix Philosophy, | |
1194 as identified by Gancarz. | |
1195 | |
1196 .PP | |
1197 .I "Small is beautiful | |
1198 and | |
1199 .I "make each program do one thing well" . | |
1200 | |
1201 .PP | |
1202 .I "Build a prototype as soon as possible" . | |
1203 | |
1204 .PP | |
1205 .I "Use software leverage to your advantage | |
1206 and | |
1207 .I "Use shell scripts to increase leverage and portability" . | |
1208 | |
1209 .PP | |
1210 .I "Avoid captive user interfaces" . | |
1211 | |
1212 .PP | |
1213 .I "Make every program a filter" . | |
1214 | |
1126 | 1215 |
1127 .NH 2 | 1216 .NH 2 |
1128 Problems | 1217 Problems |
1129 .LP | 1218 .LP |
1130 broken web | 1219 broken web |
1220 | |
1221 | |
1222 .NH 2 | |
1223 Summary uzbl | |
1224 .LP | |
1131 | 1225 |
1132 | 1226 |
1133 | 1227 |
1134 .NH 1 | 1228 .NH 1 |
1135 Final thoughts | 1229 Final thoughts |