{{>toc}} h1. Editbox !editbox.png! The Editbox is where you type messages to channels and users, it can also be used to type [[Scripting Commands|commands]]. h2. Typing Commands Typing a command with one forward slash */command parameters* executes a built-in command, scripted identifier or a plugin command. Typing a command with two forward slashes *//command parameters* evaluates the parameters before executing a built-in command, scripted alias or a plugin command. Pressing the %(key)CTRL% key while pressing %(key)ENTER% allows sending commands as plain text without executing them. h2. Spellcheck Editbox supports spellchecking, see [[Spellcheck]] for a installation guide. h2. History The Edibox have a history of previously sent messages/commands which you can cycle through using the %(key)UP% or %(key)DOWN% key, if the Editbox currently have multiple lines, you must press %(key)ALT% + %(key)UP% / %(key)DOWN% instead, this is so you can use %(key)UP% / %(key)DOWN% to move the cursor between the lines. By default each Editbox have it's own history, this can be changed to using a global history for all Editboxes in [[Editbox Options]]. h2. Tabcomplete The Editbox supports various tab completions including nick completions using the %(key)TAB% key, see [[Tabcomplete]] for more information. _See "this script":/boards/5/topics/1302 for tab completing spellchecking._ h2. Customization See [[Editbox Options]] for available options. The colors can be changed in [[Options Dialog|Options]] -> [[Colors Options|Colors]] -> Editbox. The font can be changed in [[Options Dialog|Options]] -> [[Fonts Options|Fonts]] or through the [[/font]] command. It's possible to add padding around the Editbox in [[Options Dialog|Options]] -> [[Fonts Options|Windows]] -> Editbox padding. h2. Using scripts to extend Editbox features It's possible to respond to keydown/keydown events using the [[on KEYDOWN]] and [[on KEYUP]] events. It's possible to respond to pressing enter using the [[on INPUT]] event. It's possible to respond to tab completion/tab key the [[on TABCOMP]] event. Check the "Scripting Forums":/projects/adiirc/boards/5 for examples. The [[/editbox]] command and the [[$editbox]] identifier allows retrieving or changing the Editbox text and selection. _See also [[$spellcheck]], [[$editboxhistory]]._ h2. Using plugins to extend Editbox features Check the "plugin api":https://adiirc.github.io/apiv2/generated/html/05878b69-8978-3495-2565-4fd3a3a5e83e.htm for the IEditbox interface and the "Editbox tutorial":https://github.com/AdiIRC/apiv2/blob/master/docs/tutorial/chapter5/README.md. h2. Tips Typing and then selecting a nick and then pressing %(key)CTRL% + %(key)Space% opens the nicklist menu for that nick, otherwise opens the Editbox right-click menu. _See also [[Shortcuts]], there are many relevant to the Editbox._ h2. Known issues When typing or pasting characters not available in the specified font, they will appear as empty squares, "this seems to be fixed in .NET 4.7":https://stackoverflow.com/questions/32591157/richtextbox-selection-highlight/32618479#32618479, so should be fixed in AdiIRC when it's upgraded to 4.7. When using spellchecking, the Editbox switches to a custom undo/redo stack. It is not as intelligent as the built-in stack (it only allows undo one typed character at the time), there will be some improvements in the future.