From ecac5ee35ef006001b280461ed3f9812d855250c Mon Sep 17 00:00:00 2001
From: Omar Sandoval <osandov@osandov.com>
Date: Thu, 9 Apr 2015 18:22:31 -0700
Subject: [PATCH] Make DECSCUSR thickness configurable

---
 config.def.h |  5 +++++
 st.c         | 10 +++++-----
 2 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/config.def.h b/config.def.h
index 56bae2d..5e7caaf 100644
--- a/config.def.h
+++ b/config.def.h
@@ -41,6 +41,11 @@ static unsigned int actionfps = 30;
  */
 static unsigned int blinktimeout = 800;
 
+/*
+ * thickness of underline and bar cursors
+ */
+static unsigned int cursorthickness = 2;
+
 /*
  * bell volume. It must be a value between -100 and 100. Use 0 for disabling
  * it
diff --git a/st.c b/st.c
index a7064b1..b2bcfe9 100644
--- a/st.c
+++ b/st.c
@@ -3591,15 +3591,15 @@ xdrawcursor(void) {
 			case 4: /* Steady Underline */
 				XftDrawRect(xw.draw, &dc.col[defaultcs],
 						borderpx + curx * xw.cw,
-						borderpx + (term.c.y + 1) * xw.ch - 1,
-						xw.cw, 1);
+						borderpx + (term.c.y + 1) * xw.ch - cursorthickness,
+						xw.cw, cursorthickness);
 				break;
 			case 5: /* Blinking bar */
 			case 6: /* Steady bar */
 				XftDrawRect(xw.draw, &dc.col[defaultcs],
-								borderpx + curx * xw.cw,
-								borderpx + term.c.y * xw.ch,
-								1, xw.ch);
+						borderpx + curx * xw.cw,
+						borderpx + term.c.y * xw.ch,
+						cursorthickness, xw.ch);
 				break;
 		}
 	} else {