]> git.pld-linux.org Git - packages/elinks.git/blob - elinks-feature.h
- original archive lacks this file
[packages/elinks.git] / elinks-feature.h
1 /* $Id$ */
2
3 #ifndef EL__DOTDOT_FEATURE_H
4 #define EL__DOTDOT_FEATURE_H
5
6 /* This file contains various compile-time configuration settings, which you
7  * can adjust below. You can fine-tune the ELinks binary to include really only
8  * what you want it to. There are still some things which are to be adjusted
9  * only directly through the ./configure script arguments though, so check
10  * ./configure --help out as well! */
11
12 /* For users:
13  *
14  * The "/" "*" and "*" "/" sequences start/end comments in this file. The
15  * features are controlled by using the "#define FEATURE" command. If it is
16  * commented out, it means the feature is disabled, otherwise it is enabled.
17  * Therefore, if the default doesn't suit you, you can either comment it out
18  * or remove the comment marks. */
19
20 /* For developers:
21  *
22  * Please strive to keep the format of all entries uniform, it will make it
23  * easier for us as well as for the users. Do not forget to accurately describe
24  * the feature and also the impact of enabling/disabling it. Follow the format
25  * of existing comments. Follow the example of XBEL when adding features which
26  * also need some detection in configure.in.
27  *
28  * Not everything is suitable for an entry in this file, maybe it would be
29  * happier directly in the configure.in. Basically, if it is going to have the
30  * commandline argument in ./configure anyway (the M4 macro expansion does it,
31  * like --with-x or --without-nls), do not add it here. If it is really purely
32  * question of system support (X2, HAVE_SA_STORAGE), and it makes no sense for
33  * the user to touch it, do not include it here.
34  *
35  * Also, use your common sense. (Not that I would trust it that much... ;-))
36  * --pasky */
37
38
39
40 /*** LEDs
41  *
42  * These are the tiny LED-like indicators, shown at the bottom-right of the
43  * screen as [-----]. They are used for indication of various states, ie.
44  * whether you are currently talking through a SSL-secured connection.
45  *
46  * This is rather a fancy thing, and it doesn't do anything actually useful yet
47  * anyway.
48  *
49  * Default: disabled */
50
51 /* #define CONFIG_LEDS */
52
53
54 /*** Bookmarks
55  *
56  * ELinks has built-in hiearchic bookmarks support. Open the bookmarks manager
57  * by pressing 's'. When bookmarks are enabled, also support for the internal
58  * ELinks bookmarks format is always compiled in.
59  *
60  * This is a favourite target for disabling in various embedded applications.
61  * It all depends on your requirements.
62  *
63  * Default: enabled */
64
65 #define CONFIG_BOOKMARKS
66
67
68 /*** XBEL Bookmarks
69  *
70  * ELinks also supports universal XML bookmarks format called XBEL, also
71  * supported by ie. Galeon, various "always-have-my-bookmarks" websites and
72  * number of universal bookmark convertors.
73  *
74  * Frequently, you know you will not need it, then you can of course happily
75  * forcibly remove support for it and save few bytes.
76  *
77  * Default: enabled if libexpat (required library) found and bookmarks are
78  * enabled */
79
80 #if defined(HAVE_LIBEXPAT) && defined(CONFIG_BOOKMARKS)
81 /* Comment out the following line if you want to always have this disabled: */
82 #define CONFIG_XBEL_BOOKMARKS
83 #endif
84
85
86 /*** Cookies
87  *
88  * Support for HTTP cookies --- a data token which the server sends the client
89  * once and then the client sends it back along each request to the server.
90  * This mechanism is crucial for ie. keeping HTTP sessions (you "log in" to a
91  * site, and from then on the site recognizes you usually because of the
92  * cookie), but also for various banner systems, remembering values filled to
93  * various forms, and so on. You can further tune the ELinks behaviour at
94  * runtime (whether to accept/send cookies, ask for confirmation when accepting
95  * a cookie etc).
96  *
97  * This functionality is usually quite important and you should not disable it
98  * unless you really know what are you doing.
99  *
100  * Default: enabled */
101
102 #define CONFIG_COOKIES
103
104
105 /*** Global History
106  *
107  * This device records each and every page you visit (to a configurable limit).
108  * You can browse through this history in the history manager (press 'h').  Do
109  * not confuse this with the "session history", recording history of your
110  * browsing in the frame of one session (session history is the thing you move
111  * through when pressing 'back' and 'unback' or which you see in the
112  * File::History menu).
113  *
114  * Global history does not care about the order you visited the pages in, it
115  * just records that you visited it, when did you do that and the title of the
116  * page. Then, you can see when did you visit a link last time (and what was
117  * the title of the target document at that time), links can be coloured as
118  * visited etc.
119  *
120  * If you disable this feature, you will not lose any crucial functionality,
121  * just some relatively minor convenience features, which can nevertheless
122  * prove sometimes very practical.
123  *
124  * Default: enabled */
125
126 #define CONFIG_GLOBHIST
127
128
129
130 /*** URI Rewriting
131  *
132  * The goto dialog through which new URIs can be entered is an essential part
133  * of browsing in ELinks. This feature makes the dialog more powerful by making
134  * it possible to extend how entered text is handled through a set of rewrite
135  * rules (see protocol.rewrite options).
136  *
137  * There are two types of rules: simple and smart ones.
138  *
139  * Simple rewriting rules are basicly URI abbreviations, making it possible to
140  * map a word to the full URI. They can also be used for hierarchic navigation
141  * to ease moving from some nested directory to the parent directory or doing
142  * other stuff with the current URI. For example, when you type 'gg' into the
143  * goto dialog, you will be materialized at Google's homepage.
144  *
145  * Smart rules can take arguments and therefore enable more advanced rewriting.
146  * The arguments could be search words to google for or a lookup query for a
147  * dictionary. Eg. type 'gg:Petr Baudis king of ELinks cvs'.
148  *
149  * This feature is also available in a more powerful form in the Lua and Guile
150  * extensions, so if you plan to or already use those, you won't miss anything
151  * by disabling this feature (besides easier and better integrated
152  * configuration).
153  *
154  * Default: enabled */
155
156 #define CONFIG_URI_REWRITE
157
158
159
160 /*** MIME
161  *
162  * ELinks uses a MIME system for determining the content type of documents and
163  * configuring programs for external handling. By default the option system can
164  * be used to configure how media types are handled. More info about how to set
165  * up the MIME handling using the option system can be found in the
166  * doc/mime.html file.
167  *
168  * Below are listed some additional ways to do it. */
169
170 /*** Mailcap
171  *
172  * Mailcap files describe what program - on the local system - can be used to
173  * handle a media type. The file format is defined in RFC 1524 and more info
174  * including examples can be found in the doc/mailcap.html file.
175  *
176  * This is very useful especially for clean interoperability with other
177  * MIME-aware applications and fitting nicely into the UNIX system, where this
178  * is the standard way of specifying MIME handlers. If you are not interested
179  * in that, you can still use the internal MIME associations system, though.
180  *
181  * Default: enabled */
182
183 #define CONFIG_MAILCAP
184
185 /*** Mimetypes File
186  *
187  * Mimetypes file can be used to specify the relation between media types and
188  * file extensions.
189  *
190  * Basically same thing applies here as for the mailcap support.
191  *
192  * Default: enabled */
193
194 #define CONFIG_MIMETYPES
195
196
197
198 /*** 256 Colors in Terminals
199  *
200  * Define to add support for using 256 colors in terminals. Note that this
201  * requires a capable terminal emulator, such as:
202  *
203  * - Thomas Dickey's XTerm, version 111 or later (check which version you have
204  *   with xterm -version) compiled with --enable-256-color.
205  *
206  * - Recent versions of PuTTY also have some support for 256 colors.
207  *
208  * You will still need to enable this at runtime for a given terminal in
209  * terminal options, or set your $TERM variable to xterm-256color - then,
210  * ELinks will automatically configure itself to make use of all the available
211  * terminal features, while still acting sensibly when you happen to run it in
212  * an xterm w/o the 256 colors support.
213  *
214  * When enabled, the memory usage is somewhat increased even when running in
215  * mono and 16 colors mode (the memory consumption can be especially remarkable
216  * when rendering very large documents and/or using very large terminals).
217  * However, when you actually run it in the suitable terminal, it looks really
218  * impressive, I'd say marvelous!
219  *
220  * Default: disabled */
221
222 /* #define CONFIG_256_COLORS */
223
224
225 /*** Backtrace Printing
226  *
227  * Once upon a time, a disaster happens and ELinks crashes. That is a very sad
228  * event and it would be very nice to have some means how to diagnose it. In
229  * the crash handler, ELinks prints out various helpful things, however the
230  * truly important information is _where_ did it crash. Usually, users do not
231  * have gdb installed and can't provide a backtrace. However, ELinks can print
232  * a backtrace on its own, if the system supports it (currently, it is
233  * implemented only for glibc). It is not always accurate, it is useless when
234  * the ELinks binary is stripped and it still misses a lot of important
235  * information, but it can be sometimes still an indispensable help for the
236  * developers.
237  *
238  * You should keep this, unless you will strip your ELinks binary anyway, you
239  * know you are not going to report back any failures and you care about each
240  * single wasted bit.
241  *
242  * Default: enabled if the libc supports it (only glibc) */
243
244 #ifdef CONFIG_BACKTRACE
245 /* Uncomment the following line if you want to always have this disabled: */
246 /* #undef CONFIG_BACKTRACE */
247 #endif
248
249
250 /*** Disable Root User
251  *
252  * Browsers are scary monsters used for traveling around in an even more scary
253  * world where people indifferently throw garbage files at you and threaten
254  * your perfect world. Altho' ELinks is a small monster compared to most
255  * browsers, it can still bite your head off and some might consider running it
256  * as the root user extremely dangerous. To prevent such usage simply enable
257  * this feature.
258  *
259  * Default: disabled */
260
261 #if defined(HAVE_GETUID) && defined(HAVE_GETEUID)
262 /* Uncomment the following line if you want to enable this: */
263 /* #define CONFIG_NO_ROOT_EXEC */
264 #endif
265
266
267 /*** Form History
268  *
269  * The famous Competing Browser has that annoying thing which pops up when you
270  * submit a form, offering to remember it and pre-fill it the next time. And
271  * yes, ELinks can do that too! You will still need to also enable this manualy
272  * at document.browse.forms.show_formhist.
273  *
274  * Many people find it extremely annoying (including pasky), however some
275  * others consider it extremely handy and will sacrifice almost anything to get
276  * it. It will not do any harm to have this compiled-in as long as you will
277  * leave it turned off (which is also the default configuration).
278  *
279  * Default: enabled */
280
281 #define CONFIG_FORMHIST
282
283
284 /*** Mouse Support
285  *
286  * ELinks may be controlled not only by keyboard, but also by mouse to quite
287  * some extent. You can select links, menu items, scroll document, click at
288  * buttons etc, and it should hopefully work. ELinks supports mouse control by
289  * GPM, xterm mouse reporting and TWAIN's twterm mouse reporting.
290  *
291  * It is generally nice convience and doesn't cost too much. However, you can
292  * do everything with keyboard as you can with mouse. Also note that the xterm
293  * mouse reporting takes control over the terminal so that copy and pasting
294  * text from and to ELinks has to be done by holding down the Shift key.
295  *
296  * Default: enabled */
297
298 #define CONFIG_MOUSE
299
300
301 /*** Local CGI Support
302  *
303  * ELinks can (like w3m or lynx) execute certain executable files stored on the
304  * local disks as CGIs, when you target it on them (through a URI of the 'file'
305  * scheme). ELinks emulates the complete CGI environment, like the program
306  * would be executed by a web server. See the protocol.file.cgi options tree
307  * for detailed runtime configuration.
308  *
309  * Some people just write their bookmark managment application as perl CGI
310  * script and then access it from the web browser using this feature, not
311  * needing any web server or so. Therefore, this is a great possible way to
312  * extended the browser capabilities.
313  *
314  * Even when you compile this in, you need to enable this yet in the
315  * configuration, and even then only CGI files passing certain user-defined
316  * filters (path-based) will be allowed to be executed (and there are certain
317  * other security barriers in place).
318  *
319  * Default: disabled */
320
321 #ifdef HAVE_SETENV
322 /* Uncomment the following line if you want to enable this: */
323 /* #define CONFIG_CGI */
324 #endif
325
326
327 /*** SMB Protocol Support
328  *
329  * ELinks supports browsing over the SMB protocol (URI 'smb' scheme), using the
330  * smbclient program as backend. Therefore, in order to have this enabled, you
331  * will need to install Samba (or at least just the smbclient part, if you can
332  * install it separately).
333  *
334  * Default: enabled if smbclient will be found */
335
336 #ifdef CONFIG_SMB
337 /* Uncomment the following line if you want to always have this disabled: */
338 /* #undef CONFIG_SMB */
339 #endif
340
341
342 #endif
This page took 0.078036 seconds and 3 git commands to generate.