url-mode: add a key binding that enables “persistent” URL mode

This is an alternative to ‘show-urls-launch’, where we stay in URL
mode after activating an URL.

Closes #964
This commit is contained in:
Daniel Eklöf 2022-03-22 19:07:06 +01:00
parent 0062f4e133
commit 501a9fbb5e
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
8 changed files with 37 additions and 11 deletions

View file

@ -84,7 +84,8 @@ activate_url(struct seat *seat, struct terminal *term, const struct url *url)
}
break;
case URL_ACTION_LAUNCH: {
case URL_ACTION_LAUNCH:
case URL_ACTION_PERSISTENT: {
size_t argc;
char **argv;
@ -205,7 +206,18 @@ urls_input(struct seat *seat, struct terminal *term, uint32_t key,
if (match) {
activate_url(seat, term, match);
urls_reset(term);
switch (match->action) {
case URL_ACTION_COPY:
case URL_ACTION_LAUNCH:
urls_reset(term);
break;
case URL_ACTION_PERSISTENT:
term->url_keys[0] = U'\0';
render_refresh_urls(term);
break;
}
}
else if (is_valid) {