fb597ed304
## Summary of the Pull Request This PR adds support for renaming windows. ![window-renaming-000](https://user-images.githubusercontent.com/18356694/113034344-9a30be00-9157-11eb-9443-975f3c294f56.gif) ![window-renaming-001](https://user-images.githubusercontent.com/18356694/113034452-b5033280-9157-11eb-9e35-e5ac80fef0bc.gif) It does so through two new actions: * `renameWindow` takes a `name` parameter, and attempts to set the window's name to the provided name. This is useful if you always want to hit <kbd>F3</kbd> and rename a window to "foo" (READ: probably not that useful) * `openWindowRenamer` is more interesting: it opens a `TeachingTip` with a `TextBox`. When the user hits Ok, it'll request a rename for the provided value. This lets the user pick a new name for the window at runtime. In both cases, if there's already a window with that name, then the monarch will reject the rename, and pop a `Toast` in the window informing the user that the rename failed. Nifty! ## References * Builds on the toasts from #9523 * #5000 - process model megathread ## PR Checklist * [x] Closes https://github.com/microsoft/terminal/projects/5#card-50771747 * [x] I work here * [x] Tests addded (and pass with the help of #9660) * [ ] Requires documentation to be updated ## Detailed Description of the Pull Request / Additional comments I'm sending this PR while finishing up the tests. I figured I'll have time to sneak them in before I get the necessary reviews. > PAIN: We can't immediately focus the textbox in the TeachingTip. It's > not technically focusable until it is opened. However, it doesn't > provide an even tto tell us when it is opened. That's tracked in > microsoft/microsoft-ui-xaml#1607. So for now, the user _needs_ to > click on the text box manually. > We're also not using a ContentDialog for this, because in Xaml > Islands a text box in a ContentDialog won't recieve _any_ keypresses. > Fun! ## Validation Steps Performed I've been playing with ```json { "keys": "f1", "command": "identifyWindow" }, { "keys": "f2", "command": "identifyWindows" }, { "keys": "f3", "command": "openWindowRenamer" }, { "keys": "f4", "command": { "action": "renameWindow", "name": "foo" } }, { "keys": "f5", "command": { "action": "renameWindow", "name": "bar" } }, ``` and they seem to work as expected
395 lines
17 KiB
XML
395 lines
17 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<root>
|
|
<!--
|
|
Microsoft ResX Schema
|
|
|
|
Version 2.0
|
|
|
|
The primary goals of this format is to allow a simple XML format
|
|
that is mostly human readable. The generation and parsing of the
|
|
various data types are done through the TypeConverter classes
|
|
associated with the data types.
|
|
|
|
Example:
|
|
|
|
... ado.net/XML headers & schema ...
|
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
|
<resheader name="version">2.0</resheader>
|
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
|
</data>
|
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
|
<comment>This is a comment</comment>
|
|
</data>
|
|
|
|
There are any number of "resheader" rows that contain simple
|
|
name/value pairs.
|
|
|
|
Each data row contains a name, and value. The row also contains a
|
|
type or mimetype. Type corresponds to a .NET class that support
|
|
text/value conversion through the TypeConverter architecture.
|
|
Classes that don't support this are serialized and stored with the
|
|
mimetype set.
|
|
|
|
The mimetype is used for serialized objects, and tells the
|
|
ResXResourceReader how to depersist the object. This is currently not
|
|
extensible. For a given mimetype the value must be set accordingly:
|
|
|
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
|
that the ResXResourceWriter will generate, however the reader can
|
|
read any of the formats listed below.
|
|
|
|
mimetype: application/x-microsoft.net.object.binary.base64
|
|
value : The object must be serialized with
|
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
|
: and then encoded with base64 encoding.
|
|
|
|
mimetype: application/x-microsoft.net.object.soap.base64
|
|
value : The object must be serialized with
|
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
|
: and then encoded with base64 encoding.
|
|
|
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
|
value : The object must be serialized into a byte array
|
|
: using a System.ComponentModel.TypeConverter
|
|
: and then encoded with base64 encoding.
|
|
-->
|
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
|
<xsd:element name="root" msdata:IsDataSet="true">
|
|
<xsd:complexType>
|
|
<xsd:choice maxOccurs="unbounded">
|
|
<xsd:element name="metadata">
|
|
<xsd:complexType>
|
|
<xsd:sequence>
|
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
|
</xsd:sequence>
|
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
|
<xsd:attribute name="type" type="xsd:string" />
|
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
|
<xsd:attribute ref="xml:space" />
|
|
</xsd:complexType>
|
|
</xsd:element>
|
|
<xsd:element name="assembly">
|
|
<xsd:complexType>
|
|
<xsd:attribute name="alias" type="xsd:string" />
|
|
<xsd:attribute name="name" type="xsd:string" />
|
|
</xsd:complexType>
|
|
</xsd:element>
|
|
<xsd:element name="data">
|
|
<xsd:complexType>
|
|
<xsd:sequence>
|
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
|
</xsd:sequence>
|
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
|
<xsd:attribute ref="xml:space" />
|
|
</xsd:complexType>
|
|
</xsd:element>
|
|
<xsd:element name="resheader">
|
|
<xsd:complexType>
|
|
<xsd:sequence>
|
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
|
</xsd:sequence>
|
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
|
</xsd:complexType>
|
|
</xsd:element>
|
|
</xsd:choice>
|
|
</xsd:complexType>
|
|
</xsd:element>
|
|
</xsd:schema>
|
|
<resheader name="resmimetype">
|
|
<value>text/microsoft-resx</value>
|
|
</resheader>
|
|
<resheader name="version">
|
|
<value>2.0</value>
|
|
</resheader>
|
|
<resheader name="reader">
|
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
|
</resheader>
|
|
<resheader name="writer">
|
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
|
</resheader>
|
|
<data name="SetColorSchemeParentCommandName" xml:space="preserve">
|
|
<value>Select color scheme...</value>
|
|
</data>
|
|
<data name="NewTabParentCommandName" xml:space="preserve">
|
|
<value>New Tab...</value>
|
|
</data>
|
|
<data name="SplitPaneParentCommandName" xml:space="preserve">
|
|
<value>Split Pane...</value>
|
|
</data>
|
|
<data name="ApplicationDisplayNameUnpackaged" xml:space="preserve">
|
|
<value>Windows Terminal (Unpackaged)</value>
|
|
<comment>This display name is used when the application's name cannot be determined</comment>
|
|
</data>
|
|
<data name="ApplicationVersionUnknown" xml:space="preserve">
|
|
<value>Unknown</value>
|
|
<comment>This is displayed when the version of the application cannot be determined</comment>
|
|
</data>
|
|
<data name="AdjustFontSizeCommandKey" xml:space="preserve">
|
|
<value>Adjust font size</value>
|
|
</data>
|
|
<data name="CloseOtherTabsCommandKey" xml:space="preserve">
|
|
<value>Close tabs other than index {0}</value>
|
|
<comment>{0} will be replaced with a number</comment>
|
|
</data>
|
|
<data name="CloseOtherTabsDefaultCommandKey" xml:space="preserve">
|
|
<value>Close all other tabs</value>
|
|
</data>
|
|
<data name="ClosePaneCommandKey" xml:space="preserve">
|
|
<value>Close pane</value>
|
|
</data>
|
|
<data name="CloseTabCommandKey" xml:space="preserve">
|
|
<value>Close tab</value>
|
|
</data>
|
|
<data name="CloseTabsAfterCommandKey" xml:space="preserve">
|
|
<value>Close tabs after index {0}</value>
|
|
<comment>{0} will be replaced with a number</comment>
|
|
</data>
|
|
<data name="MoveTabCommandKey" xml:space="preserve">
|
|
<value>Move tab {0}</value>
|
|
<comment>{0} will be replaced with a "forward" / "backward"</comment>
|
|
</data>
|
|
<data name="MoveTabDirectionForward" xml:space="preserve">
|
|
<value>forward</value>
|
|
</data>
|
|
<data name="MoveTabDirectionBackward" xml:space="preserve">
|
|
<value>backward</value>
|
|
</data>
|
|
<data name="CloseTabsAfterDefaultCommandKey" xml:space="preserve">
|
|
<value>Close all tabs after the current tab</value>
|
|
</data>
|
|
<data name="CloseWindowCommandKey" xml:space="preserve">
|
|
<value>Close window</value>
|
|
</data>
|
|
<data name="CommandPromptDisplayName" xml:space="preserve">
|
|
<value>Command Prompt</value>
|
|
<comment>This is the name of "Command Prompt", as localized in Windows. The localization here should match the one in the Windows product for "Command Prompt"</comment>
|
|
</data>
|
|
<data name="CopyTextAsSingleLineCommandKey" xml:space="preserve">
|
|
<value>Copy text as a single line</value>
|
|
</data>
|
|
<data name="CopyTextCommandKey" xml:space="preserve">
|
|
<value>Copy text</value>
|
|
</data>
|
|
<data name="DecreaseFontSizeCommandKey" xml:space="preserve">
|
|
<value>Decrease font size</value>
|
|
</data>
|
|
<data name="DecreaseFontSizeWithAmountCommandKey" xml:space="preserve">
|
|
<value>Decrease font size, amount: {0}</value>
|
|
<comment>{0} will be replaced with a positive number</comment>
|
|
</data>
|
|
<data name="DirectionDown" xml:space="preserve">
|
|
<value>down</value>
|
|
</data>
|
|
<data name="DirectionLeft" xml:space="preserve">
|
|
<value>left</value>
|
|
</data>
|
|
<data name="DirectionRight" xml:space="preserve">
|
|
<value>right</value>
|
|
</data>
|
|
<data name="DirectionUp" xml:space="preserve">
|
|
<value>up</value>
|
|
</data>
|
|
<data name="DirectionPrevious" xml:space="preserve">
|
|
<value>previous</value>
|
|
</data>
|
|
<data name="DuplicatePaneCommandKey" xml:space="preserve">
|
|
<value>Duplicate pane</value>
|
|
</data>
|
|
<data name="DuplicateTabCommandKey" xml:space="preserve">
|
|
<value>Duplicate tab</value>
|
|
</data>
|
|
<data name="ExecuteCommandlineCommandKey" xml:space="preserve">
|
|
<value>Run commandline "{0}" in this window</value>
|
|
<comment>{0} will be replaced with a user-defined commandline</comment>
|
|
</data>
|
|
<data name="FindCommandKey" xml:space="preserve">
|
|
<value>Find</value>
|
|
</data>
|
|
<data name="FindNextCommandKey" xml:space="preserve">
|
|
<value>Find next search match</value>
|
|
</data>
|
|
<data name="FindPrevCommandKey" xml:space="preserve">
|
|
<value>Find previous search match</value>
|
|
</data>
|
|
<data name="IncreaseFontSizeCommandKey" xml:space="preserve">
|
|
<value>Increase font size</value>
|
|
</data>
|
|
<data name="IncreaseFontSizeWithAmountCommandKey" xml:space="preserve">
|
|
<value>Increase font size, amount: {0}</value>
|
|
<comment>{0} will be replaced with a positive number</comment>
|
|
</data>
|
|
<data name="MoveFocusCommandKey" xml:space="preserve">
|
|
<value>Move focus</value>
|
|
</data>
|
|
<data name="MoveFocusWithArgCommandKey" xml:space="preserve">
|
|
<value>Move focus {0}</value>
|
|
<comment>{0} will be replaced with one of the four directions "DirectionLeft", "DirectionRight", "DirectionUp", "DirectionDown"</comment>
|
|
</data>
|
|
<data name="MoveFocusToLastUsedPane" xml:space="preserve">
|
|
<value>Move focus to the last used pane</value>
|
|
</data>
|
|
<data name="NewTabCommandKey" xml:space="preserve">
|
|
<value>New tab</value>
|
|
</data>
|
|
<data name="NewWindowCommandKey" xml:space="preserve">
|
|
<value>New window</value>
|
|
</data>
|
|
<data name="IdentifyWindowCommandKey" xml:space="preserve">
|
|
<value>Identify window</value>
|
|
</data>
|
|
<data name="IdentifyWindowsCommandKey" xml:space="preserve">
|
|
<value>Identify windows</value>
|
|
</data>
|
|
<data name="NextTabCommandKey" xml:space="preserve">
|
|
<value>Next tab</value>
|
|
</data>
|
|
<data name="OpenBothSettingsFilesCommandKey" xml:space="preserve">
|
|
<value>Open both settings and default settings files</value>
|
|
</data>
|
|
<data name="OpenDefaultSettingsCommandKey" xml:space="preserve">
|
|
<value>Open default settings file</value>
|
|
</data>
|
|
<data name="OpenNewTabDropdownCommandKey" xml:space="preserve">
|
|
<value>Open new tab dropdown</value>
|
|
</data>
|
|
<data name="OpenSettingsCommandKey" xml:space="preserve">
|
|
<value>Open settings file</value>
|
|
</data>
|
|
<data name="OpenTabColorPickerCommandKey" xml:space="preserve">
|
|
<value>Set the tab color...</value>
|
|
</data>
|
|
<data name="PasteTextCommandKey" xml:space="preserve">
|
|
<value>Paste</value>
|
|
</data>
|
|
<data name="PrevTabCommandKey" xml:space="preserve">
|
|
<value>Previous tab</value>
|
|
</data>
|
|
<data name="RenameTabCommandKey" xml:space="preserve">
|
|
<value>Rename tab to "{0}"</value>
|
|
<comment>{0} will be replaced with a user-defined string</comment>
|
|
</data>
|
|
<data name="ResetFontSizeCommandKey" xml:space="preserve">
|
|
<value>Reset font size</value>
|
|
</data>
|
|
<data name="ResetTabColorCommandKey" xml:space="preserve">
|
|
<value>Reset tab color</value>
|
|
</data>
|
|
<data name="ResetTabNameCommandKey" xml:space="preserve">
|
|
<value>Reset tab title</value>
|
|
</data>
|
|
<data name="OpenTabRenamerCommandKey" xml:space="preserve">
|
|
<value>Rename tab title...</value>
|
|
</data>
|
|
<data name="ResizePaneCommandKey" xml:space="preserve">
|
|
<value>Resize pane</value>
|
|
</data>
|
|
<data name="ResizePaneWithArgCommandKey" xml:space="preserve">
|
|
<value>Resize pane {0}</value>
|
|
<comment>{0} will be replaced with one of the four directions "DirectionLeft", "DirectionRight", "DirectionUp", or "DirectionDown"</comment>
|
|
</data>
|
|
<data name="ScrollDownCommandKey" xml:space="preserve">
|
|
<value>Scroll down</value>
|
|
</data>
|
|
<data name="ScrollDownSeveralRowsCommandKey" xml:space="preserve">
|
|
<value>Scroll down {0} line(s)</value>
|
|
<comment>{0} will be replaced with the number of lines to scroll"</comment>
|
|
</data>
|
|
<data name="ScrollDownPageCommandKey" xml:space="preserve">
|
|
<value>Scroll down one page</value>
|
|
</data>
|
|
<data name="ScrollUpCommandKey" xml:space="preserve">
|
|
<value>Scroll up</value>
|
|
</data>
|
|
<data name="ScrollUpSeveralRowsCommandKey" xml:space="preserve">
|
|
<value>Scroll up {0} line(s)</value>
|
|
<comment>{0} will be replaced with the number of lines to scroll"</comment>
|
|
</data>
|
|
<data name="ScrollUpPageCommandKey" xml:space="preserve">
|
|
<value>Scroll up one page</value>
|
|
</data>
|
|
<data name="ScrollToTopCommandKey" xml:space="preserve">
|
|
<value>Scroll to the top of history</value>
|
|
</data>
|
|
<data name="ScrollToBottomCommandKey" xml:space="preserve">
|
|
<value>Scroll to the bottom of history</value>
|
|
</data>
|
|
<data name="SendInputCommandKey" xml:space="preserve">
|
|
<value>Send Input: "{0}"</value>
|
|
<comment>{0} will be replaced with a string of input as defined by the user</comment>
|
|
</data>
|
|
<data name="SetColorSchemeCommandKey" xml:space="preserve">
|
|
<value>Set color scheme to {0}</value>
|
|
<comment>{0} will be replaced with the name of a color scheme as defined by the user.</comment>
|
|
</data>
|
|
<data name="SetTabColorCommandKey" xml:space="preserve">
|
|
<value>Set tab color to {0}</value>
|
|
<comment>{0} will be replaced with a color, displayed in hexadecimal (#RRGGBB) notation.</comment>
|
|
</data>
|
|
<data name="SplitHorizontalCommandKey" xml:space="preserve">
|
|
<value>Split pane horizontally</value>
|
|
</data>
|
|
<data name="SplitPaneCommandKey" xml:space="preserve">
|
|
<value>Split pane</value>
|
|
</data>
|
|
<data name="SplitVerticalCommandKey" xml:space="preserve">
|
|
<value>Split pane vertically</value>
|
|
</data>
|
|
<data name="SwitchToTabCommandKey" xml:space="preserve">
|
|
<value>Switch to tab</value>
|
|
</data>
|
|
<data name="TabSearchCommandKey" xml:space="preserve">
|
|
<value>Search for tab...</value>
|
|
</data>
|
|
<data name="ToggleAlwaysOnTopCommandKey" xml:space="preserve">
|
|
<value>Toggle always on top mode</value>
|
|
</data>
|
|
<data name="ToggleCommandPaletteCommandKey" xml:space="preserve">
|
|
<value>Toggle command palette</value>
|
|
</data>
|
|
<data name="ToggleCommandPaletteCommandLineModeCommandKey" xml:space="preserve">
|
|
<value>Toggle command palette in command line mode</value>
|
|
</data>
|
|
<data name="ToggleFocusModeCommandKey" xml:space="preserve">
|
|
<value>Toggle focus mode</value>
|
|
<comment>"Focus mode" is a mode with minimal UI elements, for a distraction-free experience</comment>
|
|
</data>
|
|
<data name="ToggleFullscreenCommandKey" xml:space="preserve">
|
|
<value>Toggle fullscreen</value>
|
|
</data>
|
|
<data name="TogglePaneZoomCommandKey" xml:space="preserve">
|
|
<value>Toggle pane zoom</value>
|
|
</data>
|
|
<data name="TogglePaneReadOnlyCommandKey" xml:space="preserve">
|
|
<value>Toggle pane read-only mode</value>
|
|
</data>
|
|
<data name="ToggleShaderEffectsCommandKey" xml:space="preserve">
|
|
<value>Toggle terminal visual effects</value>
|
|
</data>
|
|
<data name="BreakIntoDebuggerCommandKey" xml:space="preserve">
|
|
<value>Break into the debugger</value>
|
|
</data>
|
|
<data name="OpenSettingsUICommandKey" xml:space="preserve">
|
|
<value>Open Settings...</value>
|
|
</data>
|
|
<data name="RenameWindowCommandKey" xml:space="preserve">
|
|
<value>Rename window to "{0}"</value>
|
|
<comment>{0} will be replaced with a user-defined string</comment>
|
|
</data>
|
|
<data name="ResetWindowNameCommandKey" xml:space="preserve">
|
|
<value>Reset window name</value>
|
|
</data>
|
|
<data name="OpenWindowRenamerCommandKey" xml:space="preserve">
|
|
<value>Rename window...</value>
|
|
</data>
|
|
</root>
|