Jakob Kramer | 1 Feb 21:47 2015

[sbase] [PATCH] sort: minor manual page adjustments

FRIGN | 1 Feb 20:20 2015

[website] [proposal] Add suckless logo and minor style change

Good evening,

looking at suckless.org, it's almost too bad the well-designed
suckless-'S' only exists as a favicon.
The motivation to bring the logo in more prominently is that
people remember images even better than names, and getting
attention in regard to current issues in computing is always
a good thing, getting people more interested in what suckless
reall is.
So I sat down this afternoon, made a vectorized version of
the logo and made up my mind on how to include it into suckless.org.

You can view the result here[0], open for discussion obviously.

As you may see, there have been other changes besides including
the logo:

1) Give the heading "suckless.org" a blue color
2) Make the subheading a bit lighter
3) Remove the text-shadow and italics in the header
4) Remove italics from active links
5) Give headings in the content a slightly lighter black

Overall, it doesn't change much and these are just minor details,
but it opens the way up to print the logo on caps or stickers
and looking at the suckless assembly at the 31C3, we are in dire
need of some simple icon to identify us.

Let me know what you think.

(Continue reading)

Jakob Kramer | 1 Feb 17:47 2015

[sbase] [PATCH] sort manpage: fix key definition

Jakob Kramer | 31 Jan 21:15 2015

[sbase] [PATCH] Use size_t for number of lines in linebuf

.nlines and .capacity are used as array indices and
should therefore be of type size_t.
Jakob Kramer | 31 Jan 19:17 2015

[sbase] [PATCH] sort: support sorting decimal numbers correctly

Rian Hunter | 30 Jan 00:08 2015

[st] [PATCH] Correct shift amount on MODE_INSERT in tputc()

When MODE_INSERT is set we'd shift characters on the same
line forward before inserting our character in tputc().
This did not account for wide characters where width != 1.
This patch makes it so we shift the correct amount.
 st.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/st.c b/st.c
index db9a332..ab338db 100644
--- a/st.c
+++ b/st.c
 <at>  <at>  -2675,8 +2675,8  <at>  <at>  tputc(char *c, int len) {

-	if(IS_SET(MODE_INSERT) && term.c.x+1 < term.col)
-		memmove(gp+1, gp, (term.col - term.c.x - 1) * sizeof(Glyph));
+	if(IS_SET(MODE_INSERT) && term.c.x+width < term.col)
+		memmove(gp+width, gp, (term.col - term.c.x - 1) * sizeof(Glyph));

 	if(term.c.x+width > term.col)


Rian Hunter | 30 Jan 00:06 2015

[st] [PATCH] Fix crash due to wide characters

In tputc(), when a character wasn't large enough to fit
on the current line, we would call tnewline() to place it on
the next line. Unfortunately, we weren't resetting our glyph
pointer and this caused memory corruption when a
wide character (width == 2) was being written. This patch
resets our glyph pointer after calls to tnewline().
 st.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/st.c b/st.c
index db9a332..6a68c3c 100644
--- a/st.c
+++ b/st.c
 <at>  <at>  -2673,13 +2673,16  <at>  <at>  tputc(char *c, int len) {
 	if(IS_SET(MODE_WRAP) && (term.c.state & CURSOR_WRAPNEXT)) {
 		gp->mode |= ATTR_WRAP;
+		gp = &term.line[term.c.y][term.c.x];

 	if(IS_SET(MODE_INSERT) && term.c.x+1 < term.col)
 		memmove(gp+1, gp, (term.col - term.c.x - 1) * sizeof(Glyph));

-	if(term.c.x+width > term.col)
+	if(term.c.x+width > term.col) {
+		gp = &term.line[term.c.y][term.c.x];
+	}

(Continue reading)

Thuban | 28 Jan 11:08 2015

simple rss reader

Hi list,
I'm looking for a simple rss reader. I just need new items to be send to
I tried rsstail but it only take one feed at once and doesn't output to
stdout so one can't use it with a fifo file.

Any suggestion for a suckless rss reader?


PubKey : http://yeuxdelibad.net/Divers/thuban.pub

Wolfgang Corcoran-Mathe | 27 Jan 17:37 2015

[vis] [PATCH] Do not lump together replace actions

Currently, the replace operator in vis gets lumped with following actions
in the {un,re}do tree. Using the 'r' key several times then attempting
to undo the last replacement undoes the entire series.

 vis.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/vis.c b/vis.c
index 87d6cd1..6112ef1 100644
--- a/vis.c
+++ b/vis.c
 <at>  <at>  -871,8 +871,8  <at>  <at>  static void replace(const Arg *arg) {
 	if (!k.str[0])
 	size_t pos = window_cursor_get(vis->win->win);
-	action_reset(&action_prev);
-	action_prev.op = &ops[OP_REPEAT_REPLACE];
+	action_reset(&action);
+	action.op = &ops[OP_REPEAT_REPLACE];
 	buffer_put(&buffer_repeat, k.str, strlen(k.str));
 	editor_insert_key(vis, k.str, strlen(k.str));


Greg Reagle | 27 Jan 17:25 2015

surf: see hover URL without changing title

I like that surf shows me the URL of the link over which my mouse is
hovering, but I don't want it to change the window title.  I want the
window title to stay the title of the web page that I am viewing.

Any ideas on how to make this happen?  Thanks.


http://www.fastmail.com - A no graphics, no pop-ups email service

Greg Reagle | 26 Jan 21:44 2015

surf alternatives for Adblock Plus, Privacy Badger, Self-Destructing Cookies, BetterPrivacy

Hello.  I am trying surf instead of Firefox (which I've used for very
many years).  So far so good.  The difference in memory usage is

There are a few Firefox extensions that I've come to rely on.  What do
you use or what do you suggest that I use to provide the functionality
of the following Firefox extensions:

Adblock Plus for blocking ads, see https://adblockplus.org/

Privacy Badger for blocking trackers, see

Self-Destructing Cookies for automatically deleting cookies, see

BetterPrivacy for blocking Flash cookies, see



http://www.fastmail.com - Email service worth paying for. Try it for free