t* My version of sent
       
   URI git clone git://git.codevoid.de/sent-sdk.git
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit 24762d01720aaee44334249fa70498a0536ff89e
   DIR parent 0798e82d2326fc330168733997006020cc59e215
   URI Author: Markus Teich <markus.teich@stusta.mhn.de>
       Date:   Tue,  8 Dec 2015 22:09:26 +0100
       
       minor syntax, style and README fixes
       
       Diffstat:
         M README.md                           |      12 ++++++++++--
         M example                             |       1 +
         M sent.c                              |      23 ++++++++++++-----------
       
       3 files changed, 23 insertions(+), 13 deletions(-)
       ---
   DIR diff --git a/README.md b/README.md
       t@@ -1,14 +1,19 @@
        sent is a simple plaintext presentation tool.
        
        sent does not need latex, libreoffice or any other fancy file format, it uses
       -plaintext files and png images. Every paragraph represents a slide in the
       -presentation.
       +plaintext files to describe the slides and can include images via farbfeld.
       +Every paragraph represents a slide in the presentation.
        
        The presentation is displayed in a simple X11 window. The content of each slide
        is automatically scaled to fit the window and centered so you also don't have to
        worry about alignment. Instead you can really concentrate on the content.
        
        
       +Dependencies
       +
       +You need Xlib to build sent and the farbfeld[0] tools installed to use images in
       +your presentations.
       +
        Demo
        
        To get a little demo, just type
       t@@ -47,3 +52,6 @@ presentation file could look like this:
        Development
        
        sent is developed at http://tools.suckless.org/sent
       +
       +
       +0: http://git.2f30.org/farbfeld/about/
   DIR diff --git a/example b/example
       t@@ -20,6 +20,7 @@ easy to use
        
        depends on
        ♽ Xlib
       +☃ farbfeld
        
        ~1000 lines of code
        
   DIR diff --git a/sent.c b/sent.c
       t@@ -186,7 +186,7 @@ Image *ffopen(char *filename)
                tmpfd = fd;
                fd = filter(fd, bin);
                if (fd < 0)
       -                eprintf("could not filter %s:", filename);
       +                eprintf("Unable to filter %s:", filename);
                close(tmpfd);
        
                if (read(fd, hdr, 16) != 16)
       t@@ -218,7 +218,7 @@ int ffread(Image *img)
                uint8_t opac;
                uint8_t fg_r, fg_g, fg_b, bg_r, bg_g, bg_b;
                size_t rowlen, off, nbytes;
       -        ssize_t r;
       +        ssize_t count;
        
                if (!img)
                        return 0;
       t@@ -249,10 +249,10 @@ int ffread(Image *img)
                for (off = 0, y = 0; y < img->bufheight; y++) {
                        nbytes = 0;
                        while (nbytes < rowlen) {
       -                        r = read(img->fd, (char *)row + nbytes, rowlen - nbytes);
       -                        if (r < 0)
       -                                eprintf("read:");
       -                        nbytes += r;
       +                        count = read(img->fd, (char *)row + nbytes, rowlen - nbytes);
       +                        if (count < 0)
       +                                eprintf("Unable to read from pipe:");
       +                        nbytes += count;
                        }
                        for (x = 0; x < rowlen / 2; x += 4) {
                                fg_r = ntohs(row[x + 0]) / 256;
       t@@ -346,7 +346,7 @@ void ffdraw(Image *img)
                int xoffset = (xw.w - img->ximg->width) / 2;
                int yoffset = (xw.h - img->ximg->height) / 2;
                XPutImage(xw.dpy, xw.win, d->gc, img->ximg, 0, 0,
       -                        xoffset, yoffset, img->ximg->width, img->ximg->height);
       +                  xoffset, yoffset, img->ximg->width, img->ximg->height);
                XFlush(xw.dpy);
                img->state |= DRAWN;
        }
       t@@ -604,12 +604,13 @@ void xinit()
                resize(DisplayWidth(xw.dpy, xw.scr), DisplayHeight(xw.dpy, xw.scr));
        
                xw.attrs.bit_gravity = CenterGravity;
       -        xw.attrs.event_mask = KeyPressMask | ExposureMask | StructureNotifyMask
       -                | ButtonMotionMask | ButtonPressMask;
       +        xw.attrs.event_mask = KeyPressMask | ExposureMask | StructureNotifyMask |
       +                              ButtonMotionMask | ButtonPressMask;
        
                xw.win = XCreateWindow(xw.dpy, XRootWindow(xw.dpy, xw.scr), 0, 0,
       -                        xw.w, xw.h, 0, XDefaultDepth(xw.dpy, xw.scr), InputOutput, xw.vis,
       -                        CWBitGravity | CWEventMask, &xw.attrs);
       +                               xw.w, xw.h, 0, XDefaultDepth(xw.dpy, xw.scr),
       +                               InputOutput, xw.vis, CWBitGravity | CWEventMask,
       +                               &xw.attrs);
        
                xw.wmdeletewin = XInternAtom(xw.dpy, "WM_DELETE_WINDOW", False);
                xw.netwmname = XInternAtom(xw.dpy, "_NET_WM_NAME", False);