</select>
rows: <input id="n_rows" type="number" step=2 min=10 value=24 />
cols: <input id="n_cols" type="number" step=4 min=20 value=80 />
+command character: <select id="command_char"" >
+<option value=":" selected>:</option>
+<option value="/">/</option>
+</select>
</div>
<pre id="terminal" style="display: inline-block;"></pre>
<textarea id="input" style="opacity: 0; width: 0px;"></textarea>
let wasd_selector = document.getElementById("WASD_selector");
let rows_selector = document.getElementById("n_rows");
let cols_selector = document.getElementById("n_cols");
+let command_char_selector = document.getElementById("command_char");
let terminal = {
foreground: 'white',
};
this.websocket.onclose = function(event) {
tui.log_msg("@ server disconnected :(");
- tui.log_msg("@ hint: try the ':reconnect' command");
+ tui.log_msg("@ hint: try the '" + command_char_selector.value + "reconnect' command");
};
this.websocket.onmessage = this.handle_event;
},
log_help: function() {
this.log_msg("HELP:");
this.log_msg("chat mode commands:");
- this.log_msg(" :nick NAME - re-name yourself to NAME");
- this.log_msg(" :msg USER TEXT - send TEXT to USER");
- this.log_msg(" :help - show this help");
- this.log_msg(" :p or :play - switch to play mode");
- this.log_msg(" :? or :study - switch to study mode");
+ this.log_msg(" " + command_char_selector.value + "nick NAME - re-name yourself to NAME");
+ this.log_msg(" " + command_char_selector.value + "msg USER TEXT - send TEXT to USER");
+ this.log_msg(" " + command_char_selector.value + "help - show this help");
+ this.log_msg(" " + command_char_selector.value + "p or " + command_char_selector.value + "play - switch to play mode");
+ this.log_msg(" " + command_char_selector.value + "? or " + command_char_selector.value + "study - switch to study mode");
this.log_msg("commands common to study and play mode:");
this.log_msg(" " + this.movement_keys_desc + " - move");
this.log_msg(" c - switch to chat mode");
} else if (tui.mode == mode_chat && event.key == 'Enter') {
let [tokens, token_starts] = parser.tokenize(tui.inputEl.value);
if (tokens.length > 0 && tokens[0].length > 0) {
- if (tokens[0][0] == ':') {
- if (tokens[0] == ':play' || tokens[0] == ':p') {
+ if (tokens[0][0] == command_char_selector.value) {
+ if (tokens[0].slice(1) == 'play' || tokens[0].slice(1) == 'p') {
tui.switch_mode(mode_play);
- } else if (tokens[0] == ':study' || tokens[0] == ':?') {
+ } else if (tokens[0].slice(1) == 'study' || tokens[0].slice(1) == '?') {
tui.switch_mode(mode_study);
- } else if (tokens[0] == ':help') {
+ } else if (tokens[0].slice(1) == 'help') {
tui.log_help();
- } else if (tokens[0] == ':nick') {
+ } else if (tokens[0].slice(1) == 'nick') {
if (tokens.length > 1) {
server.send(['LOGIN', tokens[1]]);
} else {
tui.log_msg('? need login name');
}
- } else if (tokens[0] == ':msg') {
+ } else if (tokens[0].slice(1) == 'msg') {
if (tokens.length > 2) {
let msg = tui.inputEl.value.slice(token_starts[2]);
server.send(['QUERY', tokens[1], msg]);
} else {
tui.log_msg('? need message target and message');
}
- } else if (tokens[0] == ':reconnect') {
+ } else if (tokens[0].slice(1) == 'reconnect') {
if (tokens.length > 1) {
server.reconnect_to(tokens[1]);
} else {
tui.full_refresh();
}, false);
window.setInterval(function() {
- if (!(['input', 'n_cols', 'n_rows', 'WASD_selector'].includes(document.activeElement.id))) {
+ if (!(['input', 'n_cols', 'n_rows', 'WASD_selector', 'command_char'].includes(document.activeElement.id))) {
tui.inputEl.focus();
}
}, 100);