Jason Woofenden | 6 May 22:25 2015

[dwm] [PATCH] support _NET_SUPPORTING_WM_CHECK

As documented here: http://standards.freedesktop.org/wm-spec/wm-spec-1.3.html#idm140130317670464
---

I developed this in the hopes that it would fix issues with feh running
fullscreen. It didn't help with that (feh using the innacurate _MOTIF_WM_HINTS
method) but it should at least stop gtk+ 3.3.8+ from polling regularly for WM
features.

The change to gtk+ is discussed here: https://bugzilla.gnome.org/show_bug.cgi?id=666921

 dwm.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/dwm.c b/dwm.c
index 169adcb..1e53a68 100644
--- a/dwm.c
+++ b/dwm.c
 <at>  <at>  -62,7 +62,7  <at>  <at>  enum { CurNormal, CurResize, CurMove, CurLast }; /* cursor */
 enum { SchemeNorm, SchemeSel, SchemeLast }; /* color schemes */
 enum { NetSupported, NetWMName, NetWMState,
        NetWMFullscreen, NetActiveWindow, NetWMWindowType,
-       NetWMWindowTypeDialog, NetClientList, NetLast }; /* EWMH atoms */
+       NetWMWindowTypeDialog, NetClientList, NetSupportingWMCheck, NetLast }; /* EWMH atoms */
 enum { WMProtocols, WMDelete, WMState, WMTakeFocus, WMLast }; /* default atoms */
 enum { ClkTagBar, ClkLtSymbol, ClkStatusText, ClkWinTitle,
        ClkClientWin, ClkRootWin, ClkLast }; /* clicks */
 <at>  <at>  -1526,6 +1526,7  <at>  <at>  setup(void) {
 	netatom[NetWMWindowType] = XInternAtom(dpy, "_NET_WM_WINDOW_TYPE", False);
 	netatom[NetWMWindowTypeDialog] = XInternAtom(dpy, "_NET_WM_WINDOW_TYPE_DIALOG", False);
 	netatom[NetClientList] = XInternAtom(dpy, "_NET_CLIENT_LIST", False);
(Continue reading)

Nick Currier | 6 May 16:17 2015
Picon

[slock] [PATCH] Option to not show failure color on clear

Hello,

This patch adds the failonclear boolean option so that, when false,
the failure color will not appear until a failed login attempt has
been made.
It also maintains the existing behaviour (failure on clear) by default.

Thanks,
hexid
Attachment (fail_on_clear.patch): text/x-diff, 2869 bytes
suigin | 6 May 05:24 2015

[ST] [PATCH] Clean up xdraws and optimize glyph drawing with non-unit kerning values

Hello,

I have another patch here for review that optimizes the performance of
glyph drawing, primarily when using non-unit kerning values, and fixes a
few other minor issues. It's dependent on the earlier patch from me that
stores unicode codepoints in a Rune type, typedef'd to uint_least32_t.

This patch is a pretty big change to xdraws so your scrutiny is
appreciated.

First, some performance numbers. I used Yu-Jie Lin termfps.sh shell
script to benchmark before and after, and you can find it in the
attachments. On my Kaveri A10 7850k machine, I get the following
results:

Before Patch
============

1) Font: "Liberation Mono:pixelsize=12:antialias=false:autohint=false"
   cwscale: 1.0, chscale: 1.0
   For 273x83 100 frames.
   Elapsed time :     1.553
   Frames/second:    64.352
   Chars /second: 1,458,159

2) Font: "Inconsolata:pixelsize=14:antialias=true:autohint=true"
   cwscale: 1.001, chscale: 1.001
   For 239x73 100 frames.
   Elapsed time :   159.286
   Frames/second:     0.627
(Continue reading)

suigin | 5 May 20:31 2015

[ST] [PATCH] Changed type for UTF-32 codepoints from long to uint_least32_t

Hi all, here's a patch that changes occurences of long to uint_least32_t
where it's being used to store UTF-32 codepoints, as was previously
discussed. Other cases where long is used are preserved as is.

---
 st.c | 50 +++++++++++++++++++++++++-------------------------
 1 file changed, 25 insertions(+), 25 deletions(-)

diff --git a/st.c b/st.c
index 3eb66fa..478783f 100644
--- a/st.c
+++ b/st.c
 <at>  <at>  -187,7 +187,7  <at>  <at>  typedef XftDraw *Draw;
 typedef XftColor Color;

 typedef struct {
-	long u;           /* character code */
+	uint_least32_t u; /* character code */
 	ushort mode;      /* attribute flags */
 	ushort fg;        /* foreground  */
 	ushort bg;        /* background  */
 <at>  <at>  -389,20 +389,20  <at>  <at>  static void tmoveato(int, int);
 static void tnew(int, int);
 static void tnewline(int);
 static void tputtab(int);
-static void tputc(long);
+static void tputc(uint_least32_t);
 static void treset(void);
 static void tresize(int, int);
 static void tscrollup(int, int);
(Continue reading)

Silvan Jegen | 5 May 18:25 2015
Picon

[vis][RFC][PATCH 1/2] Replace first '/' of substitute command with \0

Replacing the first '/' allows the 's' command name to be correctly
identified even though it is part of its own argument.

This is hacky because afterwards we will add the '/' back in before
calling the 'sed' program.

Signed-off-by: Silvan Jegen <s.jegen <at> gmail.com>
---
 vis.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/vis.c b/vis.c
index 628f511..201d88a 100644
--- a/vis.c
+++ b/vis.c
 <at>  <at>  -1764,7 +1764,7  <at>  <at>  static bool exec_cmdline_command(const char *cmdline) {
 	while (*name == ' ')
 		name++;
 	char *param = name;
-	while (*param && *param != ' ') {
+	while (*param && *param != ' ' && *param != '/') {
 		if (*param == '!') {
 			opt |= CMD_OPT_FORCE;
 			break;
--

-- 
2.3.7

Silvan Jegen | 5 May 18:24 2015
Picon

[vis][PATCH] Use the command name without the Filerange in argv

Signed-off-by: Silvan Jegen <s.jegen <at> gmail.com>
---

 vis.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/vis.c b/vis.c
index cf157f7..628f511 100644
--- a/vis.c
+++ b/vis.c
 <at>  <at>  -1782,7 +1782,7  <at>  <at>  static bool exec_cmdline_command(const char *cmdline) {
 	}

 	char *s = param;
-	const char *argv[32] = { line };
+	const char *argv[32] = { name };
 	for (int i = 1; i < LENGTH(argv); i++) {
 		while (s && *s && *s == ' ')
 			s++;
--

-- 
2.3.7

Silvan Jegen | 5 May 18:23 2015
Picon

[vis][PATCH] Make the '.' Filerange work on one line

Signed-off-by: Silvan Jegen <s.jegen <at> gmail.com>
---
 vis.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/vis.c b/vis.c
index 051f256..cf157f7 100644
--- a/vis.c
+++ b/vis.c
 <at>  <at>  -1714,8 +1714,10  <at>  <at>  static Filerange parse_range(char **cmd) {
 		break;
 	default:
 		r.start = parse_pos(cmd);
-		if (**cmd != ',')
+		if (**cmd != ',') {
+			r.end = text_line_finish(txt, r.start);
 			return r;
+		}
 		(*cmd)++;
 		r.end = parse_pos(cmd);
 		break;
--

-- 
2.3.7

Hiltjo Posthuma | 4 May 22:46 2015

[dwm] libdraw fixes (drw_rect) and default config font change

Hi guys,

These are some fixes and improvements for dwm.

Kind regards,
HIltjo
Hiltjo Posthuma | 4 May 22:36 2015

[dmenu] Use libsl/libdraw code and add Xft support

Hi guys,

Based on the work of libsl I have modified dmenu to use the new
libsl/libdraw code which adds Xft and fallback-fonts support aswell.

Addtionally I fixed a few oddities in libsl which were mentioned on
this ML by Markus Teich and Eric Pruitt before.

- libdraw, util: add drw.{c,h}, util.{c,h} and update code.
- libdraw: fix drw_rect(): use w and h parameter.
- libdraw: die(): print errstr if last character in string was ":" (sbase).
- config.def.h: set default font to monospace.
- cleanup() on exit.
- LICENSE: update license string for dmenu -v to 2015.
- LICENSE: add myself to LICENSE

Kind regards,
Hiltjo
Matias Linares | 4 May 01:32 2015

[vis] [PATCH] Add '--' as end of options.

From: Matias Linares <matiaslina <at> opmbx.org>

Some programs (like ranger) expect the editor to have this feature.
---
 vis.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/vis.c b/vis.c
index 051f256..6f44a56 100644
--- a/vis.c
+++ b/vis.c
 <at>  <at>  -2034,6 +2034,8  <at>  <at>  int main(int argc, char *argv[]) {
 				break;
 			case '\0':
 				break;
+			case '-':
+				break;
 			default:
 				die("Unknown command option: %s\n", argv[i]);
 				break;
--

-- 
2.3.7

Hypsurus | 3 May 23:06 2015
Picon

sple - A simple PDF links/emails extracotr.

Hello to dev <at> suckless,

i just started a new project: "sple - simple PDF links extractor"

the uses for sple: 
1. to extract email addresses/links from a multiple PDF files

i working on the following features:
2. parse PDF documents Objects (Autohr/Date/Fonts/Images/)
3. extract images/fonts from the PDF file.

the goal is writing sple without any external library.

i would like to develop sple under suckless.org 

how can i do it?

Source code for the project:
https://github.com/Hypsurus/sple

thanks

--

-- 
hypsurus

Gmane