On 2009-05-08, John Magolske b79...@gmail.com wrote:
I'm running ELinks in a Linux framebuffer console GNU Screen, and
am looking for a way to adust the width of viewed pages. My console
is set to 128 columns, which can be a bit wide sometimes. I'd like
to view pages in the 80-90 column range.
In ~/.elinks/elinks.conf setting:
document.browse.margin_width = 9
will reduce the page width to 110 columns, but 9 is the maximum
value that can be set. Is there some way to achieve a narrower page
width? It would also be nice to somehow toggle between full-width
and reduced-width with a key binding.
If you can compile elinks from source, the following patch (against
current git master) would do it. This adds toggle-margin action
(default keybind M) to toggle the margin between 0 and the specified
margin_width (which can be up to 100 now).
It also adds document.browse.use_margin option to specify whether
margins are to be used at startup.
There is currently no check for too large of a margin. Strange things
may happen if 2*margin #columns.
-Yozo
diff --git a/src/config/actions-main.inc b/src/config/actions-main.inc
index 21ff838..1f6114f 100644
--- a/src/config/actions-main.inc
+++ b/src/config/actions-main.inc
@@ -118,6 +118,7 @@ ACTION_(MAIN, toggle-display-images,
TOGGLE_DISPLAY_IMAGES, N__(Toggle displa
ACTION_(MAIN, toggle-display-tables, TOGGLE_DISPLAY_TABLES, N__(Toggle
rendering of tables), 0),
ACTION_(MAIN, toggle-document-colors, TOGGLE_DOCUMENT_COLORS, N__(Toggle
usage of document specific colors), 0),
ACTION_(MAIN, toggle-html-plain, TOGGLE_HTML_PLAIN, N__(Toggle rendering
page as HTML / plain text), 0),
+ACTION_(MAIN, toggle-margin, TOGGLE_MARGIN, N__(Toggle use of margins), 0),
ACTION_(MAIN, toggle-mouse, TOGGLE_MOUSE, N__(Toggle mouse handling), 0),
ACTION_(MAIN, toggle-numbered-links, TOGGLE_NUMBERED_LINKS, N__(Toggle
displaying of links numbers), 0),
ACTION_(MAIN, toggle-plain-compress-empty-lines,
TOGGLE_PLAIN_COMPRESS_EMPTY_LINES, N__(Toggle plain renderer compression of
empty lines), 0),
diff --git a/src/config/kbdbind.c b/src/config/kbdbind.c
index 2096a56..bd02886 100644
--- a/src/config/kbdbind.c
+++ b/src/config/kbdbind.c
@@ -664,6 +664,7 @@ static struct default_kb default_main_keymap[] = {
{ { 'K', KBD_MOD_CTRL }, ACT_MAIN_COOKIES_LOAD },
{ { 'L', KBD_MOD_NONE }, ACT_MAIN_LINK_MENU },
{ { 'L', KBD_MOD_CTRL }, ACT_MAIN_REDRAW },
+ { { 'M', KBD_MOD_NONE }, ACT_MAIN_TOGGLE_MARGIN },
{ { 'N', KBD_MOD_NONE }, ACT_MAIN_FIND_NEXT_BACK },
{ { 'N', KBD_MOD_CTRL }, ACT_MAIN_SCROLL_DOWN },
{ { 'P', KBD_MOD_CTRL }, ACT_MAIN_SCROLL_UP },
diff --git a/src/config/options.inc b/src/config/options.inc
index 4e4b255..998b133 100644
--- a/src/config/options.inc
+++ b/src/config/options.inc
@@ -447,9 +447,12 @@ static struct option_info config_options_info[] = {
2 automatically starts typeahead searching thru all document\n
text)),
+ INIT_OPT_INT(document.browse, N_(Whether to use text margin by
default.),
+ use_margin, 0, 0, 1, 0,
+ N_(Whether to use text margin by default.)),
INIT_OPT_INT(document.browse, N_(Horizontal text margin),
- margin_width, 0, 0, 9, 3,
+ margin_width, 0, 0, 100, 3,
N_(Horizontal text margin.)),
INIT_OPT_BOOL(document.browse, N_(Document meta refresh),
diff --git a/src/document/options.c b/src/document/options.c
index f00a515..b6dcc54 100644
--- a/src/document/options.c
+++ b/src/document/options.c
@@ -31,7 +31,7 @@ init_document_options(struct session *ses, struct
document_options *doo)
doo-hard_assume = get_opt_bool(document.codepage.force_assumed, ses);
doo-use_document_colors =
get_opt_int(document.colors.use_document_colors, ses);
- doo-margin = get_opt_int(document.browse.margin_width, ses);
+ doo-margin = get_opt_bool(document.browse.use_margin, ses) ?
get_opt_int(document.browse.margin_width, ses) : 0;
doo-num_links_key =
get_opt_int(document.browse.links.number_keys_select_link, ses);
doo-meta_link_display = get_opt_int(document.html.link_display, ses);
doo-default_form_input_size =
get_opt_int(document.browse.forms.input_size, ses);
diff --git a/src/viewer/action.c b/src/viewer/action.c
index 66e20bb..f629a7e 100644
--- a/src/viewer/action.c
+++ b/src/viewer/action.c
@@ -608,6 +608,10 @@ do_action(struct session *ses, enum main_action action_id,
int verbose)
toggle_plain_html(ses, ses-doc_view, 0);
break;
+ case ACT_MAIN_TOGGLE_MARGIN:
+ toggle_document_option(ses,
document.browse.use_margin);
+ break;
+
case ACT_MAIN_TOGGLE_MOUSE:
#ifdef CONFIG_MOUSE
toggle_mouse();