diff --git a/src/sbbs3/getmsg.cpp b/src/sbbs3/getmsg.cpp index eec6149d804a05397c0a466babf5d5322c995932..98b5f6fd7b9412a717576c64c1f585044668f24d 100644 --- a/src/sbbs3/getmsg.cpp +++ b/src/sbbs3/getmsg.cpp @@ -137,6 +137,7 @@ void sbbs_t::show_msghdr(smb_t* smb, smbmsg_t* msg) else CRLF; } + msghdr_tos = tos; if(!menu("msghdr", P_NOERROR)) { bprintf(text[MsgSubj],msg->subj); if(msg->tags && *msg->tags) diff --git a/src/sbbs3/js_bbs.cpp b/src/sbbs3/js_bbs.cpp index e809d532c02fada06a3504be49b6f965fb78d12e..0b8f3088130f8402b7af8c11db0a97f3d8c24008 100644 --- a/src/sbbs3/js_bbs.cpp +++ b/src/sbbs3/js_bbs.cpp @@ -145,6 +145,8 @@ enum { ,BBS_PROP_MSG_REPLY_ID ,BBS_PROP_MSG_DELIVERY_ATTEMPTS + ,BBS_PROP_MSGHDR_TOS + /* READ ONLY */ ,BBS_PROP_BATCH_UPLOAD_TOTAL ,BBS_PROP_BATCH_DNLOAD_TOTAL @@ -268,6 +270,8 @@ enum { ,"message replied-to identifier" ,"message delivery attempt counter" + ,"message header displayed at top-of-screen" + ,"file name" ,"file description" ,"file directory (number)" @@ -691,6 +695,9 @@ static JSBool js_bbs_get(JSContext *cx, JSObject *obj, jsid id, jsval *vp) else p=sbbs->current_msg->reply_id; break; + case BBS_PROP_MSGHDR_TOS: + val = sbbs->msghdr_tos; + break; /* Currently Displayed File (sbbs.current_file) */ case BBS_PROP_FILE_NAME: @@ -1082,6 +1089,8 @@ static jsSyncPropertySpec js_bbs_properties[] = { { "msg_delivery_attempts" ,BBS_PROP_MSG_DELIVERY_ATTEMPTS ,PROP_READONLY ,310}, + { "msghdr_top_of_screen" ,BBS_PROP_MSGHDR_TOS ,PROP_READONLY ,31702}, + { "file_name" ,BBS_PROP_FILE_NAME ,PROP_READONLY ,317}, { "file_description" ,BBS_PROP_FILE_DESC ,PROP_READONLY ,317}, { "file_dir_number" ,BBS_PROP_FILE_DIR ,PROP_READONLY ,317}, diff --git a/src/sbbs3/js_console.cpp b/src/sbbs3/js_console.cpp index 83b7d319d177358b70481a31f8c0bb16ba6a4270..9c56f20f159fc5ac50037e4cfbb382fcec610af0 100644 --- a/src/sbbs3/js_console.cpp +++ b/src/sbbs3/js_console.cpp @@ -234,7 +234,7 @@ static JSBool js_console_set(JSContext *cx, JSObject *obj, jsid id, JSBool stric JS_RESUMEREQUEST(cx, rc); break; case CON_PROP_TOS: - sbbs->tos=val; + sbbs->tos = val ? true : false; break; case CON_PROP_ROWS: if(val >= TERM_ROWS_MIN && val <= TERM_ROWS_MAX) diff --git a/src/sbbs3/main.cpp b/src/sbbs3/main.cpp index 8669ca1d1766b52ed053978d77d15a3a5604e59e..3f9e092760a55f3beea7a42b0a4950e08443ee3e 100644 --- a/src/sbbs3/main.cpp +++ b/src/sbbs3/main.cpp @@ -3403,8 +3403,10 @@ sbbs_t::sbbs_t(ushort node_num, union xp_sockaddr *addr, size_t addr_len, const telnet_ack_event=CreateEvent(NULL, /* Manual Reset: */FALSE,/* InitialState */FALSE,NULL); listInit(&savedlines, /* flags: */0); + sys_status=lncntr=criterrs=0L; + tos = false; + msghdr_tos = false; listInit(&smb_list, /* flags: */0); - sys_status=lncntr=tos=criterrs=0L; column=0; tabstop=8; lastlinelen=0; diff --git a/src/sbbs3/sbbs.h b/src/sbbs3/sbbs.h index 1b79a910edea48452d53d90c2f08ee8ab3a768de..c443fb40838bb33881e248b1a44bd7bdb1711c8a 100644 --- a/src/sbbs3/sbbs.h +++ b/src/sbbs3/sbbs.h @@ -467,7 +467,8 @@ public: uchar attr_stack[64]; /* Saved attributes (stack) */ int attr_sp; /* Attribute stack pointer */ long lncntr; /* Line Counter - for PAUSE */ - long tos; /* Top of Screen */ + bool tos; /* Cursor is currently at the Top of Screen */ + bool msghdr_tos; /* Message header was displayed at Top of Screen */ long rows; /* Current number of Rows for User */ long cols; /* Current number of Columns for User */ long column; /* Current column counter (for line counter) */