Codebase list dillo / ee69241
Merge commit 'upstream/3.0_rc3' Axel Beckert 12 years ago
22 changed file(s) with 79 addition(s) and 77 deletion(s). Raw diff Collapse all Expand all
11 Dillo project
22 =============================================================================
33
4 dillo-3.0 [September ??, 2011]
4 dillo-3.0 [September 06, 2011]
55
66 +- Ported Dillo to FLTK-1.3.
77 Patch: corvid, Johannes Hofmann, Jorge Arellano Cid
3535 Patches: corvid
3636 +- Add support for CSS adjacent sibling selectors.
3737 - Collapse parent's and first child's top margin.
38 - Fix redraw loops and reenable limit_text_width dillorc option.
3839 Patch: Johannes Hofmann
3940 +- Default binding for left-tab changed to Shift-Ctrl-Tab.
4041 Patch: Jeremy Henty
2020 The core team welcomes developers willing to join our workforce.
2121
2222
23 NOTE: With FLTK-1.3, when running on X with Xft enabled (the
24 default), font naming is more restricted than it was with FLTK2.
25 If your font_* preferences are no longer working well, please try
26 the fc-list command as given in dillorc.
27
28
2329 Here's a list of some old well-known problems of dillo:
2430
2531 * no FRAMES rendering
4147
4248 1.- Install fltk:
4349
44 tar jxvf fltk-1.3.0-source.tar.gz
50 tar zxvf fltk-1.3.0-source.tar.gz
4551 cd fltk-1.3.0
46 less README.unix
52 less README.Unix.txt
4753 make
4854 sudo make install
4955 cd ..
5460
5561 tar jxvf dillo-3.0.tar.bz2
5662 cd dillo-3.0
57 ./autogen.sh; ./configure; make
63 ./configure; make
5864 sudo make install-strip
5965
6066
00 #! /bin/sh
11 # Guess values for system-dependent variables and create Makefiles.
2 # Generated by GNU Autoconf 2.68 for dillo 3.0-pre.
2 # Generated by GNU Autoconf 2.68 for dillo 3.0.
33 #
44 #
55 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
556556 # Identity of this package.
557557 PACKAGE_NAME='dillo'
558558 PACKAGE_TARNAME='dillo'
559 PACKAGE_VERSION='3.0-pre'
560 PACKAGE_STRING='dillo 3.0-pre'
559 PACKAGE_VERSION='3.0'
560 PACKAGE_STRING='dillo 3.0'
561561 PACKAGE_BUGREPORT=''
562562 PACKAGE_URL=''
563563
12861286 # Omit some internal or obsolete options to make the list less imposing.
12871287 # This message is too long to be a string in the A/UX 3.1 sh.
12881288 cat <<_ACEOF
1289 \`configure' configures dillo 3.0-pre to adapt to many kinds of systems.
1289 \`configure' configures dillo 3.0 to adapt to many kinds of systems.
12901290
12911291 Usage: $0 [OPTION]... [VAR=VALUE]...
12921292
13571357
13581358 if test -n "$ac_init_help"; then
13591359 case $ac_init_help in
1360 short | recursive ) echo "Configuration of dillo 3.0-pre:";;
1360 short | recursive ) echo "Configuration of dillo 3.0:";;
13611361 esac
13621362 cat <<\_ACEOF
13631363
14631463 test -n "$ac_init_help" && exit $ac_status
14641464 if $ac_init_version; then
14651465 cat <<\_ACEOF
1466 dillo configure 3.0-pre
1466 dillo configure 3.0
14671467 generated by GNU Autoconf 2.68
14681468
14691469 Copyright (C) 2010 Free Software Foundation, Inc.
21712171 This file contains any messages produced by compilers while
21722172 running configure, to aid debugging if configure makes a mistake.
21732173
2174 It was created by dillo $as_me 3.0-pre, which was
2174 It was created by dillo $as_me 3.0, which was
21752175 generated by GNU Autoconf 2.68. Invocation command line was
21762176
21772177 $ $0 $@
30983098
30993099 # Define the identity of the package.
31003100 PACKAGE='dillo'
3101 VERSION='3.0-pre'
3101 VERSION='3.0'
31023102
31033103
31043104 cat >>confdefs.h <<_ACEOF
69836983 # report actual input values of CONFIG_FILES etc. instead of their
69846984 # values after options handling.
69856985 ac_log="
6986 This file was extended by dillo $as_me 3.0-pre, which was
6986 This file was extended by dillo $as_me 3.0, which was
69876987 generated by GNU Autoconf 2.68. Invocation command line was
69886988
69896989 CONFIG_FILES = $CONFIG_FILES
70497049 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
70507050 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
70517051 ac_cs_version="\\
7052 dillo config.status 3.0-pre
7052 dillo config.status 3.0
70537053 configured by $0, generated by GNU Autoconf 2.68,
70547054 with options \\"\$ac_cs_config\\"
70557055
00 dnl Process this file with aclocal, autoconf and automake.
11
2 AC_INIT([dillo], [3.0-pre])
2 AC_INIT([dillo], [3.0])
33
44 dnl Detect the canonical target build environment
55 AC_CANONICAL_TARGET
7979
8080 # Set this to YES if you want to limit the word wrap width to the viewport
8181 # width (may be useful for iPAQ)
82 # *** NOT HOOKED UP YET ***
83 #
8482 #limit_text_width=NO
8583
8684
202202 char *ret = (char *) malloc(2 * len + 1);
203203 char *dest = ret;
204204
205 while (len-- > 0) {
205 while (len-- > 0) {
206206 if (*buf == '@')
207207 *dest++ = *buf;
208208 *dest++ = *buf++;
11431143 fl_font(o->font, o->size);
11441144 fl_measure(o->value, W, H, interpret_symbols);
11451145 }
1146
1146
11471147
11481148
11491149 //int main(int argc, char **argv)
171171 family->set ((Fl_Font) i, t);
172172 delete familyName;
173173 } else {
174 // set first font of family also as normal font in case there
174 // set first font of family also as normal font in case there
175175 // is no normal (non-bold, non-italic) font
176176 family = new FontFamily ((Fl_Font) i, -1, -1, -1);
177177 family->set ((Fl_Font) i, t);
682682 {
683683 /* FLTK-1.3 insists upon returning a new copy of the buffer text, so
684684 * we have to keep track of it.
685 */
685 */
686686 if (text_copy)
687687 free(text_copy);
688688 text_copy = buffer->text();
231231 /* When the viewport has focus (and not one of its children), FLTK
232232 * sends the event here. Returning zero tells FLTK to resend the
233233 * event as SHORTCUT, which we finally route to the parent. */
234
234
235235 /* As we don't know the exact keybindings set by the user, we ask
236236 * for all of them (except Tab to keep form navigation). */
237237 if (Fl::event_key() != FL_Tab)
294294
295295 case FL_RELEASE:
296296 if (Fl::event_button() == FL_MIDDLE_MOUSE) {
297 dragScrolling = 0;
298297 setCursor (core::style::CURSOR_DEFAULT);
299 } else if (verScrolling && vscrollbar->handle(event)) {
300 verScrolling = 0;
301 return 1;
302 } else if (horScrolling && hscrollbar->handle(event)) {
303 horScrolling = 0;
304 return 1;
298 } else if (verScrolling) {
299 vscrollbar->handle(event);
300 } else if (horScrolling) {
301 hscrollbar->handle(event);
305302 }
303 horScrolling = verScrolling = dragScrolling = 0;
306304 break;
307305
308306 case FL_ENTER:
832832 yp1 = yb1 + style->borderWidth.top;
833833 xp2 = xb2 - style->borderWidth.right;
834834 yp2 = yb2 - style->borderWidth.bottom;
835
835
836836 light = inverse ? Color::SHADING_DARK : Color::SHADING_LIGHT;
837837 dark = inverse ? Color::SHADING_LIGHT : Color::SHADING_DARK;
838838 normal = inverse ? Color::SHADING_INVERSE : Color::SHADING_NORMAL;
265265 int descent)
266266 {
267267 /**
268 * \todo The argument to queueResize is not always true. (But this works.)
268 * \todo Verify that this is correct.
269269 */
270 resource->queueResize (true);
270 resource->queueResize (resource->childWidget->extremesChanged ());
271271 }
272272
273273 ComplexButtonResource::ComplexButtonResource ()
116116 " <tr>\n"
117117 " <td>&nbsp;&nbsp;\n"
118118 " <td>\n"
119 " <a href='http://slashdot.org/'>Slashdot</a>\n"
120 " <tr>\n"
121 " <td>&nbsp;&nbsp;\n"
122 " <td>\n"
119123 " <a href='http://www.linux.org.uk/Portaloo.cs'>Linux.org.uk</a>\n"
120124 " <tr>\n"
121125 " <td>&nbsp;&nbsp;\n"
234238 "<tr>\n"
235239 " <td bgcolor='#CCCCCC'>\n"
236240 " <h4>Release overview</h4>\n"
237 " August ??, 2011\n"
241 " September 06, 2011\n"
238242 "<tr>\n"
239243 " <td bgcolor='#FFFFFF'>\n"
240244 " <table border='0' cellspacing='0' cellpadding='5'>\n"
280284 "<li>Default binding for close-all changed from Alt-q to Ctrl-q.\n"
281285 "<li>Default binding for close-tab changed from Ctrl-q to Ctrl-w.\n"
282286 "<li>Default binding for left-tab changed to Shift-Ctrl-Tab.\n"
287 "<li>Rewrote the User Interface: much simpler design and event handling.\n"
288 "<li>Added on-the-fly panel resize (tiny/small/medium and normal/small icons).\n"
283289 "<li>'hide-panels' key action now hides the findbar if present,\n"
284290 " and toggles display of the control panels otherwise.\n"
285291 "<li>Allow multiple search engines to be set in dillorc, with a menu\n"
286292 " in the web search dialog to select between them.\n"
287293 "<li>Added an optional label to dillorc's search_url.\n"
288294 " Format: \"[&lt;label&gt; ]&lt;url&gt;\"\n"
289 "<li>Removed 'large' option of panel_size preference.\n"
290295 "<li>Add right_click_closes_tab preference (default is middle click).\n"
291296 "<li>Allow binding to non-ASCII keys and multimedia keys.\n"
292 "<li>Removed --enable-ansi configure option.\n"
293297 "<li>Avoid a certificate dialog storm on some HTTPS sites (BUG#868).\n"
294298 "<li>Enable line wrapping for &lt;textarea&gt;. (BUG#903)\n"
295 "<li>Rewrote the User Interface: much simpler design and event handling.\n"
296299 "<li>Avoid double render after going Back or Forward\n"
297300 " (it takes half the time now!)\n"
298 "<li>Added on-the-fly panel resize (tiny/small/medium and normal/small icons).\n"
299301 "<li>Implemented a custom tabs handler (to allow fine control of it).\n"
300302 "<li>Rewrote dw's crossing-events dispatcher (avoids redundant events).\n"
301303 "<li>Fixed a years old bug: stamped tooltips when scrolling with keyboard.\n"
303305 " (BUG#948)\n"
304306 "<li>Cancel the expected URL after offering a download (BUG#982)\n"
305307 "<li>Eliminated a pack of 22 compiler warnings (gcc-4.6.1 amd64)\n"
308 "<li>Removed 'large' option of panel_size preference.\n"
309 "<li>Removed --enable-ansi configure option.\n"
306310 "<li>Limit saved cookie size.\n"
307311 "<li>Wrap image alt text.\n"
308312 "<li>Added support for CSS adjacent sibling selectors.\n"
313 "<li>Fix redraw loops and reenabled limit_text_width dillorc option.\n"
309314 "<li>Collapse parent's and first child's top margin.\n"
310315 "</ul>\n"
311316 " </table>\n"
11751175 }
11761176 }
11771177 if (AbortEntry) {
1178 if (ClientWeb->flags & WEB_RootUrl)
1179 a_Nav_cancel_expect_if_eq(Client_bw, Client->Url);
11781180 a_Bw_remove_client(Client_bw, Client->Key);
11791181 Cache_client_dequeue(Client, NULLKey);
11801182 --i; /* Keep the index value in the next iteration */
766766 a_Chain_bcb(OpAbort, Info, NULL, NULL);
767767 /* remove the cache entry for this URL */
768768 a_Cache_entry_remove_by_url(conn->url);
769 a_Nav_cancel_expect_if_eq(conn->bw, conn->url);
770769 Capi_conn_unref(conn);
771770 dFree(Info);
772771 break;
160160
161161 if (comb == ADJACENT_SIBLING)
162162 node = docTree->sibling (node);
163 else
163 else
164164 node = docTree->parent (node);
165165 }
166166
364364 // Sets WM_CLASS hint on X11
365365 Fl_Window::default_xclass("dillo");
366366
367 if (!prefs.show_tooltip) {
368 // turn off UI tooltips
369 Fl::option(Fl::OPTION_SHOW_TOOLTIPS, false);
370 }
371
367372 // Disable '@' and '&' interpretation in normal labels.
368373 Fl::set_labeltype(FL_NORMAL_LABEL, custLabelDraw, custLabelMeasure);
369374
5757 num = 0;
5858 };
5959
60 ~Doctree () {
60 ~Doctree () {
6161 delete rootNode;
6262 };
6363
8484 };
8585
8686 inline DoctreeNode *parent (const DoctreeNode *node) {
87 if (node->parent != rootNode)
87 if (node->parent != rootNode)
8888 return node->parent;
8989 else
9090 return NULL;
124124 hide_btn->callback(hide_cb, this);
125125 hide_btn->clear_visible_focus();
126126 hide_btn->box(FL_THIN_UP_BOX);
127 hide_btn->tooltip("Hide");
127128 add(hide_btn);
128129
129130 i = new MyInput(x, border, input_width, height);
139140 next_btn->callback(search_cb, this);
140141 next_btn->clear_visible_focus();
141142 next_btn->box(FL_THIN_UP_BOX);
143 next_btn->tooltip("Find next occurrence of the search phrase\n"
144 "shortcut: Enter");
142145 add(next_btn);
143146
144147 prev_btn= new Fl_Button(x, border, button_width, height, "Previous");
147150 prev_btn->callback(searchBackwards_cb, this);
148151 prev_btn->clear_visible_focus();
149152 prev_btn->box(FL_THIN_UP_BOX);
153 prev_btn->tooltip("Find previous occurrence of the search phrase\n"
154 "shortcut: Shift+Enter");
150155 add(prev_btn);
151156
152157 check_btn = new Fl_Check_Button(x, border, 2*button_width, height,
155160 check_btn->clear_visible_focus();
156161 add(check_btn);
157162
158 if (prefs.show_tooltip) {
159 hide_btn->tooltip("Hide");
160 next_btn->tooltip("Find next occurrence of the search phrase\n"
161 "shortcut: Enter");
162 prev_btn->tooltip("Find previous occurrence of the search phrase\n"
163 "shortcut: Shift+Enter");
164 }
165163 }
166164
167165 Findbar::~Findbar()
850850 Embed *embed;
851851 char *name, *value;
852852
853 page = new Textblock (prefs.limit_text_width);
853 /* We used to have Textblock (prefs.limit_text_width) here,
854 * but it caused 100% CPU usage.
855 */
856 page = new Textblock (false);
854857 page->setStyle (html->styleEngine->backgroundStyle ());
855858
856859 ResourceFactory *factory = HT2LT(html)->getResourceFactory();
217217 // restore the old numeric locale
218218 setlocale(LC_NUMERIC, oldLocale);
219219 dFree(oldLocale);
220
221
222 if (prefs.limit_text_width) {
223 /* BUG: causes 100% CPU usage with <button> or <input type="image"> */
224 MSG_WARN("Disabling limit_text_width preference (currently broken).\n");
225 prefs.limit_text_width = FALSE;
226 }
227220 }
142142 if (styleAttr && prefs.parse_embedded_css) {
143143 n->styleAttrProperties = new CssPropertyList (true);
144144 n->styleAttrPropertiesImportant = new CssPropertyList (true);
145
145
146146 CssParser::parseDeclarationBlock (styleAttr, strlen (styleAttr),
147147 n->styleAttrProperties,
148148 n->styleAttrPropertiesImportant);
407407 Bookmarks = make_button("Book", icons->ImgBook, NULL, UI_BOOK);
408408 Tools = make_button("Tools", icons->ImgTools, NULL, UI_TOOLS);
409409
410 if (prefs.show_tooltip) {
411 Back->tooltip("Previous page");
412 Forw->tooltip("Next page");
413 Home->tooltip("Go to the Home page");
414 Reload->tooltip("Reload");
415 Save->tooltip("Save this page");
416 Stop->tooltip("Stop loading");
417 Bookmarks->tooltip("View bookmarks");
418 Tools->tooltip("Settings");
419 }
410 Back->tooltip("Previous page");
411 Forw->tooltip("Next page");
412 Home->tooltip("Go to the Home page");
413 Reload->tooltip("Reload");
414 Save->tooltip("Save this page");
415 Stop->tooltip("Stop loading");
416 Bookmarks->tooltip("View bookmarks");
417 Tools->tooltip("Settings");
420418 }
421419
422420 /*
431429 b->callback(clear_cb, this);
432430 b->clear_visible_focus();
433431 b->box(FL_THIN_UP_BOX);
432 b->tooltip("Clear the URL box.\nMiddle-click to paste a URL.");
434433 p_xpos += b->w();
435434
436435 Fl_Input *i = Location = new CustInput(p_xpos,0,ww-p_xpos-32,lh,0);
437436 i->color(CuteColor);
438437 i->when(FL_WHEN_ENTER_KEY);
439438 i->callback(location_cb, this);
439 i->tooltip("Location");
440440 p_xpos += i->w();
441441
442442 Search = b = new CustLightButton(p_xpos,0,16,lh,0);
444444 b->callback(search_cb, this);
445445 b->clear_visible_focus();
446446 b->box(FL_THIN_UP_BOX);
447 b->tooltip("Search the Web");
447448 p_xpos += b->w();
448449
449450 Help = b = new CustLightButton(p_xpos,0,16,lh,0);
451452 b->callback(help_cb, this);
452453 b->clear_visible_focus();
453454 b->box(FL_THIN_UP_BOX);
455 b->tooltip("Help");
454456 p_xpos += b->w();
455457
456 if (prefs.show_tooltip) {
457 Clear->tooltip("Clear the URL box.\nMiddle-click to paste a URL.");
458 Location->tooltip("Location");
459 Search->tooltip("Search the Web");
460 Help->tooltip("Help");
461 }
462458 }
463459
464460 /*
502498 _MSG("UI::make_filemenu_button w=%d h=%d padding=%d\n", w, h, padding);
503499 btn->box(FL_THIN_UP_BOX);
504500 btn->callback(filemenu_cb, this);
505 if (prefs.show_tooltip)
506 btn->tooltip("File menu");
501 btn->tooltip("File menu");
507502 btn->clear_visible_focus();
508503 if (!prefs.show_filemenu)
509504 btn->hide();
613608 BugMeter->image(icons->ImgMeterOK);
614609 BugMeter->box(FL_THIN_DOWN_BOX);
615610 BugMeter->align(FL_ALIGN_INSIDE | FL_ALIGN_TEXT_NEXT_TO_IMAGE);
616 if (prefs.show_tooltip)
617 BugMeter->tooltip("Show HTML bugs\n(right-click for menu)");
611 BugMeter->tooltip("Show HTML bugs\n(right-click for menu)");
618612 BugMeter->callback(bugmeter_cb, this);
619613 BugMeter->clear_visible_focus();
620614