diff --git a/man/terminology.1 b/man/terminology.1 index 1b20f6b0..c4f3a76a 100644 --- a/man/terminology.1 +++ b/man/terminology.1 @@ -121,6 +121,11 @@ Force single executable if multi-instance is enabled.. Set TERM to \fBxterm-256color\fP instead of \fBxterm\fP. . .TP +.B \-\-active\-links=ACTIVATE\-LINKS +Whether to highlight links. +Type: BOOL. +. +.TP .B \-V, \-\-version Show program version. . diff --git a/src/bin/config.c b/src/bin/config.c index 03e43e91..c80a3db8 100644 --- a/src/bin/config.c +++ b/src/bin/config.c @@ -7,7 +7,7 @@ #include "col.h" #include "utils.h" -#define CONF_VER 2 +#define CONF_VER 3 #define LIM(v, min, max) {if (v >= max) v = max; else if (v <= min) v = min;} @@ -281,11 +281,17 @@ config_load(const char *key) case 1: _config_upgrade_to_v2(config); /*pass through*/ - case CONF_VER: /* 2 */ + case 2: LIM(config->font.size, 3, 400); LIM(config->scrollback, 0, 200000); LIM(config->tab_zoom, 0.0, 1.0); LIM(config->vidmod, 0, 3) + + /* upgrade to v3 */ + config->active_links = EINA_TRUE; + config->version = 3; + /*pass through*/ + case CONF_VER: /* 3*/ break; default: if (config->version < CONF_VER) diff --git a/src/bin/ipc.h b/src/bin/ipc.h index 17c90266..8d41f33a 100644 --- a/src/bin/ipc.h +++ b/src/bin/ipc.h @@ -27,6 +27,7 @@ struct _Ipc_Instance int hold; int nowm; int xterm_256color; + int active_links; }; void ipc_init(void); diff --git a/src/bin/main.c b/src/bin/main.c index 4cda584d..a122245b 100644 --- a/src/bin/main.c +++ b/src/bin/main.c @@ -2316,6 +2316,7 @@ main_ipc_new(Ipc_Instance *inst) if (inst->hold) nargc += 1; if (inst->nowm) nargc += 1; if (inst->xterm_256color) nargc += 1; + if (inst->active_links) nargc += 1; if (inst->cmd) nargc += 2; nargv = calloc(nargc + 1, sizeof(char *)); @@ -2441,6 +2442,10 @@ main_ipc_new(Ipc_Instance *inst) { nargv[i++] = "-2"; } + if (inst->active_links) + { + nargv[i++] = "--active-links"; + } if (inst->cmd) { nargv[i++] = "-e"; @@ -2599,6 +2604,7 @@ static const Ecore_Getopt options = { "Set font (NAME/SIZE for scalable, NAME for bitmap."), ECORE_GETOPT_CHOICE ('v', "video-module", "Set emotion module to use.", emotion_choices), + ECORE_GETOPT_STORE_BOOL('l', "login", "Run the shell as a login shell."), ECORE_GETOPT_STORE_BOOL('m', "video-mute", @@ -2625,6 +2631,8 @@ static const Ecore_Getopt options = { "Force single executable if multi-instance is enabled.."), ECORE_GETOPT_STORE_TRUE('2', "256color", "Set TERM to 'xterm-256color' instead of 'xterm'."), + ECORE_GETOPT_STORE_BOOL('\0', "active-links", + "Whether to highlight links."), ECORE_GETOPT_VERSION ('V', "version"), ECORE_GETOPT_COPYRIGHT ('C', "copyright"), @@ -2671,7 +2679,7 @@ elm_main(int argc, char **argv) ECORE_GETOPT_VALUE_BOOL(cmd_options), #else ECORE_GETOPT_VALUE_STR(cmd), -#endif +#endif ECORE_GETOPT_VALUE_STR(cd), ECORE_GETOPT_VALUE_STR(theme), ECORE_GETOPT_VALUE_STR(background), @@ -2682,7 +2690,7 @@ elm_main(int argc, char **argv) ECORE_GETOPT_VALUE_STR(icon_name), ECORE_GETOPT_VALUE_STR(font), ECORE_GETOPT_VALUE_STR(video_module), - + ECORE_GETOPT_VALUE_BOOL(login_shell), ECORE_GETOPT_VALUE_BOOL(video_mute), ECORE_GETOPT_VALUE_BOOL(cursor_blink), @@ -2696,12 +2704,13 @@ elm_main(int argc, char **argv) ECORE_GETOPT_VALUE_BOOL(hold), ECORE_GETOPT_VALUE_BOOL(single), ECORE_GETOPT_VALUE_BOOL(xterm_256color), + ECORE_GETOPT_VALUE_BOOL(active_links), ECORE_GETOPT_VALUE_BOOL(quit_option), ECORE_GETOPT_VALUE_BOOL(quit_option), ECORE_GETOPT_VALUE_BOOL(quit_option), ECORE_GETOPT_VALUE_BOOL(quit_option), - + ECORE_GETOPT_VALUE_NONE }; Win *wn; @@ -2876,6 +2885,11 @@ elm_main(int argc, char **argv) config->disable_visual_bell = !visual_bell; config->temporary = EINA_TRUE; } + if (active_links != 0xff) + { + config->active_links = !!active_links; + config->temporary = EINA_TRUE; + } if (xterm_256color) {