Compare commits

...
23 changed files with 7677 additions and 3042 deletions

No files matched your search

+1 -1
View File
@@ -20,4 +20,4 @@ jobs:
uses: warrenbuckley/Setup-MSBuild@v1
- name: MSBuild
run: msbuild FluentTerminal.sln -t:build -p:Configuration=Debug -p:Platform=x64 -p:AppxPackage=false -m -restore
run: msbuild FluentTerminal.sln -t:build -p:Configuration=Debug -p:Platform=x64 -m -restore
@@ -436,6 +436,15 @@
<ItemGroup>
<PRIResource Include="Strings\zh-Hans\Resources.resw" />
</ItemGroup>
<ItemGroup>
<PRIResource Include="Strings\fa\Resources.resw" />
</ItemGroup>
<ItemGroup>
<PRIResource Include="Strings\hu\Resources.resw" />
</ItemGroup>
<ItemGroup>
<PRIResource Include="Strings\tr\Resources.resw" />
</ItemGroup>
<PropertyGroup Condition=" '$(VisualStudioVersion)' == '' or '$(VisualStudioVersion)' &lt; '14.0' ">
<VisualStudioVersion>14.0</VisualStudioVersion>
</PropertyGroup>
@@ -16,9 +16,11 @@ namespace FluentTerminal.App.Services
["de"] = "Deutsch",
["en"] = "English",
["es"] = "Español",
["fa"] = "فارسی",
["fr"] = "Français",
["he"] = "עברית",
["hi"] = "हिन्दुस्तानी",
["hu"] = "magyar",
["id"] = "Bahasa Indonesia",
["it"] = "Italiano",
["ja"] = "日本語",
@@ -28,9 +30,10 @@ namespace FluentTerminal.App.Services
["pt-BR"] = "Português-Brasil",
["ro"] = "Română",
["ru"] = "Pусский",
["tr"] = "Türkçe",
["uk"] = "Українська",
["zh-Hans"] = "繁體中文",
["zh-Hant"] = "简体中文"
["zh-Hans"] = "简体中文",
["zh-Hant"] = "繁體中文"
};
public IEnumerable<string> Languages => _languages.Values;
File diff suppressed because it is too large. Load diff
+4 -4
View File
@@ -1058,7 +1058,7 @@ Fuzzy</comment>
<value>Lancer une session dans une nouvelle fenêtre.</value>
</data>
<data name="AppMenuType.Text" xml:space="preserve">
<value>Application menu type</value>
<value>Type de menu d&apos;application</value>
</data>
<data name="AppMenuType_Flat.Content" xml:space="preserve">
<value>Plat, honorant le paramètre &quot;Ouvrir de nouveaux terminaux comme&quot;</value>
@@ -1106,12 +1106,12 @@ Fuzzy</comment>
<value>Copier la sélection ou coller</value>
</data>
<data name="UseBuffer" xml:space="preserve">
<value>Use smart buffer</value>
<value>Utiliser un tampon rapide</value>
</data>
<data name="RestartSession.Content" xml:space="preserve">
<value>Restart</value>
<value>Redémarrer</value>
</data>
<data name="SessionDisconnected.Text" xml:space="preserve">
<value>Session disconnected.</value>
<value>Restart</value>
</data>
</root>
File diff suppressed because it is too large. Load diff
+2 -2
View File
@@ -1059,9 +1059,9 @@ Fuzzy</comment>
<value>Usa smart buffer</value>
</data>
<data name="RestartSession.Content" xml:space="preserve">
<value>Restart</value>
<value>Riavvia</value>
</data>
<data name="SessionDisconnected.Text" xml:space="preserve">
<value>Session disconnected.</value>
<value>Sessione terminata.</value>
</data>
</root>
+12 -12
View File
@@ -1014,42 +1014,42 @@
<value>Activat de politică.</value>
</data>
<data name="BackgroundImage.Content" xml:space="preserve">
<value>Background image</value>
<value>Imagine de fundal</value>
</data>
<data name="AcrylicBackground.Header" xml:space="preserve">
<value>Use acrylic background</value>
<value>Folosiți fundal acrilic</value>
</data>
<data name="ConfirmDeleteBackgroundImage" xml:space="preserve">
<value>Are you sure you want to delete this background image?</value>
<value>Sigur doriți să ștergeți această imagine de fundal?</value>
</data>
<data name="Colors.Text" xml:space="preserve">
<value>Colors</value>
<value>Culori</value>
</data>
<data name="BrightColors.Text" xml:space="preserve">
<value>Bright colors</value>
<value>Culori deschise</value>
</data>
<data name="CopyLink" xml:space="preserve">
<value>Copy link</value>
<value>Copiere link</value>
</data>
<data name="SearchWithRegex.ToolTipService.ToolTip" xml:space="preserve">
<value>Regex</value>
</data>
<data name="SearchWholeWord.ToolTipService.ToolTip" xml:space="preserve">
<value>Whole word</value>
<value>Întregul cuvânt</value>
</data>
<data name="SearchCaseSensitive.ToolTipService.ToolTip" xml:space="preserve">
<value>Case sensitive</value>
<value>Potrivire litere</value>
</data>
<data name="MouseCopySelectionOrPaste.Content" xml:space="preserve">
<value>Copy selection or paste</value>
<value>Copiați selecția sau lipiți</value>
</data>
<data name="UseBuffer" xml:space="preserve">
<value>Use smart buffer</value>
<value>Folosiți tampon inteligent</value>
</data>
<data name="RestartSession.Content" xml:space="preserve">
<value>Restart</value>
<value>Repornire</value>
</data>
<data name="SessionDisconnected.Text" xml:space="preserve">
<value>Session disconnected.</value>
<value>Sesiunea a fost deconectată.</value>
</data>
</root>
File diff suppressed because it is too large. Load diff
@@ -971,13 +971,13 @@ Fuzzy</comment>
<value>最近</value>
</data>
<data name="NewTab_Description" xml:space="preserve">
<value>Opens default profile in a new tab.</value>
<value>在新标签打开默认配置。</value>
</data>
<data name="NewSshTab_Description" xml:space="preserve">
<value>从新标签页打开SSH或Mosh会话</value>
</data>
<data name="NewQuickTab_Description" xml:space="preserve">
<value>Opens &quot;Quick Launch&quot; dialog and starts session in a new tab.</value>
<value>打开“快速启动”对话框并在新标签中开启会话。</value>
</data>
<data name="Settings_Description" xml:space="preserve">
<value>打开设置页面</value>
@@ -989,19 +989,19 @@ Fuzzy</comment>
<value>最近打开的会话</value>
</data>
<data name="MenuItem_DefaultProfile_Description" xml:space="preserve">
<value>Starts new terminal session based on the default profile.</value>
<value>基于默认配置开启新的终端会话。</value>
</data>
<data name="MenuItem_Remote_Text" xml:space="preserve">
<value>远程连接</value>
</data>
<data name="MenuItem_Remote_Description" xml:space="preserve">
<value>Opens a dialog for launching a new SSH or Mosh terminal session.</value>
<value>打开对话框开启新的 SSH 或 Mosh 终端会话。</value>
</data>
<data name="MenuItem_QuickLaunch_Text" xml:space="preserve">
<value>快捷启动</value>
</data>
<data name="MenuItem_QuickLaunch_Description" xml:space="preserve">
<value>Opens a &quot;Quick Launch&quot; dialog for starting a new terminal session.</value>
<value>打开“快速启动”对话框并开启终端会话。</value>
</data>
<data name="MenuItem_NewWindow_Text" xml:space="preserve">
<value>新建窗口</value>
@@ -1016,13 +1016,13 @@ Fuzzy</comment>
<value>从新窗口启动会话</value>
</data>
<data name="AppMenuType.Text" xml:space="preserve">
<value>Application menu type</value>
<value>应用菜单类型</value>
</data>
<data name="AppMenuType_Flat.Content" xml:space="preserve">
<value>Flat, honoring &quot;Open new terminals as&quot; setting</value>
<value>扁平,荣耀的“打开新的终端”设置</value>
</data>
<data name="AppMenuType_Cascading.Content" xml:space="preserve">
<value>&quot;New Tab&quot; / &quot;New Window&quot; cascading</value>
<value>“新标签”/“新窗口”级联菜单</value>
</data>
<data name="Quit.Text" xml:space="preserve">
<value>退出</value>
@@ -1031,16 +1031,16 @@ Fuzzy</comment>
<value>退出关于</value>
</data>
<data name="EnabledByPolicy" xml:space="preserve">
<value>Enabled by policy.</value>
<value>根据策略启用。</value>
</data>
<data name="BackgroundImage.Content" xml:space="preserve">
<value>背景图片</value>
</data>
<data name="AcrylicBackground.Header" xml:space="preserve">
<value>Use acrylic background</value>
<value>使用亚克力背景</value>
</data>
<data name="ConfirmDeleteBackgroundImage" xml:space="preserve">
<value>Are you sure you want to delete this background image?</value>
<value>你确定你想要删除这个背景图片吗?</value>
</data>
<data name="Colors.Text" xml:space="preserve">
<value>颜色</value>
@@ -1055,13 +1055,13 @@ Fuzzy</comment>
<value>正则表达式</value>
</data>
<data name="SearchWholeWord.ToolTipService.ToolTip" xml:space="preserve">
<value>Whole word</value>
<value>全字匹配</value>
</data>
<data name="SearchCaseSensitive.ToolTipService.ToolTip" xml:space="preserve">
<value>大小写敏感</value>
</data>
<data name="MouseCopySelectionOrPaste.Content" xml:space="preserve">
<value>Copy selection or paste</value>
<value>复制或者粘贴选中的文本</value>
</data>
<data name="UseBuffer" xml:space="preserve">
<value>Use smart buffer</value>
File diff suppressed because it is too large. Load diff
+1 -1
View File
@@ -35,7 +35,7 @@
Width="16"
Height="16"
Margin="6,0,0,0">
<FontIcon FontFamily="{StaticResource SymbolThemeFontFamily}" Glyph="&#xF78B;" />
<SymbolIcon Symbol="Find" />
</Viewbox>
<TextBox
Name="SearchTextBox"
File diff suppressed because it is too large. Load diff
+9 -9
View File
@@ -5,22 +5,22 @@
"main": "src/index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"build": "xcopy /y /s node_modules\\xterm\\css\\xterm.css dist\\ && xcopy /y /s src\\style.css dist\\ && xcopy /y /s src\\index.html dist\\ && cd node_modules/xterm && yarn && yarn package && cd ../.. && npx webpack --config webpack.config.js"
"build": "xcopy /y /s node_modules\\xterm\\css\\xterm.css dist\\ && xcopy /y /s src\\style.css dist\\ && xcopy /y /s src\\index.html dist\\ && npx webpack --config webpack.config.js"
},
"author": "FS Apps",
"license": "GPL-3.0",
"devDependencies": {
"ts-loader": "^6.0.2",
"typescript": "^3.5.1",
"webpack": "^4.29.6",
"webpack-cli": "^3.2.3"
"ts-loader": "^6.2.2",
"typescript": "^3.8.3",
"webpack": "^4.42.1",
"webpack-cli": "^3.3.11"
},
"dependencies": {
"xterm": "felixse/xterm.js#fix-edge-selection-color",
"xterm": "^4.5.0",
"xterm-addon-fit": "^0.3.0",
"xterm-addon-search": "^0.5.0",
"xterm-addon-serialize": "^0.1.2",
"xterm-addon-search": "^0.6.0",
"xterm-addon-serialize": "^0.2.0",
"xterm-addon-unicode11": "^0.1.1",
"xterm-addon-web-links": "^0.2.1"
"xterm-addon-web-links": "^0.3.0"
}
}
File diff suppressed because it is too large. Load diff
@@ -59,6 +59,7 @@
<TargetPlatformMinVersion>10.0.16299.0</TargetPlatformMinVersion>
<DefaultLanguage>en-US</DefaultLanguage>
<AppxPackageSigningEnabled>True</AppxPackageSigningEnabled>
<PackageCertificateKeyFile>FluentTerminal.App_StoreKey.pfx</PackageCertificateKeyFile>
<EntryPointProjectUniqueName>$(SolutionDir)FluentTerminal.App\FluentTerminal.App.csproj</EntryPointProjectUniqueName>
<GenerateAppInstallerFile>False</GenerateAppInstallerFile>
<AppxAutoIncrementPackageRevision>False</AppxAutoIncrementPackageRevision>
@@ -66,8 +67,7 @@
<AppxBundlePlatforms>x64</AppxBundlePlatforms>
<HoursBetweenUpdateChecks>0</HoursBetweenUpdateChecks>
<AppxPackageSigningTimestampDigestAlgorithm>SHA256</AppxPackageSigningTimestampDigestAlgorithm>
<PackageCertificateThumbprint>9E39FAC27F1AEA1BAC9BCF60FF29B32B354E0E93</PackageCertificateThumbprint>
<AppxPackageSigningTimestampServerUrl>http://timestamp.comodoca.com</AppxPackageSigningTimestampServerUrl>
<PackageCertificateThumbprint>8A5DE5B20B663BD6A99B44C5BA278289521F419F</PackageCertificateThumbprint>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
<AppxBundle>Always</AppxBundle>
+1 -1
View File
@@ -8,7 +8,7 @@
xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10"
IgnorableNamespaces="uap rescap desktop">
<Identity Name="53621FSApps.FluentTerminal" Publisher="CN=Felix Seidl, O=Felix Seidl, STREET=Kapellenstr. 4, L=Nürnberg, S=Bayern, PostalCode=90478, C=DE" Version="0.7.0.0" />
<Identity Name="53621FSApps.FluentTerminal" Publisher="CN=BDC72197-B634-438A-B863-16DCB7D90C85" Version="0.7.0.0" />
<Properties>
<DisplayName>Fluent Terminal</DisplayName>
+1 -1
View File
@@ -1,3 +1,3 @@
<default>
<qualifier name="Language" value="ar;ar-IQ;az;de;en;es;fr;he;hi;id;it;ja;ko;nl;pl;pt-BR;ro;ru;uk;zh-Hans;zh-Hant" />
<qualifier name="Language" value="ar;ar-IQ;az;de;en;es;fa;fr;he;hi;hu;id;it;ja;ko;nl;pl;pt-BR;ro;ru;tr;uk;zh-Hans;zh-Hant" />
</default>
@@ -53,6 +53,9 @@ namespace FluentTerminal.SystemTray
{
while (true)
{
// Allow CPU to jump between TerminalSessions' ReadingLoop Tasks
await Task.Delay(1).ConfigureAwait(false);
bool paused;
lock (_lock)
@@ -91,6 +91,11 @@ namespace FluentTerminal.SystemTray.Services.ConPty
_reader?.SetPaused(value);
}
~ConPtySession()
{
Dispose(false);
}
#region IDisposable Support
private bool _disposed;
@@ -113,6 +118,7 @@ namespace FluentTerminal.SystemTray.Services.ConPty
public void Dispose()
{
_terminal.Exited -= _terminal_Exited;
_terminal.OutputReady -= _terminal_OutputReady;
Dispose(true);
}
@@ -42,10 +42,19 @@ namespace FluentTerminal.SystemTray.Services.ConPty
ResizePseudoConsole(Handle, new COORD { X = (short)width, Y = (short)height });
}
private bool alreadyDisposed = false;
public void Dispose()
{
if (alreadyDisposed)
{
return;
}
ClosePseudoConsole(Handle);
GC.SuppressFinalize(this);
alreadyDisposed = true;
}
}
}
@@ -175,9 +175,12 @@ namespace FluentTerminal.SystemTray.Services.ConPty
if (disposeManaged)
{
ConsoleOutStream.Dispose();
// Dispose pseudo console before _consoleInputWriter to avoid
// hanging on call of ClosePseudoConsole
_pseudoConsole?.Dispose();
_consoleInputWriter?.Dispose();
_process?.Dispose();
_pseudoConsole?.Dispose();
_outputPipe?.Dispose();
_inputPipe?.Dispose();
}
+5 -2
View File
@@ -24,7 +24,8 @@ function DownloadLanguageFile($language, $directory)
}
DownloadLanguageFile "en"
DownloadLanguageFile "zh-CN" "zh-Hant"
DownloadLanguageFile "zh-TW" "zh-Hant"
DownloadLanguageFile "zh-Hans"
DownloadLanguageFile "de"
DownloadLanguageFile "es"
DownloadLanguageFile "fr"
@@ -43,4 +44,6 @@ DownloadLanguageFile "ko"
DownloadLanguageFile "az"
DownloadLanguageFile "ar"
DownloadLanguageFile "id"
DownloadLanguageFile "zh-Hans"
DownloadLanguageFile "fa"
DownloadLanguageFile "tr"
DownloadLanguageFile "hu"