Re: [elinks-users] adjusting the page width

2009-05-08 Thread Y. Hida
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();


Re: [elinks-users] adjusting the page width

2009-05-08 Thread John Magolske
* Y. Hida eigensol...@gmail.com [090508 17:20]:
 On 2009-05-08, John Magolske b79...@gmail.com wrote:
  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).

Thanks! This patch does exactly what I was looking for.

One question -- is there a way to have it toggle the margin between
say, 2 or 3 (rather than 0) and the specified margin_width? Maybe by
changing something in this line:

+   margin_width, 0, 0, 100, 3,

Regards,

John


-- 
John Magolske
http://B79.net/contact
___
elinks-users mailing list
elinks-users@linuxfromscratch.org
http://linuxfromscratch.org/mailman/listinfo/elinks-users