mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-02-05 04:06:08 -05:00
urls: remove free-form ‘text’ member from URL struct
This commit is contained in:
parent
cf651d361f
commit
cc43c1b704
3 changed files with 5 additions and 21 deletions
14
render.c
14
render.c
|
|
@ -2527,7 +2527,6 @@ render_urls(struct terminal *term)
|
|||
|
||||
tll_foreach(win->urls, it) {
|
||||
const struct url *url = it->item.url;
|
||||
const wchar_t *text = url->text;
|
||||
const wchar_t *key = url->key;
|
||||
const size_t entered_key_len = wcslen(term->url_keys);
|
||||
|
||||
|
|
@ -2563,22 +2562,13 @@ render_urls(struct terminal *term)
|
|||
continue;
|
||||
}
|
||||
|
||||
size_t text_len = wcslen(text);
|
||||
size_t chars = wcslen(key) + (text_len > 0 ? 3 + text_len : 0);
|
||||
size_t chars = wcslen(key);
|
||||
|
||||
const size_t max_chars = 50;
|
||||
chars = min(chars, max_chars);
|
||||
|
||||
wchar_t label[chars + 2];
|
||||
if (text_len == 0)
|
||||
wcscpy(label, key);
|
||||
else {
|
||||
int count = swprintf(label, chars + 1, L"%ls - %ls", key, text);
|
||||
if (count >= max_chars) {
|
||||
label[max_chars] = L'…';
|
||||
label[max_chars + 1] = L'\0';
|
||||
}
|
||||
}
|
||||
wcscpy(label, key);
|
||||
|
||||
for (size_t i = 0; i < wcslen(key); i++)
|
||||
label[i] = towupper(label[i]);
|
||||
|
|
|
|||
|
|
@ -252,7 +252,6 @@ enum url_action { URL_ACTION_COPY, URL_ACTION_LAUNCH };
|
|||
struct url {
|
||||
uint64_t id;
|
||||
char *url;
|
||||
wchar_t *text;
|
||||
wchar_t *key;
|
||||
struct coord start;
|
||||
struct coord end;
|
||||
|
|
|
|||
11
url-mode.c
11
url-mode.c
|
|
@ -16,6 +16,8 @@
|
|||
#include "util.h"
|
||||
#include "xmalloc.h"
|
||||
|
||||
static void url_destroy(struct url *url);
|
||||
|
||||
static bool
|
||||
execute_binding(struct seat *seat, struct terminal *term,
|
||||
enum bind_action_url action, uint32_t serial)
|
||||
|
|
@ -346,7 +348,6 @@ auto_detected(const struct terminal *term, enum url_action action,
|
|||
((struct url){
|
||||
.id = (uint64_t)rand() << 32 | rand(),
|
||||
.url = url_utf8,
|
||||
.text = xwcsdup(L""),
|
||||
.start = start,
|
||||
.end = end,
|
||||
.action = action}));
|
||||
|
|
@ -388,7 +389,6 @@ osc8_uris(const struct terminal *term, enum url_action action, url_list_t *urls)
|
|||
((struct url){
|
||||
.id = it->item.id,
|
||||
.url = xstrdup(it->item.uri),
|
||||
.text = xwcsdup(L""),
|
||||
.start = start,
|
||||
.end = end,
|
||||
.action = action}));
|
||||
|
|
@ -409,9 +409,7 @@ remove_duplicates(url_list_t *urls)
|
|||
outer->item.end.row == inner->item.end.row &&
|
||||
outer->item.end.col == inner->item.end.col)
|
||||
{
|
||||
free(inner->item.url);
|
||||
free(inner->item.text);
|
||||
free(inner->item.key);
|
||||
url_destroy(&inner->item);
|
||||
tll_remove(*urls, inner);
|
||||
}
|
||||
}
|
||||
|
|
@ -427,8 +425,6 @@ urls_collect(const struct terminal *term, enum url_action action, url_list_t *ur
|
|||
remove_duplicates(urls);
|
||||
}
|
||||
|
||||
static void url_destroy(struct url *url);
|
||||
|
||||
static int
|
||||
wcscmp_qsort_wrapper(const void *_a, const void *_b)
|
||||
{
|
||||
|
|
@ -595,7 +591,6 @@ static void
|
|||
url_destroy(struct url *url)
|
||||
{
|
||||
free(url->url);
|
||||
free(url->text);
|
||||
free(url->key);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue