====== Command Shells (User Guide) ======

A **command shell** is the Synchronet component that draws the BBS's menus and prompts and decides what each key you press does. Every Synchronet user runs a command shell once they've logged on; the shell determines the entire post-logon look-and-feel.

This page is the **user-facing** index of shells. For the sysop / configuration perspective, see [[custom:command_shell]].

===== Stock shells shipped with Synchronet =====

  * [[user:shell:classic|Synchronet Classic]] (''default.js'') — emulates the Synchronet v1 user interface; the **default** for most BBSes
  * [[user:shell:simple|Synchronet Novice / Simple]] (''simple.bin'') — simplified interface for beginners
  * [[user:shell:wwiv|WWIV Clone]] (''wwiv.bin'')
  * [[user:shell:pcboard|PCBoard Clone]] (''pcboard.bin'')
  * [[user:shell:wildcat|Wildcat! Clone]] (''wildcat.bin'')
  * [[user:shell:major|MajorBBS Clone]] (''major.bin'')
  * [[user:shell:renegade|Renegade Clone]] (''renegade.bin'')
  * [[user:shell:obv-2|Oblivion/2 Clone]] (''obv-2.bin'')
  * [[user:shell:lbshell|Deuce's Lightbar Shell]] (''lbshell.js'')
  * [[user:shell:sdos|Simulated MS-DOS]] (''sdos.bin'')

A BBS may also run a **third-party** or **custom** shell that isn't listed here. Ask your sysop, or check ''shell.bin'' / ''shell.js'' in their distribution.

===== Switching shells =====

If the BBS makes more than one shell available to you, you can pick which shell to use from the **[[user:settings|User Settings]]** menu — itself separate from the shell, so you reach it via whatever key your current shell binds to it. In Classic, that's ''D'' from the Main prompt. The BBS remembers your choice across sessions.

If only one shell is available — or if your account is restricted to a specific shell — you won't see a chooser.

===== Which shell am I using? =====

  * **Classic** shows ''Main:'' and ''File:'' prompts and the standard Synchronet menus.
  * **Wildcat / PCBoard / Renegade / WWIV / MajorBBS / Oblivion-2** clones each present prompts and menus that match those classic BBS programs. If the BBS feels like a non-Synchronet system you remember, you're probably in one of those.
  * **Lightbar (lbshell)** uses arrow-key navigation across highlighted menu items rather than letter commands.
  * **Simple / Novice** presents a simplified, more guided interface.
  * **sdos** simulates an MS-DOS prompt — you type things like ''DIR'', ''CD MAIL'', etc.

===== What's the same across every shell? =====

Some things don't change no matter which shell you're using, because Synchronet itself (or a separate menu) handles them rather than the shell:

  * [[user:ctrl_keys|Control-key commands]] — Ctrl-S, Ctrl-Q, Ctrl-C, Ctrl-U, Ctrl-P, Ctrl-K, Ctrl-T
  * [[custom:ctrl-a_codes|Ctrl-A text attribute codes]] in messages and display files
  * [[user:login:|Login]] happens before the shell starts
  * [[user:editor|The message editor]] is separate from the shell — internal (line editor) or external (your choice)
  * [[user:settings|User Settings menu]] is separate from the shell (the shell binds a key to invoke it)
  * [[user:mail|Mail]], [[user:msgbase|Message bases]], [[user:chat|Chat]], [[user:list|User listings]] are typically separate sections — the shell opens them, but their layouts and prompts are their own

===== See Also =====

  * [[user:|User documentation index]]
  * [[custom:command_shell|Command Shell — sysop / configuration perspective]]
  * [[util:Baja|Baja]] — language used by most stock shells
  * [[custom:JavaScript|JavaScript]] — used by ''default.js'' (Classic) and ''lbshell.js''

{{tag>user shell}}
