action "move left" in tab context menu not available in command palette #23507

Closed
opened 2026-01-31 08:44:11 +00:00 by claunia · 7 comments
Owner

Originally created by @MichelNolard on GitHub (Aug 8, 2025).

Windows Terminal version

1.22.11141.0

Windows build number

10.0.22631.5624

Other Software

No response

Steps to reproduce

Hello !

Step 1 - Tab Header Context Menu

  1. Open at least 2 tabs
  2. Right-click on the current tab header
  3. Open sub-menu "Move"
  4. Look at the name of the entries such as "Move Left" and "Move Right"

Step 2 - Command Palette

  1. Open the Command Palette (Ctrl+Shift+P)
  2. Type "Move tab b" and check that the command "Move tab backward" appear
  3. Type "Move tab f" and check that the command "Move tab forward" appear
  4. Type "Move left" and check that no command "Move tab left" appear

Step 3 - Actions

  1. Open the Settings tab
  2. Go to the Actions section (left side of window)
  3. Click "+ Add new" button (right side of window)
  4. Click on the drop down and type "M"
  5. Scroll the list towards the bottom until it shows "Move tab backward" and "Move tab forward"

Expected Behavior

All three places (Command Palette, Actions list and Tab Header context menu) should display the very same name for the same actions .

Actual Behavior

The Actions list and Command Palette are using different names when compared to the Tab Header Context Menu.

Thank you in advance for your support !

Originally created by @MichelNolard on GitHub (Aug 8, 2025). ### Windows Terminal version 1.22.11141.0 ### Windows build number 10.0.22631.5624 ### Other Software _No response_ ### Steps to reproduce Hello ! ### Step 1 - Tab Header Context Menu 1. Open at least 2 tabs 2. Right-click on the current tab header 3. Open sub-menu "Move" 4. Look at the name of the entries such as "Move Left" and "Move Right" ### Step 2 - Command Palette 1. Open the Command Palette (Ctrl+Shift+P) 2. Type "Move tab b" and check that the command "Move tab backward" appear 3. Type "Move tab f" and check that the command "Move tab forward" appear 4. Type "Move left" and check that **no** command "Move tab left" appear ### Step 3 - Actions 1. Open the Settings tab 2. Go to the Actions section (left side of window) 3. Click "+ Add new" button (right side of window) 4. Click on the drop down and type "M" 5. Scroll the list towards the bottom until it shows "Move tab backward" and "Move tab forward" ### Expected Behavior All three places (Command Palette, Actions list and Tab Header context menu) should display the very same name for the same actions . ### Actual Behavior The Actions list and Command Palette are using different names when compared to the Tab Header Context Menu. Thank you in advance for your support !
claunia added the Help WantedArea-SettingsIssue-TaskNeeds-Tag-FixProduct-Terminal labels 2026-01-31 08:44:12 +00:00
Author
Owner

@Hassan9255 commented on GitHub (Aug 10, 2025):

can i try it?

@Hassan9255 commented on GitHub (Aug 10, 2025): can i try it?
Author
Owner

@MichelNolard commented on GitHub (Aug 11, 2025):

Hello Hassan9255,

can i try it?

The section "Steps to reproduce" in the first message tells you the procedure to make the issue quite obvious.

Regards

@MichelNolard commented on GitHub (Aug 11, 2025): Hello [Hassan9255](https://github.com/Hassan9255), > can i try it? The section "_**Steps to reproduce**_" in the first message tells you the procedure to make the issue quite obvious. Regards
Author
Owner

@Hassan9255 commented on GitHub (Aug 11, 2025):

Can you Assign it to me?

@Hassan9255 commented on GitHub (Aug 11, 2025): Can you Assign it to me?
Author
Owner

@carlos-zamora commented on GitHub (Aug 13, 2025):

Easy enough. We just need to be careful with the wording. Users may be used to searching for "Move tab backward" and "Move tab forward", so if they can't find it, that'll be a problem.

Suggested new wording:

  • "Move tab backward (left)"
  • "Move tab forward (right)"

And this should be applied to both the context menu and command palette.

@carlos-zamora commented on GitHub (Aug 13, 2025): Easy enough. We just need to be careful with the wording. Users may be used to searching for "Move tab backward" and "Move tab forward", so if they can't find it, that'll be a problem. Suggested new wording: - "Move tab backward (left)" - "Move tab forward (right)" And this should be applied to both the context menu and command palette.
Author
Owner

@DHowett commented on GitHub (Aug 13, 2025):

should be applied to both the context menu

i don't think this matters. menu items are supposed to be succinct. command palette items can be longer.

@DHowett commented on GitHub (Aug 13, 2025): > should be applied to both the context menu i don't think this matters. menu items are supposed to be succinct. command palette items can be longer.
Author
Owner

@MichelNolard commented on GitHub (Aug 14, 2025):

There are several constraints at stake here :

  • do not confuse or mislead the user
  • keep a logical link with the underlying desktop metaphor
  • keep consistent with other tools from the same manufacturer
  • help new users to get quickly at ease with a new tool
  • avoid messing the existing user habits

About the metaphor and not confusing the user

Moreover, Windows Terminal does not exist in the void : its windows are flying over the desktop with some other windows. They are perceived as stacked, some above and some below the current one. This gives to the user the feel that the orientation of the depth axis is perpendicularly to the screen. As tabs are perceived as part of that Windows Terminal window, going forward or backward would be felt as moving on that depth axis which would confuse the user as it is not the case.

The tab headers are located on a single linear horizontal axis in most (if not all) of the use cases. This is a line without an arrow to point towards the progression direction. Apart from opening and closing tabs, there is no other way to feel the progress on that axis. For instance, there is no feeling of a strong "time" component for that axis, as in a video editing application. Thus the user shouldn't be expected to feel it in that way.

The metaphor of the roller deck stack of cards is a long gone memory, very few people are still knowing it today. Moving along that depth axis is obvious only for those person still remembering it.

About the consistency with other tools

Other tools from Microsoft : Visual Studio Code is using the terms "left" and "right" in its command palette.
Other tools : Notepad++ uses the terms "left" and "right"

About existing user habits

[...] Users may be used to searching for "Move tab backward" and "Move tab forward", so if they can't find it, that'll be a problem.
@carlos-zamora, you made a point there, but @DHowett is right as well saying :
[...] menu items are supposed to be succinct. command palette items can be longer.

I guess things should be turned upside down :

  1. In the context menu, keep "Move tab left" and "Move tab right" as is.
  2. In the command palette, use a longer form "Move tab left (backward)" and "Move tab right (forward)".

I thought about having 2 distinct entries in the command palette for the same action, but I don't think it is easy on a technical level, and don't want to open the door to a more cluttered commands list.

What do you think ?

@MichelNolard commented on GitHub (Aug 14, 2025): There are several constraints at stake here : * do not confuse or mislead the user * keep a logical link with the underlying desktop metaphor * keep consistent with other tools from the same manufacturer * help new users to get quickly at ease with a new tool * avoid messing the existing user habits ### About the metaphor and not confusing the user Moreover, Windows Terminal does not exist in the void : its windows are flying over the desktop with some other windows. They are perceived as stacked, some above and some below the current one. This gives to the user the feel that the orientation of the depth axis is perpendicularly to the screen. As tabs are perceived as part of that Windows Terminal window, going forward or backward would be felt as moving on that depth axis which would confuse the user as it is not the case. The tab headers are located on a single linear horizontal axis in most (if not all) of the use cases. This is a line without an arrow to point towards the progression direction. Apart from opening and closing tabs, there is no other way to feel the progress on that axis. For instance, there is no feeling of a strong "time" component for that axis, as in a video editing application. Thus the user shouldn't be expected to feel it in that way. The metaphor of the roller deck stack of cards is a long gone memory, very few people are still knowing it today. Moving along that depth axis is obvious only for those person still remembering it. ### About the consistency with other tools Other tools from Microsoft : Visual Studio Code is using the terms "left" and "right" in its command palette. Other tools : Notepad++ uses the terms "left" and "right" ### About existing user habits > [...] Users may be used to searching for "Move tab backward" and "Move tab forward", so if they can't find it, that'll be a problem. @[carlos-zamora](https://github.com/carlos-zamora), you made a point there, but @[DHowett](https://github.com/DHowett) is right as well saying : > [...] menu items are supposed to be succinct. command palette items can be longer. I guess things should be turned upside down : 1. In the context menu, keep "Move tab left" and "Move tab right" as is. 2. In the command palette, use a longer form "Move tab left (backward)" and "Move tab right (forward)". I thought about having 2 distinct entries in the command palette for the same action, but I don't think it is easy on a technical level, and don't want to open the door to a more cluttered commands list. What do you think ?
Author
Owner

@carlos-zamora commented on GitHub (Aug 19, 2025):

I thought about having 2 distinct entries in the command palette for the same action, but I don't think it is easy on a technical level, and don't want to open the door to a more cluttered commands list.

Yeah, unfortunately, I think that's not possible given our current settings model architecture (and I don't think that's something we'd be interested in, frankly). Actions are stored with a unique action ID to specifically make it so that they have a single name. That way, when a user provides a name in their settings.json, the provided name is preferred and used throughout the app. What happened here is that the context menu has a context menu item with a custom string that points to an action, when invoked.

As tabs are perceived as part of that Windows Terminal window, going forward or backward would be felt as moving on that depth axis which would confuse the user as it is not the case...
I guess things should be turned upside down :

  1. In the context menu, keep "Move tab left" and "Move tab right" as is.
  2. In the command palette, use a longer form "Move tab left (backward)" and "Move tab right (forward)".

What do you think ?

Yeah, that's fair. I agree with you and Dustin. Let's keep the context menu as is, but update the command palette to the new values. This way, users can find the actions if they begin typing any of the following:

  • Move tab left/right
  • Move tab forward/backward

The name for the action is generated here: 837e86c18c/src/cascadia/TerminalSettingsModel/ActionArgs.cpp (L669-L691)

The relevant localized strings are stored here: 837e86c18c/src/cascadia/TerminalSettingsModel/Resources/en-US/Resources.resw (L184C15-L189)

That should be just about everything that needs to be updated. We have a system in place to translate the strings from English to other languages, so no need to update the other resw files.

Hope this helps!

@carlos-zamora commented on GitHub (Aug 19, 2025): > I thought about having 2 distinct entries in the command palette for the same action, but I don't think it is easy on a technical level, and don't want to open the door to a more cluttered commands list. Yeah, unfortunately, I think that's not possible given our current settings model architecture (and I don't think that's something we'd be interested in, frankly). Actions are stored with a unique action ID to specifically make it so that they have a single name. That way, when a user provides a name in their settings.json, the provided name is preferred and used throughout the app. What happened here is that the context menu has a context menu item with a custom string that points to an action, when invoked. > As tabs are perceived as part of that Windows Terminal window, going forward or backward would be felt as moving on that depth axis which would confuse the user as it is not the case... > I guess things should be turned upside down : > 1. In the context menu, keep "Move tab left" and "Move tab right" as is. > 2. In the command palette, use a longer form "Move tab left (backward)" and "Move tab right (forward)". > > What do you think ? Yeah, that's fair. I agree with you and Dustin. Let's keep the context menu as is, but update the command palette to the new values. This way, users can find the actions if they begin typing any of the following: - Move tab left/right - Move tab forward/backward The name for the action is generated here: https://github.com/microsoft/terminal/blob/837e86c18c3d0e032251c73cbda7abe81e04b4ac/src/cascadia/TerminalSettingsModel/ActionArgs.cpp#L669-L691 The relevant localized strings are stored here: https://github.com/microsoft/terminal/blob/837e86c18c3d0e032251c73cbda7abe81e04b4ac/src/cascadia/TerminalSettingsModel/Resources/en-US/Resources.resw#L184C15-L189 That should be just about everything that needs to be updated. We have a system in place to translate the strings from English to other languages, so no need to update the other resw files. Hope this helps!
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#23507