Eric Pruitt | 26 May 01:57 2016

[dwm] [PATCH] Configure geometry before applying rules

Since dwm doesn't expose enough of the X11 properties to use Devil's
Pie, I am using changes inside of applyrules to modify window locations
and geometry. As part of my changes, I needed client geometry properties
to be set before the applyrules function is called because I need to
know where a window is initially located to determine if it needs to be
modified. I don't see anything that indicates the geometry assignments
**must** occur before calling applyrules, so I think it would be a good
to move the geometry assignments permanently in the suckless repo; most
people "configure" dwm by patching it, and this change would make it
easier to add more complex constraints to applyrules. I've attached a
patch with this change to my email.

Eric Pruitt | 20 May 02:09 2016

[query] A tool for filtering lists of filenames with return codes

I wrote a tool for filtering lists of files based on return codes of
subprocesses called "query:" .

Find all dynamically linked executables:

    find -type f | query sh -c 'ldd "$QUERY_FILENAME"'

Find all files ending in ".json" that are malformed:

    find -type f -iname '*.json' | query -s ! python -m json.tool

The tool should pretty portable. I haven't tested it on FreeBSD or
OpenBSD yet, but I was able to compile it on Mac OS X. I am using
signal(2) whose behavior varies across platforms, but I don't think that
will be a problem in practice since the handler only calls exit(3).
Please let me know what you think of the idea and code.


Dominykas Mostauskis | 19 May 15:39 2016

[surf] bug: sessions last only a few hours

Cookie sessions don't seem to last longer than a few hours, after which
I have to log in again, which is bothersome on 2-factor sites. Given
that it's an annoying bug and it's there both on master and webkit2
branches, it sounds like it might be a problem with my setup. Or is it
an obscure feature? Otherwise any ideas?

v4hn | 19 May 13:32 2016

[st] [patch] clipboard properties burn after reading

Hey everyone,

I use synergy (for input device sharing) on a daily basis
and experienced this rather annoying bug in combination with st:

Whenever I paste something from another machine to st,
pasting succeeded only the first time. After about a year
of being annoyed by this bug (it's just too easy to work around it),
I finally digged into the issue today and eventually discovered that st
does not delete its CLIPBOARD and PRIMARY properties after pasting
the copied data. I don't know of any other x client that
cares about this, but synergy waits for st to clear the property
before sending the new selection data.

As ICCCM specifies that the client should delete the property
after handling the request, I adjusted st's behavior. Patch attached.
I have no idea why Christoph originally added the additional condition
there. The only two event types that get through to this code
are PropertyNotify and SelectionNotify and for both of them property
should be deleted.

From dacb3e0593aedd191604d25571bf7f8fe9e35c6f Mon Sep 17 00:00:00 2001
From: v4hn <me <at>>
Date: Thu, 19 May 2016 12:16:57 +0200
Subject: [PATCH] delete clipboard properties after pasting them specifies:
(Continue reading)

Kamil Cholewiński | 18 May 18:50 2016

pledge(2) patches

Hi folks,

This is purely OpenBSD-specific; had a brief look at SecComp and
promptly ran away.

Included are pledge(2) diffs for dwm, dmenu, st and slock. I've been
testing these for a week now (both stress-tests and normal usage), and I
have no ill effects to report.

- st has been tortured with cat'ing from /dev/random, ssh'ing into some
  odd boxes, running all sorts of silly ncurses apps, etc. I'm writing
  this email by ssh'ing via mosh to a Linux box running emacs in tmux,
  and everything looks good.

- slock has been thoroughly keyboard-mashed. The question stands,
  whether it's a good idea for a potentially non-exploitable bug in
  slock to be able to kill it and unlock the screen. Perhaps only worth
  enabling in "debug mode"?

- dmenu survived cat'ing some serious /dev/random.

- dwm hasn't been tested super-thoroughly, since I keep this one machine
  free from most random crap; however all of the above apps + dillo,
  firefox, xconsole, and some others didn't seem to cause any problems.

My approach was to first try dropping as much privileges as possible
before initialisation, and then some more right before entering the main
loop. I believe even more privileges could be dropped, e.g. in dwm, if
it used a separate process for handling keyboard launching.

(Continue reading)

Britton Kerin | 18 May 02:12 2016

opportunities for dwm docs to suck even less

There are a couple problems: has:


To launch dwm, ideally you should setup a ~/.xinitrc with at least exec dwm.

this is arrangement-specific without mentioning the fact.  It doesn't
work with most session setups on linux at least.  It should be changed
either to specify the arrangements for which it does and doesn't work,
or removed on the general suckles principle that excess wrong stuff is
worse than nothing.

Same sort of issues in the README in the source:

Edit to match your local setup (dwm is installed into
the /usr/local namespace by default).

makes it sound as if prefix is the only thing likely to need changing,
while in reality for non-bsd the FREETYPEINC definition must be
commented out

README also includes the not generally correct .xinitrc advice

The into page that did get me going was:


(Continue reading)

Britton Kerin | 17 May 00:05 2016

running dwm from/with gnome

I just replaced ancient  laptop yes I hate gnome3 too now but having
lots of other shit to do and already behind from this "upgrade" I
can't afford break my whole system lose desktop icons etc all at once

Is it possible to run dwm and keep my desktop icons somehow?  I have
most of my projects sort of geographically organized there which sucks
I know but I'd rather not lose it right now.  I found lots of ancient
pages about this I'm wondering if there's a particular known-good
modern way.  I'm on debian 4.9


Jan Christoph Ebersbach | 16 May 17:21 2016

[slock] PAM support


I've added support for PAM authentication to slock.  When you try it,
I'd very happy about feedback because I haven't really done any serious
work with PAM yet:


Jan Christoph
Jan Christoph Ebersbach
I didn’t want some petty, inferior brand of righteousness that comes
from keeping a list of rules when I could get the robust kind that comes
from trusting Christ - God’s righteousness.  Phil 3:9
M Farkas-Dyck | 16 May 09:07 2016

termbox fork

Hi, i forked termbox [0] at an earlier version before much stupidity [1, 2].

Would suckless community be interested to adopt this repo? tty sucks
but ain't about to die soon...


robin | 14 May 21:03 2016

Suckless font rendering library

So i took up the challenge of making a suckless font rendering library.
The problem: my lvl is barely above noob.
Maybe it will spark some motivation in someone more talented.

Connor Lane Smith | 14 May 17:24 2016

[dwm] [patch] config.o

Hi all,

Attached is a dwm patch that pulls out all of the key and button
handlers, and all of the layouts, into a new file called config.c,
replacing config.h. The idea is that it makes it clearer what is dwm
proper and what is just a part of the default config.

I've sat on this patch for about half a year, and I've still not made
my mind up as to whether it's a good idea or not. But I thought I
might as well post it on here anyway.

commit af3575a3388b6518de395a09e0becad0d486df76
Author: Connor Lane Smith <cls <at>>
Date:   Mon Nov 23 17:29:28 2015 +0000

    separate config.o

diff --git a/Makefile b/Makefile
index 1ea40b7..f95c9db 100644
--- a/Makefile
+++ b/Makefile
 <at>  <at>  -3,7 +3,7  <at>  <at> 


-SRC = drw.c dwm.c util.c
(Continue reading)