浏览代码

Remove difference between fast and slow blinking

One blinking mode is good enough, and two is too much. The best aproach
is emulate the fast blinking with the slow blinking, that it is more
used.
It is removed the flag ATTR_FASTBLINK because it has not a different
meaning of ATTR_BLINK, so it is not needed.

Signed-off-by: Roberto E. Vargas Caballero <k0ga@shike2.com>
Roberto E. Vargas Caballero 10 年之前
父节点
当前提交
769d481807
共有 1 个文件被更改,包括 9 次插入12 次删除
  1. 9 12
      st.c

+ 9 - 12
st.c

@@ -95,13 +95,12 @@ enum glyph_attribute {
 	ATTR_ITALIC    = 4,
 	ATTR_UNDERLINE = 8,
 	ATTR_BLINK     = 16,
-	ATTR_FASTBLINK = 32,
-	ATTR_REVERSE   = 64,
-	ATTR_INVISIBLE = 128,
-	ATTR_STRUCK    = 256,
-	ATTR_WRAP      = 512,
-	ATTR_WIDE      = 1024,
-	ATTR_WDUMMY    = 2048,
+	ATTR_REVERSE   = 32,
+	ATTR_INVISIBLE = 64,
+	ATTR_STRUCK    = 128,
+	ATTR_WRAP      = 256,
+	ATTR_WIDE      = 512,
+	ATTR_WDUMMY    = 1024,
 };
 
 enum cursor_movement {
@@ -1684,7 +1683,6 @@ tsetattr(int *attr, int l) {
 				ATTR_ITALIC     |
 				ATTR_UNDERLINE  |
 				ATTR_BLINK      |
-				ATTR_FASTBLINK  |
 				ATTR_REVERSE    |
 				ATTR_INVISIBLE  |
 				ATTR_STRUCK     );
@@ -1704,10 +1702,9 @@ tsetattr(int *attr, int l) {
 			term.c.attr.mode |= ATTR_UNDERLINE;
 			break;
 		case 5: /* slow blink */
-			term.c.attr.mode |= ATTR_BLINK;
-			break;
+			/* FALLTHROUGH */
 		case 6: /* rapid blink */
-			term.c.attr.mode |= ATTR_FASTBLINK;
+			term.c.attr.mode |= ATTR_BLINK;
 			break;
 		case 7:
 			term.c.attr.mode |= ATTR_REVERSE;
@@ -1728,7 +1725,7 @@ tsetattr(int *attr, int l) {
 			term.c.attr.mode &= ~ATTR_UNDERLINE;
 			break;
 		case 25:
-			term.c.attr.mode &= ~(ATTR_BLINK | ATTR_FASTBLINK);
+			term.c.attr.mode &= ~ATTR_BLINK;
 			break;
 		case 27:
 			term.c.attr.mode &= ~ATTR_REVERSE;