consistency: make resize a bindable function - sob - simple output bar
 (HTM) git clone git://git.codemadness.org/sob
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit b072bb3bd5fdff06b0a12cd7bc6a8f94962ab97d
 (DIR) parent 13970fc40d3282194523858158507d5592123512
 (HTM) Author: Hiltjo Posthuma <hiltjo@codemadness.org>
       Date:   Thu,  2 Oct 2014 11:27:59 +0000
       
       consistency: make resize a bindable function
       
       make resize a script, remove resizecmd.
       
       Diffstat:
         M config.def.h                        |       2 +-
         A scripts/resize                      |       2 ++
         M sob.1                               |       5 -----
         M sob.c                               |      19 +++++++++++--------
       
       4 files changed, 14 insertions(+), 14 deletions(-)
       ---
 (DIR) diff --git a/config.def.h b/config.def.h
       @@ -2,7 +2,7 @@ static const char *prompt            = "> ";
        static const char *completenickcmd[] = { "/bin/sh", "-c", "$HOME/.sob/scripts/complete_nick", NULL };
        static const char *historycmd[]      = { "/bin/sh", "-c", "$HOME/.sob/scripts/history",       NULL };
        static const char *yankcmd[]         = { "/bin/sh", "-c", "/bin/xsel -i -p",                  NULL };
       -static const char *resizecmd         = "tmux resize-pane -y 4 2> /dev/null";
       +static const char *resizecmd[]       = { "/bin/sh", "-c", "$HOME/.sob/scripts/resize",        NULL };
        
        static void
        line_yank(void)
 (DIR) diff --git a/scripts/resize b/scripts/resize
       @@ -0,0 +1,2 @@
       +#!/bin/sh
       +tmux resize-pane -y 4 2> /dev/null
 (DIR) diff --git a/sob.1 b/sob.1
       @@ -9,8 +9,6 @@ sob \- simple output bar
        .IR line ]
        .RB [ \-p
        .IR prompt ]
       -.RB [ \-r
       -.IR resizecmd ]
        .SH DESCRIPTION
        sob is a simple line editor.
        .SH OPTIONS
       @@ -23,8 +21,5 @@ initial input on line.
        .TP
        .B \-p " prompt"
        prompt string.
       -.TP
       -.B \-r " resizecmd"
       -command to run on SIGWINCH (ncurses KEY_RESIZE).
        .SH BUGS
        Please report them!
 (DIR) diff --git a/sob.c b/sob.c
       @@ -59,6 +59,7 @@ static int  pipe_readline(int fd_in, int fd_out, char *writestr,
                                  char *outbuf, size_t outbufsiz);
        static int  pipe_cmd(char *cmd[], char *writestr, char *outbuf,
                                  size_t outbufsiz);
       +static void resize(void);
        static void sighandler(int signum);
        static void setup(void);
        static void cleanup(void);
       @@ -99,7 +100,8 @@ line_inserttext(const char *s)
        }
        
        static void
       -line_set(const char *s) {
       +line_set(const char *s)
       +{
                strlcpy(line.line, s, sizeof(line.line));
                line.len = strlen(line.line);
                line.pos = line.len;
       @@ -496,6 +498,12 @@ setup(void)
        }
        
        static void
       +resize(void)
       +{
       +        line_pipeto((char **)resizecmd);
       +}
       +
       +static void
        cleanup(void)
        {
                endwin();
       @@ -520,8 +528,7 @@ run(void)
                                nodelay(win, FALSE);
                                break;
                        case KEY_RESIZE:
       -                        if(resizecmd && resizecmd[0])
       -                                system(resizecmd);
       +                        resize();
                                break;
                        default:
                                ismatch = 0;
       @@ -545,8 +552,7 @@ run(void)
        static void
        usage(void)
        {
       -        fprintf(stderr, "usage: %s <-f outfile> [-l line] [-p prompt] "
       -                        "[-r resizecmd]\n", argv0);
       +        fprintf(stderr, "usage: %s <-f outfile> [-l line] [-p prompt]\n", argv0);
                exit(EXIT_FAILURE);
        }
        
       @@ -563,9 +569,6 @@ main(int argc, char **argv)
                case 'p':
                        prompt = EARGF(usage());
                        break;
       -        case 'r':
       -                resizecmd = EARGF(usage());
       -                break;
                default:
                        usage();
                } ARGEND;