sent-toggle-scm-20210119-2be4210.diff - sites - public wiki contents of suckless.org
 (HTM) git clone git://git.suckless.org/sites
 (DIR) Log
 (DIR) Files
 (DIR) Refs
       ---
       sent-toggle-scm-20210119-2be4210.diff (2013B)
       ---
            1 From 2be4210944d97ddb158feee601ec85c016de0872 Mon Sep 17 00:00:00 2001
            2 From: Randoragon <randoragongamedev@gmail.com>
            3 Date: Tue, 19 Jan 2021 10:17:47 +0100
            4 Subject: [PATCH] Add toggle colorscheme functionality
            5 
            6 This patch is meant to be applied on top of the "inverted colors" patch
            7 (https://tools.suckless.org/sent/patches/inverted-colors/). It creates a
            8 new binding, "i", that lets you toggle between two colorschemes during
            9 presentation.
           10 ---
           11  config.def.h |  1 +
           12  sent.1       |  2 ++
           13  sent.c       | 18 ++++++++++++++++++
           14  3 files changed, 21 insertions(+)
           15 
           16 diff --git a/config.def.h b/config.def.h
           17 index ccea9a6..c72afc5 100644
           18 --- a/config.def.h
           19 +++ b/config.def.h
           20 @@ -52,6 +52,7 @@ static Shortcut shortcuts[] = {
           21          { XK_n,           advance,        {.i = +1} },
           22          { XK_p,           advance,        {.i = -1} },
           23          { XK_r,           reload,         {0} },
           24 +        { XK_i,           togglescm,      {0} },
           25  };
           26  
           27  static Filter filters[] = {
           28 diff --git a/sent.1 b/sent.1
           29 index f74d583..a7564a8 100644
           30 --- a/sent.1
           31 +++ b/sent.1
           32 @@ -44,6 +44,8 @@ Reload the slides. Only works on file input.
           33  Go to next slide, if existent.
           34  .It Sy Left | Backspace | h | k | Up | Prior | p
           35  Go to previous slide, if existent.
           36 +.It Sy i
           37 +Toggle colorschemes.
           38  .El
           39  .El
           40  .Sh FORMAT
           41 diff --git a/sent.c b/sent.c
           42 index 7053ab3..d29fc35 100644
           43 --- a/sent.c
           44 +++ b/sent.c
           45 @@ -107,6 +107,7 @@ static void xdraw();
           46  static void xhints();
           47  static void xinit();
           48  static void xloadfonts();
           49 +static void togglescm();
           50  
           51  static void bpress(XEvent *);
           52  static void cmessage(XEvent *);
           53 @@ -613,6 +614,23 @@ xinit()
           54          XSync(xw.dpy, False);
           55  }
           56  
           57 +void
           58 +togglescm()
           59 +{
           60 +    if (use_inverted_colors) {
           61 +        free(sc);
           62 +        sc = drw_scm_create(d, colors, 2);
           63 +        use_inverted_colors = 0;
           64 +    } else {
           65 +        sc = drw_scm_create(d, inverted_colors, 2);
           66 +        use_inverted_colors = 1;
           67 +    }
           68 +    drw_setscheme(d, sc);
           69 +       XSetWindowBackground(xw.dpy, xw.win, sc[ColBg].pixel);
           70 +    xdraw();
           71 +}
           72 +
           73 +
           74  void
           75  xloadfonts()
           76  {
           77 -- 
           78 2.30.0
           79