mru getting the order messed up when gvim/xpdf et all steal key events.
While i'm here, change the logic in client_cyclenext() to use break instead
of goto, it's nicer that way.
Thirdly, instead of two different kbfuncs, just use the one and a flag.
"put your cycle diff in so I can pkg_delete gvim" okan@
idea for the
"slightly-less-abhorrent-hack-but-a-hack-nonetheless-TM" from oga@
grab and ungrab the keyboard to get around some silly X apps that like
stealing events
ok oga@
1) it used TAILQ_FOREACH() when it's removing entrys from the list, this
is bad.
2) We didn't free key, so there was a small memleak too.
also rework conf_bindname's logic slightly to be more simple.
ok okan@
Since it's only used once just put the (simplified) logic into
conf_client() instead. This means we can kill an enum and
CONF_IGNORECASE, too.
ok okan@
corresponds directly to the static list of group names. Just use the
static list and stop strdup()ing a new version for the context struct.
Since that never got freed this also fixes a small memleak.
Kill some unused variables while i'm here.
ok okan@
protect xenocara builds from picking stuff installed by ports.
For now only paths to different programs are provided, avoiding the
use of bison instead of yacc. feedback from espie@.
overwritten with the enqueueInputProc (from upstream git)
cf. https://bugs.freedesktop.org/show_bug.cgi?id=13511
This should fix hangs people were seeing with icewm, cwm and most
probably other WM under some circumstances.
ok matthieu@
Diff mostly from Edd Barrett, with some minor changes from me.
Unfortunately the issue where apps like gvim and xpdf are stealing
keyrelease events causing the ordering to be messed up, but this is a
lot better. A fix for the aforementioned issue shall be forthcoming,
once a good one's been found.
ok okan@, also tested by todd@
that the memory was not set to executable. This caused some horrible
segfaults that due to lack of hardware i've been unable to track down
for months.
Conveniently, there was already a memory allocator that uses mmap to
create executable memory, #ifdef linux. Make it usable for us too.
Problem solved!
Thanks for todd@ for helping me debug, and deraadt@ for noticing the
allocator.
Makes SiS work with dri, probaby solves a bunch of other people too.
ok matthieu@ (who has sent this upstream).