[PR #9662] Add support for renaming windows #27695

Open
opened 2026-01-31 09:23:34 +00:00 by claunia · 0 comments
Owner

Original Pull Request: https://github.com/microsoft/terminal/pull/9662

State: closed
Merged: Yes


Summary of the Pull Request

This PR adds support for renaming windows.

window-renaming-000
window-renaming-001

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 F3
    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

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

        { "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

**Original Pull Request:** https://github.com/microsoft/terminal/pull/9662 **State:** closed **Merged:** Yes --- ## 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
claunia added the pull-request label 2026-01-31 09:23:34 +00:00
Sign in to join this conversation.
No Label pull-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#27695