mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-04-16 08:21:20 -04:00
Fix doc, move logic to activate_url.
This commit is contained in:
parent
a5c43df2d5
commit
b3e4e125d0
2 changed files with 16 additions and 15 deletions
|
|
@ -1348,8 +1348,7 @@ e.g. *search-start=none*.
|
||||||
*show-urls-launch*
|
*show-urls-launch*
|
||||||
Enter URL mode, where all currently visible URLs are tagged with a
|
Enter URL mode, where all currently visible URLs are tagged with a
|
||||||
jump label with a key sequence that will open the URL (and exit
|
jump label with a key sequence that will open the URL (and exit
|
||||||
URL mode). If the hint is completed with an uppercase character,
|
URL mode).
|
||||||
the match will also be pasted. Default: _Control+Shift+o_.
|
|
||||||
|
|
||||||
*show-urls-persistent*
|
*show-urls-persistent*
|
||||||
Similar to *show-urls-launch*, but does not automatically exit URL
|
Similar to *show-urls-launch*, but does not automatically exit URL
|
||||||
|
|
@ -1358,7 +1357,9 @@ e.g. *search-start=none*.
|
||||||
*show-urls-copy*
|
*show-urls-copy*
|
||||||
Enter URL mode, where all currently visible URLs are tagged with a
|
Enter URL mode, where all currently visible URLs are tagged with a
|
||||||
jump label with a key sequence that will place the URL in the
|
jump label with a key sequence that will place the URL in the
|
||||||
clipboard. Default: _none_.
|
clipboard. If the hint is completed with an uppercase character,
|
||||||
|
the match will also be pasted. Default: _Control+Shift+o_.
|
||||||
|
Default: _none_.
|
||||||
|
|
||||||
*regex-launch*
|
*regex-launch*
|
||||||
Enter regex mode. This works exactly the same as URL mode; all
|
Enter regex mode. This works exactly the same as URL mode; all
|
||||||
|
|
|
||||||
24
url-mode.c
24
url-mode.c
|
|
@ -131,7 +131,7 @@ spawn_url_launcher(struct seat *seat, struct terminal *term, const char *url,
|
||||||
|
|
||||||
static void
|
static void
|
||||||
activate_url(struct seat *seat, struct terminal *term, const struct url *url,
|
activate_url(struct seat *seat, struct terminal *term, const struct url *url,
|
||||||
uint32_t serial)
|
uint32_t serial, bool paste_url_to_self)
|
||||||
{
|
{
|
||||||
char *url_string = NULL;
|
char *url_string = NULL;
|
||||||
|
|
||||||
|
|
@ -159,6 +159,15 @@ activate_url(struct seat *seat, struct terminal *term, const struct url *url,
|
||||||
|
|
||||||
switch (url->action) {
|
switch (url->action) {
|
||||||
case URL_ACTION_COPY:
|
case URL_ACTION_COPY:
|
||||||
|
if (paste_url_to_self) {
|
||||||
|
if (term->bracketed_paste)
|
||||||
|
term_to_slave(term, "\033[200~", 6);
|
||||||
|
|
||||||
|
term_to_slave(term, url_string, strlen(url_string));
|
||||||
|
|
||||||
|
if (term->bracketed_paste)
|
||||||
|
term_to_slave(term, "\033[201~", 6);
|
||||||
|
}
|
||||||
if (text_to_clipboard(seat, term, url_string, seat->kbd.serial)) {
|
if (text_to_clipboard(seat, term, url_string, seat->kbd.serial)) {
|
||||||
/* Now owned by our clipboard “manager” */
|
/* Now owned by our clipboard “manager” */
|
||||||
url_string = NULL;
|
url_string = NULL;
|
||||||
|
|
@ -273,20 +282,11 @@ urls_input(struct seat *seat, struct terminal *term,
|
||||||
}
|
}
|
||||||
|
|
||||||
if (match) {
|
if (match) {
|
||||||
activate_url(seat, term, match, serial);
|
// If the last hint character was uppercase, copy and paste
|
||||||
|
activate_url(seat, term, match, serial, wc == toc32upper(wc));
|
||||||
|
|
||||||
switch (match->action) {
|
switch (match->action) {
|
||||||
case URL_ACTION_COPY:
|
case URL_ACTION_COPY:
|
||||||
// If the last hint character was uppercase, copy and paste
|
|
||||||
if (wc == toc32upper(wc)) {
|
|
||||||
if (term->bracketed_paste)
|
|
||||||
term_to_slave(term, "\033[200~", 6);
|
|
||||||
|
|
||||||
term_to_slave(term, match->url, strlen(match->url));
|
|
||||||
|
|
||||||
if (term->bracketed_paste)
|
|
||||||
term_to_slave(term, "\033[201~", 6);
|
|
||||||
}
|
|
||||||
urls_reset(term);
|
urls_reset(term);
|
||||||
break;
|
break;
|
||||||
case URL_ACTION_LAUNCH:
|
case URL_ACTION_LAUNCH:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue