Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: Added experimental terminal integration #13631

Open
wants to merge 52 commits into
base: main
Choose a base branch
from

Conversation

gave92
Copy link
Member

@gave92 gave92 commented Nov 1, 2023

Resolved / Related Issues

  • Were these changes approved in an issue or discussion with the project maintainers? In order to prevent extra work, feature requests and changes to the codebase must be approved before the pull request will be reviewed. This prevents extra work for the contributors and maintainers.
    Closes Feature: Add terminal Integration #6235

Validation
How did you test these changes?

  • Did you build the app and test your changes?

Screenshots (optional)
image

@files-community files-community locked and limited conversation to collaborators Nov 1, 2023
@gave92
Copy link
Member Author

gave92 commented May 1, 2024

I've added a setting under Experimental to enable/disable the feature (default: off). The feature may be good enough for first release :)

@yaira2 yaira2 changed the title Feature: Added terminal integration Feature: Added experimental terminal integration May 1, 2024
@yaira2
Copy link
Member

yaira2 commented May 1, 2024

I had some notes on this but I'll have another look since it's been a while.

@yaira2
Copy link
Member

yaira2 commented May 1, 2024

The main point to figure out before merging is whether the terminal is global, or if there can be a separate terminal for each tab & pane. I lean towards the second option (similar to VS Code).

@gave92 gave92 marked this pull request as draft May 2, 2024 06:56
@gave92
Copy link
Member Author

gave92 commented May 2, 2024

Holding off while @hez2010 checks if it's possible to use Windows Terminal control.

@gave92
Copy link
Member Author

gave92 commented May 8, 2024

Added ability to have more than one terminal 😇

@yaira2 yaira2 self-assigned this May 8, 2024
@yaira2
Copy link
Member

yaira2 commented May 8, 2024

Switching between terminals is working nicely!

@gave92 gave92 marked this pull request as ready for review May 9, 2024 05:29
Copy link
Contributor

@XTorLukas XTorLukas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would just add localized text and tooltip to the buttons 😊

Command="{x:Bind MainPageViewModel.TerminalAddCommand, Mode=OneWay}">
<SplitButton.Content>
<TextBlock FontSize="12">
<Run Text="Add" />
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<Run Text="Add" />
<Run Text="{helpers:ResourceString Name=Add}" />

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Correction of text localization

<SplitButton.Content>
<StackPanel Orientation="Horizontal" Spacing="8">
<FontIcon FontSize="12" Glyph="&#xE756;" />
<TextBlock Text="Terminal" />
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<TextBlock Text="Terminal" />
<TextBlock
Text="{helpers:ResourceString Name=Terminal}"
ToolTipService.ToolTip="{helpers:ResourceString Name=ToggleShowTerminal}"/>

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Correction of text localization and add tooltip

@@ -3838,4 +3838,7 @@
<data name="EditInNotepadDescription" xml:space="preserve">
<value>Edit the selected file in Notepad</value>
</data>
<data name="SettingsTerminalIntegration" xml:space="preserve">
<value>Enable Terminal integration</value>
</data>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
</data>
</data>
<data name="SyncFolderDown" xml:space="preserve">
<value>Down</value>
</data>
<data name="SyncFolderUp" xml:space="preserve">
<value>Up</value>
</data>
<data name="Terminal" xml:space="preserve">
<value>Terminal</value>
</data>
<data name="ToggleShowTerminal" xml:space="preserve">
<value>Toggle show Terminal</value>
</data>

Adding new keys

Copy link
Contributor

@XTorLukas XTorLukas May 25, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But the name for SyncFolderDown --> Down? I don't know how to specify, maybe 'Return path' / 'Go back'
The same goes for SyncFolderUp --> Up? Maybe 'Use path' / 'Sync path' / 'Use this path'
But it will be localized

Click="TerminalCloseButton_Click"
Tag="{x:Bind Id}"
ToolTipService.ToolTip="{helpers:ResourceString Name=Close}">
<FontIcon FontSize="12" Glyph="&#xE74D;" />
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<FontIcon FontSize="12" Glyph="&#xE74D;" />
<FontIcon FontSize="12" Glyph="&#xE711;" />

Use close symbol
image

x:Load="{x:Bind MainPageViewModel.IsTerminalViewOpen, Mode=OneWay}"
Background="Transparent"
BorderBrush="Transparent"
Command="{x:Bind MainPageViewModel.TerminalSyncDownCommand}">
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Command="{x:Bind MainPageViewModel.TerminalSyncDownCommand}">
Command="{x:Bind MainPageViewModel.TerminalSyncDownCommand}"
ToolTipService.ToolTip="{helpers:ResourceString Name=SyncFolderDown}">

Add localized tooltip

x:Load="{x:Bind MainPageViewModel.IsTerminalViewOpen, Mode=OneWay}"
Background="Transparent"
BorderBrush="Transparent"
Command="{x:Bind MainPageViewModel.TerminalSyncUpCommand}">
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Command="{x:Bind MainPageViewModel.TerminalSyncUpCommand}">
Command="{x:Bind MainPageViewModel.TerminalSyncUpCommand}"
ToolTipService.ToolTip="{helpers:ResourceString Name=SyncFolderUp}">

Add localized tooltip

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Feature: Add terminal Integration
6 participants