//[ConnectBot Terminal](../../index.md)/[org.connectbot.terminal](index.md)

# Package-level declarations

## Types

| Name | Summary |
|---|---|
| [ComposeController](-compose-controller/index.md) | [release]<br>interface [ComposeController](-compose-controller/index.md)<br>Public API interface for controlling compose mode in the terminal. |
| [DelKeyMode](-del-key-mode/index.md) | [release]<br>sealed class [DelKeyMode](-del-key-mode/index.md)<br>Controls what byte sequence the backspace key sends. |
| [ModifierManager](-modifier-manager/index.md) | [release]<br>interface [ModifierManager](-modifier-manager/index.md)<br>Manages modifier key state for terminal keyboard input. This can be used to combine some external state about the Ctrl, Alt, and Shift keys. For instance, combining a keyboard with an on-screen button. |
| [ProgressState](-progress-state/index.md) | [release]<br>enum [ProgressState](-progress-state/index.md) : [Enum](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-enum/index.html)&lt;[ProgressState](-progress-state/index.md)&gt; <br>Progress state for OSC 9;4 progress reporting. Used by Windows Terminal and other terminals to display progress in tab headers. |
| [RightAltMode](-right-alt-mode/index.md) | [release]<br>sealed class [RightAltMode](-right-alt-mode/index.md)<br>Controls how the right-alt key (AltGr) is interpreted by the terminal keyboard handler. |
| [SelectionController](-selection-controller/index.md) | [release]<br>interface [SelectionController](-selection-controller/index.md)<br>Interface for controlling text selection in the terminal. This allows external components (UI chrome, keyboard handlers, accessibility) to control selection. |
| [SelectionMode](-selection-mode/index.md) | [release]<br>sealed class [SelectionMode](-selection-mode/index.md) |
| [TerminalDimensions](-terminal-dimensions/index.md) | [release]<br>data class [TerminalDimensions](-terminal-dimensions/index.md)(val rows: [Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html), val columns: [Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html))<br>Represents the size of the terminal in characters. |
| [TerminalEmulator](-terminal-emulator/index.md) | [release]<br>sealed interface [TerminalEmulator](-terminal-emulator/index.md)<br>Terminal emulator interface. This has no dependency on any UI framework so it may be run in a Service on Android. It handles the management of the terminal emulation state. |
| [TerminalEmulatorFactory](-terminal-emulator-factory/index.md) | [release]<br>class [TerminalEmulatorFactory](-terminal-emulator-factory/index.md) |
| [TerminalUrl](-terminal-url/index.md) | [release]<br>data class [TerminalUrl](-terminal-url/index.md)(val url: [String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html), val source: [TerminalUrlSource](-terminal-url-source/index.md))<br>URL discovered in terminal output. |
| [TerminalUrlSource](-terminal-url-source/index.md) | [release]<br>sealed class [TerminalUrlSource](-terminal-url-source/index.md) |
| [UrlScanScope](-url-scan-scope/index.md) | [release]<br>sealed class [UrlScanScope](-url-scan-scope/index.md)<br>Line range to scan for URLs. |
| [VTermKey](-v-term-key/index.md) | [release]<br>object [VTermKey](-v-term-key/index.md)<br>VTerm key codes from libvterm. These correspond to VTermKey enum in vterm.h |

## Functions

| Name | Summary |
|---|---|
| [Terminal](-terminal.md) | [release]<br>@[Composable](https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable.html)<br>fun [Terminal](-terminal.md)(terminalEmulator: [TerminalEmulator](-terminal-emulator/index.md), modifier: [Modifier](https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier.html) = Modifier, typeface: [Typeface](https://developer.android.com/reference/kotlin/android/graphics/Typeface.html) = Typeface.MONOSPACE, initialFontSize: [TextUnit](https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/TextUnit.html) = 11.sp, minFontSize: [TextUnit](https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/TextUnit.html) = 6.sp, maxFontSize: [TextUnit](https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/TextUnit.html) = 30.sp, backgroundColor: [Color](https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color.html) = Color.Black, foregroundColor: [Color](https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color.html) = Color.White, selectionBackgroundColor: [Color](https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color.html) = Color(0xFFB3D7FF), selectionForegroundColor: [Color](https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color.html) = Color.Black, keyboardEnabled: [Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html) = false, showSoftKeyboard: [Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html) = true, focusRequester: [FocusRequester](https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusRequester.html) = remember { FocusRequester() }, onTerminalTap: () -&gt; [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html) = {}, onImeVisibilityChanged: ([Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)) -&gt; [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html) = {}, forcedSize: [Pair](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-pair/index.html)&lt;[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html), [Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)&gt;? = null, modifierManager: [ModifierManager](-modifier-manager/index.md)? = null, onSelectionControllerAvailable: ([SelectionController](-selection-controller/index.md)) -&gt; [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)? = null, onHyperlinkClick: ([String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)) -&gt; [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html) = {}, onComposeControllerAvailable: ([ComposeController](-compose-controller/index.md)) -&gt; [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)? = null, onPasteRequest: () -&gt; [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)? = null, rightAltMode: [RightAltMode](-right-alt-mode/index.md) = RightAltMode.CharacterModifier, delKeyMode: [DelKeyMode](-del-key-mode/index.md) = DelKeyMode.Delete)<br>Terminal - A Jetpack Compose terminal screen component. |