mirror of
https://github.com/Maximus5/ConEmu.git
synced 2025-05-09 01:01:08 +08:00
Compare commits
25 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
c8cebb921e | ||
![]() |
c5bf0fc82d | ||
![]() |
a06265da2a | ||
![]() |
389f78f20d | ||
![]() |
740b09c363 | ||
![]() |
90f76807d5 | ||
![]() |
bd4489e48b | ||
![]() |
bf2f25300c | ||
![]() |
dead3d3fc5 | ||
![]() |
b12b8f1771 | ||
![]() |
60683a1866 | ||
![]() |
36e157153b | ||
![]() |
d2d65e5e5a | ||
![]() |
0fd8b5c879 | ||
![]() |
8b88630383 | ||
![]() |
6736006a50 | ||
![]() |
51b8731c49 | ||
![]() |
3c6e8f29d2 | ||
![]() |
457752fabb | ||
![]() |
1dc80e9202 | ||
![]() |
03c48ab024 | ||
![]() |
a5620b3f13 | ||
![]() |
b38f2b4456 | ||
![]() |
cd9bb86360 | ||
![]() |
b57048d6c5 |
2
.github/CONTRIBUTING.md
vendored
2
.github/CONTRIBUTING.md
vendored
@ -27,7 +27,7 @@ Please read the [article on the official site](https://conemu.github.io/en/BadIs
|
|||||||
|
|
||||||
If you catch a bug in the Adobe Reader you would not report it on Microsoft Connect because you run Reader in Windows, would you?
|
If you catch a bug in the Adobe Reader you would not report it on Microsoft Connect because you run Reader in Windows, would you?
|
||||||
|
|
||||||
A lot of users say ‘It works in cygwin’ or ‘It works in git bash’, but since both of them uses the mintty terminal, it can exhibit different behavior. Read more in [Do not compare with Cygwin or Git Bash](#donotcompare).
|
A lot of users say ‘It works in cygwin’ or ‘It works in git bash’, but since both of them uses the mintty terminal, it can exhibit different behavior. Read more in [Do not compare with Cygwin or Git Bash](#do-not-compare-with-cygwin-or-git-bash).
|
||||||
|
|
||||||
|
|
||||||
##### TLDR;
|
##### TLDR;
|
||||||
|
4
.github/workflows/codeql-analysis.yml
vendored
4
.github/workflows/codeql-analysis.yml
vendored
@ -11,6 +11,10 @@ on:
|
|||||||
pull_request:
|
pull_request:
|
||||||
# The branches below must be a subset of the branches above
|
# The branches below must be a subset of the branches above
|
||||||
branches: [master, daily]
|
branches: [master, daily]
|
||||||
|
paths-ignore:
|
||||||
|
- '**/*.md'
|
||||||
|
- '**/*.txt'
|
||||||
|
- azure-pipelines.yml
|
||||||
schedule:
|
schedule:
|
||||||
- cron: '0 0 * * 2'
|
- cron: '0 0 * * 2'
|
||||||
|
|
||||||
|
2
Deploy/.gitignore
vendored
2
Deploy/.gitignore
vendored
@ -19,3 +19,5 @@ user_env.cmd
|
|||||||
|
|
||||||
downloads-*.txt
|
downloads-*.txt
|
||||||
downloads-*.json
|
downloads-*.json
|
||||||
|
|
||||||
|
.idea
|
||||||
|
@ -9,7 +9,9 @@ if exist "%~dp0user_env.cmd" (
|
|||||||
)
|
)
|
||||||
|
|
||||||
set ex7zlist=-x!*.7z -x!*.aps -x!*.bak -x!*.bdf -x!*.cache -x!*.cod -x!.codeblocks -x!*.exp -x!*.gz -x!*.hab -x!*.ilk -x!*.ipch -x!*.lib -x!*.log -x!*.msi -x!*.ncb -x!*.new -x!*.obj -x!*.opt -x!*.pdb -x!*.plg -x!*.plog -x!*.psess -x!*.pvd -x!*.sln.cache -x!*.suo -x!*.tgz -x!*.ttf -x!*.user -x!*.vsp -x!*.zip -x!*684.* -x!*sdf -x!.gitignore -x!.svn -x!curl-7.21.4 -x!Debug -x!enc_temp_folder -x!enc_temp_folder -x!gcc -x!kl_parts_gcc.* -x!makefile_lt_vc -x!MouseWheelTilt.reg -x!rebar.bmp -x!Thumbs.db -x!time2.exe -x!toolbar -x!VTune -x!WhatsNew-ConEmu-Portable.txt -x!PortableApps_Installer -x!UnitTests.cmd -x!.svnignore -x!*.o -x!!*.txt -x!*.VC.db
|
set ex7zlist=-x!*.7z -x!*.aps -x!*.bak -x!*.bdf -x!*.cache -x!*.cod -x!.codeblocks -x!*.exp -x!*.gz -x!*.hab -x!*.ilk -x!*.ipch -x!*.lib -x!*.log -x!*.msi -x!*.ncb -x!*.new -x!*.obj -x!*.opt -x!*.pdb -x!*.plg -x!*.plog -x!*.psess -x!*.pvd -x!*.sln.cache -x!*.suo -x!*.tgz -x!*.ttf -x!*.user -x!*.vsp -x!*.zip -x!*684.* -x!*sdf -x!.gitignore -x!.svn -x!curl-7.21.4 -x!Debug -x!enc_temp_folder -x!enc_temp_folder -x!gcc -x!kl_parts_gcc.* -x!makefile_lt_vc -x!MouseWheelTilt.reg -x!rebar.bmp -x!Thumbs.db -x!time2.exe -x!toolbar -x!VTune -x!WhatsNew-ConEmu-Portable.txt -x!PortableApps_Installer -x!UnitTests.cmd -x!.svnignore -x!*.o -x!!*.txt -x!*.VC.db
|
||||||
set ex7zpack=-x!ConEmu.Gui.map -x!ConEmu64.Gui.map -x!ConEmu\*.map -x!ConEmu\ConEmu.Addons -x!ConEmu\Portable -x!UnitTests -x!Logs -x!*.VC.db
|
|
||||||
|
set ex7zpack=-x!ConEmu.Gui.map -x!ConEmu64.Gui.map -x!ConEmu\*.map -x!ConEmu\ConEmu.Addons -x!ConEmu\Portable -x!UnitTests -x!Logs -x!Descript.ion -x!*.VC.db -x!Tests_*.exe -x!far
|
||||||
|
rem ex7zpack changes should be placed in deploy.cmd and Deploy_git.cmd
|
||||||
|
|
||||||
setlocal
|
setlocal
|
||||||
set ConEmuHooks=OFF
|
set ConEmuHooks=OFF
|
||||||
@ -61,7 +63,7 @@ rem if errorlevel 1 goto errcpy
|
|||||||
|
|
||||||
set "ConEmu_Maximus5_dbg_7z=%CONEMU_DEPLOY%Debug\ConEmu.Maximus5.%BUILD_NO%.dbg.7z"
|
set "ConEmu_Maximus5_dbg_7z=%CONEMU_DEPLOY%Debug\ConEmu.Maximus5.%BUILD_NO%.dbg.7z"
|
||||||
if exist "%ConEmu_Maximus5_dbg_7z%" del "%ConEmu_Maximus5_dbg_7z%"
|
if exist "%ConEmu_Maximus5_dbg_7z%" del "%ConEmu_Maximus5_dbg_7z%"
|
||||||
7z a -r "%ConEmu_Maximus5_dbg_7z%" Release\*.map Release\*.pdb
|
7z a -r "%ConEmu_Maximus5_dbg_7z%" Release\*.map Release\*.pdb -x!Release\far
|
||||||
if errorlevel 1 goto err7z
|
if errorlevel 1 goto err7z
|
||||||
|
|
||||||
set "ConEmuPack_7z=%CONEMU_DEPLOY%Pack\ConEmuPack.%BUILD_NO%.7z"
|
set "ConEmuPack_7z=%CONEMU_DEPLOY%Pack\ConEmuPack.%BUILD_NO%.7z"
|
||||||
@ -71,7 +73,9 @@ rem if exist ConEmu.map (
|
|||||||
rem if exist ConEmu1.map del ConEmu1.map
|
rem if exist ConEmu1.map del ConEmu1.map
|
||||||
rem ren ConEmu.map ConEmu1.map
|
rem ren ConEmu.map ConEmu1.map
|
||||||
rem )
|
rem )
|
||||||
|
echo on
|
||||||
7z a -r -mx=9 -ms=255f64m "%ConEmuPack_7z%" ConEmu*.exe ConEmu*.map ConEmu\* plugins\* %ex7zlist% %ex7zpack%
|
7z a -r -mx=9 -ms=255f64m "%ConEmuPack_7z%" ConEmu*.exe ConEmu*.map ConEmu\* plugins\* %ex7zlist% %ex7zpack%
|
||||||
|
@echo off
|
||||||
if errorlevel 1 goto err7z
|
if errorlevel 1 goto err7z
|
||||||
rem if exist ConEmu1.map ren ConEmu1.map ConEmu.map
|
rem if exist ConEmu1.map ren ConEmu1.map ConEmu.map
|
||||||
cd ..
|
cd ..
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
"""
|
"""
|
||||||
Prerequisities:
|
Prerequisities:
|
||||||
1. pip3 install PyYAML requests
|
1. pip3 install PyYAML requests transifex-python
|
||||||
2. set TX_TOKEN env.var. to your API token obtained at https://www.transifex.com/user/settings/api/
|
2. set TX_TOKEN env.var. to your API token obtained at https://www.transifex.com/user/settings/api/
|
||||||
|
|
||||||
Add new language, e.g. Polish:
|
Add new language, e.g. Polish:
|
||||||
@ -30,6 +30,7 @@ import yaml # PyYAML | PyYAML.Yandex
|
|||||||
from collections import OrderedDict
|
from collections import OrderedDict
|
||||||
from enum import Enum
|
from enum import Enum
|
||||||
from requests.auth import HTTPBasicAuth
|
from requests.auth import HTTPBasicAuth
|
||||||
|
from transifex.api import transifex_api as tapi
|
||||||
|
|
||||||
|
|
||||||
def parse_args():
|
def parse_args():
|
||||||
@ -337,10 +338,12 @@ class Transifex:
|
|||||||
|
|
||||||
def pull(self, lang_id):
|
def pull(self, lang_id):
|
||||||
print('Pulling language {} from Transifex'.format(lang_id))
|
print('Pulling language {} from Transifex'.format(lang_id))
|
||||||
result = requests.get(
|
# https://developers.transifex.com/reference/api-python-sdk
|
||||||
'{}/translation/{}/?{}'.format(
|
tapi.setup(auth=self.tx_token)
|
||||||
self.base_url, lang_id, self.file_format),
|
resource = tapi.Resource.get(project="o:conemu:p:conemu-sources")
|
||||||
auth=HTTPBasicAuth('api', self.tx_token))
|
language = tapi.Language.get(f"l:{lang_id}")
|
||||||
|
download_url = tapi.ResourceTranslationsAsyncDownload.download(resource=resource, language=language)
|
||||||
|
result = requests.get(download_url)
|
||||||
print(' TX result: %s' % result.status_code)
|
print(' TX result: %s' % result.status_code)
|
||||||
if result.status_code == 200:
|
if result.status_code == 200:
|
||||||
# print(result.encoding)
|
# print(result.encoding)
|
||||||
|
@ -14,6 +14,7 @@ pushd "%~dp0.."
|
|||||||
|
|
||||||
set L10N_PATH=Release/ConEmu/ConEmu.l10n
|
set L10N_PATH=Release/ConEmu/ConEmu.l10n
|
||||||
|
|
||||||
|
echo Calling "%PYTHON3%" "%~dp0l10n.py" --l10n %L10N_PATH% --tx-pull all --write-l10n
|
||||||
call "%PYTHON3%" "%~dp0l10n.py" --l10n %L10N_PATH% --tx-pull all --write-l10n
|
call "%PYTHON3%" "%~dp0l10n.py" --l10n %L10N_PATH% --tx-pull all --write-l10n
|
||||||
if errorlevel 1 (
|
if errorlevel 1 (
|
||||||
echo [1;31;40mFailed to load updated translations from transifex[0m
|
echo [1;31;40mFailed to load updated translations from transifex[0m
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
[Version]
|
[Version]
|
||||||
PackageVersion=22.8.7.0
|
PackageVersion=23.7.24.0
|
||||||
DisplayVersion=220807
|
DisplayVersion=230724
|
||||||
|
|
||||||
[Format]
|
[Format]
|
||||||
Type=PortableApps.comFormat
|
Type=PortableApps.comFormat
|
||||||
|
@ -1475,6 +1475,8 @@
|
|||||||
"cbIntegralSize": {
|
"cbIntegralSize": {
|
||||||
"en": [ "When checked, ConEmu windows size is changed proportionally to console cells.\n"
|
"en": [ "When checked, ConEmu windows size is changed proportionally to console cells.\n"
|
||||||
, "Option is disabled automatically for Quake and Inside modes, and for 100% window width or height." ],
|
, "Option is disabled automatically for Quake and Inside modes, and for 100% window width or height." ],
|
||||||
|
"es": [ "Cuando está habilitado, el tamaño de las ventanas de ConEmu se cambia proporcionalmente a las celdas de la consola.\n"
|
||||||
|
, "Esta opción se deshabilita para los modos Quake y dentro, y si el ancho o el alto de la ventana es del 100%." ],
|
||||||
"pl": [ "Gdy zaznaczone, rozmiar okien ConEmu jest zmieniany proporcjonalnie do komórek konsoli.\n"
|
"pl": [ "Gdy zaznaczone, rozmiar okien ConEmu jest zmieniany proporcjonalnie do komórek konsoli.\n"
|
||||||
, "Opcja jest automatycznie wyłączana w trybach Quake i Inside oraz dla 100% szerokości lub wysokości okna." ],
|
, "Opcja jest automatycznie wyłączana w trybach Quake i Inside oraz dla 100% szerokości lub wysokości okna." ],
|
||||||
"ko": [ "선택하면 콘솔 셀에 비례하여 ConEmu 창 크기가 변경됩니다.\n"
|
"ko": [ "선택하면 콘솔 셀에 비례하여 ConEmu 창 크기가 변경됩니다.\n"
|
||||||
@ -3503,6 +3505,7 @@
|
|||||||
,
|
,
|
||||||
"tFarHourglass": {
|
"tFarHourglass": {
|
||||||
"en": "Far Manager not-responding duration in milliseconds before changing mouse cursor to AppStarting",
|
"en": "Far Manager not-responding duration in milliseconds before changing mouse cursor to AppStarting",
|
||||||
|
"es": "Duración de no-respuesta de Far Manager en milisegundos antes de cambiar el cursor a InicioApp",
|
||||||
"pl": "Czas braku odpowiedzi Far Managera w ms przed zmianą kursora myszy na Uruchamianie aplikacji",
|
"pl": "Czas braku odpowiedzi Far Managera w ms przed zmianą kursora myszy na Uruchamianie aplikacji",
|
||||||
"ko": "마우스 커서를 AppStarting으로 변경하기 전 Far Manager가 응답하지 않는 밀리초 시간",
|
"ko": "마우스 커서를 AppStarting으로 변경하기 전 Far Manager가 응답하지 않는 밀리초 시간",
|
||||||
"ko_KR": "마우스 커서를 AppStarting으로 변경하기 전 Far Manager가 응답하지 않는 밀리초 시간",
|
"ko_KR": "마우스 커서를 AppStarting으로 변경하기 전 Far Manager가 응답하지 않는 밀리초 시간",
|
||||||
@ -5608,6 +5611,7 @@
|
|||||||
"en": "Show Edit context menu",
|
"en": "Show Edit context menu",
|
||||||
"ru": "Показать контекстное меню редактирования",
|
"ru": "Показать контекстное меню редактирования",
|
||||||
"zh": "显示编辑右键菜单",
|
"zh": "显示编辑右键菜单",
|
||||||
|
"es": "Mostrar el menú contextual Editar",
|
||||||
"pl": "Pokaż edycje menu kontekstowego",
|
"pl": "Pokaż edycje menu kontekstowego",
|
||||||
"it_IT": "Mostra menu Modifica",
|
"it_IT": "Mostra menu Modifica",
|
||||||
"ko": "상황에 맞는 메뉴 편집 표시",
|
"ko": "상황에 맞는 메뉴 편집 표시",
|
||||||
@ -5618,6 +5622,7 @@
|
|||||||
"en": "Show Edit context menu",
|
"en": "Show Edit context menu",
|
||||||
"ru": "Показать контекстное меню редактирования",
|
"ru": "Показать контекстное меню редактирования",
|
||||||
"zh": "显示编辑右键菜单",
|
"zh": "显示编辑右键菜单",
|
||||||
|
"es": "Mostrar el menú contextual Editar",
|
||||||
"pl": "Pokaż edycje menu kontekstowego",
|
"pl": "Pokaż edycje menu kontekstowego",
|
||||||
"it_IT": "Mostra menu Modifica",
|
"it_IT": "Mostra menu Modifica",
|
||||||
"ko": "상황에 맞는 메뉴 편집 표시",
|
"ko": "상황에 맞는 메뉴 편집 표시",
|
||||||
@ -6290,6 +6295,7 @@
|
|||||||
,
|
,
|
||||||
"vkSetFocusParent": {
|
"vkSetFocusParent": {
|
||||||
"en": "Set focus to the ConEmu parent window (ConEmu Inside mode)",
|
"en": "Set focus to the ConEmu parent window (ConEmu Inside mode)",
|
||||||
|
"es": "Centrar el foco en la ventana matriz de ConEmu (modo dentro de ConEmu)",
|
||||||
"pl": "Ustaw fokus na okno nadrzędne ConEmu (tryb ConEmu Inside)",
|
"pl": "Ustaw fokus na okno nadrzędne ConEmu (tryb ConEmu Inside)",
|
||||||
"ko": "ConEmu 부모 창에 포커스 설정 (ConEmu Inside 모드)",
|
"ko": "ConEmu 부모 창에 포커스 설정 (ConEmu Inside 모드)",
|
||||||
"ko_KR": "ConEmu 부모 창에 포커스 설정 (ConEmu Inside 모드)",
|
"ko_KR": "ConEmu 부모 창에 포커스 설정 (ConEmu Inside 모드)",
|
||||||
@ -6555,7 +6561,7 @@
|
|||||||
"zh": "显示 ConEmu 系统菜单 (fires on key down)",
|
"zh": "显示 ConEmu 系统菜单 (fires on key down)",
|
||||||
"_de": "Zeige ConEmu-Systemmenü",
|
"_de": "Zeige ConEmu-Systemmenü",
|
||||||
"_ja": "ConEmuシステムメニューを表示する",
|
"_ja": "ConEmuシステムメニューを表示する",
|
||||||
"_es": "Mostrar menú del sistema de ConEmu",
|
"es": "Mostrar el menú de sistema de ConEmu (se lanza al presionar la tecla)",
|
||||||
"pl": "Pokaż menu systemowe ConEmu (uruchamia się po naciśnięciu klawisza)",
|
"pl": "Pokaż menu systemowe ConEmu (uruchamia się po naciśnięciu klawisza)",
|
||||||
"ko": "ConEmu 시스템 메뉴 표시 (키를 누르면 실행 됨)",
|
"ko": "ConEmu 시스템 메뉴 표시 (키를 누르면 실행 됨)",
|
||||||
"ko_KR": "ConEmu 시스템 메뉴 표시 (키를 누르면 실행 됨)",
|
"ko_KR": "ConEmu 시스템 메뉴 표시 (키를 누르면 실행 됨)",
|
||||||
@ -6567,7 +6573,7 @@
|
|||||||
"zh": "显示 ConEmu 系统菜单 (fires on key release)",
|
"zh": "显示 ConEmu 系统菜单 (fires on key release)",
|
||||||
"_de": "Zeige ConEmu-Systemmenü",
|
"_de": "Zeige ConEmu-Systemmenü",
|
||||||
"_ja": "ConEmuシステムメニューを表示する",
|
"_ja": "ConEmuシステムメニューを表示する",
|
||||||
"_es": "Mostrar menú del sistema de ConEmu",
|
"es": "Mostrar el menú de sistema de ConEmu (se lanza al soltar la tecla)",
|
||||||
"pl": "Pokaż menu systemowe ConEmu (uruchamia się po zwolnieniu klawisza)",
|
"pl": "Pokaż menu systemowe ConEmu (uruchamia się po zwolnieniu klawisza)",
|
||||||
"ko": "ConEmu 시스템 메뉴 표시 (키를 놓으면 실행 됨)",
|
"ko": "ConEmu 시스템 메뉴 표시 (키를 놓으면 실행 됨)",
|
||||||
"ko_KR": "ConEmu 시스템 메뉴 표시 (키를 놓으면 실행 됨)",
|
"ko_KR": "ConEmu 시스템 메뉴 표시 (키를 놓으면 실행 됨)",
|
||||||
@ -7098,6 +7104,7 @@
|
|||||||
"en": "Alternative mode is off",
|
"en": "Alternative mode is off",
|
||||||
"ru": "Альтернативный режим выключен",
|
"ru": "Альтернативный режим выключен",
|
||||||
"zh": "替代模式 关闭",
|
"zh": "替代模式 关闭",
|
||||||
|
"es": "El modo alternativo está desactivado",
|
||||||
"pl": "Tryb alternatywny jest wyłączony",
|
"pl": "Tryb alternatywny jest wyłączony",
|
||||||
"it_IT": "La modalità alternativa è disattivata",
|
"it_IT": "La modalità alternativa è disattivata",
|
||||||
"ko": "대체 모드가 꺼짐",
|
"ko": "대체 모드가 꺼짐",
|
||||||
@ -7108,6 +7115,7 @@
|
|||||||
"en": "Alternative mode is ON (console frozen)",
|
"en": "Alternative mode is ON (console frozen)",
|
||||||
"ru": "Альтернативный режим включен (консоль заморожена)",
|
"ru": "Альтернативный режим включен (консоль заморожена)",
|
||||||
"zh": "替代模式 开启(控制台冻结)",
|
"zh": "替代模式 开启(控制台冻结)",
|
||||||
|
"es": "El modo alternativo está activado (consola congelada)",
|
||||||
"pl": "Tryb alternatywny jest włączony (konsola zawieszona)",
|
"pl": "Tryb alternatywny jest włączony (konsola zawieszona)",
|
||||||
"it_IT": "La modalità alternativa è ON (console bloccata)",
|
"it_IT": "La modalità alternativa è ON (console bloccata)",
|
||||||
"ko": "대체 모드가 켜짐 (콘솔 고정)",
|
"ko": "대체 모드가 켜짐 (콘솔 고정)",
|
||||||
@ -7240,6 +7248,7 @@
|
|||||||
"en": "BufferHeight mode is off",
|
"en": "BufferHeight mode is off",
|
||||||
"ru": "Режим BufferHeight выключен",
|
"ru": "Режим BufferHeight выключен",
|
||||||
"zh": "缓存高度模式 关闭",
|
"zh": "缓存高度模式 关闭",
|
||||||
|
"es": "Modo AlturaBuffer está desactivado",
|
||||||
"pl": "Tryb BufferHeight jest wyłączony",
|
"pl": "Tryb BufferHeight jest wyłączony",
|
||||||
"it_IT": "AltezzaDinamica disattiva",
|
"it_IT": "AltezzaDinamica disattiva",
|
||||||
"ko": "버퍼 높이 모드가 꺼짐",
|
"ko": "버퍼 높이 모드가 꺼짐",
|
||||||
@ -7250,6 +7259,7 @@
|
|||||||
"en": "BufferHeight mode is ON (scrolling enabled)",
|
"en": "BufferHeight mode is ON (scrolling enabled)",
|
||||||
"ru": "Режим BufferHeight включен (прокрутка включена)",
|
"ru": "Режим BufferHeight включен (прокрутка включена)",
|
||||||
"zh": "缓存高度模式 开启(滚动已启动)",
|
"zh": "缓存高度模式 开启(滚动已启动)",
|
||||||
|
"es": "Modo AlturaBuffer está activado (scroll habilitado)",
|
||||||
"pl": "Tryb BufferHeight jest włączony (przewijanie włączone)",
|
"pl": "Tryb BufferHeight jest włączony (przewijanie włączone)",
|
||||||
"it_IT": "AltezzaDinamica attiva (scorrimento abilitato)",
|
"it_IT": "AltezzaDinamica attiva (scorrimento abilitato)",
|
||||||
"ko": "버퍼 높이 모드가 켜짐 (스크롤 사용 가능)",
|
"ko": "버퍼 높이 모드가 켜짐 (스크롤 사용 가능)",
|
||||||
@ -7261,6 +7271,7 @@
|
|||||||
"ru": "Закрыть ВСЕ консоли",
|
"ru": "Закрыть ВСЕ консоли",
|
||||||
"zh": "关闭所有控制台",
|
"zh": "关闭所有控制台",
|
||||||
"de": "ALLE Konsolen schließen",
|
"de": "ALLE Konsolen schließen",
|
||||||
|
"es": "Cerrar todas las consolas",
|
||||||
"pl": "Zamknij WSZYSTKIE konsole",
|
"pl": "Zamknij WSZYSTKIE konsole",
|
||||||
"it_IT": "Chiudi TUTTE le console",
|
"it_IT": "Chiudi TUTTE le console",
|
||||||
"ko": "모든 콘솔 닫기",
|
"ko": "모든 콘솔 닫기",
|
||||||
@ -7272,6 +7283,7 @@
|
|||||||
"ru": "Закрыть только активную консоль",
|
"ru": "Закрыть только активную консоль",
|
||||||
"zh": "只关闭活动的控制台",
|
"zh": "只关闭活动的控制台",
|
||||||
"de": "Nur aktive Konsole schließen",
|
"de": "Nur aktive Konsole schließen",
|
||||||
|
"es": "Cerrar sólo consola activa",
|
||||||
"pl": "Zamknij tylko aktywną konsolę",
|
"pl": "Zamknij tylko aktywną konsolę",
|
||||||
"it_IT": "Chiudi solo le console attive",
|
"it_IT": "Chiudi solo le console attive",
|
||||||
"ko": "활성 콘솔만 닫기",
|
"ko": "활성 콘솔만 닫기",
|
||||||
@ -7283,6 +7295,7 @@
|
|||||||
"ru": "Закрыть",
|
"ru": "Закрыть",
|
||||||
"zh": "关闭",
|
"zh": "关闭",
|
||||||
"de": "Schließen",
|
"de": "Schließen",
|
||||||
|
"es": "Cerrar",
|
||||||
"pl": "Zamknij",
|
"pl": "Zamknij",
|
||||||
"it_IT": "Chiudi",
|
"it_IT": "Chiudi",
|
||||||
"ko": "닫기",
|
"ko": "닫기",
|
||||||
@ -7294,6 +7307,7 @@
|
|||||||
"ru": "Закрыть все",
|
"ru": "Закрыть все",
|
||||||
"zh": "全部关闭",
|
"zh": "全部关闭",
|
||||||
"de": "Alle schließen",
|
"de": "Alle schließen",
|
||||||
|
"es": "Cerrar todo",
|
||||||
"pl": "Zamknij wszystko",
|
"pl": "Zamknij wszystko",
|
||||||
"it_IT": "Chiudi tutto",
|
"it_IT": "Chiudi tutto",
|
||||||
"ko": "모두 닫기",
|
"ko": "모두 닫기",
|
||||||
@ -7305,6 +7319,7 @@
|
|||||||
"ru": "Закрыть 1 консоль",
|
"ru": "Закрыть 1 консоль",
|
||||||
"zh": "关闭一个控制台",
|
"zh": "关闭一个控制台",
|
||||||
"de": "1 Konsole schließen",
|
"de": "1 Konsole schließen",
|
||||||
|
"es": "Cerrar una consola",
|
||||||
"pl": "Zamknij 1 konsole",
|
"pl": "Zamknij 1 konsole",
|
||||||
"it_IT": "Chiudi 1 console",
|
"it_IT": "Chiudi 1 console",
|
||||||
"ko": "1 콘솔 닫기",
|
"ko": "1 콘솔 닫기",
|
||||||
@ -7316,6 +7331,7 @@
|
|||||||
"ru": "консоли",
|
"ru": "консоли",
|
||||||
"zh": "控制台",
|
"zh": "控制台",
|
||||||
"de": "Konsolen",
|
"de": "Konsolen",
|
||||||
|
"es": "consolas",
|
||||||
"pl": "konsole",
|
"pl": "konsole",
|
||||||
"it_IT": "console",
|
"it_IT": "console",
|
||||||
"ko": "콘솔",
|
"ko": "콘솔",
|
||||||
@ -7325,6 +7341,7 @@
|
|||||||
"lng_ConfirmCloseBtnGroup": {
|
"lng_ConfirmCloseBtnGroup": {
|
||||||
"en": "Close group of",
|
"en": "Close group of",
|
||||||
"zh": "关闭",
|
"zh": "关闭",
|
||||||
|
"es": "Cerrar grupo de",
|
||||||
"pl": "Zamknij grupe",
|
"pl": "Zamknij grupe",
|
||||||
"it_IT": "Chiudi gruppo di",
|
"it_IT": "Chiudi gruppo di",
|
||||||
"ko": "그룹 닫기",
|
"ko": "그룹 닫기",
|
||||||
@ -7336,6 +7353,7 @@
|
|||||||
"ru": "Подтвердить закрытие активного дочернего окна?",
|
"ru": "Подтвердить закрытие активного дочернего окна?",
|
||||||
"zh": "同意关闭活动的窗口?",
|
"zh": "同意关闭活动的窗口?",
|
||||||
"de": "Das Schließen des aktiven Unterfensters bestätigen?",
|
"de": "Das Schließen des aktiven Unterfensters bestätigen?",
|
||||||
|
"es": "¿Cerrar la consola hijo activa?",
|
||||||
"pl": "Czy potwierdzić zamknięcie aktywnego okna podrzędnego?",
|
"pl": "Czy potwierdzić zamknięcie aktywnego okna podrzędnego?",
|
||||||
"it_IT": "Conferma chiusura della finestra attiva?",
|
"it_IT": "Conferma chiusura della finestra attiva?",
|
||||||
"ko": "활성 자식 창을 닫으시겠습니까?",
|
"ko": "활성 자식 창을 닫으시겠습니까?",
|
||||||
@ -7347,6 +7365,7 @@
|
|||||||
"ru": "Подтвердить закрытие консоли?",
|
"ru": "Подтвердить закрытие консоли?",
|
||||||
"zh": "同意关闭控制台?",
|
"zh": "同意关闭控制台?",
|
||||||
"de": "Wollen Sie die Konsole wirklich schließen?",
|
"de": "Wollen Sie die Konsole wirklich schließen?",
|
||||||
|
"es": "¿Cerrar consola?",
|
||||||
"pl": "Potwierdź zamknięcie konsoli?",
|
"pl": "Potwierdź zamknięcie konsoli?",
|
||||||
"it_IT": "Conferma chiusura console?",
|
"it_IT": "Conferma chiusura console?",
|
||||||
"ko": "콘솔을 닫으시겠습니까?",
|
"ko": "콘솔을 닫으시겠습니까?",
|
||||||
@ -7358,6 +7377,7 @@
|
|||||||
"ru": "Подтвердить закрытие редактора Far?",
|
"ru": "Подтвердить закрытие редактора Far?",
|
||||||
"zh": "同意关闭 Far 编辑器?",
|
"zh": "同意关闭 Far 编辑器?",
|
||||||
"de": "Soll der FAR-Editor geschlossen werden?",
|
"de": "Soll der FAR-Editor geschlossen werden?",
|
||||||
|
"es": "¿Cerrar editor Far?",
|
||||||
"pl": "Potwierdź zamknięcie edytora Far?",
|
"pl": "Potwierdź zamknięcie edytora Far?",
|
||||||
"it_IT": "Conferma chiusura di editor Far?",
|
"it_IT": "Conferma chiusura di editor Far?",
|
||||||
"ko": "Far 편집기를 닫으시겠습니까?",
|
"ko": "Far 편집기를 닫으시겠습니까?",
|
||||||
@ -7369,6 +7389,7 @@
|
|||||||
"ru": "Подтвердить закрытие группы?",
|
"ru": "Подтвердить закрытие группы?",
|
||||||
"zh": "同意关闭?",
|
"zh": "同意关闭?",
|
||||||
"de": "Soll die Gruppe geschlossen werden?",
|
"de": "Soll die Gruppe geschlossen werden?",
|
||||||
|
"es": "¿Cerrar grupo?",
|
||||||
"pl": "Potwierdzić zamykającą grupę?",
|
"pl": "Potwierdzić zamykającą grupę?",
|
||||||
"it_IT": "Conferma chiusura gruppo?",
|
"it_IT": "Conferma chiusura gruppo?",
|
||||||
"ko": "그룹을 닫으시겠습니까?",
|
"ko": "그룹을 닫으시겠습니까?",
|
||||||
@ -7380,6 +7401,7 @@
|
|||||||
"ru": "Подтвердить закрытие Far viewer?",
|
"ru": "Подтвердить закрытие Far viewer?",
|
||||||
"zh": "同意关闭 Far 浏览器?",
|
"zh": "同意关闭 Far 浏览器?",
|
||||||
"de": "Soll der FAR-Viewer geschlossen werden?",
|
"de": "Soll der FAR-Viewer geschlossen werden?",
|
||||||
|
"es": "¿Cerrar visor Far?",
|
||||||
"pl": "Potwierdzić zamknięcie przeglądarki Far?",
|
"pl": "Potwierdzić zamknięcie przeglądarki Far?",
|
||||||
"it_IT": "Conferma chiusura di visualizzatore Far?",
|
"it_IT": "Conferma chiusura di visualizzatore Far?",
|
||||||
"ko": "Far 뷰어를 닫으시겠습니까?",
|
"ko": "Far 뷰어를 닫으시겠습니까?",
|
||||||
@ -7391,6 +7413,7 @@
|
|||||||
"ru": "Подтвердить закрытие?",
|
"ru": "Подтвердить закрытие?",
|
||||||
"zh": "同意关闭?",
|
"zh": "同意关闭?",
|
||||||
"de": "Soll ConEmu geschlossen werden?",
|
"de": "Soll ConEmu geschlossen werden?",
|
||||||
|
"es": "¿Cerrar?",
|
||||||
"pl": "Potwierdzasz zamknięcie?",
|
"pl": "Potwierdzasz zamknięcie?",
|
||||||
"it_IT": "Conferma chiusura?",
|
"it_IT": "Conferma chiusura?",
|
||||||
"ko": "닫으시겠습니까?",
|
"ko": "닫으시겠습니까?",
|
||||||
@ -7402,6 +7425,7 @@
|
|||||||
"ru": "Ничего не закрывать",
|
"ru": "Ничего не закрывать",
|
||||||
"zh": "不关闭任何东西",
|
"zh": "不关闭任何东西",
|
||||||
"de": "Nichts schließen",
|
"de": "Nichts schließen",
|
||||||
|
"es": "No cerrar nada",
|
||||||
"pl": "Nie zamykaj niczego",
|
"pl": "Nie zamykaj niczego",
|
||||||
"it_IT": "Non chiudere nulla",
|
"it_IT": "Non chiudere nulla",
|
||||||
"ko": "아무것도 닫지 않음",
|
"ko": "아무것도 닫지 않음",
|
||||||
@ -7413,6 +7437,7 @@
|
|||||||
"ru": "Незавершенные операции",
|
"ru": "Незавершенные операции",
|
||||||
"zh": "不完整的操作",
|
"zh": "不完整的操作",
|
||||||
"de": "Noch nicht beendete Prozesse",
|
"de": "Noch nicht beendete Prozesse",
|
||||||
|
"es": "Operaciones sin completar",
|
||||||
"pl": "Niekompletne operacje",
|
"pl": "Niekompletne operacje",
|
||||||
"it_IT": "Operazioni non complete",
|
"it_IT": "Operazioni non complete",
|
||||||
"ko": "불완전한 작업",
|
"ko": "불완전한 작업",
|
||||||
@ -7423,6 +7448,7 @@
|
|||||||
"en": "Terminate all but shell processes?",
|
"en": "Terminate all but shell processes?",
|
||||||
"ru": "Завершить все процессы, кроме оболочки?",
|
"ru": "Завершить все процессы, кроме оболочки?",
|
||||||
"zh": "终止除 shell 之外的所有进程?",
|
"zh": "终止除 shell 之外的所有进程?",
|
||||||
|
"es": "¿Terminar todo excepto los procesos del intérprete de comandos?",
|
||||||
"pl": "Zakończyć wszystkie procesy oprócz procesów powłoki?",
|
"pl": "Zakończyć wszystkie procesy oprócz procesów powłoki?",
|
||||||
"it_IT": "Chiudi tutti i processi non shell?",
|
"it_IT": "Chiudi tutti i processi non shell?",
|
||||||
"ko": "쉘 프로세스를 제외한 모든 프로세스를 종료하시겠습니까?",
|
"ko": "쉘 프로세스를 제외한 모든 프로세스를 종료하시겠습니까?",
|
||||||
@ -7432,6 +7458,7 @@
|
|||||||
"lng_ConfirmKillingQ": {
|
"lng_ConfirmKillingQ": {
|
||||||
"en": "Confirm killing?",
|
"en": "Confirm killing?",
|
||||||
"zh": "同意杀死?",
|
"zh": "同意杀死?",
|
||||||
|
"es": "¿Matar?",
|
||||||
"pl": "Potwierdzasz zabijanie?",
|
"pl": "Potwierdzasz zabijanie?",
|
||||||
"it_IT": "Conferma chiusura forzata?",
|
"it_IT": "Conferma chiusura forzata?",
|
||||||
"ko": "죽이시겠습니까?",
|
"ko": "죽이시겠습니까?",
|
||||||
@ -7443,6 +7470,7 @@
|
|||||||
"ru": "Несохраненные окна редактора",
|
"ru": "Несохраненные окна редактора",
|
||||||
"zh": "编辑窗口没有保存",
|
"zh": "编辑窗口没有保存",
|
||||||
"de": "Editor-Fenster mit nicht gespeicherten Änderungen",
|
"de": "Editor-Fenster mit nicht gespeicherten Änderungen",
|
||||||
|
"es": "Ventanas de editor sin salvar",
|
||||||
"pl": "Niezapisane okna edytora",
|
"pl": "Niezapisane okna edytora",
|
||||||
"it_IT": "Finestre editor non salvate",
|
"it_IT": "Finestre editor non salvate",
|
||||||
"ko": "저장되지 않은 편집기 창",
|
"ko": "저장되지 않은 편집기 창",
|
||||||
@ -7454,6 +7482,7 @@
|
|||||||
"ru": "Создать новую консоль",
|
"ru": "Создать новую консоль",
|
||||||
"zh": "创建新控制台",
|
"zh": "创建新控制台",
|
||||||
"de": "Neue Konsole erstellen",
|
"de": "Neue Konsole erstellen",
|
||||||
|
"es": "Crear nueva consola",
|
||||||
"pl": "Utwórz nową konsolę",
|
"pl": "Utwórz nową konsolę",
|
||||||
"it_IT": "Crea nuova console",
|
"it_IT": "Crea nuova console",
|
||||||
"ko": "새 콘솔 만들기",
|
"ko": "새 콘솔 만들기",
|
||||||
@ -7763,6 +7792,7 @@
|
|||||||
"ru": "Развернуть окно",
|
"ru": "Развернуть окно",
|
||||||
"zh": "最大化窗口",
|
"zh": "最大化窗口",
|
||||||
"de": "Fenster maximieren",
|
"de": "Fenster maximieren",
|
||||||
|
"es": "Maximizar ventana",
|
||||||
"pl": "Maksymalizuj okno",
|
"pl": "Maksymalizuj okno",
|
||||||
"it_IT": "Massimizza finestra",
|
"it_IT": "Massimizza finestra",
|
||||||
"ko": "창 최대화",
|
"ko": "창 최대화",
|
||||||
@ -7774,6 +7804,7 @@
|
|||||||
"ru": "О программе / Помощь",
|
"ru": "О программе / Помощь",
|
||||||
"zh": "关于(&a)/ 帮助",
|
"zh": "关于(&a)/ 帮助",
|
||||||
"de": "Ü&ber / Hilfe",
|
"de": "Ü&ber / Hilfe",
|
||||||
|
"es": "&Acerca de / Ayuda",
|
||||||
"pl": "& Informacje / Pomoc",
|
"pl": "& Informacje / Pomoc",
|
||||||
"it_IT": "Informazioni / &Aiuto",
|
"it_IT": "Informazioni / &Aiuto",
|
||||||
"ko": "정보/도움말(&A)",
|
"ko": "정보/도움말(&A)",
|
||||||
@ -7784,6 +7815,7 @@
|
|||||||
"en": "All task tabs",
|
"en": "All task tabs",
|
||||||
"ru": "Все вкладки задач",
|
"ru": "Все вкладки задач",
|
||||||
"zh": "所有任务标签",
|
"zh": "所有任务标签",
|
||||||
|
"es": "Todas las pestañas de tareas",
|
||||||
"pl": "Wszystkie zakładki zadań",
|
"pl": "Wszystkie zakładki zadań",
|
||||||
"ko": "모든 작업 탭",
|
"ko": "모든 작업 탭",
|
||||||
"ko_KR": "모든 작업 탭",
|
"ko_KR": "모든 작업 탭",
|
||||||
@ -7794,6 +7826,7 @@
|
|||||||
"ru": "Всегда сверху",
|
"ru": "Всегда сверху",
|
||||||
"zh": "置顶(%w)",
|
"zh": "置顶(%w)",
|
||||||
"de": "Immer im &Vordergrund",
|
"de": "Immer im &Vordergrund",
|
||||||
|
"es": "Siempre encima",
|
||||||
"pl": "Za&wsze na górze",
|
"pl": "Za&wsze na górze",
|
||||||
"it_IT": "Sempre in primo piano",
|
"it_IT": "Sempre in primo piano",
|
||||||
"ko": "항상 맨 위에(&W)",
|
"ko": "항상 맨 위에(&W)",
|
||||||
@ -7805,6 +7838,7 @@
|
|||||||
"ru": "Прикрепить к...",
|
"ru": "Прикрепить к...",
|
||||||
"zh": "附上...",
|
"zh": "附上...",
|
||||||
"de": "Anderes Fenster ankoppeln...",
|
"de": "Anderes Fenster ankoppeln...",
|
||||||
|
"es": "Fijar a...",
|
||||||
"pl": "Dołączyć do...",
|
"pl": "Dołączyć do...",
|
||||||
"it_IT": "Collegati a...",
|
"it_IT": "Collegati a...",
|
||||||
"ko": "첨부...",
|
"ko": "첨부...",
|
||||||
@ -7815,6 +7849,7 @@
|
|||||||
"en": "Auto scro&ll",
|
"en": "Auto scro&ll",
|
||||||
"ru": "Автопрокрутка",
|
"ru": "Автопрокрутка",
|
||||||
"zh": "自动滚动(&l)",
|
"zh": "自动滚动(&l)",
|
||||||
|
"es": "Desplazamiento automático",
|
||||||
"pl": "Auto Scro&ll",
|
"pl": "Auto Scro&ll",
|
||||||
"it_IT": "Scorrimento automatico",
|
"it_IT": "Scorrimento automatico",
|
||||||
"ko": "자동 스크롤(&L)",
|
"ko": "자동 스크롤(&L)",
|
||||||
@ -7825,6 +7860,7 @@
|
|||||||
"en": "Bring &here",
|
"en": "Bring &here",
|
||||||
"zh": "移动到这里(&H)",
|
"zh": "移动到这里(&H)",
|
||||||
"de": "Auf aktiven Bildschirm verschieben",
|
"de": "Auf aktiven Bildschirm verschieben",
|
||||||
|
"es": "Traer aquí",
|
||||||
"pl": "Przynieś &tutaj",
|
"pl": "Przynieś &tutaj",
|
||||||
"ko": "여기로 가져오기(&H)",
|
"ko": "여기로 가져오기(&H)",
|
||||||
"ko_KR": "여기로 가져오기(&H)",
|
"ko_KR": "여기로 가져오기(&H)",
|
||||||
@ -7835,6 +7871,7 @@
|
|||||||
"ru": "Сходство / приоритет...",
|
"ru": "Сходство / приоритет...",
|
||||||
"zh": "关系和优先级(&F)...",
|
"zh": "关系和优先级(&F)...",
|
||||||
"de": "Prozessor-&Zuordnung/Priorität",
|
"de": "Prozessor-&Zuordnung/Priorität",
|
||||||
|
"es": "Afinidad/prioridad",
|
||||||
"pl": "A&ffinity/ priorytet ...",
|
"pl": "A&ffinity/ priorytet ...",
|
||||||
"it_IT": "A&ffinità/priorità...",
|
"it_IT": "A&ffinità/priorità...",
|
||||||
"ko": "선호도/우선 순위(&F)...",
|
"ko": "선호도/우선 순위(&F)...",
|
||||||
@ -7846,6 +7883,7 @@
|
|||||||
"ru": "Проверить обновления",
|
"ru": "Проверить обновления",
|
||||||
"zh": "更新(&c)",
|
"zh": "更新(&c)",
|
||||||
"de": "Auf neue &Version prüfen",
|
"de": "Auf neue &Version prüfen",
|
||||||
|
"es": "&Comprobar actualizaciones",
|
||||||
"pl": "&Sprawdź aktualizacje",
|
"pl": "&Sprawdź aktualizacje",
|
||||||
"it_IT": "Controlla &aggiornamenti",
|
"it_IT": "Controlla &aggiornamenti",
|
||||||
"ko": "업데이트 확인(&C)",
|
"ko": "업데이트 확인(&C)",
|
||||||
@ -7857,6 +7895,7 @@
|
|||||||
"ru": "Дочернее системное меню...",
|
"ru": "Дочернее системное меню...",
|
||||||
"zh": "系统子菜单...",
|
"zh": "系统子菜单...",
|
||||||
"de": "Systemmenü des eingebetteten Fensters...",
|
"de": "Systemmenü des eingebetteten Fensters...",
|
||||||
|
"es": "Menú del sistema hijo...",
|
||||||
"pl": "Menu systemowe dla dzieci ...",
|
"pl": "Menu systemowe dla dzieci ...",
|
||||||
"ko": "자식 시스템 메뉴...",
|
"ko": "자식 시스템 메뉴...",
|
||||||
"ko_KR": "자식 시스템 메뉴...",
|
"ko_KR": "자식 시스템 메뉴...",
|
||||||
@ -7867,6 +7906,7 @@
|
|||||||
"ru": "Очистить историю...",
|
"ru": "Очистить историю...",
|
||||||
"zh": "清除日志...",
|
"zh": "清除日志...",
|
||||||
"de": "Verlauf leeren...",
|
"de": "Verlauf leeren...",
|
||||||
|
"es": "Borrar historial...",
|
||||||
"pl": "Czysta historia...",
|
"pl": "Czysta historia...",
|
||||||
"it_IT": "Pulisci cronologia...",
|
"it_IT": "Pulisci cronologia...",
|
||||||
"ko": "사용 내역 지우기...",
|
"ko": "사용 내역 지우기...",
|
||||||
@ -7878,6 +7918,7 @@
|
|||||||
"ru": "Закрыть консоль",
|
"ru": "Закрыть консоль",
|
||||||
"zh": "关闭控制台(&c)...",
|
"zh": "关闭控制台(&c)...",
|
||||||
"de": "Konsole s&chließen",
|
"de": "Konsole s&chließen",
|
||||||
|
"es": "&Cerrar consola",
|
||||||
"pl": "&Zamknij konsolę",
|
"pl": "&Zamknij konsolę",
|
||||||
"it_IT": "&Chiudi console",
|
"it_IT": "&Chiudi console",
|
||||||
"ko": "콘솔 닫기(&C)",
|
"ko": "콘솔 닫기(&C)",
|
||||||
@ -7889,6 +7930,7 @@
|
|||||||
"ru": "Закрыть группу вкладок",
|
"ru": "Закрыть группу вкладок",
|
||||||
"zh": "关闭标签组(&c)",
|
"zh": "关闭标签组(&c)",
|
||||||
"de": "Reiter-Gruppe s&chließen",
|
"de": "Reiter-Gruppe s&chließen",
|
||||||
|
"es": "&Cerrar grupo de pestañas",
|
||||||
"pl": "&Zamknij grupę kart",
|
"pl": "&Zamknij grupę kart",
|
||||||
"it_IT": "&Chiudi gruppo di schede",
|
"it_IT": "&Chiudi gruppo di schede",
|
||||||
"ko": "탭 그룹 닫기(&C)",
|
"ko": "탭 그룹 닫기(&C)",
|
||||||
@ -7900,6 +7942,7 @@
|
|||||||
"ru": "Закрыть вкладку",
|
"ru": "Закрыть вкладку",
|
||||||
"zh": "关闭标签(&c)",
|
"zh": "关闭标签(&c)",
|
||||||
"de": "Reiter s&chließen",
|
"de": "Reiter s&chließen",
|
||||||
|
"es": "&Cerrar pestaña",
|
||||||
"pl": "&Zamknij karte",
|
"pl": "&Zamknij karte",
|
||||||
"it_IT": "&Chiudi scheda",
|
"it_IT": "&Chiudi scheda",
|
||||||
"ko": "탭 닫기(&C)",
|
"ko": "탭 닫기(&C)",
|
||||||
@ -7911,6 +7954,7 @@
|
|||||||
"ru": "Копировать",
|
"ru": "Копировать",
|
||||||
"zh": "复制(&y)",
|
"zh": "复制(&y)",
|
||||||
"de": "&Kopieren",
|
"de": "&Kopieren",
|
||||||
|
"es": "Copiar",
|
||||||
"pl": "Kopiu&j",
|
"pl": "Kopiu&j",
|
||||||
"it_IT": "Cop&ia",
|
"it_IT": "Cop&ia",
|
||||||
"ko": "복사(&Y)",
|
"ko": "복사(&Y)",
|
||||||
@ -7922,6 +7966,7 @@
|
|||||||
"ru": "Копировать все",
|
"ru": "Копировать все",
|
||||||
"zh": "复制全部(&a)",
|
"zh": "复制全部(&a)",
|
||||||
"de": "&Alles kopieren",
|
"de": "&Alles kopieren",
|
||||||
|
"es": "Copiar todo",
|
||||||
"pl": "Kopiuj &wszystko",
|
"pl": "Kopiuj &wszystko",
|
||||||
"it_IT": "Copi&a tutto",
|
"it_IT": "Copi&a tutto",
|
||||||
"ko": "모두 복사(&A)",
|
"ko": "모두 복사(&A)",
|
||||||
@ -7933,6 +7978,7 @@
|
|||||||
"ru": "Только обычный текст",
|
"ru": "Только обычный текст",
|
||||||
"zh": "纯文字(&t)",
|
"zh": "纯文字(&t)",
|
||||||
"de": "Nur &Text kopieren",
|
"de": "Nur &Text kopieren",
|
||||||
|
"es": "Sólo texto plano",
|
||||||
"pl": "Zwykły &tylko tekst",
|
"pl": "Zwykły &tylko tekst",
|
||||||
"it_IT": "Solo &testo semplice",
|
"it_IT": "Solo &testo semplice",
|
||||||
"ko": "일반 텍스트만(&T)",
|
"ko": "일반 텍스트만(&T)",
|
||||||
@ -7944,6 +7990,7 @@
|
|||||||
"ru": "Копировать в HTML-формате",
|
"ru": "Копировать в HTML-формате",
|
||||||
"zh": "复制 &HTML 格式",
|
"zh": "复制 &HTML 格式",
|
||||||
"de": "Im &HTML-Format kopieren",
|
"de": "Im &HTML-Format kopieren",
|
||||||
|
"es": "Copiar formato HTML",
|
||||||
"pl": "Kopiuj &Format HTML",
|
"pl": "Kopiuj &Format HTML",
|
||||||
"it_IT": "Copia formato &HTML",
|
"it_IT": "Copia formato &HTML",
|
||||||
"ko": "HTML 형식 복사(&H)",
|
"ko": "HTML 형식 복사(&H)",
|
||||||
@ -7955,6 +8002,7 @@
|
|||||||
"ru": "Копировать как HTML",
|
"ru": "Копировать как HTML",
|
||||||
"zh": "复制成 HTML(&s)",
|
"zh": "复制成 HTML(&s)",
|
||||||
"de": "Al&s HTML-Quelltext kopieren",
|
"de": "Al&s HTML-Quelltext kopieren",
|
||||||
|
"es": "Copiar como HTML",
|
||||||
"pl": "Kopiuj plik& HTML",
|
"pl": "Kopiuj plik& HTML",
|
||||||
"it_IT": "Copia co&me HTML",
|
"it_IT": "Copia co&me HTML",
|
||||||
"ko": "HTML로 복사(&S)",
|
"ko": "HTML로 복사(&S)",
|
||||||
@ -7966,6 +8014,7 @@
|
|||||||
"ru": "Последовательности ANSI",
|
"ru": "Последовательности ANSI",
|
||||||
"zh": "A&NSI 序列",
|
"zh": "A&NSI 序列",
|
||||||
"de": "Text mit A&NSI-Sequenzen kopieren",
|
"de": "Text mit A&NSI-Sequenzen kopieren",
|
||||||
|
"es": "Secuencias ANSI",
|
||||||
"pl": "A&NSI sekwencje",
|
"pl": "A&NSI sekwencje",
|
||||||
"it_IT": "Sequenze A&NSI",
|
"it_IT": "Sequenze A&NSI",
|
||||||
"ko": "ANSI 시퀀스(&N)",
|
"ko": "ANSI 시퀀스(&N)",
|
||||||
@ -7977,6 +8026,7 @@
|
|||||||
"ru": "Найти текст...",
|
"ru": "Найти текст...",
|
||||||
"zh": "搜索(&f)",
|
"zh": "搜索(&f)",
|
||||||
"de": "Text s&uchen...",
|
"de": "Text s&uchen...",
|
||||||
|
"es": "Buscar texto",
|
||||||
"pl": "&Znajdź tekst...",
|
"pl": "&Znajdź tekst...",
|
||||||
"it_IT": "&Trova testo...",
|
"it_IT": "&Trova testo...",
|
||||||
"ko": "텍스트 찾기(&F)...",
|
"ko": "텍스트 찾기(&F)...",
|
||||||
@ -7988,6 +8038,7 @@
|
|||||||
"ru": "Отметить блок",
|
"ru": "Отметить блок",
|
||||||
"zh": "标记块(&b)",
|
"zh": "标记块(&b)",
|
||||||
"de": "&Bereich markieren",
|
"de": "&Bereich markieren",
|
||||||
|
"es": "Marcar bloque",
|
||||||
"pl": "Zaznacz &zablokuj",
|
"pl": "Zaznacz &zablokuj",
|
||||||
"ko": "블록 표시(&B)",
|
"ko": "블록 표시(&B)",
|
||||||
"ko_KR": "블록 표시(&B)",
|
"ko_KR": "블록 표시(&B)",
|
||||||
@ -7998,6 +8049,7 @@
|
|||||||
"ru": "Отметить текст",
|
"ru": "Отметить текст",
|
||||||
"zh": "标记文字(&k)",
|
"zh": "标记文字(&k)",
|
||||||
"de": "Text mar&kieren",
|
"de": "Text mar&kieren",
|
||||||
|
"es": "Marcar texto",
|
||||||
"pl": "Zaznacz tekst",
|
"pl": "Zaznacz tekst",
|
||||||
"ko": "텍스트 표시(&K)",
|
"ko": "텍스트 표시(&K)",
|
||||||
"ko_KR": "텍스트 표시(&K)",
|
"ko_KR": "텍스트 표시(&K)",
|
||||||
@ -8008,6 +8060,7 @@
|
|||||||
"ru": "Вставить",
|
"ru": "Вставить",
|
||||||
"zh": "粘贴(&p)",
|
"zh": "粘贴(&p)",
|
||||||
"de": "&Einfügen",
|
"de": "&Einfügen",
|
||||||
|
"es": "&Pegar",
|
||||||
"pl": "&Wklej",
|
"pl": "&Wklej",
|
||||||
"it_IT": "&Incolla",
|
"it_IT": "&Incolla",
|
||||||
"ko": "붙여넣기(&P)",
|
"ko": "붙여넣기(&P)",
|
||||||
@ -8019,6 +8072,7 @@
|
|||||||
"ru": "Свойства...",
|
"ru": "Свойства...",
|
||||||
"zh": "属性(&p)",
|
"zh": "属性(&p)",
|
||||||
"de": "&Fenster-Eigenschaften...",
|
"de": "&Fenster-Eigenschaften...",
|
||||||
|
"es": "&Propiedades...",
|
||||||
"pl": "&Posiadłość",
|
"pl": "&Posiadłość",
|
||||||
"it_IT": "&Proprietà...",
|
"it_IT": "&Proprietà...",
|
||||||
"ko": "속성(&P)...",
|
"ko": "속성(&P)...",
|
||||||
@ -8030,6 +8084,7 @@
|
|||||||
"ru": "Настоящая консоль",
|
"ru": "Настоящая консоль",
|
||||||
"zh": "真实控制台(&R)",
|
"zh": "真实控制台(&R)",
|
||||||
"de": "&Echtes Konsolenfenster anzeigen",
|
"de": "&Echtes Konsolenfenster anzeigen",
|
||||||
|
"es": "Consola real",
|
||||||
"pl": "&Prawdziwa konsola",
|
"pl": "&Prawdziwa konsola",
|
||||||
"it_IT": "Console &reale",
|
"it_IT": "Console &reale",
|
||||||
"ko": "실제 콘솔(&R)",
|
"ko": "실제 콘솔(&R)",
|
||||||
@ -8041,6 +8096,7 @@
|
|||||||
"ru": "Отладка активного процесса...",
|
"ru": "Отладка активного процесса...",
|
||||||
"zh": "调试活动的进程...(&a)",
|
"zh": "调试活动的进程...(&a)",
|
||||||
"de": "&Aktiven Prozess untersuchen...",
|
"de": "&Aktiven Prozess untersuchen...",
|
||||||
|
"es": "Depurar proceso activo...",
|
||||||
"pl": "Debugowanie &aktywny proces.",
|
"pl": "Debugowanie &aktywny proces.",
|
||||||
"it_IT": "Debug processi &attivi...",
|
"it_IT": "Debug processi &attivi...",
|
||||||
"ko": "활성 프로세스 디버그(&A)...",
|
"ko": "활성 프로세스 디버그(&A)...",
|
||||||
@ -8052,6 +8108,7 @@
|
|||||||
"ru": "Показать утверждение",
|
"ru": "Показать утверждение",
|
||||||
"zh": "显示断言",
|
"zh": "显示断言",
|
||||||
"de": "Fehlermeldung anzeigen",
|
"de": "Fehlermeldung anzeigen",
|
||||||
|
"es": "Mostrar sentencia",
|
||||||
"pl": "Pokaż potwierdzenie",
|
"pl": "Pokaż potwierdzenie",
|
||||||
"it_IT": "Mostra asserzione",
|
"it_IT": "Mostra asserzione",
|
||||||
"ko": "주장 표시",
|
"ko": "주장 표시",
|
||||||
@ -8063,6 +8120,7 @@
|
|||||||
"ru": "Журнал отладки",
|
"ru": "Журнал отладки",
|
||||||
"zh": "调试日志(GUI)",
|
"zh": "调试日志(GUI)",
|
||||||
"de": "Protokoll für Feh&lersuche (GUI)",
|
"de": "Protokoll für Feh&lersuche (GUI)",
|
||||||
|
"es": "Depurar traza (GUI)",
|
||||||
"pl": "Debug &log (GUI)",
|
"pl": "Debug &log (GUI)",
|
||||||
"it_IT": "&Log debug (GUI)",
|
"it_IT": "&Log debug (GUI)",
|
||||||
"ko": "디버그 로그 (GUI)(&L) ",
|
"ko": "디버그 로그 (GUI)(&L) ",
|
||||||
|
@ -20,7 +20,22 @@ https://conemu.github.io/en/Whats_New.html
|
|||||||
-------------------------------------------
|
-------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
2022.8.7
|
2023.7.24
|
||||||
|
* gh-2536: Do not emit control characters in title reports (capability fix).
|
||||||
|
* l10n: translations were updated
|
||||||
|
|
||||||
|
|
||||||
|
2023.7.23
|
||||||
|
* gh-2536: Do not emit control characters in title reports.
|
||||||
|
|
||||||
|
|
||||||
|
2022.12.18 (stable)
|
||||||
|
* Fix Window Title Reporting security issue.
|
||||||
|
More info: https://seclists.org/fulldisclosure/2003/Feb/341
|
||||||
|
* gh-2458: Preliminary support of Far3 experimental feature 'Fullwidth-aware rendering' temporarily removed.
|
||||||
|
|
||||||
|
|
||||||
|
2022.8.7 (alpha)
|
||||||
* gh-2458: Preliminary support of Far3 experimental feature 'Fullwidth-aware rendering'.
|
* gh-2458: Preliminary support of Far3 experimental feature 'Fullwidth-aware rendering'.
|
||||||
* l10n: translations were updated
|
* l10n: translations were updated
|
||||||
* New binaries are signed with new certificate issued by Sectigo.
|
* New binaries are signed with new certificate issued by Sectigo.
|
||||||
|
5
SECURITY.md
Normal file
5
SECURITY.md
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
# Security Policy
|
||||||
|
|
||||||
|
## Reporting a Vulnerability
|
||||||
|
|
||||||
|
Please report security issues to `ConEmu.Maximus5@gmail.com`
|
@ -8,6 +8,13 @@ trigger:
|
|||||||
include:
|
include:
|
||||||
- master
|
- master
|
||||||
- daily
|
- daily
|
||||||
|
paths:
|
||||||
|
exclude:
|
||||||
|
- '**/*.md'
|
||||||
|
- '*.md'
|
||||||
|
- '**/*.txt'
|
||||||
|
- '*.txt'
|
||||||
|
- .github/workflows/codeql-analysis.yml
|
||||||
|
|
||||||
pool:
|
pool:
|
||||||
vmImage: 'windows-2019'
|
vmImage: 'windows-2019'
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<metadata>
|
<metadata>
|
||||||
|
|
||||||
<id>ConEmu.Core</id>
|
<id>ConEmu.Core</id>
|
||||||
<version>22.8.7.0</version>
|
<version>23.7.24.0</version>
|
||||||
<title>ConEmu.Core</title>
|
<title>ConEmu.Core</title>
|
||||||
<authors>Maximus5</authors>
|
<authors>Maximus5</authors>
|
||||||
<owners>Maximus5</owners>
|
<owners>Maximus5</owners>
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<metadata>
|
<metadata>
|
||||||
|
|
||||||
<id>ConEmu</id>
|
<id>ConEmu</id>
|
||||||
<version>22.8.7.0</version>
|
<version>23.7.24.0</version>
|
||||||
<title>ConEmu</title>
|
<title>ConEmu</title>
|
||||||
<authors>Maximus5</authors>
|
<authors>Maximus5</authors>
|
||||||
<owners>Maximus5</owners>
|
<owners>Maximus5</owners>
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
$package = 'ConEmu'
|
$package = 'ConEmu'
|
||||||
$version = '22.08.07'
|
$version = '23.07.24'
|
||||||
$sha256 = 'E0ADFD2FFBEB44C9125A626AD600CCFBDEACBBA0624DF37D2DDD6C6D27D8D578'
|
$sha256 = '2A56EDD5515DDD916410DE3D84E00069CE07566B2F81C612A4241A8B109D7F4C'
|
||||||
|
|
||||||
$isSytem32Bit = (($Env:PROCESSOR_ARCHITECTURE -eq 'x86') -and `
|
$isSytem32Bit = (($Env:PROCESSOR_ARCHITECTURE -eq 'x86') -and `
|
||||||
($Env:PROCESSOR_ARCHITEW6432 -eq $null))
|
($Env:PROCESSOR_ARCHITEW6432 -eq $null))
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
$package = 'ConEmu'
|
$package = 'ConEmu'
|
||||||
$version = '22.08.07'
|
$version = '23.07.24'
|
||||||
|
|
||||||
|
|
||||||
$isSytem32Bit = (($Env:PROCESSOR_ARCHITECTURE -eq 'x86') -and `
|
$isSytem32Bit = (($Env:PROCESSOR_ARCHITECTURE -eq 'x86') -and `
|
||||||
|
@ -157,7 +157,7 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
//#define CONEMU_ANIMATE_DURATION_MAX 5000
|
//#define CONEMU_ANIMATE_DURATION_MAX 5000
|
||||||
|
|
||||||
const wchar_t* gsHomePage = CEHOMEPAGE; //L"https://conemu.github.io";
|
const wchar_t* gsHomePage = CEHOMEPAGE; //L"https://conemu.github.io";
|
||||||
const wchar_t* gsDownlPage = CEDOWNLPAGE; //L"https://www.fosshub.com/ConEmu.html";
|
const wchar_t* gsDownlPage = CEDOWNLPAGE; //L"https://conemu.github.io/en/Downloads.html";
|
||||||
const wchar_t* gsFirstStart = CEFIRSTSTART; //L"https://conemu.github.io/en/SettingsFast.html";
|
const wchar_t* gsFirstStart = CEFIRSTSTART; //L"https://conemu.github.io/en/SettingsFast.html";
|
||||||
const wchar_t* gsReportBug = CEREPORTBUG; //L"https://conemu.github.io/en/Issues.html";
|
const wchar_t* gsReportBug = CEREPORTBUG; //L"https://conemu.github.io/en/Issues.html";
|
||||||
const wchar_t* gsReportCrash = CEREPORTCRASH; //L"https://conemu.github.io/en/Issues.html";
|
const wchar_t* gsReportCrash = CEREPORTCRASH; //L"https://conemu.github.io/en/Issues.html";
|
||||||
@ -2610,6 +2610,18 @@ CConEmuMain::~CConEmuMain()
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
void CConEmuMain::AskChangeTermMode()
|
||||||
|
{
|
||||||
|
CVConGuard VCon;
|
||||||
|
if (GetActiveVCon(&VCon) < 0)
|
||||||
|
return;
|
||||||
|
CVirtualConsole *pVCon = VCon.VCon();
|
||||||
|
CRealConsole *pRCon = pVCon->RCon();
|
||||||
|
if (!pRCon) return;
|
||||||
|
|
||||||
|
pRCon ->StartStopTermMode(tmc_TerminalType, cta_Switch);
|
||||||
|
}
|
||||||
|
|
||||||
void CConEmuMain::AskChangeBufferHeight()
|
void CConEmuMain::AskChangeBufferHeight()
|
||||||
{
|
{
|
||||||
CVConGuard VCon;
|
CVConGuard VCon;
|
||||||
|
@ -597,6 +597,7 @@ class CConEmuMain
|
|||||||
int ActiveConNum(); // 0-based
|
int ActiveConNum(); // 0-based
|
||||||
int GetConCount(); // количество открытых консолей
|
int GetConCount(); // количество открытых консолей
|
||||||
void AskChangeBufferHeight();
|
void AskChangeBufferHeight();
|
||||||
|
void AskChangeTermMode();
|
||||||
void AskChangeAlternative();
|
void AskChangeAlternative();
|
||||||
void AttachToDialog();
|
void AttachToDialog();
|
||||||
void CheckFocus(LPCWSTR asFrom);
|
void CheckFocus(LPCWSTR asFrom);
|
||||||
|
@ -525,6 +525,14 @@ bool CConEmuCtrl::key_MultiBuffer(const ConEmuChord& VkState, bool TestOnly, con
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// pRCon may be nullptr
|
||||||
|
bool CConEmuCtrl::key_SwitchTermMode(const ConEmuChord& VkState, bool TestOnly, const ConEmuHotKey* hk, CRealConsole* pRCon)
|
||||||
|
{
|
||||||
|
if (TestOnly)
|
||||||
|
return true;
|
||||||
|
gpConEmu->AskChangeTermMode();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
// pRCon may be nullptr
|
// pRCon may be nullptr
|
||||||
bool CConEmuCtrl::key_DuplicateRoot(const ConEmuChord& VkState, bool TestOnly, const ConEmuHotKey* hk, CRealConsole* pRCon)
|
bool CConEmuCtrl::key_DuplicateRoot(const ConEmuChord& VkState, bool TestOnly, const ConEmuHotKey* hk, CRealConsole* pRCon)
|
||||||
{
|
{
|
||||||
|
@ -106,6 +106,7 @@ public:
|
|||||||
static bool WINAPI key_MultiRecreate(const ConEmuChord& VkState, bool TestOnly, const ConEmuHotKey* hk, CRealConsole* pRCon);
|
static bool WINAPI key_MultiRecreate(const ConEmuChord& VkState, bool TestOnly, const ConEmuHotKey* hk, CRealConsole* pRCon);
|
||||||
static bool WINAPI key_AlternativeBuffer(const ConEmuChord& VkState, bool TestOnly, const ConEmuHotKey* hk, CRealConsole* pRCon);
|
static bool WINAPI key_AlternativeBuffer(const ConEmuChord& VkState, bool TestOnly, const ConEmuHotKey* hk, CRealConsole* pRCon);
|
||||||
static bool WINAPI key_MultiBuffer(const ConEmuChord& VkState, bool TestOnly, const ConEmuHotKey* hk, CRealConsole* pRCon);
|
static bool WINAPI key_MultiBuffer(const ConEmuChord& VkState, bool TestOnly, const ConEmuHotKey* hk, CRealConsole* pRCon);
|
||||||
|
static bool WINAPI key_SwitchTermMode(const ConEmuChord& VkState, bool TestOnly, const ConEmuHotKey* hk, CRealConsole* pRCon);
|
||||||
static bool WINAPI key_DuplicateRoot(const ConEmuChord& VkState, bool TestOnly, const ConEmuHotKey* hk, CRealConsole* pRCon);
|
static bool WINAPI key_DuplicateRoot(const ConEmuChord& VkState, bool TestOnly, const ConEmuHotKey* hk, CRealConsole* pRCon);
|
||||||
static bool WINAPI key_DuplicateRootAs(const ConEmuChord& VkState, bool TestOnly, const ConEmuHotKey* hk, CRealConsole* pRCon);
|
static bool WINAPI key_DuplicateRootAs(const ConEmuChord& VkState, bool TestOnly, const ConEmuHotKey* hk, CRealConsole* pRCon);
|
||||||
static bool WINAPI key_MultiCmd(const ConEmuChord& VkState, bool TestOnly, const ConEmuHotKey* hk, CRealConsole* pRCon);
|
static bool WINAPI key_MultiCmd(const ConEmuChord& VkState, bool TestOnly, const ConEmuHotKey* hk, CRealConsole* pRCon);
|
||||||
|
@ -539,7 +539,7 @@ bool CheckLockFrequentExecute(DWORD& Tick, DWORD Interval);
|
|||||||
#define LockFrequentExecuteStatic(Interval) static DWORD LastExecuteTick; if (CheckLockFrequentExecute(LastExecuteTick,Interval))
|
#define LockFrequentExecuteStatic(Interval) static DWORD LastExecuteTick; if (CheckLockFrequentExecute(LastExecuteTick,Interval))
|
||||||
|
|
||||||
extern const wchar_t* gsHomePage; // = L"https://conemu.github.io";
|
extern const wchar_t* gsHomePage; // = L"https://conemu.github.io";
|
||||||
extern const wchar_t* gsDownlPage; // = L"http://www.fosshub.com/ConEmu.html";
|
extern const wchar_t* gsDownlPage; // = L"https://conemu.github.io/en/Downloads.html";
|
||||||
extern const wchar_t* gsFirstStart; // = L"https://conemu.github.io/en/SettingsFast.html";
|
extern const wchar_t* gsFirstStart; // = L"https://conemu.github.io/en/SettingsFast.html";
|
||||||
extern const wchar_t* gsReportBug; // = L"https://conemu.github.io/en/Issues.html";
|
extern const wchar_t* gsReportBug; // = L"https://conemu.github.io/en/Issues.html";
|
||||||
extern const wchar_t* gsReportCrash; // = L"https://conemu.github.io/en/Issues.html";
|
extern const wchar_t* gsReportCrash; // = L"https://conemu.github.io/en/Issues.html";
|
||||||
|
@ -311,6 +311,8 @@ int ConEmuHotKeyList::AllocateHotkeys()
|
|||||||
.SetHotKey(VK_PAUSE);
|
.SetHotKey(VK_PAUSE);
|
||||||
Add(vkMultiBuffer, chk_User, L"Multi.Scroll", CConEmuCtrl::key_MultiBuffer)
|
Add(vkMultiBuffer, chk_User, L"Multi.Scroll", CConEmuCtrl::key_MultiBuffer)
|
||||||
;
|
;
|
||||||
|
Add(vkSwitchTermMode, chk_User, L"Multi.SwitchTermMode", CConEmuCtrl::key_SwitchTermMode)
|
||||||
|
.SetHotKey('M',VK_CONTROL,VK_SHIFT);
|
||||||
Add(vkMultiGroup, chk_User, L"Multi.GroupInput" ).SetMacro(L"GroupInput(0)")
|
Add(vkMultiGroup, chk_User, L"Multi.GroupInput" ).SetMacro(L"GroupInput(0)")
|
||||||
.SetHotKey('G', VK_APPS);
|
.SetHotKey('G', VK_APPS);
|
||||||
Add(vkMultiGroupAll, chk_User, L"Multi.GroupInputAll" ).SetMacro(L"GroupInput(3)")
|
Add(vkMultiGroupAll, chk_User, L"Multi.GroupInputAll" ).SetMacro(L"GroupInput(3)")
|
||||||
|
@ -408,6 +408,7 @@ static LngPredefined gsDataHints[] = {
|
|||||||
{ vkMoveTabRight, L"Move active tab rightward" },
|
{ vkMoveTabRight, L"Move active tab rightward" },
|
||||||
{ vkMultiAltCon, L"Show alternative console buffer (last command output)" },
|
{ vkMultiAltCon, L"Show alternative console buffer (last command output)" },
|
||||||
{ vkMultiBuffer, L"Switch bufferheight mode" },
|
{ vkMultiBuffer, L"Switch bufferheight mode" },
|
||||||
|
{ vkSwitchTermMode, L"Switch Terminal Input Mode" },
|
||||||
{ vkMultiClose, L"Close active console" },
|
{ vkMultiClose, L"Close active console" },
|
||||||
{ vkMultiCmd, L"Create new %s console" },
|
{ vkMultiCmd, L"Create new %s console" },
|
||||||
{ vkMultiGroup, L"Group keyboard input for visible splits" },
|
{ vkMultiGroup, L"Group keyboard input for visible splits" },
|
||||||
|
@ -44,11 +44,11 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#define szRetryVersionIniCheck \
|
#define szRetryVersionIniCheck \
|
||||||
L"ConEmu is unable to load current version information from servers.\n" \
|
L"ConEmu is unable to load current version information from servers.\n" \
|
||||||
L"You may either check and download new versions manually from\n" \
|
L"You may either check and download new versions manually from\n" \
|
||||||
CEDOWNLPAGE /* http://www.fosshub.com/ConEmu.html */ L"\n" \
|
CEDOWNLPAGE /* https://conemu.github.io/en/Downloads.html */ L"\n" \
|
||||||
L"or let ConEmu retry the check.\n"
|
L"or let ConEmu retry the check.\n"
|
||||||
|
|
||||||
#define szRetryPackageDownload \
|
#define szRetryPackageDownload \
|
||||||
L"ConEmu is unable to download update package.\n" \
|
L"ConEmu is unable to download update package.\n" \
|
||||||
L"You may either download new versions manually from\n" \
|
L"You may either download new versions manually from\n" \
|
||||||
CEDOWNLPAGE /* http://www.fosshub.com/ConEmu.html */ L"\n" \
|
CEDOWNLPAGE /* https://conemu.github.io/en/Downloads.html */ L"\n" \
|
||||||
L"or let ConEmu retry the downloading.\n"
|
L"or let ConEmu retry the downloading.\n"
|
||||||
|
@ -431,8 +431,6 @@ bool CVConLine::ParseLine(bool abForce, unsigned anTextWidth, unsigned anFontWid
|
|||||||
const bool bEnhanceGraphics = gpSet->isEnhanceGraphics;
|
const bool bEnhanceGraphics = gpSet->isEnhanceGraphics;
|
||||||
const bool bUseAlternativeFont = _bool(gpSet->isFixFarBorders);
|
const bool bUseAlternativeFont = _bool(gpSet->isFixFarBorders);
|
||||||
|
|
||||||
int cjkShift = 0;
|
|
||||||
|
|
||||||
for (unsigned j = 0; j < TextWidth;)
|
for (unsigned j = 0; j < TextWidth;)
|
||||||
{
|
{
|
||||||
bool bPair = ((j+1) < TextWidth);
|
bool bPair = ((j+1) < TextWidth);
|
||||||
@ -444,7 +442,7 @@ bool CVConLine::ParseLine(bool abForce, unsigned anTextWidth, unsigned anFontWid
|
|||||||
VConTextPart* p = TextParts+(PartsCount++);
|
VConTextPart* p = TextParts+(PartsCount++);
|
||||||
|
|
||||||
//TODO: DBCS cell number, it may differ from j
|
//TODO: DBCS cell number, it may differ from j
|
||||||
p->Init(j, j + cjkShift, this);
|
p->Init(j, j, this);
|
||||||
|
|
||||||
// Process Far Dialogs to justify rectangles and frames
|
// Process Far Dialogs to justify rectangles and frames
|
||||||
TextPartFlags dlgBorder = j ? isDialogBorderCoord(j) : TRF_None;
|
TextPartFlags dlgBorder = j ? isDialogBorderCoord(j) : TRF_None;
|
||||||
@ -550,8 +548,6 @@ bool CVConLine::ParseLine(bool abForce, unsigned anTextWidth, unsigned anFontWid
|
|||||||
while ((j2 < TextWidth) && (ConAttrLine[j2] == attr) && isCharCJK(ConCharLine[j2]))
|
while ((j2 < TextWidth) && (ConAttrLine[j2] == attr) && isCharCJK(ConCharLine[j2]))
|
||||||
j2++;
|
j2++;
|
||||||
}
|
}
|
||||||
if (!bPair)
|
|
||||||
cjkShift += (j2 - j);
|
|
||||||
}
|
}
|
||||||
else if (bUseAlternativeFont && isCharAltFont(wc))
|
else if (bUseAlternativeFont && isCharAltFont(wc))
|
||||||
{
|
{
|
||||||
@ -593,26 +589,6 @@ bool CVConLine::ParseLine(bool abForce, unsigned anTextWidth, unsigned anFontWid
|
|||||||
j = j2;
|
j = j2;
|
||||||
}
|
}
|
||||||
|
|
||||||
// We have trailing spaces at the end of console line if it contains flags
|
|
||||||
// COMMON_LVB_LEADING_BYTE & COMMON_LVB_TRAILING_BYTE. That means RealConsole
|
|
||||||
// assigned two real cells per one CJK (doublespace char).
|
|
||||||
// Let's try to crop silently these spaces
|
|
||||||
for (int cut = cjkShift; cut > 0 && PartsCount > 0;)
|
|
||||||
{
|
|
||||||
auto& lastPart = TextParts[PartsCount - 1];
|
|
||||||
if ((lastPart.Flags & (TRF_SizeFree|TRF_TextSpacing)) != (TRF_SizeFree|TRF_TextSpacing))
|
|
||||||
{
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
if (lastPart.Length > static_cast<unsigned>(cut))
|
|
||||||
{
|
|
||||||
lastPart.Length -= cut;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
cut -= static_cast<int>(lastPart.Length);
|
|
||||||
--PartsCount;
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -162,6 +162,7 @@ protected:
|
|||||||
protected:
|
protected:
|
||||||
friend struct VConTextPart;
|
friend struct VConTextPart;
|
||||||
// Members
|
// Members
|
||||||
|
CRealConsole* mp_RCon;
|
||||||
|
|
||||||
// This corresponds to "dialogs" - regions framed with preudographics
|
// This corresponds to "dialogs" - regions framed with preudographics
|
||||||
int mn_DialogsCount;
|
int mn_DialogsCount;
|
||||||
|
@ -1352,6 +1352,7 @@
|
|||||||
#define stStartupShellGeneral 3110
|
#define stStartupShellGeneral 3110
|
||||||
#define tFarHourglass 3111
|
#define tFarHourglass 3111
|
||||||
#define vkSetFocusParent 3212
|
#define vkSetFocusParent 3212
|
||||||
|
#define vkSwitchTermMode 3220
|
||||||
#define IDC_STATIC -1
|
#define IDC_STATIC -1
|
||||||
|
|
||||||
// Next default values for new objects
|
// Next default values for new objects
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
// 220807
|
// 230724
|
||||||
#define MVV_1 22
|
#define MVV_1 23
|
||||||
#define MVV_2 8
|
#define MVV_2 7
|
||||||
#define MVV_3 7
|
#define MVV_3 24
|
||||||
#define MVV_4 0
|
#define MVV_4 0
|
||||||
#define MVV_4a ""
|
#define MVV_4a ""
|
||||||
#undef MVV_git
|
#undef MVV_git
|
||||||
|
@ -4,4 +4,4 @@
|
|||||||
#define CEVS_PREVIEW 1
|
#define CEVS_PREVIEW 1
|
||||||
#define CEVS_ALPHA 2
|
#define CEVS_ALPHA 2
|
||||||
|
|
||||||
#define ConEmuVersionStage CEVS_ALPHA
|
#define ConEmuVersionStage CEVS_STABLE
|
||||||
|
@ -985,10 +985,11 @@ bool SrvAnsiImpl::ReportString(LPCWSTR asRet)
|
|||||||
LPCWSTR pc = asRet;
|
LPCWSTR pc = asRet;
|
||||||
for (int i = 0; i < nLen; i++, p++, pc++)
|
for (int i = 0; i < nLen; i++, p++, pc++)
|
||||||
{
|
{
|
||||||
|
const char ch = (*pc == 0x1B || *pc >= 0x20) ? *pc : L' ';
|
||||||
p->EventType = KEY_EVENT;
|
p->EventType = KEY_EVENT;
|
||||||
p->Event.KeyEvent.bKeyDown = TRUE;
|
p->Event.KeyEvent.bKeyDown = TRUE;
|
||||||
p->Event.KeyEvent.wRepeatCount = 1;
|
p->Event.KeyEvent.wRepeatCount = 1;
|
||||||
p->Event.KeyEvent.uChar.UnicodeChar = *pc;
|
p->Event.KeyEvent.uChar.UnicodeChar = ch;
|
||||||
}
|
}
|
||||||
|
|
||||||
DumpKnownEscape(asRet, nLen, SrvAnsi::de_Report);
|
DumpKnownEscape(asRet, nLen, SrvAnsi::de_Report);
|
||||||
@ -1298,13 +1299,15 @@ CSI P s @ Insert P s (Blank) Character(s) (default = 1) (ICH)
|
|||||||
switch (Code.Action) // case sensitive
|
switch (Code.Action) // case sensitive
|
||||||
{
|
{
|
||||||
case L's':
|
case L's':
|
||||||
// Save cursor position (can not be nested)
|
if (Code.PvtLen == 0)
|
||||||
XTermSaveRestoreCursor(true);
|
// Save cursor position (can not be nested)
|
||||||
|
XTermSaveRestoreCursor(true);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case L'u':
|
case L'u':
|
||||||
// Restore cursor position
|
if (Code.PvtLen == 0)
|
||||||
XTermSaveRestoreCursor(false);
|
// Restore cursor position
|
||||||
|
XTermSaveRestoreCursor(false);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case L'H': // Set cursor position (1-based)
|
case L'H': // Set cursor position (1-based)
|
||||||
@ -2473,4 +2476,3 @@ void SrvAnsiImpl::XTermAltBuffer(bool bSetAltBuffer/*, condata::TablePtr& table*
|
|||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1032,12 +1032,7 @@ BOOL WINAPI ReadOutput(FAR_CHAR_INFO* Buffer, COORD BufferSize, COORD BufferCoor
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
FAR_CHAR_INFO chr{};
|
FAR_CHAR_INFO chr = {lbRead ? pc->Char.UnicodeChar : L' '};
|
||||||
if (lbRead)
|
|
||||||
{
|
|
||||||
chr.Char = pc->Char.UnicodeChar;
|
|
||||||
chr.Attributes.Flags = pc->Attributes & 0xFF00;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (pTrueColor && pTrueColor >= pTrueColorEnd)
|
if (pTrueColor && pTrueColor >= pTrueColorEnd)
|
||||||
{
|
{
|
||||||
@ -1285,7 +1280,7 @@ BOOL WINAPI WriteOutput(const FAR_CHAR_INFO* Buffer, COORD BufferSize, COORD Buf
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
n |= (Flags & 0xFF00);
|
|
||||||
pc->Attributes = n;
|
pc->Attributes = n;
|
||||||
|
|
||||||
if (pTrueColor)
|
if (pTrueColor)
|
||||||
|
@ -2505,10 +2505,11 @@ BOOL CEAnsi::ReportString(LPCWSTR asRet)
|
|||||||
LPCWSTR pc = asRet;
|
LPCWSTR pc = asRet;
|
||||||
for (size_t i = 0; i < nLen; i++, p++, pc++)
|
for (size_t i = 0; i < nLen; i++, p++, pc++)
|
||||||
{
|
{
|
||||||
|
const char ch = (*pc == 0x1B || *pc >= 0x20) ? *pc : L' ';
|
||||||
p->EventType = KEY_EVENT;
|
p->EventType = KEY_EVENT;
|
||||||
p->Event.KeyEvent.bKeyDown = TRUE;
|
p->Event.KeyEvent.bKeyDown = TRUE;
|
||||||
p->Event.KeyEvent.wRepeatCount = 1;
|
p->Event.KeyEvent.wRepeatCount = 1;
|
||||||
p->Event.KeyEvent.uChar.UnicodeChar = *pc;
|
p->Event.KeyEvent.uChar.UnicodeChar = ch;
|
||||||
}
|
}
|
||||||
|
|
||||||
DumpKnownEscape(asRet, nLen, de_Report);
|
DumpKnownEscape(asRet, nLen, de_Report);
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#define CONEMUVERN 22,8,7,0
|
#define CONEMUVERN 23,7,24,0
|
||||||
#define CONEMUVERS "220807"
|
#define CONEMUVERS "230724"
|
||||||
#define CONEMUVERL L"220807"
|
#define CONEMUVERL L"230724"
|
||||||
#define MSI86 "../ConEmu.220807.x86.msi"
|
#define MSI86 "../ConEmu.230724.x86.msi"
|
||||||
#define MSI64 "../ConEmu.220807.x64.msi"
|
#define MSI64 "../ConEmu.230724.x64.msi"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Include>
|
<Include>
|
||||||
|
|
||||||
<?define Version = '$(var.MajorVersion).220.8070' ?>
|
<?define Version = '$(var.MajorVersion).230.7240' ?>
|
||||||
<?define ConEmuVerS = '220807.$(var.Platform)' ?>
|
<?define ConEmuVerS = '230724.$(var.Platform)' ?>
|
||||||
|
|
||||||
</Include>
|
</Include>
|
@ -125,7 +125,7 @@ typedef struct _CONSOLE_SELECTION_INFO
|
|||||||
|
|
||||||
#define CEHOMEPAGE_A "https://conemu.github.io/"
|
#define CEHOMEPAGE_A "https://conemu.github.io/"
|
||||||
#define CEHOMEPAGE _CRT_WIDE(CEHOMEPAGE_A)
|
#define CEHOMEPAGE _CRT_WIDE(CEHOMEPAGE_A)
|
||||||
#define CEDOWNLPAGE L"https://www.fosshub.com/ConEmu.html"
|
#define CEDOWNLPAGE L"https://conemu.github.io/en/Downloads.html"
|
||||||
#define CEFLATTRPAGE L"http://flattr.com/thing/2002773/Maximus5ConEmu-on-GitHub"
|
#define CEFLATTRPAGE L"http://flattr.com/thing/2002773/Maximus5ConEmu-on-GitHub"
|
||||||
#define CEDONATEPAGE L"https://conemu.github.io/donate.html"
|
#define CEDONATEPAGE L"https://conemu.github.io/donate.html"
|
||||||
#define CEWIKIBASE L"https://conemu.github.io/en/"
|
#define CEWIKIBASE L"https://conemu.github.io/en/"
|
||||||
|
@ -101,9 +101,6 @@ bool SearchAppPaths(LPCWSTR asFilePath, CEStr& rsFound, const bool abSetPath, CE
|
|||||||
rsFound.Set(pszPath);
|
rsFound.Set(pszPath);
|
||||||
bFound = true;
|
bFound = true;
|
||||||
|
|
||||||
if (pszCheck != szVal)
|
|
||||||
free(pszCheck);
|
|
||||||
|
|
||||||
// The program may require additional "%PATH%". So, if allowed...
|
// The program may require additional "%PATH%". So, if allowed...
|
||||||
if (abSetPath)
|
if (abSetPath)
|
||||||
{
|
{
|
||||||
|
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user