Use default page transition for settings pages instead of drill-in transition #20789

Open
opened 2026-01-31 07:24:11 +00:00 by claunia · 2 comments
Owner

Originally created by @chausner on GitHub (Nov 11, 2023).

Description of the new feature/enhancement

The settings content frame currently specifies DrillInNavigationTransitionInfo as content transition mode: d14524cd4c/src/cascadia/TerminalSettingsEditor/MainPage.xaml (L179)

The drill-in effect, as its name suggests, is in my opinion suitable when navigating further down in a hierarchy (e.g. viewing a list of folders and navigating into a subfolder) but less appropriate when switching between settings pages which are on the same logical level.

Instead, I suggest to use the default page transition mode "slide from bottom", which is also used in the Windows Settings, and whose UI is very similar to the settings in Windows Terminal. By using the same transitions, Windows Terminal will feel more consistent with the inbuilt OS apps.

Proposed technical implementation details (optional)

Replace lines d14524cd4c/src/cascadia/TerminalSettingsEditor/MainPage.xaml (L177-L181) with

<NavigationThemeTransition />

(There is a difference between specifying <NavigationThemeTransition /> and not setting Frame.ContentTransitions at all. If it is not set at all, the Frame will still use the "slide from bottom" transition between page transitions as a default but it will not show the animation on initial displaying of the page. Since the Windows Settings app does show an animation on initial loading of the page, my suggestion is to do it here, as well.)

Originally created by @chausner on GitHub (Nov 11, 2023). # Description of the new feature/enhancement The settings content frame currently specifies `DrillInNavigationTransitionInfo` as content transition mode: https://github.com/microsoft/terminal/blob/d14524cd4cc4970bb1b6456f9667e2dd661b9854/src/cascadia/TerminalSettingsEditor/MainPage.xaml#L179 The drill-in effect, as its name suggests, is in my opinion suitable when navigating further down in a hierarchy (e.g. viewing a list of folders and navigating into a subfolder) but less appropriate when switching between settings pages which are on the same logical level. Instead, I suggest to use the default page transition mode "slide from bottom", which is also used in the Windows Settings, and whose UI is very similar to the settings in Windows Terminal. By using the same transitions, Windows Terminal will feel more consistent with the inbuilt OS apps. # Proposed technical implementation details (optional) Replace lines https://github.com/microsoft/terminal/blob/d14524cd4cc4970bb1b6456f9667e2dd661b9854/src/cascadia/TerminalSettingsEditor/MainPage.xaml#L177-L181 with ```xaml <NavigationThemeTransition /> ``` (There is a difference between specifying `<NavigationThemeTransition />` and not setting `Frame.ContentTransitions` at all. If it is not set at all, the Frame will still use the "slide from bottom" transition between page transitions as a default but it will not show the animation on initial displaying of the page. Since the Windows Settings app does show an animation on initial loading of the page, my suggestion is to do it here, as well.)
claunia added the Help WantedIssue-TaskProduct-TerminalArea-SettingsUI labels 2026-01-31 07:24:11 +00:00
Author
Owner

@zadjii-msft commented on GitHub (Nov 13, 2023):

This seems reasonable to me. We'd maybe want the SlideNavigationTransitionEffect.FromRight / FromLeft transitions when moving between the various different Profile subpages (same with the colorscheme ones), but this seems sensible to me

@zadjii-msft commented on GitHub (Nov 13, 2023): This seems reasonable to me. We'd maybe want the `SlideNavigationTransitionEffect.FromRight` / `FromLeft` transitions when moving between the various different Profile subpages (same with the colorscheme ones), but this seems sensible to me
Author
Owner

@zadjii-msft commented on GitHub (Nov 13, 2023):

Oh wait I remember this!

#10632

We should try to Suppress this when the tab is getting switched to.

@zadjii-msft commented on GitHub (Nov 13, 2023): Oh wait I remember this! #10632 We should try to Suppress this when the tab is getting switched to.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#20789