summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpiaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2014-04-21 23:28:40 +0800
committerpiaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2014-04-21 23:28:40 +0800
commitb4ef5fadd5f426f45df07af192ac1f7b96ebadb7 (patch)
tree2d735bd5798716bd38383efbb4c5a2f5d2c8b71a
parente6bb658fbb0eed8298e6c6b7080fbb2ff4698764 (diff)
downloadpttbbs-b4ef5fadd5f426f45df07af192ac1f7b96ebadb7.tar
pttbbs-b4ef5fadd5f426f45df07af192ac1f7b96ebadb7.tar.gz
pttbbs-b4ef5fadd5f426f45df07af192ac1f7b96ebadb7.tar.bz2
pttbbs-b4ef5fadd5f426f45df07af192ac1f7b96ebadb7.tar.lz
pttbbs-b4ef5fadd5f426f45df07af192ac1f7b96ebadb7.tar.xz
pttbbs-b4ef5fadd5f426f45df07af192ac1f7b96ebadb7.tar.zst
pttbbs-b4ef5fadd5f426f45df07af192ac1f7b96ebadb7.zip
Make ASCII cursor the new default.
git-svn-id: http://opensvn.csie.org/pttbbs/trunk@5988 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
-rw-r--r--pttbbs/include/common.h7
-rw-r--r--pttbbs/include/uflags.h2
-rw-r--r--pttbbs/mbbsd/psb.c14
-rw-r--r--pttbbs/mbbsd/register.c2
-rw-r--r--pttbbs/mbbsd/stuff.c15
-rw-r--r--pttbbs/mbbsd/user.c4
6 files changed, 30 insertions, 14 deletions
diff --git a/pttbbs/include/common.h b/pttbbs/include/common.h
index 0e22e13f..ad1fc099 100644
--- a/pttbbs/include/common.h
+++ b/pttbbs/include/common.h
@@ -224,9 +224,10 @@
#define MAX_MODES (127)
#define MAX_RECOMMENDS (100)
-#define STR_CURSOR "●"
-#define STR_CURSOR2 ">>"
-#define STR_UNCUR " "
+#define STR_CURSOR ">"
+#define STR_CURSOR2 "●"
+#define STR_UNCUR " "
+#define STR_UNCUR2 " "
#define NOTREPLYING -1
#define REPLYING 0
diff --git a/pttbbs/include/uflags.h b/pttbbs/include/uflags.h
index cde9cd74..7b0f28e5 100644
--- a/pttbbs/include/uflags.h
+++ b/pttbbs/include/uflags.h
@@ -32,7 +32,7 @@
// #define UF_COUNTRY_??? 0x00400000 // reserved
// #define UF_COUNTRY_??? 0x00800000 // reserved
#define UF_MENU_LIGHTBAR 0x01000000 // true to use lightbar-based menu
-// #define UF_??? 0x02000000 // reserved
+#define UF_CURSOR_ASCII 0x02000000 // true to enable ASCII-safe cursor.
// #define UF_??? 0x04000000 // reserved
// #define UF_??? 0x08000000 // reserved
// #define UF_??? 0x10000000 // reserved
diff --git a/pttbbs/mbbsd/psb.c b/pttbbs/mbbsd/psb.c
index 1940551f..5ddab98b 100644
--- a/pttbbs/mbbsd/psb.c
+++ b/pttbbs/mbbsd/psb.c
@@ -64,11 +64,19 @@ psb_default_renderer(int i, int curr, int total, int rows GCC_UNUSED, void *ctx
static int
psb_default_cursor(int y, int curr GCC_UNUSED, void * ctx GCC_UNUSED) {
#ifdef USE_PFTERM
- outs("●\b");
+ if (HasUserFlag(UF_CURSOR_ASCII))
+ outs(STR_CURSOR "\b");
+ else
+ outs(STR_CURSOR2 "\b");
#else
// simulate but do not call cursor_show.
- mvouts(y, 0, STR_CURSOR);
- move(y, 1);
+ if (HasUserFlag(UF_CURSOR_ASCII)) {
+ mvouts(y, 0, STR_CURSOR);
+ move(y, 0);
+ } else {
+ mvouts(y, 0, STR_CURSOR2);
+ move(y, 1);
+ }
#endif
return 0;
}
diff --git a/pttbbs/mbbsd/register.c b/pttbbs/mbbsd/register.c
index be8362b7..b063ebce 100644
--- a/pttbbs/mbbsd/register.c
+++ b/pttbbs/mbbsd/register.c
@@ -526,7 +526,7 @@ new_register(void)
memset(&newuser, 0, sizeof(newuser));
newuser.version = PASSWD_VERSION;
newuser.userlevel = PERM_DEFAULT;
- newuser.uflag = UF_BRDSORT | UF_ADBANNER;
+ newuser.uflag = UF_BRDSORT | UF_ADBANNER | UF_CURSOR_ASCII;
newuser.firstlogin = newuser.lastlogin = now;
newuser.pager = PAGER_ON;
newuser.numlogindays = 1;
diff --git a/pttbbs/mbbsd/stuff.c b/pttbbs/mbbsd/stuff.c
index e5529e80..1d5be6e8 100644
--- a/pttbbs/mbbsd/stuff.c
+++ b/pttbbs/mbbsd/stuff.c
@@ -266,12 +266,13 @@ cursor_show(int row, int column)
{
if (HasUserFlag(UF_MENU_LIGHTBAR)) {
grayout(row, row + 1, GRAYOUT_COLORBOLD);
- move(row, column);
- outs(STR_CURSOR2);
+ }
+ move(row, column);
+ if (HasUserFlag(UF_CURSOR_ASCII)) {
+ outs(STR_CURSOR);
move(row, column);
} else {
- move(row, column);
- outs(STR_CURSOR);
+ outs(STR_CURSOR2);
move(row, column + 1);
}
}
@@ -282,7 +283,11 @@ void
cursor_clear(int row, int column)
{
move(row, column);
- outs(STR_UNCUR);
+ if (HasUserFlag(UF_CURSOR_ASCII))
+ outs(STR_UNCUR);
+ else
+ outs(STR_UNCUR2);
+
if (HasUserFlag(UF_MENU_LIGHTBAR)) {
grayout(row, row + 1, GRAYOUT_COLORNORM);
}
diff --git a/pttbbs/mbbsd/user.c b/pttbbs/mbbsd/user.c
index 858f1efc..f31adcd4 100644
--- a/pttbbs/mbbsd/user.c
+++ b/pttbbs/mbbsd/user.c
@@ -432,6 +432,7 @@ void Customize(void)
UF_DBCS_DROP_REPEAT,
UF_DBCS_NOINTRESC,
#endif
+ UF_CURSOR_ASCII,
#ifdef USE_PFTERM
UF_MENU_LIGHTBAR,
#endif
@@ -455,8 +456,9 @@ void Customize(void)
"DBCS 忽略連線程式為雙位元字集送出的重複按鍵",
"DBCS 禁止在雙位元中使用色碼(去除一字雙色)",
#endif
+ "CURSOR 使用新式簡化游標",
#ifdef USE_PFTERM
- "MENU (實驗性)啟用光棒選單系統",
+ "CURSOR (實驗性)啟用光棒選單系統",
#endif
#ifdef PLAY_ANGEL
"ANGEL (小天使)啟用新的神諭呼叫器設定界面",