minor syntax, style and README fixes - sent - simple plaintext presentation tool | |
git clone git://git.suckless.org/sent | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 24762d01720aaee44334249fa70498a0536ff89e | |
parent 0798e82d2326fc330168733997006020cc59e215 | |
Author: Markus Teich <[email protected]> | |
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(-) | |
--- | |
diff --git a/README.md b/README.md | |
@@ -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 … | |
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 … | |
+your presentations. | |
+ | |
Demo | |
To get a little demo, just type | |
@@ -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/ | |
diff --git a/example b/example | |
@@ -20,6 +20,7 @@ easy to use | |
depends on | |
♽ Xlib | |
+☃ farbfeld | |
~1000 lines of code | |
diff --git a/sent.c b/sent.c | |
@@ -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) | |
@@ -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; | |
@@ -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 - nbyte… | |
- if (r < 0) | |
- eprintf("read:"); | |
- nbytes += r; | |
+ count = read(img->fd, (char *)row + nbytes, rowlen - n… | |
+ 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; | |
@@ -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; | |
} | |
@@ -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 | StructureNotifyMas… | |
+ ButtonMotionMask | ButtonPressMask; | |
xw.win = XCreateWindow(xw.dpy, XRootWindow(xw.dpy, xw.scr), 0, 0, | |
- xw.w, xw.h, 0, XDefaultDepth(xw.dpy, xw.scr), InputOut… | |
- 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); |