surf-uri-aliases-20220930-089272b.diff - sites - public wiki contents of suckless.org
 (HTM) git clone git://git.suckless.org/sites
 (DIR) Log
 (DIR) Files
 (DIR) Refs
       ---
       surf-uri-aliases-20220930-089272b.diff (1532B)
       ---
            1 From 089272be1459bc91800215d39f483a2584ae99cc Mon Sep 17 00:00:00 2001
            2 From: r4v10l1 <29655971+r4v10l1@users.noreply.github.com>
            3 Date: Fri, 30 Sep 2022 18:59:15 +0200
            4 Subject: [PATCH] Alias patch
            5 
            6 ---
            7  config.def.h |  7 +++++++
            8  surf.c       | 12 ++++++++++++
            9  2 files changed, 19 insertions(+)
           10 
           11 diff --git a/config.def.h b/config.def.h
           12 index 93cfeeb..2b19183 100644
           13 --- a/config.def.h
           14 +++ b/config.def.h
           15 @@ -194,3 +194,10 @@ static Button buttons[] = {
           16          { OnAny,        0,              9,      clicknavigate,  { .i = +1 },    1 },
           17          { OnMedia,      MODKEY,         1,      clickexternplayer, { 0 },       1 },
           18  };
           19 +
           20 +/* Put here your aliases */
           21 +static Alias aliases[] = {
           22 +    /* Alias        URI */
           23 +    { "ddg",       "https://duckduckgo.com" },
           24 +    { "wikipedia", "https://www.wikipedia.org" }
           25 +};
           26 diff --git a/surf.c b/surf.c
           27 index 474c01b..25f8528 100644
           28 --- a/surf.c
           29 +++ b/surf.c
           30 @@ -144,6 +144,11 @@ typedef struct {
           31          regex_t re;
           32  } SiteSpecific;
           33  
           34 +typedef struct {
           35 +    const char* alias;
           36 +    const char* uri;
           37 +} Alias;
           38 +
           39  /* Surf */
           40  static void die(const char *errstr, ...);
           41  static void usage(void);
           42 @@ -567,6 +572,13 @@ loaduri(Client *c, const Arg *a)
           43          if (g_strcmp0(uri, "") == 0)
           44                  return;
           45  
           46 +    for (int i = 0; i < LENGTH(aliases); i++) {
           47 +        if (strcmp(aliases[i].alias, uri) == 0) {
           48 +            uri = aliases[i].uri;
           49 +            break;
           50 +        }
           51 +    }
           52 +
           53          if (g_str_has_prefix(uri, "http://")  ||
           54              g_str_has_prefix(uri, "https://") ||
           55              g_str_has_prefix(uri, "file://")  ||
           56 -- 
           57 2.37.3
           58