Compare commits
13 Commits
dev/migrie
...
dev/miniks
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
eb72c7fd3b | ||
|
|
20250c233d | ||
|
|
39023426ff | ||
|
|
9ea43bace0 | ||
|
|
2b9f6388cf | ||
|
|
c340ab5e7b | ||
|
|
42e198e967 | ||
|
|
a6816df2b5 | ||
|
|
3aee3992ba | ||
|
|
1b3a5e671b | ||
|
|
18b91c20ef | ||
|
|
3b7544770b | ||
|
|
93b95420ac |
12
.github/ISSUE_TEMPLATE/config.yml
vendored
@@ -1,12 +0,0 @@
|
||||
blank_issues_enabled: true
|
||||
|
||||
contact_links:
|
||||
- name: Microsoft Security Response Center 🔐
|
||||
url: https://msrc.microsoft.com/create-report
|
||||
about: Please report security vulnerabilities here.
|
||||
- name: Windows Terminal Documentation issue 📄
|
||||
url: https://github.com/MicrosoftDocs/terminal/issues/new
|
||||
about: Report issues with the documentation for the Windows Terminal (in docs.microsoft.com/windows/terminal)
|
||||
- name: Console Documentation issue 📄
|
||||
url: https://github.com/MicrosoftDocs/console-docs/issues/new
|
||||
about: Report issues with the documentation for the Console (in docs.microsoft.com/windows/console)
|
||||
57
.github/workflows/linter.yml
vendored
Normal file
@@ -0,0 +1,57 @@
|
||||
---
|
||||
###########################
|
||||
###########################
|
||||
## Linter GitHub Actions ##
|
||||
###########################
|
||||
###########################
|
||||
name: Lint Code Base
|
||||
|
||||
#
|
||||
# Documentation:
|
||||
# https://help.github.com/en/articles/workflow-syntax-for-github-actions
|
||||
#
|
||||
|
||||
###################################################
|
||||
# The linter is noisy; we used to run it on push. #
|
||||
###################################################
|
||||
#
|
||||
#on:
|
||||
# pull_request:
|
||||
# branches: [main]
|
||||
|
||||
###############
|
||||
# Set the Job #
|
||||
###############
|
||||
jobs:
|
||||
build:
|
||||
# Name the Job
|
||||
name: Lint Code Base
|
||||
# Set the agent to run on
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
##################
|
||||
# Load all steps #
|
||||
##################
|
||||
steps:
|
||||
##########################
|
||||
# Checkout the code base #
|
||||
##########################
|
||||
- name: Checkout Code
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
# Full git history is needed to get a proper list of changed files within `super-linter`
|
||||
fetch-depth: 0
|
||||
|
||||
################################
|
||||
# Run Linter against code base #
|
||||
################################
|
||||
- name: Lint Code Base
|
||||
uses: github/super-linter@v3
|
||||
env:
|
||||
VALIDATE_ALL_CODEBASE: false
|
||||
DEFAULT_BRANCH: main
|
||||
MARKDOWN_CONFIG_FILE: .markdown-lint.yml
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
VALIDATE_EDITORCONFIG: false
|
||||
# The json linter doesn't like JSONC, which we use all over. So just disable it.
|
||||
VALIDATE_JSON: false
|
||||
@@ -5,7 +5,7 @@
|
||||
<XesUseOneStoreVersioning>true</XesUseOneStoreVersioning>
|
||||
<XesBaseYearForStoreVersion>2020</XesBaseYearForStoreVersion>
|
||||
<VersionMajor>1</VersionMajor>
|
||||
<VersionMinor>6</VersionMinor>
|
||||
<VersionMinor>5</VersionMinor>
|
||||
<VersionInfoProductName>Windows Terminal</VersionInfoProductName>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
|
||||
@@ -8,20 +8,19 @@ return a JSON value coerced into the specified type.
|
||||
When reading into existing storage, it returns a boolean indicating whether that storage was modified.
|
||||
|
||||
If the JSON value cannot be converted to the specified type, an exception will be generated.
|
||||
For non-nullable type conversions (most POD types), `null` is considered to be an invalid type.
|
||||
|
||||
```c++
|
||||
std::string one;
|
||||
std::optional<std::string> two;
|
||||
|
||||
JsonUtils::GetValue(json, one);
|
||||
// one is populated or an exception is thrown.
|
||||
// one is populated or unchanged.
|
||||
|
||||
JsonUtils::GetValue(json, two);
|
||||
// two is populated, nullopt or an exception is thrown
|
||||
// two is populated, nullopt or unchanged
|
||||
|
||||
auto three = JsonUtils::GetValue<std::string>(json);
|
||||
// three is populated or an exception is thrown
|
||||
// three is populated or zero-initialized
|
||||
|
||||
auto four = JsonUtils::GetValue<std::optional<std::string>>(json);
|
||||
// four is populated or nullopt
|
||||
@@ -226,14 +225,14 @@ auto v = JsonUtils::GetValue<int>(json, conv);
|
||||
|
||||
-|json type invalid|json null|valid
|
||||
-|-|-|-
|
||||
`T`|❌ exception|❌ exception|✔ converted
|
||||
`T`|❌ exception|🔵 unchanged|✔ converted
|
||||
`std::optional<T>`|❌ exception|🟨 `nullopt`|✔ converted
|
||||
|
||||
### GetValue<T>() (returning)
|
||||
|
||||
-|json type invalid|json null|valid
|
||||
-|-|-|-
|
||||
`T`|❌ exception|❌ exception|✔ converted
|
||||
`T`|❌ exception|🟨 `T{}` (zero value)|✔ converted
|
||||
`std::optional<T>`|❌ exception|🟨 `nullopt`|✔ converted
|
||||
|
||||
### GetValueForKey(T&) (type-deducing)
|
||||
@@ -243,14 +242,14 @@ a "key not found" state. The remaining three cases are the same.
|
||||
|
||||
val type|key not found|_json type invalid_|_json null_|_valid_
|
||||
-|-|-|-|-
|
||||
`T`|🔵 unchanged|_❌ exception_|_❌ exception_|_✔ converted_
|
||||
`std::optional<T>`|🔵 unchanged|_❌ exception_|_🟨 `nullopt`_|_✔ converted_
|
||||
`T`|🔵 unchanged|_❌ exception_|_🔵 unchanged_|_✔ converted_
|
||||
`std::optional<T>`|_🔵 unchanged_|_❌ exception_|_🟨 `nullopt`_|_✔ converted_
|
||||
|
||||
### GetValueForKey<T>() (return value)
|
||||
|
||||
val type|key not found|_json type invalid_|_json null_|_valid_
|
||||
-|-|-|-|-
|
||||
`T`|🟨 `T{}` (zero value)|_❌ exception_|_❌ exception_|_✔ converted_
|
||||
`T`|🟨 `T{}` (zero value)|_❌ exception_|_🟨 `T{}` (zero value)_|_✔ converted_
|
||||
`std::optional<T>`|🟨 `nullopt`|_❌ exception_|_🟨 `nullopt`_|_✔ converted_
|
||||
|
||||
### Future Direction
|
||||
|
||||
@@ -27,30 +27,11 @@
|
||||
"type": "string"
|
||||
},
|
||||
"BellStyle": {
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "boolean"
|
||||
},
|
||||
{
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"audible",
|
||||
"visual"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"audible",
|
||||
"visual",
|
||||
"all",
|
||||
"none"
|
||||
]
|
||||
}
|
||||
]
|
||||
"enum": [
|
||||
"none",
|
||||
"audible"
|
||||
],
|
||||
"type": "string"
|
||||
},
|
||||
"ProfileGuid": {
|
||||
"default": "{}",
|
||||
@@ -180,11 +161,6 @@
|
||||
"index": {
|
||||
"type": "integer",
|
||||
"description": "The index of the profile in the new tab dropdown (starting at 0)"
|
||||
},
|
||||
"tabColor": {
|
||||
"$ref": "#/definitions/Color",
|
||||
"default": null,
|
||||
"description": "If provided, will set the tab's color to the given value"
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
@@ -709,38 +685,8 @@
|
||||
},
|
||||
"useTabSwitcher": {
|
||||
"default": true,
|
||||
"description": "Deprecated. Please use \"tabSwitcherMode\" instead.",
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "boolean"
|
||||
},
|
||||
{
|
||||
"enum": [
|
||||
"mru",
|
||||
"inOrder",
|
||||
"disabled"
|
||||
],
|
||||
"type": "string"
|
||||
}
|
||||
],
|
||||
"deprecated": true
|
||||
},
|
||||
"tabSwitcherMode": {
|
||||
"default": "inOrder",
|
||||
"description": "When set to \"true\" or \"mru\", the \"nextTab\" and \"prevTab\" commands will use the tab switcher UI, with most-recently-used ordering. When set to \"inOrder\", these actions will switch tabs in their current ordering. Set to \"false\" to disable the tab switcher.",
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "boolean"
|
||||
},
|
||||
{
|
||||
"enum": [
|
||||
"mru",
|
||||
"inOrder",
|
||||
"disabled"
|
||||
],
|
||||
"type": "string"
|
||||
}
|
||||
]
|
||||
"description": "When set to \"true\", the \"nextTab\" and \"prevTab\" commands will use the tab switcher UI.",
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -777,16 +723,7 @@
|
||||
},
|
||||
"backgroundImage": {
|
||||
"description": "Sets the file location of the image to draw over the window background.",
|
||||
"oneOf": [
|
||||
{
|
||||
"type": ["string", null]
|
||||
},
|
||||
{
|
||||
"enum": [
|
||||
"desktopWallpaper"
|
||||
]
|
||||
}
|
||||
]
|
||||
"type": ["string", "null"]
|
||||
},
|
||||
"backgroundImageAlignment": {
|
||||
"default": "center",
|
||||
@@ -824,7 +761,7 @@
|
||||
},
|
||||
"bellStyle": {
|
||||
"default": "audible",
|
||||
"description": "Controls what happens when the application emits a BEL character. When set to \"all\", the Terminal will play a sound and flash the taskbar icon. An array of specific behaviors can also be used. Supported array values include `audible` and `visual`. When set to \"none\", nothing will happen.",
|
||||
"description": "Controls what happens when the application emits a BEL character. When set to \"audible\", the Terminal will play a sound. When set to \"none\", nothing will happen.",
|
||||
"$ref": "#/definitions/BellStyle"
|
||||
},
|
||||
"closeOnExit": {
|
||||
|
||||
|
Before Width: | Height: | Size: 77 KiB After Width: | Height: | Size: 78 KiB |
|
Before Width: | Height: | Size: 134 KiB After Width: | Height: | Size: 300 KiB |
|
Before Width: | Height: | Size: 101 KiB After Width: | Height: | Size: 110 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 98 KiB After Width: | Height: | Size: 110 KiB |
@@ -1,239 +0,0 @@
|
||||
#requires -version 6.1
|
||||
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Scan source code and build a list of supported VT sequences.
|
||||
.DESCRIPTION
|
||||
Scan source code and build a list of supported VT sequences.
|
||||
TODO: add more details
|
||||
#>
|
||||
[cmdletbinding(DefaultParameterSetName="stdout")]
|
||||
param(
|
||||
[parameter(ParameterSetName="file", mandatory)]
|
||||
[string]$OutFile,
|
||||
[parameter(ParameterSetName="file")]
|
||||
[switch]$Force, # for overwriting $OutFile if it exists
|
||||
|
||||
[parameter(ParameterSetName="stdout")]
|
||||
[parameter(ParameterSetName="file")]
|
||||
[switch]$NoLogo, # no logo in summary
|
||||
[parameter(ParameterSetName="stdout")]
|
||||
[switch]$SummaryOnly, # no markdown generated
|
||||
[parameter(ParameterSetName="stdout")]
|
||||
[parameter(ParameterSetName="file")]
|
||||
[switch]$Quiet, # no summary or logo
|
||||
|
||||
[parameter(ParameterSetName="file")]
|
||||
[parameter(ParameterSetName="stdout")]
|
||||
[string]$SolutionRoot = "..\..",
|
||||
[parameter(ParameterSetName="file")]
|
||||
[parameter(ParameterSetName="stdout")]
|
||||
[string]$InterfacePath = $(join-path $solutionRoot "src\terminal\adapter\ITermDispatch.hpp"),
|
||||
[parameter(ParameterSetName="file")]
|
||||
[parameter(ParameterSetName="stdout")]
|
||||
[string]$ConsoleAdapterPath = $(join-path $solutionRoot "src\terminal\adapter\adaptDispatch.hpp"),
|
||||
[parameter(ParameterSetName="file")]
|
||||
[parameter(ParameterSetName="stdout")]
|
||||
[string]$TerminalAdapterPath = $(join-path $solutionRoot "src\cascadia\terminalcore\terminalDispatch.hpp")
|
||||
)
|
||||
|
||||
if ($PSCmdlet.ParameterSetName -eq "stdout") {
|
||||
Write-Verbose "Emitting markdown to STDOUT"
|
||||
}
|
||||
|
||||
<#
|
||||
GLOBALS
|
||||
#>
|
||||
|
||||
[semver]$myVer = "0.6-beta"
|
||||
$sequences = import-csv ".\master-sequence-list.csv"
|
||||
$base = @{}
|
||||
$conhost = @{}
|
||||
$terminal = @{}
|
||||
$prefix = "https://vt100.net/docs/vt510-rm/"
|
||||
$repo = "https://github.com/oising/terminal/tree/master"
|
||||
$conhostUrl = $ConsoleAdapterPath.TrimStart($SolutionRoot).replace("\", "/")
|
||||
$terminalUrl = $TerminalAdapterPath.TrimStart($SolutionRoot).replace("\", "/")
|
||||
|
||||
function Read-SourceFiles {
|
||||
# extract base interface
|
||||
$baseScanner = [regex]'(?x)virtual\s\w+\s(?<method>\w+)(?s)[^;]+;(?-s).*?(?<seq>(?<=\/\/\s).+)'
|
||||
|
||||
$baseScanner.Matches(($src = get-content -raw $interfacePath)) | foreach-object {
|
||||
$match = $_
|
||||
#$line = (($src[0..$_.Index] -join "") -split "`n").Length
|
||||
#$decl = $_.groups[0].value
|
||||
$_.groups["seq"].value.split(",") | ForEach-Object {
|
||||
$SCRIPT:base[$_.trim()] = $match.groups["method"].value
|
||||
}
|
||||
}
|
||||
|
||||
# match overrides of ITermDispatch
|
||||
$scanner = [regex]'(?x)\s+\w+\s(?<method>\w+)(?s)[^;]+override;'
|
||||
|
||||
$scanner.Matches(($src = Get-Content -raw $consoleAdapterPath)) | ForEach-Object {
|
||||
$line = (($src[0..$_.Index] -join "") -split "`n").Length
|
||||
$SCRIPT:conhost[$_.groups["method"].value] = $line
|
||||
}
|
||||
|
||||
$scanner.Matches(($src = Get-Content -raw $terminalAdapterPath)) | ForEach-Object {
|
||||
$line = (($src[0..$_.Index] -join "") -split "`n").Length
|
||||
#write-verbose $_.groups[0].value
|
||||
$SCRIPT:terminal[$_.groups["method"].value] = $line
|
||||
}
|
||||
}
|
||||
|
||||
function Get-SequenceIndexMarkdown {
|
||||
# "Sequence","Parent","Description","Origin","Heading","Subheading", "ImplementedBy", "ConsoleHost","Terminal"
|
||||
|
||||
$heading = $null
|
||||
$subheading = $null
|
||||
<#
|
||||
Emit markdown
|
||||
|
||||
TODO:
|
||||
- auto-generate TOC
|
||||
#>
|
||||
@"
|
||||
# VT Function Support
|
||||
|
||||
## Table of Contents
|
||||
|
||||
* [Code Extension Functions](#code-extension-functions)
|
||||
* [Control Coding](#control-coding)
|
||||
* [Character Coding](#character-coding)
|
||||
* [Graphic Character Sets](#graphic-character-sets)
|
||||
* [Terminal Management Functions](#terminal-management-functions)
|
||||
* [Identification, status, and Initialization](#identification-status-and-initialization)
|
||||
* [Emulations](#emulations)
|
||||
* [Set-Up](#set-up)
|
||||
* [Display Coordinate System and Addressing](#display-coordinate-system-and-addressing)
|
||||
* [Active Position and Cursor](#active-position-and-cursor)
|
||||
* [Margins and Scrolling](#margins-and-scrolling)
|
||||
* [Cursor Movement](#cursor-movement)
|
||||
* [Horizontal Tabulation](#horizontal-tabulation)
|
||||
* [Page Size and Arrangement](#page-size-and-arrangement)
|
||||
* [Page Movement](#page-movement)
|
||||
* [Status Display](#status-display)
|
||||
* [Right to Left](#right-to-left)
|
||||
* [Window Management](#window-management)
|
||||
* [Visual Attributes and Renditions](#visual-attributes-and-renditions)
|
||||
* [Line Renditions](#line-renditions)
|
||||
* [Character Renditions](#character-renditions)
|
||||
* [Audible Indicators](#audible-indicators)
|
||||
* [Mode States](#mode-states)
|
||||
* [ANSI](#ansi)
|
||||
* [DEC Private](#dec-private)
|
||||
* [Editing Functions](#editing-functions)
|
||||
* [OLTP Features](#OLTP-features)
|
||||
* [Rectangular Area Operations](#rectangular-area-operations)
|
||||
* [Data Integrity](#data-integrity)
|
||||
* [Macros](#macros)
|
||||
* [Saving and Restoring Terminal State](#saving-and-restoring-terminal-state)
|
||||
* [Cursor Save Buffer](#cursor-save-buffer)
|
||||
* [Terminal State Interrogation](#terminal-state-interrogation)
|
||||
* [Keyboard Processing Functions](#keyboard-processing-functions)
|
||||
* [Soft Key Mapping (UDK)](#soft-key-mapping-UDK)
|
||||
* [Soft Fonts (DRCS)](#soft-fonts-drcs)
|
||||
* [Printing](#printing)
|
||||
* [Terminal Communication and Synchronization](#terminal-communication-and-synchronization)
|
||||
* [Text Locator Extension](#text-locator-extension)
|
||||
* [Session Management Extension](#session-management-extension)
|
||||
* [Documented Exceptions](#documented-exceptions)
|
||||
|
||||
$($sequences | ForEach-Object {
|
||||
if ($method = $base[$_.sequence]) {
|
||||
$_.ImplementedBy = $method
|
||||
$_.ConsoleHost = $conhost[$method]
|
||||
$_.Terminal = $terminal[$method]
|
||||
}
|
||||
# "Sequence","Associated","Description","Origin","Heading","Subheading", "ImplementedBy", "ConsoleHost","Terminal"
|
||||
$c0 = "[$($_.Sequence)]($prefix$($_.sequence).html ""View page on vt100.net"")"
|
||||
$c1 = "$($_.description)"
|
||||
$c2 = "$($_.origin)"
|
||||
$c3 = $(if ($_.consolehost) {"[✓](${repo}/${conhostUrl}#L$($_.consolehost) ""View console host implementation"")"})
|
||||
$c4 = $(if ($_.terminal) {"[✓](${repo}/${terminalUrl}#L$($_.terminal)} ""View windows terminal implementation"")"})
|
||||
|
||||
$shouldRenderHeader = $false
|
||||
|
||||
if ($heading -ne $_.heading) {
|
||||
$heading = $_.heading
|
||||
@"
|
||||
|
||||
## $heading
|
||||
|
||||
"@
|
||||
$shouldRenderHeader = $true
|
||||
}
|
||||
|
||||
if ($subheading -ne $_.subheading) {
|
||||
$subheading = $_.subheading
|
||||
@"
|
||||
|
||||
### $subheading
|
||||
|
||||
"@
|
||||
$shouldRenderHeader = $true
|
||||
}
|
||||
|
||||
if ($shouldRenderHeader) {
|
||||
@"
|
||||
|
||||
|Symbol|Function|Origin 🖳|Console Host|Terminal|
|
||||
|:-|:--|:--:|:--:|:--:|
|
||||
"@
|
||||
}
|
||||
@"
|
||||
|
||||
|$c0|$c1|$c2|$c3|$c4|
|
||||
"@
|
||||
})
|
||||
|
||||
---
|
||||
Generated on $(get-date -DisplayHint DateTime)
|
||||
"@
|
||||
}
|
||||
|
||||
function Show-Summary {
|
||||
write-host "`n$(' '*7)Windows Terminal Sequencer v${myVer}"
|
||||
if (-not $NoLogo.IsPresent) {
|
||||
Get-Content .\windows-terminal-logo.ans | ForEach-Object { Write-Host $_ }
|
||||
}
|
||||
$summary = @"
|
||||
`e[1mSequence Support:`e[0m
|
||||
|
||||
`e[7m {0:000} `e[0m known in master-sequence-list.csv.
|
||||
`e[7m {1:000} `e[0m common members in ITermDispatch base, of which:
|
||||
`e[7m {2:000} `e[0m are implemented by ConsoleHost.
|
||||
`e[7m {3:000} `e[0m are implemented by Windows Terminal.
|
||||
|
||||
"@ -f $sequences.Count, $base.count, $conhost.count, $terminal.Count
|
||||
|
||||
write-host $summary
|
||||
}
|
||||
|
||||
<#
|
||||
Entry Point
|
||||
#>
|
||||
|
||||
Read-SourceFiles
|
||||
|
||||
if (-not $SummaryOnly.IsPresent) {
|
||||
|
||||
$markdown = Get-SequenceIndexMarkdown
|
||||
|
||||
if ($PSCmdlet.ParameterSetName -eq "file") {
|
||||
# send to file and overwrite
|
||||
$markdown | Out-File -FilePath $OutFile -Force:$Force.IsPresent -Encoding utf8NoBOM
|
||||
} else {
|
||||
# send to STDOUT
|
||||
$markdown
|
||||
}
|
||||
|
||||
if (-not $Quiet.IsPresent) {
|
||||
Show-Summary
|
||||
}
|
||||
} else {
|
||||
# summary only
|
||||
Show-Summary
|
||||
}
|
||||
@@ -1,224 +0,0 @@
|
||||
"Sequence","Parent","Description","Origin","Heading","Subheading","ImplementedBy","ConsoleHost","Terminal"
|
||||
"CAN","","Cancel","`VT100`","Code Extension Functions","Control Coding","","",""
|
||||
"SUB","","Substitute","`VT100`","Code Extension Functions","Control Coding","","",""
|
||||
"ESC","","Escape","`VT100`","Code Extension Functions","Control Coding","","",""
|
||||
"DCS","","Device Control String","`VT220`","Code Extension Functions","Control Coding","","",""
|
||||
"CSI","","Control Sequence Introducer","`VT100`","Code Extension Functions","Control Coding","","",""
|
||||
"ST","","String Terminator","`VT220`","Code Extension Functions","Control Coding","","",""
|
||||
"OSC","","Operating System Command","`DECterm`","Code Extension Functions","Control Coding","","",""
|
||||
"PM","","Privacy Message","``","Code Extension Functions","Control Coding","","",""
|
||||
"APC","","Application Program Command","`VT420`","Code Extension Functions","Control Coding","","",""
|
||||
"S7C1T","","Select 7-bit C1 Transmission","`VT220`","Code Extension Functions","Control Coding","","",""
|
||||
"S8C1T","","Select 8-bit C1 Transmission","`VT220`","Code Extension Functions","Control Coding","","",""
|
||||
"LS0","","Locking Shift Zero (SI)","`VT100`","Code Extension Functions","Character Coding","","",""
|
||||
"LS1","","Locking Shift One (SO)","`VT100`","Code Extension Functions","Character Coding","","",""
|
||||
"LS2","","Locking Shift Two","`VT220`","Code Extension Functions","Character Coding","","",""
|
||||
"LS3","","Locking Shift Three","`VT220`","Code Extension Functions","Character Coding","","",""
|
||||
"LS1R","","Locking Shift One Right","`VT220`","Code Extension Functions","Character Coding","","",""
|
||||
"LS2R","","Locking Shift Two Right","`VT220`","Code Extension Functions","Character Coding","","",""
|
||||
"LS3R","","Locking Shift Three Right","`VT220`","Code Extension Functions","Character Coding","","",""
|
||||
"SS2","","Single Shift Two","`VT220`","Code Extension Functions","Character Coding","","",""
|
||||
"SS3","","Single Shift Three","`VT220`","Code Extension Functions","Character Coding","","",""
|
||||
"SCS","","Select Character Set","`VT100`","Code Extension Functions","Graphic Character Sets","","",""
|
||||
"DECNRCM","","(National Replacement) Character Set Mode","`VT220`","Code Extension Functions","Graphic Character Sets","","",""
|
||||
"DECAUPSS","","Assign User-Preference Supplemental Set","`VT320`","Code Extension Functions","Graphic Character Sets","","",""
|
||||
"DECRQUPSS","","Request User-Preference Supplemental Set","`VT320`","Code Extension Functions","Graphic Character Sets","","",""
|
||||
"DA1","","Primary Device Attributes","`VT100`","Terminal Management Functions","Identification, status, and Initialization","","",""
|
||||
"DA2","","Secondary Device Attributes","`VT220`","Terminal Management Functions","Identification, status, and Initialization","","",""
|
||||
"DA3","","Tertiary Device Attributes","`VT420`","Terminal Management Functions","Identification, status, and Initialization","","",""
|
||||
"DSR","","Device Status Report","`VT100`","Terminal Management Functions","Identification, status, and Initialization","","",""
|
||||
"DECID","","Identify Device","`VT100`","Terminal Management Functions","Identification, status, and Initialization","","",""
|
||||
"DECTID","","Select Terminal ID","`VT510`","Terminal Management Functions","Identification, status, and Initialization","","",""
|
||||
"DECSCL","","Select Conformance Level","`VT220`","Terminal Management Functions","Identification, status, and Initialization","","",""
|
||||
"DECSR","","Secure Reset","`VT420`","Terminal Management Functions","Identification, status, and Initialization","","",""
|
||||
"DECSRC","","Secure Reset Confirmation","`VT420`","Terminal Management Functions","Identification, status, and Initialization","","",""
|
||||
"DECSTR","","Soft Terminal Reset","`VT220`","Terminal Management Functions","Identification, status, and Initialization","","",""
|
||||
"DECSTUI","","Set Terminal Unit ID (Restricted)","`VT420`","Terminal Management Functions","Identification, status, and Initialization","","",""
|
||||
"RIS","","Reset to Initial state","`VT100`","Terminal Management Functions","Identification, status, and Initialization","","",""
|
||||
"DECPCTERM","","Enter/Exit PC Term Mode from DEC VT mode","`VT420PC`","Terminal Management Functions","Emulations","","",""
|
||||
"DECTME","","Terminal Mode Emulation","`VT510`","Terminal Management Functions","Emulations","","",""
|
||||
"DECSSL","","Select Set-Up Language","`VT510`","Terminal Management Functions","Set-Up","","",""
|
||||
"DECCRTSM","","CRT Save Mode (not required)","`VT510`","Terminal Management Functions","Set-Up","","",""
|
||||
"DECOSCNM","","Overscan Mode","`VT510`","Terminal Management Functions","Set-Up","","",""
|
||||
"DECSRFR","","Select Refresh Rate","`VT510`","Terminal Management Functions","Set-Up","","",""
|
||||
"DECLTOD","","Load Time of Day","`VT510`","Terminal Management Functions","Set-Up","","",""
|
||||
"DECLBAN","","Load Banner Message","`VT510`","Terminal Management Functions","Set-Up","","",""
|
||||
"DECTCEM","","Text Cursor Enable Mode","`VT220`","Display Coordinate System and Addressing","Active Position and Cursor","","",""
|
||||
"DECSCUSR","","Set Cursor Style","`VT510`","Display Coordinate System and Addressing","Active Position and Cursor","","",""
|
||||
"DECSTBM","","Set Top and Bottom Margin","`VT100`","Display Coordinate System and Addressing","Margins and Scrolling","","",""
|
||||
"DECSLRM","","Set Left and Right Margin","`VT420`","Display Coordinate System and Addressing","Margins and Scrolling","","",""
|
||||
"DECLRMM","","Left Right Margin Mode","`VT420`","Display Coordinate System and Addressing","Margins and Scrolling","","",""
|
||||
"DECOM","","Origin Mode","`VT100`","Display Coordinate System and Addressing","Margins and Scrolling","","",""
|
||||
"DECSCLM","","Scrolling Mode","`VT100`","Display Coordinate System and Addressing","Margins and Scrolling","","",""
|
||||
"IND","","Index","`VT100`","Display Coordinate System and Addressing","Margins and Scrolling","","",""
|
||||
"RI","","Reverse Index","`VT100`","Display Coordinate System and Addressing","Margins and Scrolling","","",""
|
||||
"DECFI","","Forward Index","`VT420`","Display Coordinate System and Addressing","Margins and Scrolling","","",""
|
||||
"DECBI","","Back Index","`VT420`","Display Coordinate System and Addressing","Margins and Scrolling","","",""
|
||||
"DECSSCLS","","Set Scroll Speed","`VT510`","Display Coordinate System and Addressing","Margins and Scrolling","","",""
|
||||
"BS","","Backspace","`VT100`","Display Coordinate System and Addressing","Cursor Movement","","",""
|
||||
"LF","","Line Feed","`VT100`","Display Coordinate System and Addressing","Cursor Movement","","",""
|
||||
"VT","","Vertical Tab","`VT100`","Display Coordinate System and Addressing","Cursor Movement","","",""
|
||||
"FF","","Form Feed","`VT100`","Display Coordinate System and Addressing","Cursor Movement","","",""
|
||||
"CR","","Carriage Return","`VT100`","Display Coordinate System and Addressing","Cursor Movement","","",""
|
||||
"NEL","","Next Line","`VT100`","Display Coordinate System and Addressing","Cursor Movement","","",""
|
||||
"LNM","","Line Feed/New Line Mode","`VT100`","Display Coordinate System and Addressing","Cursor Movement","","",""
|
||||
"CUU","","Cursor Up","`VT100`","Display Coordinate System and Addressing","Cursor Movement","","",""
|
||||
"CUD","","Cursor Down","`VT100`","Display Coordinate System and Addressing","Cursor Movement","","",""
|
||||
"CUF","","Cursor Forward","`VT100`","Display Coordinate System and Addressing","Cursor Movement","","",""
|
||||
"CUB","","Cursor Backward","`VT100`","Display Coordinate System and Addressing","Cursor Movement","","",""
|
||||
"CUP","","Cursor Position","`VT100`","Display Coordinate System and Addressing","Cursor Movement","","",""
|
||||
"HVP","","Horizontal/Vertical Position","`VT100`","Display Coordinate System and Addressing","Cursor Movement","","",""
|
||||
"DSR-CPR","","Device Status Report (Cursor Position Report)","`VT100`","Display Coordinate System and Addressing","Cursor Movement","","",""
|
||||
"DSR-XCPR","","Device Status Report (Extended Cursor Position Report)","`VT340` `VT420`","Display Coordinate System and Addressing","Cursor Movement","","",""
|
||||
"CHA","","Cursor Horizontal Absolute","`VT510`","Display Coordinate System and Addressing","Cursor Movement","","",""
|
||||
"CNL","","Cursor Next Line","`VT510`","Display Coordinate System and Addressing","Cursor Movement","","",""
|
||||
"CPL","","Cursor Previous Line","`VT510`","Display Coordinate System and Addressing","Cursor Movement","","",""
|
||||
"HPA","","Horizontal Position Absolute","`VT510`","Display Coordinate System and Addressing","Cursor Movement","","",""
|
||||
"HPR","","Horizontal Position Relative","`VT510`","Display Coordinate System and Addressing","Cursor Movement","","",""
|
||||
"VPA","","Vertical Line Position Absolute","`VT510`","Display Coordinate System and Addressing","Cursor Movement","","",""
|
||||
"VPR","","Vertical Position Relative","`VT510`","Display Coordinate System and Addressing","Cursor Movement","","",""
|
||||
"HT","","Horizontal Tab","`VT100`","Display Coordinate System and Addressing","Horizontal Tabulation","","",""
|
||||
"HTS","","Horizontal Tabulation Set","`VT100`","Display Coordinate System and Addressing","Horizontal Tabulation","","",""
|
||||
"TBC","","Tabulation Clear","`VT100`","Display Coordinate System and Addressing","Horizontal Tabulation","","",""
|
||||
"CBT","","Cursor Backward Tabulation","`VT510`","Display Coordinate System and Addressing","Horizontal Tabulation","","",""
|
||||
"CHT","","Cursor Horizontal Forward Tabulation","`VT510`","Display Coordinate System and Addressing","Horizontal Tabulation","","",""
|
||||
"DECST8C","","Set Tab at every 8 columns","`VT420PC`","Display Coordinate System and Addressing","Horizontal Tabulation","","",""
|
||||
"DECCOLM","","Column Mode","`VT100`","Display Coordinate System and Addressing","Page Size and Arrangement","","",""
|
||||
"DECNCSM","","No Clear Screen on column Mode","`VT510`","Display Coordinate System and Addressing","Page Size and Arrangement","","",""
|
||||
"DECSCPP","","Set Columns Per Page","`VT340` `VT420`","Display Coordinate System and Addressing","Page Size and Arrangement","","",""
|
||||
"DECSLPP","","Set Lines Per Page","`VT340` `VT420`","Display Coordinate System and Addressing","Page Size and Arrangement","","",""
|
||||
"NP","","Next Page","`VT340` `VT420`","Display Coordinate System and Addressing","Page Movement","","",""
|
||||
"PP","","Preceding Page","`VT340` `VT420`","Display Coordinate System and Addressing","Page Movement","","",""
|
||||
"PPA","","Page Position Absolute","`VT340` `VT420`","Display Coordinate System and Addressing","Page Movement","","",""
|
||||
"PPR","","Page Position Relative","`VT340` `VT420`","Display Coordinate System and Addressing","Page Movement","","",""
|
||||
"PPB","","Page Position Backward","`VT340` `VT420`","Display Coordinate System and Addressing","Page Movement","","",""
|
||||
"DECSASD","","Select Active Status Display","`VT340` `VT320`","Display Coordinate System and Addressing","Status Display","","",""
|
||||
"DECSSDT","","Select Status Display Type","`VT340` `VT320`","Display Coordinate System and Addressing","Status Display","","",""
|
||||
"DECRLM","","Right to Left Mode","`VT510`","Display Coordinate System and Addressing","Right to Left","","",""
|
||||
"DECRLCM","","Right to Left Copy Mode","`VT510`","Display Coordinate System and Addressing","Right to Left","","",""
|
||||
"DDD1","","`VT100` mode Hebrew","`VT510`","Display Coordinate System and Addressing","Right to Left","","",""
|
||||
"DDD2","","`VT100` mode Hebrew","`VT510`","Display Coordinate System and Addressing","Right to Left","","",""
|
||||
"DDD3","","`VT100` mode Hebrew","`VT510`","Display Coordinate System and Addressing","Right to Left","","",""
|
||||
"DECHCCM","","Horizontal Cursor Coupling Mode","`VT340` `VT420`","Window Management","Right to Left","","",""
|
||||
"DECVCCM","","Vertical Cursor Coupling Mode","`VT340` `VT420`","Window Management","Right to Left","","",""
|
||||
"DECPCCM","","Page Cursor Coupling Mode","`VT340` `VT420`","Window Management","Right to Left","","",""
|
||||
"DECRQDE","","Request Displayed Extent","`VT340` `VT420`","Window Management","Right to Left","","",""
|
||||
"DECSNLS","","Select Number of Lines per Screen (exception)","`VT420`","Window Management","Right to Left","","",""
|
||||
"DECARSM","","Auto Resize Mode","`DECterm` `VT420`","Window Management","Right to Left","","",""
|
||||
"SU","","Pan Down","`VT340` `VT420`","Window Management","Right to Left","","",""
|
||||
"SD","","Pan Up","`VT340` `VT420`","Window Management","Right to Left","","",""
|
||||
"DECSCNM","","Screen Mode","`VT100`","Visual Attributes and Renditions","Right to Left","","",""
|
||||
"DECSWL","","Single Width Line","`VT100`","Visual Attributes and Renditions","Line Renditions","","",""
|
||||
"DECDWL","","Double Width Line","`VT100`","Visual Attributes and Renditions","Line Renditions","","",""
|
||||
"DECDHLT","","Double Height Line Top","`VT100`","Visual Attributes and Renditions","Line Renditions","","",""
|
||||
"DECDHLB","","Double Height Line Bottom","`VT100`","Visual Attributes and Renditions","Line Renditions","","",""
|
||||
"SGR","","Select Graphic Rendition","`VT100`","Visual Attributes and Renditions","Character Renditions","","",""
|
||||
"BEL","","Warning Bell","`VT100`","Audible Indicators","Character Renditions","","",""
|
||||
"DECSKCV","","Set Keyclick Volume","`VT510`","Audible Indicators","Character Renditions","","",""
|
||||
"DECSWBV","","Set Warning Bell Volume","`VT510`","Audible Indicators","Character Renditions","","",""
|
||||
"DECSMBV","","Set Margin Bell Volume","`VT510`","Audible Indicators","Character Renditions","","",""
|
||||
"IRM","","Insert/Replacement Mode","`VT102`","Editing Functions","DEC Private","","",""
|
||||
"ICH","","Insert Character","`VT102`","Editing Functions","DEC Private","","",""
|
||||
"DCH","","Delete Character","`VT102`","Editing Functions","DEC Private","","",""
|
||||
"IL","","Insert Line","`VT100`","Editing Functions","DEC Private","","",""
|
||||
"DL","","Delete Line","`VT100`","Editing Functions","DEC Private","","",""
|
||||
"DECIC","","Insert Column","`VT420`","Editing Functions","DEC Private","","",""
|
||||
"DECDC","","Delete Column","`VT420`","Editing Functions","DEC Private","","",""
|
||||
"ECH","","Erase Character","`VT100`","Editing Functions","DEC Private","","",""
|
||||
"EL","","Erase in Line","`VT100`","Editing Functions","DEC Private","","",""
|
||||
"DECSEL","","Selective Erase in Line","`VT220`","Editing Functions","DEC Private","","",""
|
||||
"ED","","Erase in Display","`VT100`","Editing Functions","DEC Private","","",""
|
||||
"DECSED","","Selective Erase in Display","`VT220`","Editing Functions","DEC Private","","",""
|
||||
"DECSCA","","Select Character Attribute (selective erase)","`VT220`","Editing Functions","DEC Private","","",""
|
||||
"DECCRA","","Copy Rectangular Area","`VT420`","OLTP Features","Rectangular Area Operations","","",""
|
||||
"DECFRA","","Fill Rectangular Area","`VT420`","OLTP Features","Rectangular Area Operations","","",""
|
||||
"DECERA","","Erase Rectangular Area","`VT420`","OLTP Features","Rectangular Area Operations","","",""
|
||||
"DECSERA","","Selective Erase Rectangular Area","`VT420`","OLTP Features","Rectangular Area Operations","","",""
|
||||
"DECCARA","","Change Attribute in Rectangular Area","`VT420`","OLTP Features","Rectangular Area Operations","","",""
|
||||
"DECRARA","","Reverse Attribute in Rectangular Area","`VT420`","OLTP Features","Rectangular Area Operations","","",""
|
||||
"DECSACE","","Select Attribute Change Extent Mode","`VT420`","OLTP Features","Rectangular Area Operations","","",""
|
||||
"DECRQCRA","","Request Checksum of Rectangular Area","`VT420`","OLTP Features","Data Integrity","","",""
|
||||
"DSR-DECCKSR","","Device Status Report (Memory Checksum)","`VT420`","OLTP Features","Data Integrity","","",""
|
||||
"DECDMAC","","Define Macro","`VT420`","OLTP Features","Macros","","",""
|
||||
"DECINVM","","Invoke Macro","`VT420`","OLTP Features","Macros","","",""
|
||||
"DSR-MSR","","Device Status Report (Macro Space Report)","`VT420`","OLTP Features","Macros","","",""
|
||||
"DECSC","","Save Cursor","`VT100`","Saving and Restoring Terminal State","Cursor Save Buffer","","",""
|
||||
"DECRC","","Restore Cursor","`VT100`","Saving and Restoring Terminal State","Cursor Save Buffer","","",""
|
||||
"DECRQM","","Request Mode","`VT320`","Saving and Restoring Terminal State","Terminal State Interrogation","","",""
|
||||
"DECNKM","","Numeric Keypad Mode","`VT320`","Saving and Restoring Terminal State","Terminal State Interrogation","","",""
|
||||
"DECRQSS","","Request Selection or Setting","`VT320`","Saving and Restoring Terminal State","Terminal State Interrogation","","",""
|
||||
"DECRQPSR","","Request Presentation State Report","`VT320`","Saving and Restoring Terminal State","Terminal State Interrogation","","",""
|
||||
"DECRSPS","","Restore Presentation State","`VT320`","Saving and Restoring Terminal State","Terminal State Interrogation","","",""
|
||||
"DECRQTSR","","Request Terminal State Report","`VT320`","Saving and Restoring Terminal State","Terminal State Interrogation","","",""
|
||||
"DECRSTS","","Restore Terminal State","`VT320`","Saving and Restoring Terminal State","Terminal State Interrogation","","",""
|
||||
"DECARM","","Autorepeat Mode","`VT100`","Keyboard Processing Functions","Terminal State Interrogation","","",""
|
||||
"DECBKM","","Backarrow Key Mode","`VT420`","Keyboard Processing Functions","Terminal State Interrogation","","",""
|
||||
"DECCKM","","Cursor Keys Mode","`VT100`","Keyboard Processing Functions","Terminal State Interrogation","","",""
|
||||
"DECKBUM","","Keyboard Usage Mode","`VT320`","Keyboard Processing Functions","Terminal State Interrogation","","",""
|
||||
"DECKPAM","","Keypad Application Mode","`VT100`","Keyboard Processing Functions","Terminal State Interrogation","","",""
|
||||
"DECKPM","","Key Position Mode","`VT420`","Keyboard Processing Functions","Terminal State Interrogation","","",""
|
||||
"DECKPNM","","Keypad Numeric Mode","`VT100`","Keyboard Processing Functions","Terminal State Interrogation","","",""
|
||||
"DECNKM","","Numeric Keypad Mode","`VT320`","Keyboard Processing Functions","Terminal State Interrogation","","",""
|
||||
"DSR-KBD","","Device Status Report (keyboard status)","`VT220`","Keyboard Processing Functions","Terminal State Interrogation","","",""
|
||||
"KAM","","Keyboard Action Mode","`VT220`","Keyboard Processing Functions","Terminal State Interrogation","","",""
|
||||
"DECLFC","","Local Functions Control","`VT420`","Keyboard Processing Functions","Terminal State Interrogation","","",""
|
||||
"DECLFKC","","Local Function Key Control","`VT420`","Keyboard Processing Functions","Terminal State Interrogation","","",""
|
||||
"DECSMKR","","Select Modifier Key Reporting","`VT420`","Keyboard Processing Functions","Terminal State Interrogation","","",""
|
||||
"DECHEBM","","Hebrew Keyboard Map mode","`VT510`","Keyboard Processing Functions","Terminal State Interrogation","","",""
|
||||
"DECHCEM","","Hebrew Encoding Mode","`VT510`","Keyboard Processing Functions","Terminal State Interrogation","","",""
|
||||
"DECNAKB","","NA/Greek Selection","`VT510`","Keyboard Processing Functions","Terminal State Interrogation","","",""
|
||||
"DECESKM","","Secondary Keyboard Language Mode","`VT510`","Keyboard Processing Functions","Terminal State Interrogation","","",""
|
||||
"DECSLCK","","Set Lock Key Style","`VT510`","Keyboard Processing Functions","Terminal State Interrogation","","",""
|
||||
"DECKBD","","Keyboard Dialect Selection","`VT510`","Keyboard Processing Functions","Terminal State Interrogation","","",""
|
||||
"DECNUMLK","","NumLock Mode","`VT510`","Keyboard Processing Functions","Terminal State Interrogation","","",""
|
||||
"DECCAPSLK","","CapsLock Mode","`VT510`","Keyboard Processing Functions","Terminal State Interrogation","","",""
|
||||
"DECKLHIM","","Keyboard LEDs Host Indicator Mode","`VT510`","Keyboard Processing Functions","Terminal State Interrogation","","",""
|
||||
"DECLL","","Load LEDs","`VT100`","Keyboard Processing Functions","Terminal State Interrogation","","",""
|
||||
"DECUDK","","User Defined Keys","`VT220`","Soft Key Mapping (UDK)","Terminal State Interrogation","","",""
|
||||
"DSR-UDK","","Device Status Report (UDK lock)","`VT220`","Soft Key Mapping (UDK)","Terminal State Interrogation","","",""
|
||||
"DECPKA","","Program Key Action","`VT510`","Soft Key Mapping (UDK)","Terminal State Interrogation","","",""
|
||||
"DECPFK","","Program Function Key","`VT510`","Soft Key Mapping (UDK)","Terminal State Interrogation","","",""
|
||||
"DECPAK","","Program Alphanumeric Key","`VT510`","Soft Key Mapping (UDK)","Terminal State Interrogation","","",""
|
||||
"DECCKD","","Copy Key Default","`VT510`","Soft Key Mapping (UDK)","Terminal State Interrogation","","",""
|
||||
"DECRQPKFM","","Program Key Free Memory Inquiry","`VT510`","Soft Key Mapping (UDK)","Terminal State Interrogation","","",""
|
||||
"DECRQKT","","Inquire a Key Type","`VT510`","Soft Key Mapping (UDK)","Terminal State Interrogation","","",""
|
||||
"DECRQKD","","Inquire a Key Definition","`VT510`","Soft Key Mapping (UDK)","Terminal State Interrogation","","",""
|
||||
"DECDLD","","Downline Load","`VT220`","Soft Fonts (DRCS)","Terminal State Interrogation","","",""
|
||||
"DECPEX","","Print Extent Mode","`VT220`","Printing","Terminal State Interrogation","","",""
|
||||
"DECPFF","","Print Form Feed Mode","`VT220`","Printing","Terminal State Interrogation","","",""
|
||||
"DSR-PP","","Device Status Report (printer port)","`VT220`","Printing","Terminal State Interrogation","","",""
|
||||
"MC","","Media Copy","`VT220`","Printing","Terminal State Interrogation","","",""
|
||||
"DECSPRTT","","Select Printer Type","`VT510`","Printing","Terminal State Interrogation","","",""
|
||||
"DECSDPT","","Select Digital Printed Data Type","`VT510`","Printing","Terminal State Interrogation","","",""
|
||||
"DECSPPCS","","Select Proprinter Character Set","`VT510`","Printing","Terminal State Interrogation","","",""
|
||||
"BREAK","","BREAK","`VT100`","Terminal Communication and Synchronization","Terminal State Interrogation","","",""
|
||||
"XON","","XON","`VT100`","Terminal Communication and Synchronization","Terminal State Interrogation","","",""
|
||||
"XOFF","","XOFF","`VT100`","Terminal Communication and Synchronization","Terminal State Interrogation","","",""
|
||||
"ENQ","","Enquiry","`VT100`","Terminal Communication and Synchronization","Terminal State Interrogation","","",""
|
||||
"SRM","","Send Receive Mode","`VT220`","Terminal Communication and Synchronization","Terminal State Interrogation","","",""
|
||||
"DECXRLM","","Transmit Rate Limiting Mode","`VT420`","Terminal Communication and Synchronization","Terminal State Interrogation","","",""
|
||||
"DECMCM","","Modem Control Mode","`VT510`","Terminal Communication and Synchronization","Terminal State Interrogation","","",""
|
||||
"DECAAM","","Auto Answerback Mode","`VT510`","Terminal Communication and Synchronization","Terminal State Interrogation","","",""
|
||||
"DECLANS","","Load Answerback Message","`VT510`","Terminal Communication and Synchronization","Terminal State Interrogation","","",""
|
||||
"DECCANSM","","Conceal Answerback Message Mode","`VT510`","Terminal Communication and Synchronization","Terminal State Interrogation","","",""
|
||||
"DECNULM","","Ignore Null Mode","`VT510`","Terminal Communication and Synchronization","Terminal State Interrogation","","",""
|
||||
"DECHPDXM","","Half Duplex Mode","`VT510`","Terminal Communication and Synchronization","Terminal State Interrogation","","",""
|
||||
"DECSFC","","Select Flow Control","`VT510`","Terminal Communication and Synchronization","Terminal State Interrogation","","",""
|
||||
"DECSDDT","","Select Disconnect Delay Time","`VT510`","Terminal Communication and Synchronization","Terminal State Interrogation","","",""
|
||||
"DECSTRL","","Set Transmit Rate Limit","`VT510`","Terminal Communication and Synchronization","Terminal State Interrogation","","",""
|
||||
"DECSCS","","Select Communication Speed","`VT510`","Terminal Communication and Synchronization","Terminal State Interrogation","","",""
|
||||
"DECSCP","","Select Communication Port","`VT510`","Terminal Communication and Synchronization","Terminal State Interrogation","","",""
|
||||
"DECSPP","","Set Port Parameter","`VT510`","Terminal Communication and Synchronization","Terminal State Interrogation","","",""
|
||||
"DECEFR","","Enable Filter Rectangle","`UWS`","Text Locator Extension","Terminal State Interrogation","","",""
|
||||
"DECELR","","Enable Locator Reports","`UWS`","Text Locator Extension","Terminal State Interrogation","","",""
|
||||
"DECLKD","","Locator Key Definition","`UWS`","Text Locator Extension","Terminal State Interrogation","","",""
|
||||
"DECLRP","","Locator Report","`UWS`","Text Locator Extension","Terminal State Interrogation","","",""
|
||||
"DECRQLP","","Request Locator Position","`UWS`","Text Locator Extension","Terminal State Interrogation","","",""
|
||||
"DECSLE","","Select Locator Events","`UWS`","Text Locator Extension","Terminal State Interrogation","","",""
|
||||
"DSR-LS","","Device Status Report (Locator Status)","`UWS`","Text Locator Extension","Terminal State Interrogation","","",""
|
||||
"DECES","","Enable Sessions","`VT340` `VT420`","Session Management Extension","Terminal State Interrogation","","",""
|
||||
"DECANM","","`ANSI`/`VT52` Mode","`VT100`","Documented Exceptions","Terminal State Interrogation","","",""
|
||||
"DECALN","","Screen Alignment","`VT100`","Documented Exceptions","Terminal State Interrogation","","",""
|
||||
"DECAWM","","Autowrap Mode","`VT100`","Documented Exceptions","Terminal State Interrogation","","",""
|
||||
"DECTST","","Invoke Confidence Test","`VT100`","Documented Exceptions","Terminal State Interrogation","","",""
|
||||
"CRM","","Control Representation Mode","`VT100`","Documented Exceptions","Terminal State Interrogation","","",""
|
||||
|
|
Before Width: | Height: | Size: 117 KiB After Width: | Height: | Size: 130 KiB |
@@ -1,15 +0,0 @@
|
||||
[0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m
|
||||
[0m [0m [0m [0m [0m [0m [0m [0m[38;2;191;191;191m[48;2;204;204;204m▀[0m[7m[38;2;204;204;204m [0m[7m[38;2;204;204;204m [0m[7m[38;2;204;204;204m [0m[7m[38;2;204;204;204m [0m[7m[38;2;204;204;204m [0m[7m[38;2;204;204;204m [0m[7m[38;2;204;204;204m [0m[7m[38;2;204;204;204m [0m[7m[38;2;204;204;204m [0m[7m[38;2;204;204;204m [0m[7m[38;2;204;204;204m [0m[7m[38;2;153;153;153m [0m[7m[38;2;153;153;153m [0m[7m[38;2;153;153;153m [0m[7m[38;2;153;153;153m [0m[7m[38;2;153;153;153m [0m[7m[38;2;153;153;153m [0m[7m[38;2;153;153;153m [0m[7m[38;2;153;153;153m [0m[7m[38;2;153;153;153m [0m[7m[38;2;153;153;153m [0m[7m[38;2;153;153;153m [0m[7m[38;2;153;153;153m [0m[7m[38;2;102;102;102m [0m[7m[38;2;102;102;102m [0m[7m[38;2;102;102;102m [0m[7m[38;2;102;102;102m [0m[7m[38;2;102;102;102m [0m[7m[38;2;102;102;102m [0m[7m[38;2;102;102;102m [0m[7m[38;2;102;102;102m [0m[7m[38;2;102;102;102m [0m[7m[38;2;102;102;102m [0m[7m[38;2;102;102;102m [0m[38;2;95;95;95m[48;2;102;102;102m▀[0m [0m [0m [0m [0m [0m [0m [0m
|
||||
[0m [0m [0m [0m [0m [0m [0m [0m[7m[38;2;204;204;204m [0m[7m[38;2;204;204;204m [0m[7m[38;2;204;204;204m [0m[7m[38;2;204;204;204m [0m[7m[38;2;204;204;204m [0m[7m[38;2;204;204;204m [0m[7m[38;2;204;204;204m [0m[7m[38;2;204;204;204m [0m[7m[38;2;204;204;204m [0m[7m[38;2;204;204;204m [0m[7m[38;2;204;204;204m [0m[7m[38;2;204;204;204m [0m[7m[38;2;153;153;153m [0m[7m[38;2;153;153;153m [0m[7m[38;2;153;153;153m [0m[7m[38;2;153;153;153m [0m[7m[38;2;153;153;153m [0m[7m[38;2;153;153;153m [0m[7m[38;2;153;153;153m [0m[7m[38;2;153;153;153m [0m[7m[38;2;153;153;153m [0m[7m[38;2;153;153;153m [0m[7m[38;2;153;153;153m [0m[7m[38;2;153;153;153m [0m[7m[38;2;102;102;102m [0m[7m[38;2;102;102;102m [0m[7m[38;2;102;102;102m [0m[7m[38;2;102;102;102m [0m[7m[38;2;102;102;102m [0m[7m[38;2;102;102;102m [0m[7m[38;2;102;102;102m [0m[7m[38;2;102;102;102m [0m[7m[38;2;102;102;102m [0m[7m[38;2;102;102;102m [0m[7m[38;2;102;102;102m [0m[7m[38;2;102;102;102m [0m [0m [0m [0m [0m [0m [0m [0m
|
||||
[0m [0m [0m [0m [0m [0m [0m [0m[38;2;77;77;77m[48;2;76;76;76m▀[0m[7m[38;2;76;76;76m [0m[38;2;76;76;76m[48;2;75;75;75m▀[0m[38;2;76;76;76m[48;2;75;75;75m▀[0m[7m[38;2;75;75;75m [0m[38;2;75;75;75m[48;2;74;74;74m▀[0m[38;2;75;75;75m[48;2;74;74;74m▀[0m[7m[38;2;74;74;74m [0m[38;2;74;74;74m[48;2;73;73;73m▀[0m[38;2;74;74;74m[48;2;73;73;73m▀[0m[7m[38;2;73;73;73m [0m[38;2;73;73;73m[48;2;72;72;72m▀[0m[38;2;73;73;73m[48;2;72;72;72m▀[0m[7m[38;2;72;72;72m [0m[38;2;72;72;72m[48;2;71;71;71m▀[0m[7m[38;2;71;71;71m [0m[7m[38;2;71;71;71m [0m[38;2;71;71;71m[48;2;70;70;70m▀[0m[7m[38;2;70;70;70m [0m[7m[38;2;70;70;70m [0m[38;2;70;70;70m[48;2;69;69;69m▀[0m[7m[38;2;69;69;69m [0m[38;2;69;69;69m[48;2;68;68;68m▀[0m[38;2;69;69;69m[48;2;68;68;68m▀[0m[7m[38;2;68;68;68m [0m[38;2;68;68;68m[48;2;67;67;67m▀[0m[38;2;68;68;68m[48;2;67;67;67m▀[0m[7m[38;2;67;67;67m [0m[38;2;67;67;67m[48;2;66;66;66m▀[0m[38;2;67;67;67m[48;2;66;66;66m▀[0m[7m[38;2;66;66;66m [0m[38;2;66;66;66m[48;2;65;65;65m▀[0m[38;2;66;66;66m[48;2;65;65;65m▀[0m[7m[38;2;65;65;65m [0m[38;2;65;65;65m[48;2;64;64;64m▀[0m[7m[38;2;64;64;64m [0m [0m [0m [0m [0m [0m [0m [0m
|
||||
[0m [0m [0m [0m [0m [0m [0m [0m[38;2;76;76;76m[48;2;75;75;75m▀[0m[7m[38;2;75;75;75m [0m[38;2;75;75;75m[48;2;74;74;74m▀[0m[38;2;75;75;75m[48;2;74;74;74m▀[0m[38;2;74;74;74m[48;2;73;73;73m▀[0m[38;2;74;74;74m[48;2;71;71;71m▀[0m[38;2;73;73;73m[48;2;67;67;67m▀[0m[38;2;73;73;73m[48;2;70;70;70m▀[0m[38;2;73;73;73m[48;2;71;71;71m▀[0m[7m[38;2;72;72;72m [0m[38;2;72;72;72m[48;2;71;71;71m▀[0m[38;2;72;72;72m[48;2;71;71;71m▀[0m[7m[38;2;71;71;71m [0m[38;2;71;71;71m[48;2;70;70;70m▀[0m[38;2;71;71;71m[48;2;70;70;70m▀[0m[7m[38;2;70;70;70m [0m[38;2;70;70;70m[48;2;69;69;69m▀[0m[38;2;70;70;70m[48;2;69;69;69m▀[0m[7m[38;2;69;69;69m [0m[38;2;69;69;69m[48;2;68;68;68m▀[0m[38;2;69;69;69m[48;2;68;68;68m▀[0m[7m[38;2;68;68;68m [0m[38;2;68;68;68m[48;2;67;67;67m▀[0m[38;2;68;68;68m[48;2;67;67;67m▀[0m[38;2;67;67;67m[48;2;66;66;66m▀[0m[38;2;67;67;67m[48;2;66;66;66m▀[0m[7m[38;2;66;66;66m [0m[38;2;66;66;66m[48;2;65;65;65m▀[0m[38;2;66;66;66m[48;2;65;65;65m▀[0m[7m[38;2;65;65;65m [0m[38;2;65;65;65m[48;2;64;64;64m▀[0m[38;2;65;65;65m[48;2;64;64;64m▀[0m[7m[38;2;64;64;64m [0m[38;2;64;64;64m[48;2;63;63;63m▀[0m[38;2;64;64;64m[48;2;63;63;63m▀[0m[7m[38;2;63;63;63m [0m [0m [0m [0m [0m [0m [0m [0m
|
||||
[0m [0m [0m [0m [0m [0m [0m [0m[7m[38;2;74;74;74m [0m[38;2;74;74;74m[48;2;73;73;73m▀[0m[38;2;74;74;74m[48;2;73;73;73m▀[0m[38;2;72;72;72m[48;2;71;71;71m▀[0m[38;2;70;70;70m[48;2;97;97;97m▀[0m[38;2;138;138;138m[48;2;229;229;229m▀[0m[38;2;229;229;229m[48;2;228;228;228m▀[0m[38;2;203;203;203m[48;2;226;226;226m▀[0m[38;2;84;84;84m[48;2;200;200;200m▀[0m[38;2;70;70;70m[48;2;82;82;82m▀[0m[38;2;71;71;71m[48;2;69;69;69m▀[0m[7m[38;2;70;70;70m [0m[7m[38;2;70;70;70m [0m[38;2;70;70;70m[48;2;69;69;69m▀[0m[7m[38;2;69;69;69m [0m[7m[38;2;69;69;69m [0m[38;2;69;69;69m[48;2;68;68;68m▀[0m[7m[38;2;68;68;68m [0m[38;2;68;68;68m[48;2;67;67;67m▀[0m[38;2;68;68;68m[48;2;67;67;67m▀[0m[7m[38;2;67;67;67m [0m[38;2;67;67;67m[48;2;66;66;66m▀[0m[38;2;67;67;67m[48;2;66;66;66m▀[0m[7m[38;2;66;66;66m [0m[38;2;66;66;66m[48;2;65;65;65m▀[0m[38;2;66;66;66m[48;2;65;65;65m▀[0m[7m[38;2;65;65;65m [0m[38;2;65;65;65m[48;2;64;64;64m▀[0m[38;2;65;65;65m[48;2;64;64;64m▀[0m[7m[38;2;64;64;64m [0m[38;2;64;64;64m[48;2;63;63;63m▀[0m[7m[38;2;63;63;63m [0m[7m[38;2;63;63;63m [0m[38;2;63;63;63m[48;2;62;62;62m▀[0m[7m[38;2;62;62;62m [0m[7m[38;2;62;62;62m [0m [0m [0m [0m [0m [0m [0m [0m
|
||||
[0m [0m [0m [0m [0m [0m [0m [0m[7m[38;2;73;73;73m [0m[38;2;73;73;73m[48;2;72;72;72m▀[0m[7m[38;2;71;71;71m [0m[38;2;69;69;69m[48;2;68;68;68m▀[0m[38;2;94;94;94m[48;2;62;62;62m▀[0m[38;2;227;227;227m[48;2;130;130;130m▀[0m[38;2;226;226;226m[48;2;224;224;224m▀[0m[38;2;224;224;224m[48;2;222;222;222m▀[0m[38;2;223;223;223m[48;2;221;221;221m▀[0m[38;2;197;197;197m[48;2;220;220;220m▀[0m[38;2;81;81;81m[48;2;195;195;195m▀[0m[38;2;68;68;68m[48;2;80;80;80m▀[0m[38;2;69;69;69m[48;2;67;67;67m▀[0m[38;2;69;69;69m[48;2;68;68;68m▀[0m[7m[38;2;68;68;68m [0m[38;2;68;68;68m[48;2;67;67;67m▀[0m[38;2;68;68;68m[48;2;67;67;67m▀[0m[7m[38;2;67;67;67m [0m[38;2;67;67;67m[48;2;66;66;66m▀[0m[7m[38;2;66;66;66m [0m[38;2;66;66;66m[48;2;65;65;65m▀[0m[38;2;66;66;66m[48;2;65;65;65m▀[0m[7m[38;2;65;65;65m [0m[38;2;65;65;65m[48;2;64;64;64m▀[0m[38;2;65;65;65m[48;2;64;64;64m▀[0m[7m[38;2;64;64;64m [0m[38;2;64;64;64m[48;2;63;63;63m▀[0m[38;2;64;64;64m[48;2;63;63;63m▀[0m[7m[38;2;63;63;63m [0m[38;2;63;63;63m[48;2;62;62;62m▀[0m[38;2;63;63;63m[48;2;62;62;62m▀[0m[7m[38;2;62;62;62m [0m[38;2;62;62;62m[48;2;61;61;61m▀[0m[38;2;62;62;62m[48;2;61;61;61m▀[0m[7m[38;2;61;61;61m [0m[38;2;61;61;61m[48;2;60;60;60m▀[0m [0m [0m [0m [0m [0m [0m [0m
|
||||
[0m [0m [0m [0m [0m [0m [0m [0m[38;2;72;72;72m[48;2;71;71;71m▀[0m[38;2;72;72;72m[48;2;71;71;71m▀[0m[7m[38;2;70;70;70m [0m[7m[38;2;69;69;69m [0m[38;2;64;64;64m[48;2;66;66;66m▀[0m[38;2;58;58;58m[48;2;62;62;62m▀[0m[38;2;127;127;127m[48;2;57;57;57m▀[0m[38;2;220;220;220m[48;2;125;125;125m▀[0m[38;2;219;219;219m[48;2;217;217;217m▀[0m[38;2;218;218;218m[48;2;216;216;216m▀[0m[38;2;217;217;217m[48;2;215;215;215m▀[0m[38;2;192;192;192m[48;2;214;214;214m▀[0m[38;2;79;79;79m[48;2;195;195;195m▀[0m[38;2;66;66;66m[48;2;83;83;83m▀[0m[38;2;67;67;67m[48;2;65;65;65m▀[0m[38;2;67;67;67m[48;2;66;66;66m▀[0m[7m[38;2;66;66;66m [0m[38;2;66;66;66m[48;2;65;65;65m▀[0m[38;2;66;66;66m[48;2;65;65;65m▀[0m[7m[38;2;65;65;65m [0m[38;2;65;65;65m[48;2;64;64;64m▀[0m[38;2;65;65;65m[48;2;64;64;64m▀[0m[7m[38;2;64;64;64m [0m[38;2;64;64;64m[48;2;63;63;63m▀[0m[38;2;64;64;64m[48;2;63;63;63m▀[0m[7m[38;2;63;63;63m [0m[38;2;63;63;63m[48;2;62;62;62m▀[0m[7m[38;2;62;62;62m [0m[7m[38;2;62;62;62m [0m[38;2;62;62;62m[48;2;61;61;61m▀[0m[7m[38;2;61;61;61m [0m[38;2;61;61;61m[48;2;60;60;60m▀[0m[38;2;61;61;61m[48;2;60;60;60m▀[0m[7m[38;2;60;60;60m [0m[38;2;60;60;60m[48;2;59;59;59m▀[0m[38;2;60;60;60m[48;2;59;59;59m▀[0m [0m [0m [0m [0m [0m [0m [0m
|
||||
[0m [0m [0m [0m [0m [0m [0m [0m[38;2;71;71;71m[48;2;70;70;70m▀[0m[7m[38;2;70;70;70m [0m[38;2;70;70;70m[48;2;69;69;69m▀[0m[38;2;70;70;70m[48;2;69;69;69m▀[0m[38;2;68;68;68m[48;2;69;69;69m▀[0m[38;2;66;66;66m[48;2;67;67;67m▀[0m[38;2;62;62;62m[48;2;64;64;64m▀[0m[38;2;56;56;56m[48;2;60;60;60m▀[0m[38;2;123;123;123m[48;2;62;62;62m▀[0m[38;2;214;214;214m[48;2;161;161;161m▀[0m[38;2;213;213;213m[48;2;211;211;211m▀[0m[38;2;212;212;212m[48;2;210;210;210m▀[0m[38;2;211;211;211m[48;2;209;209;209m▀[0m[38;2;192;192;192m[48;2;208;208;208m▀[0m[38;2;74;74;74m[48;2;84;84;84m▀[0m[38;2;65;65;65m[48;2;64;64;64m▀[0m[38;2;65;65;65m[48;2;64;64;64m▀[0m[38;2;65;65;65m[48;2;64;64;64m▀[0m[7m[38;2;64;64;64m [0m[38;2;64;64;64m[48;2;63;63;63m▀[0m[38;2;64;64;64m[48;2;63;63;63m▀[0m[7m[38;2;63;63;63m [0m[38;2;63;63;63m[48;2;62;62;62m▀[0m[38;2;63;63;63m[48;2;62;62;62m▀[0m[7m[38;2;62;62;62m [0m[38;2;62;62;62m[48;2;61;61;61m▀[0m[38;2;62;62;62m[48;2;61;61;61m▀[0m[7m[38;2;61;61;61m [0m[38;2;61;61;61m[48;2;60;60;60m▀[0m[7m[38;2;60;60;60m [0m[7m[38;2;60;60;60m [0m[38;2;60;60;60m[48;2;59;59;59m▀[0m[7m[38;2;59;59;59m [0m[7m[38;2;59;59;59m [0m[38;2;59;59;59m[48;2;58;58;58m▀[0m[7m[38;2;58;58;58m [0m [0m [0m [0m [0m [0m [0m [0m
|
||||
[0m [0m [0m [0m [0m [0m [0m [0m[38;2;70;70;70m[48;2;69;69;69m▀[0m[7m[38;2;69;69;69m [0m[38;2;69;69;69m[48;2;68;68;68m▀[0m[7m[38;2;68;68;68m [0m[38;2;68;68;68m[48;2;67;67;67m▀[0m[38;2;67;67;67m[48;2;65;65;65m▀[0m[38;2;64;64;64m[48;2;72;72;72m▀[0m[38;2;69;69;69m[48;2;151;151;151m▀[0m[38;2;140;140;140m[48;2;160;160;160m▀[0m[38;2;139;139;139m[48;2;150;150;150m▀[0m[38;2;165;165;165m[48;2;137;137;137m▀[0m[38;2;208;208;208m[48;2;154;154;154m▀[0m[38;2;207;207;207m[48;2;116;116;116m▀[0m[38;2;132;132;132m[48;2;55;55;55m▀[0m[38;2;59;59;59m[48;2;60;60;60m▀[0m[38;2;63;63;63m[48;2;62;62;62m▀[0m[38;2;64;64;64m[48;2;63;63;63m▀[0m[38;2;64;64;64m[48;2;63;63;63m▀[0m[7m[38;2;63;63;63m [0m[38;2;63;63;63m[48;2;62;62;62m▀[0m[7m[38;2;62;62;62m [0m[7m[38;2;62;62;62m [0m[38;2;62;62;62m[48;2;61;61;61m▀[0m[7m[38;2;61;61;61m [0m[38;2;61;61;61m[48;2;60;60;60m▀[0m[38;2;61;61;61m[48;2;60;60;60m▀[0m[7m[38;2;60;60;60m [0m[38;2;60;60;60m[48;2;59;59;59m▀[0m[38;2;60;60;60m[48;2;59;59;59m▀[0m[7m[38;2;59;59;59m [0m[38;2;59;59;59m[48;2;58;58;58m▀[0m[38;2;59;59;59m[48;2;58;58;58m▀[0m[7m[38;2;58;58;58m [0m[38;2;58;58;58m[48;2;57;57;57m▀[0m[38;2;58;58;58m[48;2;57;57;57m▀[0m[7m[38;2;57;57;57m [0m [0m [0m [0m [0m [0m [0m [0m
|
||||
[0m [0m [0m [0m [0m [0m [0m [0m[7m[38;2;68;68;68m [0m[38;2;68;68;68m[48;2;67;67;67m▀[0m[38;2;68;68;68m[48;2;67;67;67m▀[0m[38;2;67;67;67m[48;2;65;65;65m▀[0m[38;2;65;65;65m[48;2;69;69;69m▀[0m[38;2;72;72;72m[48;2;152;152;152m▀[0m[38;2;154;154;154m[48;2;168;168;168m▀[0m[38;2;168;168;168m[48;2;165;165;165m▀[0m[38;2;163;163;163m[48;2;162;162;162m▀[0m[38;2;156;156;156m[48;2;159;159;159m▀[0m[38;2;148;148;148m[48;2;97;97;97m▀[0m[38;2;93;93;93m[48;2;55;55;55m▀[0m[38;2;54;54;54m[48;2;58;58;58m▀[0m[38;2;58;58;58m[48;2;61;61;61m▀[0m[38;2;61;61;61m[48;2;62;62;62m▀[0m[38;2;63;63;63m[48;2;62;62;62m▀[0m[38;2;63;63;63m[48;2;61;61;61m▀[0m[38;2;62;62;62m[48;2;108;108;108m▀[0m[38;2;62;62;62m[48;2;144;144;144m▀[0m[38;2;61;61;61m[48;2;143;143;143m▀[0m[38;2;61;61;61m[48;2;143;143;143m▀[0m[38;2;61;61;61m[48;2;141;141;141m▀[0m[38;2;60;60;60m[48;2;140;140;140m▀[0m[38;2;60;60;60m[48;2;140;140;140m▀[0m[38;2;60;60;60m[48;2;138;138;138m▀[0m[38;2;59;59;59m[48;2;138;138;138m▀[0m[38;2;59;59;59m[48;2;137;137;137m▀[0m[38;2;58;58;58m[48;2;136;136;136m▀[0m[38;2;58;58;58m[48;2;100;100;100m▀[0m[38;2;58;58;58m[48;2;56;56;56m▀[0m[38;2;58;58;58m[48;2;57;57;57m▀[0m[7m[38;2;57;57;57m [0m[38;2;57;57;57m[48;2;56;56;56m▀[0m[38;2;57;57;57m[48;2;56;56;56m▀[0m[7m[38;2;56;56;56m [0m[38;2;56;56;56m[48;2;55;55;55m▀[0m [0m [0m [0m [0m [0m [0m [0m
|
||||
[0m [0m [0m [0m [0m [0m [0m [0m[38;2;67;67;67m[48;2;66;66;66m▀[0m[38;2;67;67;67m[48;2;66;66;66m▀[0m[38;2;66;66;66m[48;2;65;65;65m▀[0m[38;2;63;63;63m[48;2;62;62;62m▀[0m[38;2;83;83;83m[48;2;62;62;62m▀[0m[38;2;166;166;166m[48;2;145;145;145m▀[0m[38;2;164;164;164m[48;2;161;161;161m▀[0m[38;2;162;162;162m[48;2;158;158;158m▀[0m[38;2;160;160;160m[48;2;97;97;97m▀[0m[38;2;98;98;98m[48;2;53;53;53m▀[0m[38;2;54;54;54m[48;2;57;57;57m▀[0m[38;2;58;58;58m[48;2;60;60;60m▀[0m[7m[38;2;61;61;61m [0m[7m[38;2;62;62;62m [0m[38;2;62;62;62m[48;2;61;61;61m▀[0m[38;2;61;61;61m[48;2;59;59;59m▀[0m[38;2;56;56;56m[48;2;53;53;53m▀[0m[7m[38;2;226;226;226m [0m[38;2;227;227;227m[48;2;224;224;224m▀[0m[38;2;225;225;225m[48;2;223;223;223m▀[0m[38;2;224;224;224m[48;2;221;221;221m▀[0m[38;2;222;222;222m[48;2;220;220;220m▀[0m[38;2;221;221;221m[48;2;218;218;218m▀[0m[38;2;219;219;219m[48;2;217;217;217m▀[0m[38;2;218;218;218m[48;2;215;215;215m▀[0m[38;2;216;216;216m[48;2;214;214;214m▀[0m[38;2;215;215;215m[48;2;212;212;212m▀[0m[38;2;213;213;213m[48;2;211;211;211m▀[0m[38;2;210;210;210m[48;2;209;209;209m▀[0m[38;2;53;53;53m[48;2;50;50;50m▀[0m[38;2;56;56;56m[48;2;55;55;55m▀[0m[7m[38;2;56;56;56m [0m[38;2;56;56;56m[48;2;55;55;55m▀[0m[7m[38;2;55;55;55m [0m[38;2;55;55;55m[48;2;54;54;54m▀[0m[38;2;55;55;55m[48;2;54;54;54m▀[0m [0m [0m [0m [0m [0m [0m [0m
|
||||
[0m [0m [0m [0m [0m [0m [0m [0m[38;2;66;66;66m[48;2;65;65;65m▀[0m[7m[38;2;65;65;65m [0m[7m[38;2;64;64;64m [0m[7m[38;2;62;62;62m [0m[38;2;57;57;57m[48;2;59;59;59m▀[0m[38;2;60;60;60m[48;2;56;56;56m▀[0m[38;2;100;100;100m[48;2;53;53;53m▀[0m[38;2;85;85;85m[48;2;55;55;55m▀[0m[38;2;53;53;53m[48;2;57;57;57m▀[0m[38;2;57;57;57m[48;2;60;60;60m▀[0m[38;2;59;59;59m[48;2;61;61;61m▀[0m[7m[38;2;61;61;61m [0m[38;2;62;62;62m[48;2;61;61;61m▀[0m[7m[38;2;61;61;61m [0m[38;2;61;61;61m[48;2;60;60;60m▀[0m[7m[38;2;58;58;58m [0m[38;2;52;52;52m[48;2;54;54;54m▀[0m[38;2;182;182;182m[48;2;46;46;46m▀[0m[38;2;222;222;222m[48;2;43;43;43m▀[0m[38;2;220;220;220m[48;2;41;41;41m▀[0m[38;2;219;219;219m[48;2;41;41;41m▀[0m[38;2;217;217;217m[48;2;41;41;41m▀[0m[38;2;216;216;216m[48;2;40;40;40m▀[0m[38;2;214;214;214m[48;2;40;40;40m▀[0m[38;2;212;212;212m[48;2;40;40;40m▀[0m[38;2;211;211;211m[48;2;40;40;40m▀[0m[38;2;209;209;209m[48;2;40;40;40m▀[0m[38;2;208;208;208m[48;2;40;40;40m▀[0m[38;2;169;169;169m[48;2;43;43;43m▀[0m[38;2;48;48;48m[48;2;50;50;50m▀[0m[7m[38;2;53;53;53m [0m[38;2;55;55;55m[48;2;54;54;54m▀[0m[38;2;55;55;55m[48;2;54;54;54m▀[0m[7m[38;2;54;54;54m [0m[38;2;54;54;54m[48;2;53;53;53m▀[0m[38;2;54;54;54m[48;2;53;53;53m▀[0m [0m [0m [0m [0m [0m [0m [0m
|
||||
[0m [0m [0m [0m [0m [0m [0m [0m[38;2;65;65;65m[48;2;59;59;59m▀[0m[7m[38;2;64;64;64m [0m[38;2;64;64;64m[48;2;63;63;63m▀[0m[7m[38;2;63;63;63m [0m[38;2;61;61;61m[48;2;63;63;63m▀[0m[38;2;60;60;60m[48;2;61;61;61m▀[0m[38;2;59;59;59m[48;2;61;61;61m▀[0m[38;2;59;59;59m[48;2;61;61;61m▀[0m[38;2;60;60;60m[48;2;61;61;61m▀[0m[7m[38;2;61;61;61m [0m[38;2;61;61;61m[48;2;60;60;60m▀[0m[38;2;61;61;61m[48;2;60;60;60m▀[0m[7m[38;2;60;60;60m [0m[38;2;60;60;60m[48;2;59;59;59m▀[0m[38;2;60;60;60m[48;2;59;59;59m▀[0m[38;2;58;58;58m[48;2;59;59;59m▀[0m[38;2;56;56;56m[48;2;57;57;57m▀[0m[38;2;53;53;53m[48;2;55;55;55m▀[0m[38;2;50;50;50m[48;2;54;54;54m▀[0m[38;2;50;50;50m[48;2;53;53;53m▀[0m[38;2;49;49;49m[48;2;53;53;53m▀[0m[38;2;49;49;49m[48;2;53;53;53m▀[0m[38;2;49;49;49m[48;2;52;52;52m▀[0m[38;2;48;48;48m[48;2;52;52;52m▀[0m[38;2;48;48;48m[48;2;52;52;52m▀[0m[38;2;47;47;47m[48;2;51;51;51m▀[0m[38;2;47;47;47m[48;2;51;51;51m▀[0m[38;2;48;48;48m[48;2;52;52;52m▀[0m[38;2;49;49;49m[48;2;52;52;52m▀[0m[38;2;51;51;51m[48;2;53;53;53m▀[0m[7m[38;2;53;53;53m [0m[38;2;54;54;54m[48;2;53;53;53m▀[0m[7m[38;2;53;53;53m [0m[38;2;53;53;53m[48;2;52;52;52m▀[0m[38;2;53;53;53m[48;2;52;52;52m▀[0m[38;2;52;52;52m[48;2;48;48;48m▀[0m [0m [0m [0m [0m [0m [0m [0m
|
||||
[0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m
|
||||
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 5.5 KiB |
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 7.2 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 75 KiB After Width: | Height: | Size: 92 KiB |
|
Before Width: | Height: | Size: 253 KiB After Width: | Height: | Size: 345 KiB |
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 233 KiB After Width: | Height: | Size: 274 KiB |
|
Before Width: | Height: | Size: 172 KiB After Width: | Height: | Size: 215 KiB |
|
Before Width: | Height: | Size: 173 KiB After Width: | Height: | Size: 216 KiB |
|
Before Width: | Height: | Size: 171 KiB After Width: | Height: | Size: 213 KiB |
|
Before Width: | Height: | Size: 170 KiB After Width: | Height: | Size: 211 KiB |
|
Before Width: | Height: | Size: 181 KiB After Width: | Height: | Size: 223 KiB |
|
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 47 KiB |
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 46 KiB |
|
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 60 KiB |
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 41 KiB |
|
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 67 KiB |
|
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 104 KiB |
|
Before Width: | Height: | Size: 50 KiB After Width: | Height: | Size: 130 KiB |
|
Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 112 KiB |
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 55 KiB |
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 63 KiB |
|
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 34 KiB |
@@ -1,385 +0,0 @@
|
||||
---
|
||||
author: <Pankaj> <Bhojwani> <@PankajBhojwani>
|
||||
created on: <2020-9-9>
|
||||
last updated: <2020-10-15>
|
||||
---
|
||||
|
||||
# Proto extensions
|
||||
|
||||
## Abstract
|
||||
|
||||
This spec outlines adding support for proto extensions. This would allow other apps/programs
|
||||
to add json snippets to our json files, and will be used when we generate settings for our various profiles.
|
||||
|
||||
## Inspiration
|
||||
|
||||
### Goal: Allow programs to have a say in the settings for their profiles
|
||||
|
||||
Currently, Ubuntu/WSL/Powershell etc are unable to provide any specifications for how they want
|
||||
their profiles in Terminal to look - only we and the users can modify the profiles. We want to provide
|
||||
these installations with the functionality to have a say in this, allowing them to specify things like
|
||||
their icon, their font and so on. However, we want to maintain that the user has final say over all of
|
||||
these settings.
|
||||
|
||||
## Solution Design
|
||||
|
||||
Currently, when we load the settings we perform the following steps (this is a simplified description,
|
||||
for the full version see the [spec for cascading default + user settings](https://github.com/microsoft/terminal/blob/master/doc/specs/%23754%20-%20Cascading%20Default%20Settings.md)):
|
||||
|
||||
1. Generate profiles from the defaults file
|
||||
2. Generate profiles from the dynamic profile generators
|
||||
3. Layer the user settings on top of all the profiles created in steps 1 and 2
|
||||
4. Validate the settings
|
||||
|
||||
To allow for installations to add in their snippets of json, I propose the addition of a new step
|
||||
in between 2 and 3:
|
||||
|
||||
1. Generate profiles from the defaults file
|
||||
2. Generate profiles from the dynamic profile generators
|
||||
3. **Incorporate the additional provided json stubs** - these stubs could be:
|
||||
1. modifications to existing profiles
|
||||
2. additions of full profiles
|
||||
3. additions of colour schemes
|
||||
4. Layer the user settings on top of all the profiles created in steps 1 through 3 (this includes the user-defined default settings which they wish to apply to all profiles)
|
||||
5. Validate the settings
|
||||
|
||||
### Specifications of the json stubs
|
||||
|
||||
As written above, the json stubs could be modifications to existing profiles, additions to full profiles, or additions of colour schemes.
|
||||
|
||||
To allow modifications/additions of several profiles in one file and to allow the addition of several colour schemes in one json file,
|
||||
these stubs should be put into lists in the json file: one list named ```profiles``` and the other list named ```schemes```. For example:
|
||||
|
||||
```js
|
||||
{
|
||||
"profiles": [ modifications and additions of profiles go here ],
|
||||
"schemes": [ additions of colour schemes go here ]
|
||||
}
|
||||
```
|
||||
|
||||
An example of a full json file with these fields filled out is shown at the end of this section.
|
||||
|
||||
#### Modifications to existing profiles
|
||||
|
||||
The main thing to note for modification of existing profiles is that this will only be used for modifying the
|
||||
default profiles (cmd/powershell) or the dynamically generated profiles.
|
||||
|
||||
For modifications to existing profiles, the json stub would need to indicate which profile it wishes to modify. It will
|
||||
do this by providing the corresponding guid in the `"updates"` field of the json stub. The reason we use an `"updates"`
|
||||
field rather than a `"guid"` field (like the way the user settings are eventually layered onto profiles) is because we
|
||||
do not want to mistakenly create a new profile when the stub was meant to update a profile that did not exist.
|
||||
|
||||
Note that currently, we generate a GUID for dynamic profiles using the "initial" name of the profile (i.e. before
|
||||
any user changes are applied). For example, the "initial" name of a WSL profile is the \<name\> argument to
|
||||
"wsl.exe -d \<name\>", and the "initial" name of a Powershell profile is something like "Powershell (ARM)" - depending
|
||||
on the version. Thus, the stub creator could simply use the same uuidv5 GUID generator we do on that name to obtain the
|
||||
GUID. Then, in the stub they provide the GUID can be used to identify which profile to modify.
|
||||
|
||||
Naturally, we will have to provide documentation on how they could generate the desired GUID themselves. In that documentation,
|
||||
we will also provide examples showing how the current GUIDs are generated for clarity's sake.
|
||||
|
||||
We need to inform developers that **we will not** prescribe any ordering to the way in which these modifications will be
|
||||
applied - thus, they should not rely on their stub being the first/last to modify a particular profile (in the event that
|
||||
there is more than one json stub modifying the same profile).
|
||||
|
||||
Here is an example of a json file that modifies an existing profile (specifically the Azure cloud shell profile):
|
||||
|
||||
```js
|
||||
{
|
||||
"profiles": [
|
||||
{
|
||||
"updates": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
|
||||
"fontSize": 16,
|
||||
"fontWeight": "thin"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
**NOTE**: This will *not* change the way the profile looks in the user's settings file. The Azure cloud shell profile
|
||||
in their settings file (assuming they have made no changes) will still be as below.
|
||||
|
||||
```js
|
||||
{
|
||||
"guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
|
||||
"hidden": false,
|
||||
"name": "Azure Cloud Shell",
|
||||
"source": "Windows.Terminal.Azure"
|
||||
}
|
||||
```
|
||||
However, the user is free to make changes to it as usual and those changes will have the 'final say'.
|
||||
|
||||
#### Full profile stubs
|
||||
|
||||
Technically, full profile stubs do not need to contain anything (they could just be '\{\}'). However we should
|
||||
have some qualifying minimum criteria before we accept a stub as a full profile. I suggest that we only create
|
||||
new profile objects from stubs that contain at least the following
|
||||
|
||||
* A name
|
||||
|
||||
As in the case of the dynamic profile generator, if we create a profile that did not exist before (i.e. does not
|
||||
exist in the user settings), we need to add the profile to the user settings file and re-save that file.
|
||||
|
||||
Furthermore, we will add a source field to profiles created this way (again, similar to what we do for dynamic profiles).
|
||||
The source field value is dependent on how we obtained this json file, and will be touched on in more detail [later in the spec](#the-source-field).
|
||||
|
||||
Here is an example of a json file that contains a full profile:
|
||||
|
||||
```js
|
||||
{
|
||||
"profiles": [
|
||||
{
|
||||
"guid": "{a821ae62-9d4a-3e34-b989-0a998ec283e6}",
|
||||
"name": "Cool Profile",
|
||||
"commandline": "powershell.exe",
|
||||
"antialiasingMode": "aliased",
|
||||
"fontWeight": "bold",
|
||||
"scrollbarState": "hidden"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
When this profile gets added back to the user's settings file, it will look similar to the way we currently add
|
||||
new dynamic profiles to the user's settings file. Going along with the example above, the corresponding
|
||||
json stub in the user's settings file will be:
|
||||
|
||||
```js
|
||||
{
|
||||
"guid": "{a821ae62-9d4a-3e34-b989-0a998ec283e6}",
|
||||
"name": "Cool Profile",
|
||||
"hidden": "false",
|
||||
"source": "local"
|
||||
}
|
||||
```
|
||||
Again, the user will be able to make changes to it as they do for all other profiles.
|
||||
|
||||
#### Creation of colour schemes
|
||||
|
||||
As with full profiles, we will have some qualifying criteria for what we accept as full colour schemes: color schemes
|
||||
must have _all_ the fields that define a colour scheme - see the
|
||||
[docs](https://docs.microsoft.com/en-us/windows/terminal/customize-settings/color-schemes)
|
||||
on creating new colour schemes for what this means.
|
||||
|
||||
This may cause the issue of colour schemes being overridden if there are many creations of a colour scheme with the
|
||||
same name. Since for now all we have to uniquely identify colour schemes *is* the name, we will just let this be.
|
||||
|
||||
Here is an example of a json stub that contains a colour scheme:
|
||||
|
||||
```js
|
||||
{
|
||||
"schemes": [
|
||||
{
|
||||
"name": "Postmodern Tango Light",
|
||||
|
||||
"cursorColor": "#FFFFFF",
|
||||
"selectionBackground": "#FFFFFF",
|
||||
|
||||
"background": '#61D6D6',
|
||||
"foreground": '#E74856',
|
||||
|
||||
"black" : "#0C0C0C",
|
||||
"blue" : "#0037DA",
|
||||
"cyan" : "#3A96DD",
|
||||
"green" : "#13A10E",
|
||||
"purple" : "#881798",
|
||||
"red" : "#C50F1F",
|
||||
"white" : "#CCCCCC",
|
||||
"yellow" : "#C19C00",
|
||||
"brightBlack" : "#767676",
|
||||
"brightBlue" : "#3B78FF",
|
||||
"brightCyan" : "#61D6D6",
|
||||
"brightGreen" : "#16C60C",
|
||||
"brightPurple" : "#B4009E",
|
||||
"brightRed" : "#E74856",
|
||||
"brightWhite" : "#F2F2F2",
|
||||
"brightYellow" : "#F9F1A5"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
This stub will *not* show up in the users settings file, similar to the way our default colour schemes do not show up.
|
||||
|
||||
#### Example of a full json file
|
||||
This is an example of a json file that combines all the above examples. Thus, this json file modifies the Azure Cloud
|
||||
Shell profile, creates a new profile called 'Cool Profile' and creates a new colour scheme called 'Postmodern Tango Light'.
|
||||
|
||||
```js
|
||||
{
|
||||
"profiles": [
|
||||
{
|
||||
"updates": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
|
||||
"fontSize": 16,
|
||||
"fontWeight": "thin"
|
||||
},
|
||||
{
|
||||
"guid": "{a821ae62-9d4a-3e34-b989-0a998ec283e6}",
|
||||
"name": "Cool Profile",
|
||||
"commandline": "powershell.exe",
|
||||
"antialiasingMode": "aliased",
|
||||
"fontWeight": "bold",
|
||||
"scrollbarState": "hidden"
|
||||
}
|
||||
],
|
||||
"schemes": [
|
||||
{
|
||||
"name": "Postmodern Tango Light",
|
||||
|
||||
"cursorColor": "#FFFFFF",
|
||||
"selectionBackground": "#FFFFFF",
|
||||
|
||||
"background": '#61D6D6',
|
||||
"foreground": '#E74856',
|
||||
|
||||
"black" : "#0C0C0C",
|
||||
"blue" : "#0037DA",
|
||||
"cyan" : "#3A96DD",
|
||||
"green" : "#13A10E",
|
||||
"purple" : "#881798",
|
||||
"red" : "#C50F1F",
|
||||
"white" : "#CCCCCC",
|
||||
"yellow" : "#C19C00",
|
||||
"brightBlack" : "#767676",
|
||||
"brightBlue" : "#3B78FF",
|
||||
"brightCyan" : "#61D6D6",
|
||||
"brightGreen" : "#16C60C",
|
||||
"brightPurple" : "#B4009E",
|
||||
"brightRed" : "#E74856",
|
||||
"brightWhite" : "#F2F2F2",
|
||||
"brightYellow" : "#F9F1A5"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
### Creation and location(s) of the json files
|
||||
|
||||
In this section, we cover where an app that wants to use this proto-extension functionality should put the json
|
||||
files. Once we implement this feature, we will need to provide documentation on this for app developers.
|
||||
|
||||
#### For apps installed through Microsoft store (or similar)
|
||||
|
||||
For apps that are installed through something like the Microsoft Store, they will need to declare themselves to
|
||||
be an app extension or write a separate app extension. In the app extension, they will need to create a public
|
||||
folder, and create a subdirectory within that folder called `Fragments`. The json files should be inserted into the
|
||||
`Fragments` subdirectory. The specifics of how they can declare themselves as an app extension are provided in the
|
||||
[Microsoft Docs](https://docs.microsoft.com/en-us/windows/uwp/launch-resume/how-to-create-an-extension), and I will
|
||||
replicate the necessary section here.
|
||||
|
||||
In the appxmanifest file of the package:
|
||||
|
||||
```js
|
||||
<Package
|
||||
...
|
||||
xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
|
||||
IgnorableNamespaces="uap uap3 mp">
|
||||
...
|
||||
<Applications>
|
||||
<Application Id="App" ... >
|
||||
...
|
||||
<Extensions>
|
||||
...
|
||||
<uap3:Extension Category="windows.appExtension">
|
||||
<uap3:AppExtension Name="com.microsoft.windows.terminal.settings"
|
||||
Id="<id>"
|
||||
PublicFolder="Public">
|
||||
</uap3:AppExtension>
|
||||
</uap3:Extension>
|
||||
</Extensions>
|
||||
</Application>
|
||||
</Applications>
|
||||
...
|
||||
</Package>
|
||||
```
|
||||
|
||||
Note that the name field **must** be `com.microsoft.windows.terminal.settings` for us to detect this extension. The `Id` field
|
||||
can be filled out as the app wishes. The `PublicFolder` field should have the name of the folder, relative to
|
||||
the package root, where the `json` files they wish to share with us are stored (this folder is typically named
|
||||
`Public` but can be renamed as long as it matches the relevant folder).
|
||||
|
||||
During our profile generation, we will probe the OS for app extensions with the name `com.microsoft.windows.terminal.settings`
|
||||
and obtain the json files stored in the `Fragments` subdirectories of the public folders of those app extensions.
|
||||
|
||||
#### For apps installed 'traditionally'
|
||||
|
||||
For apps that are installed 'traditionally', there are 2 cases. The first is that this installation is for all
|
||||
the users of the system - in this case, the installer should add their json files to the global folder:
|
||||
|
||||
```js
|
||||
C:\ProgramData\Microsoft\Windows Terminal\Fragments\{app-name}
|
||||
```
|
||||
|
||||
Note: `C:\ProgramData` is a [known folder](https://docs.microsoft.com/en-us/previous-versions/windows/desktop/legacy/bb776911(v=vs.85))
|
||||
that apps should be able to access. If the folder `Windows Terminal` in `C:\ProgramData\Microsoft\Windows`
|
||||
does not already exist, the installer should create it. **Note:** the installer must create a subdirectory within
|
||||
the `Fragments` folder with their app name, we will use that name for the [`source` field](#the-source-field).
|
||||
|
||||
In the second case, the installation is only for the current user. For this case, the installer should add the
|
||||
json files to the local folder:
|
||||
|
||||
```js
|
||||
C:\Users\<user>\AppData\Local\Microsoft\Windows Terminal\Fragments\{app-name}
|
||||
```
|
||||
|
||||
We will look through both folders mentioned above during profile generation.
|
||||
|
||||
#### The source field
|
||||
|
||||
Currently, we allow users an easy way to disable/enable profiles that are generated from certain sources. For
|
||||
example, a user can easily hide all dynamic profiles with the source `"Windows.Terminal.Wsl"` if they wish to.
|
||||
To retain this functionality, we will add source fields to profiles we create through proto-extensions.
|
||||
|
||||
For full profiles that came from apps installed 'traditionally', we will use the name of the subdirectory where
|
||||
the json file was found to fill out the source field.
|
||||
|
||||
For full profiles that came from app extensions, we will use the app package name to fill out the source field.
|
||||
|
||||
|
||||
|
||||
## UI/UX Design
|
||||
|
||||
This feature will allow other installations a level of control over how their profiles look in Terminal. For example,
|
||||
if Ubuntu gets a new icon or a new font they can have those changes be reflected in Terminal users' Ubuntu profiles.
|
||||
|
||||
## Capabilities
|
||||
|
||||
### Accessibility
|
||||
|
||||
This change should not affect accessibility.
|
||||
|
||||
### Security
|
||||
|
||||
Opening a profile causes its commandline argument to be automatically run. Thus, if malicious modifications are made
|
||||
to existing profiles or new profiles with malicious commandline arguments are added, users could be tricked into running
|
||||
things they do not want to.
|
||||
|
||||
### Reliability
|
||||
|
||||
This should not affect reliability - most of what its doing is simply layering json which we already do.
|
||||
|
||||
### Compatibility
|
||||
|
||||
Again, there should not be any issues here - the user settings can still be layered after this layering for the user
|
||||
to have the final say.
|
||||
|
||||
### Performance, Power, and Efficiency
|
||||
|
||||
Looking through the additional json files could negatively impact startup time.
|
||||
|
||||
## Potential Issues
|
||||
|
||||
* An installer dumps a _lot_ of json files into the folder which we need to look through.
|
||||
* When a `.json` files is deleted, any new profiles that were generated from it remain in the user's settings file (though they no longer appear in the tab dropdown).
|
||||
|
||||
## Future considerations
|
||||
|
||||
We need to consider how an app extension provides the path to an image (for the icon source or background image of a profile for example)
|
||||
|
||||
This will likely be a stepping stone for the theme marketplace.
|
||||
|
||||
This will also likely be a stepping stone to allowing users to specify other files to import settings from.
|
||||
|
||||
## Resources
|
||||
|
||||
N/A
|
||||
@@ -25,9 +25,9 @@ Below is the schedule for when milestones will be included in release builds of
|
||||
| 2020-07-31 | [1.2] in Windows Terminal Preview<br>[1.1] in Windows Terminal | [Windows Terminal Preview 1.2 Release](https://devblogs.microsoft.com/commandline/windows-terminal-preview-1-2-release/) |
|
||||
| 2020-08-31 | [1.3] in Windows Terminal Preview<br>[1.2] in Windows Terminal | [Windows Terminal Preview 1.3 Release](https://devblogs.microsoft.com/commandline/windows-terminal-preview-1-3-release/) |
|
||||
| 2020-09-30 | [1.4] in Windows Terminal Preview<br>[1.3] in Windows Terminal | [Windows Terminal Preview 1.4 Release](https://devblogs.microsoft.com/commandline/windows-terminal-preview-1-4-release/) |
|
||||
| 2020-11-30 | [1.5] in Windows Terminal Preview<br>[1.4] in Windows Terminal | [Windows Terminal Preview 1.5 Release](https://devblogs.microsoft.com/commandline/windows-terminal-preview-1-5-release/) |
|
||||
| 2020-12-31 | [1.6] in Windows Terminal Preview<br>[1.5] in Windows Terminal | |
|
||||
| 2021-01-31 | 1.7 in Windows Terminal Preview<br>[1.6] in Windows Terminal | |
|
||||
| 2020-11-30 | [1.5] in Windows Terminal Preview<br>[1.4] in Windows Terminal | |
|
||||
| 2020-12-31 | 1.6 in Windows Terminal Preview<br>[1.5] in Windows Terminal | |
|
||||
| 2021-01-31 | 1.7 in Windows Terminal Preview<br>1.6 in Windows Terminal | |
|
||||
| 2021-02-28 | 1.8 in Windows Terminal Preview<br>1.8 in Windows Terminal | |
|
||||
| 2021-03-31 | 1.9 in Windows Terminal Preview<br>1.9 in Windows Terminal | |
|
||||
| 2021-04-30 | 2.0 RC in Windows Terminal Preview<br>2.0 RC in Windows Terminal | |
|
||||
@@ -82,7 +82,6 @@ Feature Notes:
|
||||
[1.3]: https://github.com/microsoft/terminal/milestone/26
|
||||
[1.4]: https://github.com/microsoft/terminal/milestone/28
|
||||
[1.5]: https://github.com/microsoft/terminal/milestone/30
|
||||
[1.6]: https://github.com/microsoft/terminal/milestone/31
|
||||
[2.0]: https://github.com/microsoft/terminal/milestone/22
|
||||
[#1564]: https://github.com/microsoft/terminal/issues/1564
|
||||
[#6720]: https://github.com/microsoft/terminal/pull/6720
|
||||
|
||||
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.9 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 5.1 KiB |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 5.7 KiB After Width: | Height: | Size: 6.2 KiB |
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.5 KiB |
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.4 KiB |
|
Before Width: | Height: | Size: 7.9 KiB After Width: | Height: | Size: 8.5 KiB |
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 6.8 KiB After Width: | Height: | Size: 7.5 KiB |
|
Before Width: | Height: | Size: 6.8 KiB After Width: | Height: | Size: 7.5 KiB |
|
Before Width: | Height: | Size: 542 B After Width: | Height: | Size: 605 B |
|
Before Width: | Height: | Size: 548 B After Width: | Height: | Size: 594 B |
|
Before Width: | Height: | Size: 636 B After Width: | Height: | Size: 775 B |
|
Before Width: | Height: | Size: 645 B After Width: | Height: | Size: 685 B |
|
Before Width: | Height: | Size: 671 B After Width: | Height: | Size: 841 B |
|
Before Width: | Height: | Size: 671 B After Width: | Height: | Size: 728 B |
|
Before Width: | Height: | Size: 722 B After Width: | Height: | Size: 976 B |
|
Before Width: | Height: | Size: 731 B After Width: | Height: | Size: 805 B |
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 704 B After Width: | Height: | Size: 809 B |
|
Before Width: | Height: | Size: 705 B After Width: | Height: | Size: 800 B |
|
Before Width: | Height: | Size: 835 B After Width: | Height: | Size: 925 B |
|
Before Width: | Height: | Size: 834 B After Width: | Height: | Size: 918 B |
|
Before Width: | Height: | Size: 917 B After Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 922 B After Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 5.5 KiB |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 4.3 KiB |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 5.7 KiB |
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.4 KiB |
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.4 KiB |
|
Before Width: | Height: | Size: 6.6 KiB After Width: | Height: | Size: 7.0 KiB |
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 9.8 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 4.1 KiB |
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 9.8 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 9.7 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 828 B After Width: | Height: | Size: 966 B |
|
Before Width: | Height: | Size: 833 B After Width: | Height: | Size: 954 B |
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.2 KiB |