Automatic update is recommended ------------------------------- New ConEmu builds arrives often, at least weekly. It's recommended to enable Automatic Update to get Preview or Alpha builds as soon as they are released. Any contributions are appreciated --------------------------------- You can show your appreciation and support future development by: + localization: https://conemu.github.io/en/Localization.html + bugreporting: https://conemu.github.io/en/Issues.html + funding: https://conemu.github.io/donate.html + helping with documentation: https://github.com/ConEmu/ConEmu.github.io + coding: https://github.com/Maximus5/ConEmu + voting: https://conemu.github.io/en/Awards.html#Voting or anything else, spreading the word for example. ConEmu changelog is always available online ------------------------------------------- https://conemu.github.io/en/Whats_New.html ------------------------------------------- 2018.5.28 * gh-1583: Let `-new_console` work in WSL. Note: `ConEmuC.exe` or `ConEmuC64.exe` are required to run commands, for example: `ConEmuC64.exe -c powershell -new_console`. * Switch `ConEmuC -ConInfo` was not working on redirected handles (mintty, connector, wsl). * gh-1444: ANSI. Fix irssi rendering under tmux. * ANSI. Sequence `\e[Nb` repeats output of last written character N times. * ANSI: `ESC ] 9 ; 10 ; 0 ST` stops xterm mode emulation. * ANSI. Reports for `ESC [ 6 n` cursor position relative to viewport (1-based). * gh-1569: True color mode with powershell doesn't scroll correctly. * gh-1579: Changes in escaping rules on pasting POSIX paths (exclamation `!` mark). * if path contains special characters, strong quoting (single-quote) is used * it's still possible to paste without quotation via GuiMacro * In some cases 32-bit ConEmuHk caused access violation on true-color buffer scrolling. 2018.5.6 * gh-884: In some cases Far panels directory were not updated (Tab title, etc.) * gh-1082, gh-1546: Env.var ConEmuCfgDir was shorter by one char. * gh-1503: Save on timer (every 5 minutes) only startup task if it was changed. * gh-1538: Support user-defined drives mount point in WSL. * gh-1539: Add workaround for 2 pixels cut off client area by autohidden taskbar. * Far working directory was not reloaded for `%f` macro (tab template). * Add TaskBar location to LogFile. 2018.5.3 * gh-1539: Resize fixes for auto-hidden Taskbar and caption-less mode. * gh-1545: Fix paste problems in Windows 10 1803 on texts with spaces or CR/LF. * Maximized ConEmu was not sized properly after display changes. * Default Task: create `{bash}` if either `bash.exe` or `wsl.exe` are found. * Improve Windows version detection in dlls. 2018.4.29 * gh-1532: Fix ‘splitting windows crashes ConEmu’ (01107bd regression). * gh-1534: Unable to select text with always-shown scrollbar (0493ff5 regression). 2018.4.27 * gh-934: Fix assertion `nNewWidth>0 && nNewHeight>0` appeared sometimes after console resize in Windows 10. * gh-1503: Save size/pos/startup-task every minute. * gh-1527: Fix auto-hidden scrollbar, was not revealed on mouse-over (regression 1fd7b5b2). * gh-1526: Improve ‘Duplicate root...’ function. * Allow to stop ‘Paused’ mode by `Esc` key. 2018.4.22 * Allow import of xml files without reset of current settings. Example with Dracula color theme: https://gist.github.com/Maximus5/3205332bbc45c8300763157f0fdbe884 * gh-1522: Exchange **default** behavior of `Ctrl+V` and `Shift+Ins`. Both hotkeys actions may be configured in Settings/Paste. * `Ctrl+V` inserts multiple lines from clipboard with `\n` inside; * `Shift+Ins inserts all lines as single line replacing `\n` with spaces. * gh-1492: AnsiLog may be enabled on per-console basis via `-new_console:L:""`, where `` is a folder to store AnsiLog files, e.g. `C:\Logs`. https://conemu.github.io/en/AnsiLogFiles.html * Change default folder for AnsiLog files to `%UserProfile%\Desktop\ConEmuLogs`. 2018.4.18 * gh-880: Show the name of selected shell task for `Win+X` hotkey. * gh-1517: After postponing update the ‘Confirm closing’ dialog stucks. * Compact paths (%ConEmuDir%, %ConEmuCfgDir%, etc) by removing `\..\` elements. E.g. `C:\ConEmu\src\..\Debug\ConEmu.xml` will be processed now as `C:\ConEmu\Debug\ConEmu.xml`. * gh-1046: Don't take into account path to xml settings storage in AppID generation if it's a default xml. If configuration file was set by argument `-LoadCfgFile "%ConEmuDir%\ConEmu.xml"` and it is *already* the default settings location (the same without `-LoadCfgFile` switch), than xml path is not used in AppID generation. Note: AppID is utilized during search for appropriate ConEmu instance when `-single` or `-reuse` switch were specified. * By default add commented `LANG` variable and some aliases to ‘Environment’ settings page. * Hidden cursor may be displayed as inactive (option for debug purposes). * Add hotkey for ‘Check for updates’. * Add helper `git-log.cmd` to distro. 2018.4.16 * Add description for `-new_console:t:"title"` switch. * Disable automatic update in `-basic` mode unless the `-update` is specified. * gh-629: Don't imply ‘AppKeys’ mode (DECCKM) by `-cur_console:p` or `ENABLE_VIRTUAL_TERMINAL_INPUT`. * gh-1513: Fix erroneously trimmed leading `"` in commands `cmd /c "-new_console script.bat argument"`. * gh-242: Fix hidden scrollbar glitch on mouseover. 2018.4.15 * gh-172: Disable scrolling (mouse wheel and hotkeys) past lowest line. * gh-1509: Previous focused window is incorrectly restored to focus after ‘quake’ minimization. * gh-1511: ANSI: fix `\n` processing in emacs. * gh-1510: Fix for git hangs when Inject ConEmuHk.dll option is enabled (9bce8f14e regression). * gh-1512: Option ‘Restore to active monitor’ shall not override unchecked ‘Restore inactive window by hotkey’. * Show options ‘Restore inactive window by hotkey’ and ‘Restore to active monitor’ on the ‘Quake style’ page. * When ScrollBar is always shown (in settings) don't hide it in alternative (xterm) mode. * Improve OS information in About/SysInfo and log. 2018.4.11 * gh-1402: Workaround for \u23CE ⏎ character preceding every prompt in fish on CJK versions of Win10. * gh-1449: DefTerm: Support VS 2017 changes in debugging C# console applications. * DefTerm: Do several attempts to attach started console (alternative mode). * For new installations automatic updates by default are enabled (same channel as downloaded release). * Fix icon path for WSL Bash task. 2018.4.9 * gh-1501: One more fix for cursor position after CJK (and other `COMMON_LVB_*_BYTE`) glyphs on Windows 10. * Fix custom startup command in ‘Fast configuration’ dialog (44b40e6 regression). * Add ConEmu.l10n (localization file) to portable and installer. 2018.4.8 * Add ‘Interface language’ field to ‘Fast configuration’ dialog. * New first page ‘General’ in the ‘Settings’ dialog contains several most used options and language selection. * Default update channel now is the same as downloaded release (stable/preview/alpha). * gh-1404: Update Far Manager panels dragging cursor hotspot. * gh-1484, gh-701: Menu item ‘New console dialog...’ in the tab and system menus. * gh-1402: Add debug assertions for troubleshooting. * gh-1420: Option ‘Restore inactive window by hotkey’ to change Minimize/Restore behavior, new default is ‘if out of focus, minimize instead of focus’. * gh-751: Minimizing ConEmu (Quake animation) should return focus to the previous window. * gh-1502: Text cursor disappear when use default `{Bash::MinGW bash}` task. * gh-1501: Add cursor position test to `ConEmuC -CheckUnicode`. * gh-1494: Add `` color scheme. * Update Connector modules to v1.2.5. 2018.3.18 * Feature ‘Extend foreground colors’ was removed. * Don't be CPU consuming in background. * gh-1456: VS Extension fails to start ConEmu with error ‘Can't create new virtual console!’. * gh-1467: Let hotkey ‘Create new window’ take into account confirmation setting. * gh-1478: Fix for unexpected error during `ConEmu -UpdateJumpList -Exit`. * gh-1402: Add some more tricks to find WinAPI problems: `ConEmuC -CheckUnicode`. * gh-1480: Update wslbridge to version 0.2.4. 2018.3.9 * Tab tooltip was not shown for Far editor/viewer tabs. * Ellipsis was not shown for long tab titles. * gh-1440: Fix error dialog when toggling ‘Show buttons (toolbar) in tab bar’. * Workaround for unexpected WINDOW_BUFFER_SIZE_EVENT appeared after console scrolling. * Installer: readme.txt in the `ConEmu\Scripts` folder. * gh-1466: ANSI FG/BG reset codes did not reset bright intensity. * Settings/Environment was not saved properly (last new line was stripped). * Write to ANSI Log calls to certain console WinAPI functions. Example: `^[]9;11;"cmd.exe: SetConsoleCursorPosition(0,0)"^[\`. * In some cases output of certain tools was printed as ‘black on black’. Ref: https://superuser.com/q/1198421/139371 Related?: gh-1342 * gh-1393, gh-1469: Fix jumbled output from git log/diff, reverse scrolling speed. * gh-1366: Mouse cursor was not updated while hovering over ChildGui. 2018.2.6 * gh-1430: Toolbar buttons Min/Max/Close dissapears after toggling ‘Show buttons in tab bar’. * gh-1431: Lines were not erased properly from multiline xml entries (Environment variables, aliases, cp). * gh-1436: TitleBar was not painted properly if theming was disabled. * gh-1338: Error message was not displayed if 7-zip was not found. * Write to log Theming and DWM flags. 2018.1.31 * Environment settings (and other multiline values) were not loaded from xml properly (xmlparser regression). * gh-1427, gh-1428: Fix TitleBar glitches whith option ‘Hide caption when maximized’. 2018.1.30 * Use internal XML parser instead of msxml3.dll. * gh-1369, gh-1406: Resize refactoring; refactoring of ideal/stored normal rect. * gh-1426: Fix resize glitches if TabBar was set to ‘Auto show’. * gh-1410: Correct TabBar height if system DPI was set to custom value. * gh-1404: Resize Far Manager panels separately. If mouse cursor is over panels bottom edge at center - resize panels heights simultaneously, otherwise - resize panels separately. * Rename option to ‘Adjust font size for monitor DPI’. * Don't print download progress: `ConEmuC.exe -download -nolog ...`. * Erase deleted Tasks/Palettes/AppDistinct options from xml file on save. 2018.1.14 * Fix frame gaps when maximizing caption-less window on Windows 10. * Drag window by frame top if caption is hidden and TabBar is hidden or shown at the bottom. * Fix wrong TabBar position when ‘Tabs on bottom’ is checked. * gh-1369: Fixes for unexpected unthemed title bar appeared in some cases. * gh-1400: Allow resize Far panels with mouse if border fore color match back 4bit color. 2018.1.11 * Resize fixes for quake mode in Windows 10. * Don't turn on ‘self-resizable’ frame on mouse-hover if the frame is already resizable. * Settings/Integration: If the ‘Command’ field contains only `-nosingle` and no `-run`, don't add `-run` BEFORE `-nosingle`. * gh-1395: Settings/Integration: Force Explorer to use hotkey if '&' is specified. * gh-1369: Some more logging on changing window style. * gh-1355, gh-1393: Fix backscrolling with pager (git bash started from connector). * New image-base for ConEmuHk64: 0x7E1100000000. 2018.1.8 * A lot of resize fixes. * Fix snap to desktop edges on Win8 when caption is not hidden and ‘Frame width’ set to non-negative value. * Fix wrong StatusBar size (it was greater) when caption is hidden. * Proper ‘OriginalFilename’ in version info. * Proper sizing cursor for caption-less window with positive Frame width. * During text selection IBeam cursor was set for many superflous areas. * Fix wrong Aero peek position for caption-less window with positive ‘Frame width’. * Fix window size and TabBar/StatusBar/Workspace position when caption is hidden and ‘frame width’ is zero. * Don't force show frame during dragging the ConEmu window. * Fix GDI resources leak (564d6449 regression). 2017.12.26 * Resize fixes. * gh-1364: Fix missed slash in the installer temp directory for `%TEMP%\ConEmuYYMMDD`. * gh-348, gh-1231, gh-1372: Let background image cover VCon pad areas too. * gh-1373: Fix `NestedCallLevel <= 2` assertion in ConEmu-Inside when parent window has zero size. * gh-1374: Explorer context menu integration didn't start console in the folder, if starting task has `/dir %CD%` in the task parameters. * gh-1269: Special keys were applied multiple times for GroupInput in xterm mode. * Add GetConsoleKeyboardLayoutName result to `ConEmuC -checkunicode`. 2017.12.17 * gh-1349: When reopening Settings dialog, show last selected section. * gh-165: Allow to move Quake console between monitors by hotkeys. * gh-275, gh-1345: Resize changes in caption-less mode. * gh-1350, gh-1351: Fix wrong VCon position and gaps colors in split-screen mode. * A lot of internal changes fixing deprecated string functions warnings. * Use BASE addresses above 4GB for better ASLR optimization (ConEmuCD64, ConEmuHk64). 2017.12.5 * gh-1345: Hide visible frame under TaskBar in maximized mode. * gh-1347: Fix crash when setting hotkey for a task (per-mon-dpi regression). * gh-1346: Tabs didn't appear when ‘Tabs on bottom’ is set. * gh-1346: Refresh Tabs position after ‘Tabs on bottom’ change. * gh-935: Workaround for injection failure in Windows 7 on some processes (in progress). * StatusBar: show current window and tile modes for debug purposes - column ‘ConEmu window mode’. * StatusBar: fix wrong painting position during resize with mouse in some cases. 2017.12.3 * Hotkey `Apps+C` didn't update ‘Hide caption always’ checkbox. * gh-1329: Fix progress detection in console window title. * gh-1206: correct position after `こんばんはGood Evening`. * gh-1321: Close tabs to the right (menu, hotkey, macro). * gh-1236: Proper fix for 1638b9b5 (kernel debug log to fill on Win10). * gh-275, gh-1226: Resize refactoring: dialogs, per-monitor dpi, caption-less mode etc. * Fix yanking while dragging the window by its contents with ‘Snap to desktop edges’ enabled. * Connector: Fix infinite waiting on shell exit. * gh-1331: Delay in response to any keypress on connector shells. 2017.11.17 * Option ‘Dynamic scrollbar range’ was not working for not-hooked console applications (e.g. wsl.exe). * gh-1306, gh-460: Perhaps this fixes unexpected ‘Tool window’. * In some cases ‘underline’ and ‘reverse’ had no effect. * Switch `-cur_console:hXXX` was ignored on console restart. * Connector: Enable log input to file `connector-XXXX-in.log` with `--log`. * gh-1317: GuiMacro `SetOption("bgImage", "C:\background.jpg")`. * gh-1051, gh-1111, gh-1138: Cursor position fix for Win10 after CJK glyphs. * gh-1311: Connector: Input may entirely stop functioning over time. * gh-1318: If checkbox ‘Support UNC paths in cmd.exe’ is not checked, rely on real registry value. * gh-1271: Fix for caret position when our dialog is active. * gh-1204: Get mount root prefix from connector automatically. It is used on paste paths to cygwin/msys consoles, e.g. when you paste `C:\My Sources` you'll get `/cygdrive/c/My\ Sources`. * gh-275: Fix dialog glitches moving between monitors. * gh-275: Fix GUI glitches while moving ConEmu window to monitor with different DPI. 2017.11.9 * XLat from Far didn't change keyboard layout in ConEmu. * GuiMacro: Select(2) cancels active selection. * gh-1307: Turn on ‘Long console output’ when user runs `script.py` associated with `py.exe` The script is executed by Far3 via ShellExecuteEx(script.py), which in turn runs CreateProcess(py.exe, script.py) in background thread * gh-1236, gh-1303: When GetConsoleKeyboardLayoutName not implemented stop calling it * gh-275, gh-1102: Support PerMonitorV2 DPI awareness for Windows 10 Creators Update. * gh-1304: Use ‘Bold’ ANSI sequence (`\e[1m`) to bright text color (partial revert of gh-1288). * `ConEmuBaseDirShort` environment variable had wrong path if `ConEmuBaseDir` contained relative parts. * gh-1312: Don't autoquote cygwin/msys paths on paste/drop. 2017.10.25 * connector#15: Support graphics output in some versions of mc. * gh-1265: Fix crash in Windows 7 on starting elevated console. * gh-1271: Update caret position to help accessibilty tools (e.g. Magnifier). * gh-661: Disable ‘Close ConEmu with last tab’ if it's prohibited. Some switches (`-MinTSA`, `-NoAutoClose`, ...) tells ConEmu to stay or minimize (into TaskBar status area) instead of termination ConEmu process when all its consoles goes out. * gh-1284: Globally registered (WinAPI) hotkeys may use only general modifiers (e.g. Ctrl instead of RCtrl/LCtrl). * Add ‘swap’ to hotkey description (Split: Exchange (swap) with ...) * Change button name to ‘Add/refresh default tasks...’ * gh-1261: Improve gh-1164 workaround (Win10 conhost bug with cleared contents on resize). * gh-1288: Use ANSI to underline text. Since now, ambiguous sequences like `ESC[1m`, `ESC[3m`, `ESC[4m`, `ESC[5m` are not used to increase the brightness of background/foreground colors, instead they are used to set ‘bold’, ‘inverse’ and ‘underline’ attributes. To set bright text or background colors one may use sequences `ESC [ 90…97 m` or `ESC [ 100…107 m` accordingly. * Let `ConEmuC -CheckUnicode` output samples with extended attributes. * New option ‘Dynamic scrollbar range’ on ‘Appearance’ settings page. When enabled, ConEmu tries to determine filled area in RealConsole. * Improve `-new_console` description. * gh-1293: LastError was erased on `printf`. * gh-1298: Force to load `.profile` in WSL. * gh-1291: Support wsl.exe and ubuntu.exe - turn on/off XA modes automatically. 2017.9.10 * gh-1227: Let ‘Context help’ button open corresponding page on conemu.github.io. * gh-1213, gh-1246: Clicking anywere below the prompt line caused prolonged cursor blinking. ConEmu tried to move text cursor to the clicked position, which caused numerous ‘Right arrow’ clicks. Since now ConEmu would not try to advance text cursor forward, if user clicks on the empty space (line) below the prompt. * gh-1247: Button `Startup dir...` on Tasks settings page didn't insert space-separator. * gh-1243: GroupInput blocked input on terminals. * gh-1245: When user runs `ConEmu -reuse -min -run ...` don't restore existing window, but minimize it. * ConEmu content was erased on decreasing window height or splitting. * gh-1249: Fix the gap on the right of the child GUI window, when scrollbar is set to be always shown. * gh-1241: Fix crash on text selection (mouse double click). * gh-1244: GuiMacro: Use SetOption to change color palettes. * `SetOption("Scheme", "")` changes color palette for the whole ConEmu window * `SetOption("VConScheme", "")` changes color palette for the active console For example, user may execute from the active shell prompt: ConEmuC -GuiMacro SetOption Scheme "" 2017.8.19 * gh-1164, gh-1216, gh-1219: Workaround for Window 10 conhost bug when content is erased on resize. * gh-1212: After ‘Unfasten’, unfastened console loses arrow key capability. 2017.8.14 * gh-1224: Process dead chars AltGr+~ and AltGr+` in XTerm emulation. * Settings\Debug: Show XTerm keyboard and mouse sequences in ‘Input’ mode. 2017.8.7 * Switch `-fork` was not working (e.g. `ConEmuC -fork -c powershell`). * gh-1220: Fix AltGr+Key sent with XTerm keyboard emulation (e.g. tilde and square brackets on german keyboard). * gh-740: Flexible config allowing or disallowing POSIX paths conversion. * If mount prefix is disabled with `-new_console:p:-` switch than autoconversion is disabled. * GuiMacro `Paste` doesn't do autoconversion with exception of mode `Paste(8)` which does. * Checkboxes ‘Allow Windows to POSIX path conversion’ on ‘Paste’ and ‘App distinct’ setting pages. * Add `-settings` switch to ConEmu.exe. * Escape special symbols in POSIX path autoconversion on paste (e.g. `/c/Program\ Files \(x86\)/Adobe/`). * Add wiki link to each settings page. 2017.8.5 * gh-1211: Pressing `Enter` in nano editor didn't insert new line. * Fix missed icon for `{Bash::bash}` task. * gh-1209: Node and `undefined` in the `process.env.foobar`. * Show proper terminal modes in Settings/Info dialog page. * Conversion from POSIX to native paths improved. * Proper prefix is used (autodetected or specified via `-new_console:p:/mnt` switch). * Paths `~` and subpaths are ignored for now, we can't even map `~` from WSL to native. * XTerm mouse wheel emulation changes. * VIM emulation `\e[62~` .. `[65~` is removed. * If console application has not requested mouse events, ConEmu sends Wheel events as Up/Down arrow key presses, and Shift+Wheel events as PgUp/PgDn key presses. * In come cases when using Connector ANSI sequences were not processed by ConEmu. * gh-999: Fix ‘RuntimeError: Failed to beep’ when running Python in ConEmu. 2017.7.30 * Unchecked option ‘Use credentials for network resources only’ was ignored (f9805dccf regression). Entered credentials were used only for network resources regardless of the option value. * gh-811, gh-1199: Fix race while starting applications requesting XTerm emulation (WSL, cygwin, msys). * gh-1194: Button ‘Clone’ in Settings/Tasks. * Use conemu-cyg-64.exe with wslbridge.exe to run WSL bash. This concerns to {Bash::bash} task created by default, if cygwin's wslbridge files exist in `%ConEmuBaseDir%/wsl`. Connector version 1.2 is required. wslbridge added to ConEmu distro. * gh-648, gh-1117: Support xterm mouse emulation (mc, WSL, etc.) Connector is required! * Try to find all installations of cygwin (32bit and 64bit) to create default tasks. * Find MSYS2 installations to create default tasks {Bash::Msys2-32} and {Bash::Msys2-64}. 2017.7.23 * gh-1198, gh-1136, gh-1009: XTerm keyboard emulation for Ctrl+key. * gh-1200: 'Sync dir' feature was broken for bash. 2017.7.9 * gh-1175: Take into account modifier keys (Ctrl,Alt,Shift) pressed in the hotkey settings field. * New environment variable `ConEmuBaseDirShort` contains short path like `C:\PROGRA~1\ConEmu\ConEmu`. * gh-1082: New environment variable `ConEmuCfgDir` contains directory where xml file was loaded from. * gh-1178: Use short path to connector for launching from git-cmd. Recreate defult tasks to obtain changes or edit task command manually (change `%ConEmuBaseDir%` to `%ConEmuBaseDirShort%`). 2017.7.5 * Cygwin/Msys connector is updated to version 1.0 (https://conemu.github.io/en/CygwinMsysConnector.html). Hooks are not injected into cygwin/msys applications if they were runned from connector. As a result some speed up execution and elimination of any BLODA conditions is expected. If one needs ConEmuHk to be loaded into some process, e.g. while starting non-cygwin application like cmd.exe from cygwin shell, they may use ConEmuC.exe as loader. For example, run "ConEmuC.exe -c cmd.exe" instead of "cmd.exe". * Use connector in new default cygwin/msys/git-for-windows tasks. * gh-1008: Add hotkey `Apps+Alt+G` to group input for selected panes. So one may add or remove console to input group by activating it and pressing the `Apps+Alt+G` (configurable). Consoles may belong to different splits/tabs. * Far Macro: ConEmu.CtrlNumber.lua to switch panel modes by `Ctrl+Shift+Numbers`. * Use `Shift+LClick` or `Alt+LClick` to mark the end of selection. User may start selection (by `Shift+LClick`, `Shift+Arrow` or any other way) and after that extend it by `Shift+LClick` to clicked postion. To create block selection use `Alt+LClick` to mark one selection corner and second `Alt+LClick` to mark opposite corner. Inspired by https://superuser.com/q/1218047/139371 * Option ‘Use credentials for network resources only’ in ‘Create new console’ dialog (from Peter.Maksimov). Switch `-new_console:e` is available in Tasks and command lines. * Create/restart console dialog redesign. 2017.6.22 * gh-136: Swap nearest panes with `Apps+Alt+X`, swap in direction with `Apps+Alt+Arrow`. * Let `Apps+Shift+G` group input for all consoles (instead of only visible panes like `Apps+G` does). * Use by default `LCtrl+Numbers` to switch consoles (instead of `Win+Numbers`). * Use by default `Win+Shift+Q` for ‘Switch next console’ by default. Leave hotkey `Win+Q` to Windows. The `Win+Shift+Q` may be useful to switch Tabs when ChildGui is active. 2017.6.5 * gh-1149: Fix crash in wide consoles, when the cursor goes over 200 col (f8907a1 regression). 2017.5.17 * gh-1039: Use `Win+Shift+G` as default hotkey for ‘Attach to...’ action. * Add option ‘Leave opened’ in the ‘Attach to...’ dialog (Win+Shift+G). Would be useful to examine output of some long running script after it finishes. * gh-1098: Add ‘Rename tab’ option for ‘Double click on tab’. * Use ‘Rename tab’ as default option for ‘Double click on tab’. * gh-1097: Don't count ‘System’ process as running process (close confirmation). * Cross-click closing confirmation was not shown if ‘Confirm tab’=Off and ‘Confirm window’=On. * Detach improvements: * GuiMacro: Detach(3) for seamless updating from Chocolatey * Try to set the console font to same size as ConEmu uses * No debug assertions * GuiMacro: Close(2) is asynchronous now. This is because of GuiServer thread waiting for synchronous macro completion, but this thread is required to be terminated when ConEmu window is closing... * Use Win7 TaskDialog for ‘Add default tasks’ confirmation. * DefTerm: Take into account xml file specified by -loadcfgfile switch. Default Terminal options have to be saved by ‘Apply’ button on the settings page. * gh-661: When ConEmu started with ‘-Detached’ switch (implied by DefTerm in some cases) option ‘Close ConEmu with last tab’ was unchecked. If old behavior is required, the switch ‘-NoAutoClose’ may be used. * Admin shield was not shown on TabBar if ConEmu was started under Admin. * Real console font size dialog: show hint if created font height differs. * gh-1012, gh-1121: Dirty workaround for AVDefender/Bitdefender bug raising a crash in the RegQueryValueEx. Warning! ConEmu physically can't fix 3rd-paty bugs! This commit just skips process bitness detection if we already may be sure about it. But the bug/crash may appear in some other situations, so it's better to report the problem to the authors. * gh-156, gh-805: Detach powershell console during Chocolatey's update ConEmu package. * gh-1135, gh-1021: Create default tasks for Visual Studio 2017 and x64 targets. * gh-1051, gh-1111, gh-1138: Workaround for Windows 10 bug with cursor position after CJK glyphs (Also: gh-1083, gh-1096). * gh-1051, gh-1111, gh-1138: More Win10 bug workarounds (cursor position after CJK). 2017.4.2 * gh-1085, gh-1087: Git 1.9.5 had failed to rebase (regression: 597d81f; ref: gh-688, gh-1063). 2017.3.26 * Move window to active monitor by ‘Minimize/Restore’ hotkey if ‘Restore to active monitor’ is checked (ref gh-255). * Don't force ConEmu window to ‘active monitor’ unless `-monitor XXX` switch or ‘Restore to active monitor’ are specified. * Minor fix in startup pos/size adjustment (Win10, FixWindowRect). * Run as ‘System’ failed when session was opened via RDP. 2017.3.16 * gh-787: Improve scroll by prompts by skipping empty lines above prompts. * gh-1058: Apply button was not auto-enabled on entering negative X coord in the Settings dialog. * gh-1061: Fix GUI crash if Far panels has no column titles. * Make magnetic snap to edges friendly for Windows Aero Snap feature. * gh-1047: Display ampersands (&) in tab titles. * gh-688, gh-1063: Fix ‘Long console output’ in Far 1.x and 2.x. * gh-1067: Log errors in GetConsoleScreenBufferInfo. 2017.3.5 * Microsoft/BashOnWindows#1668: Fix wrong ANSI processing from Vim started in tmux. * gh-1055: Fix ‘Delete word lefward to the cursor’ at the bottom of the screen. * gh-787: Keyboard shortcut to scroll by prompts. Ctrl+Alt+PgUp/PgDn will jump between commands entered in the shell prompt. Take into account that prompt must pass to ConEmu the code `ESC]9;12ESC\` (ConEmu default) or `ESC[?7711h` (mintty implementation). 2017.2.27 * gh-284, gh-472, gh-1000: Fix gaps in Windows 10 on snapping. Halt window size changing on show/hide the frame. * gh-945: Temporary fix for doubled CJK on non-CJK Win10 14959+. * Due to invisible part of the frame in Windows 10 (ref broken coordinate system) the ‘physical’ coordinates do not match ‘visual’ ones anymore. Let show ‘virtual’ 0x0 coordinate in the settings, if the window is docked to the upper-left corner of the screen without gaps. * Improve default pos/size if the window exceeds monitor's working area on startup. * gh-988: Alternative font unicode range was not parsed properly without 'prefix: '. * gh-988: Hints for alternative font's controls were updated. * Update AnsiColors24bit.ps1 for powershell in WSL Powershell is available for linux and also woks in Bash on Windows (WSL), see https://github.com/PowerShell/PowerShell [Console]::SetWindowPosition(0,$y) and [Console]::SetCursorPosition(0,$y) do not work there, so an escape sequence is used instead. * Fix crash on exporting some manually edited configurations. ref: https://groups.google.com/d/msg/conemu_ml/yDzPaCnd_5U/2AgUZEazCAAJ * gh-1044: Don't move the cursor by click above the line with prompt. * Prompt click position fix for multiline prompts. * gh-1000: Retain client size during changing window border on mouse hover. * Try to install injects in Wine without LdrGetDllHandleByName. ref: https://groups.google.com/d/msg/conemu_ml/owVNAuQzC_s/xWnKfyysCwAJ * gh-318: Snap to desktop edges now works with magnetic effect. 2017.1.18 * Pasted paths to WSL bash were not converted to Unix style (/mnt/...). * connector#10: Unicode \u23CE ⏎ character preceding every prompt in ConEmu. Ref: gh-586, Maximus5/connector#10, fish-shell/fish-shell#789 Check: Maximus5/connector#19 * ConEmu's `echo` and `type` commands were cropped sometimes. If RealConsole (conhost window) was created larger than expected by ConEmu GUI, than `echo` and `type` printed text using this larger size and after shrinking conhost window (up to Windows 8.1) part of data was cropped. * gh-451: Support multi-line (wrapped) hyperlinks (URLs) for Ctrl+Click. * gh-986: Don't change prompt text cursor position by LClick *above* the prompt. * gh-1007: Add more logging to mouse wheel processing. * Moving some prompt features to GUI (Click & CtrlBS). Ref: gh-986, gh-317, gh-845 Now ‘Change prompt text cursor position with Left Click’ and ‘Ctrl+Backspace - delete word leftward to the text cursor’ are process by ConEmu GUI without posting command to ConEmuHk. The feature requires properly reported by the shell prompt start pos. For bare cmd.exe it's done automatically by ConEmuHk. All other shells must report the start of the prompt with ANSI. * https://conemu.github.io/en/AnsiEscapeCodes.html#ConEmu_specific_OSC * https://conemu.github.io/en/CygwinMsysConnector.html For example, while using bash and connector you may add to the end of your `PS1` the following sequence: `\[\033]9;12\007\]`. * Improve hyperlink detector on 'git diff' outputs. * gh-1007: Disable ENABLE_QUICK_EDIT_MODE by default. * Add logging of console mode changes. * Improve hyperlink detector on #include-s with absolute paths. 2016.12.6 * gh-970: Pasting windows path in cygwin produces truncated result (77eb4e6 regression). * Allow to pass empty string via -cur_console:m:"" (set no mount prefix for Unix path conversion). * gh-552: Templates %m...m, %M...M - show mark ‘...’ for active (m) and inactive (M) tab. So, if you want to see ‘• ’ mark on the active tab (to emboss active tab) just change your console tab template to smth like: ‘%m• m<%c> %s’. https://conemu.github.io/en/SettingsTabBar.html#id2106 * Don't show Assertions in ‘Stable’ releases. 2016.12.3 * StatusBar. new column ‘Cell Info’ shows information about cell under cursor: UCS & ConAttr. CellInfo is turned on by default in ‘-basic’ mode to simplify bugreporting. * gh-809: Support mount root for unix-path conversion. ConEmu tries to choose mount root automatically, if user have not defined it explicitly with ‘-cur_console:m:/mnt’ switch. For example, to use ‘/cygdrive’ just run your console with switch: ‘-cur_console:m:/cygdrive’. * In some cases ConEmu window was closed unexpectedly during initialization. That happend if delay between consoles initialization was greater than first console run duration. So, ConEmu was closed before second console process was created. * gh-943: Rename option to ‘Change mouse cursor if busy’. * Add switch `ConEmuC -IsRedirect` to determine if CONOUT is redirected. * Force enable mouse events processing in KeyEvents. * gh-964: Let default {Far} task load plugins from FARPROFILE. * gh-927: Appropriate behavior while posting chars with AltGr pressed. Example: `print("*")` when Lithuanian keyboard layout is selected. * Support clickable links like 'example-protocol://someurl'. Origin: http://superuser.com/q/1152465/139371 2016.10.22 * gh-910: Fix regression: slower startup. * File `wsl-con.cmd` was created by msi in wrong folder. * Far Macro. Some improvements in ConEmu.CtrlNumber.lua * Console test (ConEmuC -checkunicode) improved. * gh-919: Fix misprint. * Some internal changes in hooking: support KernelBase for installing injects. 2016.10.9a * gh-896: Fix regression: cygwin/msys process creation was broken. 2016.10.9 * GuiMacro: Allow {Task} arguments in `Shell` function. * Reuse previous palette on Unfasten/Re-Attach. * gh-888: Allow to use ConEmu as default console in third-party applications. * DefTerm. Reinit some functions in SetAllHook * gh-830: Fix: Significant dwm.exe CPU time when renamed ConEmu tab is active. * gh-886: Settings / Integration: When ‘Shift’ is pressed during ‘Register’ button click, ConEmu's ‘Here’ and ‘Inside’ items are registered as ‘extended’ menu items, and they are shown by Explorer only when ‘Shift’ is pressed. * Show process startup time in SysInfo and LogFiles. * Far macro emulating `Ctrl+Number` on `LCtrl+Shift+Number` keypress. 2016.10.2 * gh-879: Fix doubled CJK glyphs on Windows 10 build 14931. Windows 10 (since 14931) has changed behavior for double-cell glyphs. Now they are doubled (COMMON_LVB_LEADING_BYTE/COMMON_LVB_TRAILING_BYTE) even for UTF-8 codepage. * gh-871: Selection was not working in Alternative mode. * Turn on certain StatusBar columns on `-basic` switch. * Switch `/OMITHOOKSWARN` was passed improperly to server when `/log` was defined. * Sample file demonstrates ability to use 256 colors in Windows Subsystem for Linux started in ConEmu tab. 2016.9.14 * gh-863: Unchecking option ‘Kill ssh-agent with ConEmu’ had no effect. * Suggest `%UserProfile%\ConEmu\Logs` as default location for ANSI logs. 2016.9.13 * Add option to kill `ssh-agent.exe` processes started from ConEmu's consoles on ConEmu termination. Read more at: https://conemu.github.io/en/SshAgent.html * Installer was signed without timestamp. 2016.9.4 * GuiMacro: Detach(1) didn't disable confirmation. * gh-841: Support COMMON_LVB_REVERSE_VIDEO console attribute. * gitextensions/gitextensions#3263: Inside mode: Don't run console ‘As Admin’ if Shift is pressed. Remove ambiguous option to run started elevated console (Run As Admin). If ConEmu was started by some shortcut with `Shift` key, user faced the unexpected UAC confirmation. If user want to run elevated console, they may use special Task with `-cur_console:a` switch. Example: {cmd (Admin)}. If developer want to run ConEmu console in elevated mode, they may add `-cur_console:a` switch *after* `-run` switch. Example: `ConEmu.exe -run cmd.exe -cur_console:a /k `. 2016.8.28 * gi-821: Fixed crash on startup if Explorer is not started. * Support sha256 checksum in chocolatey package. * gh-832: Fix crash on erasing ‘Settings->Keys & Macro->Mark/Copy->Exceptions’. * gh-766: Prefer 'TEMP' env.var over GetTempPath function. * GuiMacro: Let Detach(1) do the work without confirmation. 2016.7.24 * gh-780: Fix crash on drawing certain text data. 2016.7.10 * gh-766: ConEmuSetup improvements and error handling. * Don't show MessageBox in auto mode (chocolatey, autoupdate); * Log error messages to log-file in the exe's folder; * In case TEMP directory is inaccessible, just use exe's folder. * gh-740: Try to convert paths to cygwin style if clipboard doesn't contain `\n` while pasting to cygwin/msys shells. * In some cases ‘Alternative font’ was not used for first cell in a row (1536b94 regression). 2016.7.7 * gh-752: Fn keys were not processed by Keys GuiMacro. * gh-742: Improve installer error reporting, don't show error code twice. * gh-739: New option ‘Compress long strings to fit space’ is turned on by default. By unchecking that option you'll get ‘old’ behavior, when ConEmu just trims text, which overruns dedicated space. Read comments in the issue for details: https://github.com/Maximus5/ConEmu/issues/739 * In some cases old text was not cleared properly with a consequent garbage on the screen. * gh-741: Text compression/expansion logic changed, using ‘elasticity’ now. * In some cases Font changes were not applied properly. * gh-741, gh-722: Glyphs widths evaluation and alignment were changed. So, symbols are expected to be painted properly, uncropped. Examples: U+276F (❯), U+2794 (➔), U+27F6 (⟶). * gh-761: Support ‘Terminate all but shell’ for git-cmd.exe. 2016.6.19 * Command ‘ConEmuC -ConInfo’ prints current console tech info. * Let intercept GetWindowLong(GWL_STYLE) for console window handle (ref gh-727, gh-719). Far 3.0 since build 4698 tries to query GWL_STYLE for console window? * l10n. New language resources. * gh-735: Add all marked tasks to Jump List, use TaskBar history limit value only for History items. * gh-740: Conversion to linux path on paste was not working for ‘Single line’ mode. * Option ‘Autoupdate’ on Settings/TaskBar/Windows 7 Taskbar. If checked, Jump Lists will be updated automatically when user check the ‘Taskbar jump lists’ checkbox in Task properties. * Do not add new Tasks to Jump List by default, let user explicitly check ‘Taskbar jump lists’. * Installer (MSI): Don't suggest Far Manager's folder by default. 2016.6.12 * Terminal modes were not displayed on Settings/Info page. * gh-716: Cygwin/msys connector output was broken after starting nano. * gh-722: Treat Unicode range U+2700..U+27BF as double width glyphs. * gh-718: Minimal cursor size option was ignored for invalid console cursor size (zero size). * gh-719: Write cursor information and console window rect to log file. * Print more console information in `ConEmuC -checkunicode`. * gh-723: Let ‘Minimize/Restore’ hotkey act in spite of ‘Always on top’ mode. * Don't process (append) environment variable twice (ref gh-724). Example: `PATH=%ConEmuBaseDir%\Scripts;%PATH%;C:\Tools\Arc` So, do not add `%ConEmuBaseDir%\Scripts;` and `;C:\Tools\Arc` if they already exist in PATH. Only explicit comparison is done, so, if `C:\Tools\Arc` is in the middle of current `%PATH%`, it would be processed (appended). * Fix: Console progress `0%` was detected during tab startup (regression 69439a3). * Default task {Far}: don't double plugin folders to avoid doubled lines in F11 (Far 1.x and Far 2.x `/p` switch problem). * gh-700: Show tab icon for Far editors and viewers if ‘Far windows’ option is off. 2016.6.9 * gh-712: Total consoles count was not displayed in the title properly (regression 7ed745b). * gh-678: Selection vanished from screen after multiple page selection. * System menu item ‘Debug’ -> ‘Dump screen’ saved empty png file. * Fix Shift-Home selection in cmd.exe prompt after Tab-completion. First Shift-Home is expected to select the typed command without prompt. Sequential Shift-Home keypresses select and unselect prompt part. * Let Shift-Home select multiline commands in cmd.exe prompt. * gh-687: Settings page ‘Integration’ -> ‘ANSI execution’ to control allowed code and macro. This allows [ConEmu specific OSC](https://conemu.github.io/en/AnsiEscapeCodes.html#ConEmu_specific_OSC) to be executed: `^]]9;6;"*macro*"^]\` and `^]]9;7;"*cmd*"^]\`. Since now, they allowed by default in `cmd.exe` only (were implemented for `GitShowBranch.cmd`). User may also disable or enable they for any process. Also, there is a list of allowed commands. Commands are case-sensitive, one line - one command. User may use `*` to allow bunch of commands by ‘mask’. 2016.6.7 * Settings simplification: radio buttons were removed from ‘Settings/Mouse/Mouse button actions’. In Far Manager RBtn and MBtn clicks are bypassed to console if `` is selected. * Non-unique hotkey modifier check was improved. * Warning fixes (from Michael Lukashov). 2016.6.5 * User was enable to enter list of executables on AppDistinct settings page (regression). * Option ‘New window’ in the create new console dialog started ConEmu with wrong arguments (no xml, etc.) * DefTerm. Option ‘Register on OS startup’ did not use specified xml file. * gh-698: Fix crash on copy selected text in HTML format if raster font is used. * Fix conditon for `` key posting (ref: gh-641). * gh-667: Alt+GrayPlus+HexNumbers changes. * Alt+GrayPlus is bypassed to Far Manager by default. User still may set up explicit hotkey for ‘Start Alt+Number mode’ action. * Option ‘Alt+NumpadAdd - unicode hex codebase’ on the ‘Keyboard’ page (has no effect in Far Manager). * gh-629: Try to enable xterm keyboard emulation automatically (BashOnWindows). 2016.5.29 * gh-457: Support DefTerm feature for Idle (Pythonw.exe) and VisualStudio Code (code.exe). * DefTerm: ConEmu crashed if it's closed during DefTerm initialization. * DefTerm: Don't warn user if requested process is already closed. 2016.5.22 * gh-682: Multi-line paste Enter confirmation setting was not being saved. * gh-681: Allow NodeJSPortable.exe to run node in the same ConEmu tab. * gh-654: Feature ‘Drag ConEmu window by client area’ may be disabled on ‘Mouse’ Settings page. * gh-370: Option ‘Auto save/restore opened tabs’ saved wrong split config in some cases. * Maximus5/conemu-inside#23: Don't show Min/Max/Close buttons in the ‘Inside’ mode * StatusBar was painted using wrong ‘fade’ status in some cases (ConEmuInside). * ConEmu ‘Here’ and ‘Inside’ improvements (Integration Settings page). Now the command will be registered and displayed properly if ConEmu was started with special switches like `-LoadCfgFile`, `-LngFile` and others. * Recommended: `-reuse` over `-single`. `-reuse` does not enforce ‘single’ mode in the started instance. * gh-573: Support ANSI sequence to set cursor style (DECSCUSR, VT520). CSI Ps SP q - Set cursor style (DECSCUSR, VT520). Ps = 0 -> ConEmu's default. Ps = 1 -> blinking block. Ps = 2 -> steady block. Ps = 3 -> blinking underline. Ps = 4 -> steady underline. Ps = 5 -> blinking bar (xterm). Ps = 6 -> steady bar (xterm). * If ‘Multiple consoles ...’ were unchecked and ConEmu window is empty (either `-detached` or not closed with last closed tab) than it was impossible to reuse empty window to create new console. * Use proper parameters for new window (e.g. started from ‘Create new console’ dialog). 2016.5.15 * ConEmuInside: In some cases (VisualStudio pane) ConEmu failed to detect ‘focused’ state. * Split settings page ‘Controls’ into ‘Keyboard’ and ‘Mouse’ (alignment pending). * Settings page ‘Quake style’ for pull-down related options. * Settings for ChildGui moved to separate page (Integration / Children GUI). * cmderdev/cmder#929: Fullscreen was not activated properly in some cases (part of ConEmu was obscured by TaskBar). * gh-673: GuiMacro SetWindowPosSize: fix changing size w/o changing pos (by @jcsullins). * Was not able to use xml file from drive root. Now it's possible to run, for example: "ConEmu -loadcfgfile Z:\ConEmu.exe". * Show version stage in the Settings and About dialog titles. E.g.: ‘About ConEmu 160506 [64] {Preview}’. * More Settings/Debug/Exec improvements. CD was not captured in some cases, as a consequence contents of `@file` was not captured too. Also, `@file` processing is doing synchronously now. * Avoid using of deprecated googlecode location for version information. If user had old build of ConEmu installed, and old version location info was stored in the xml, they would fail to receive new versions. Now, old deprecated locations are ignored and ConEmu uses the default place instead. 2016.5.4 * gh-660: Fix crash on ConEmu.exe exit (32-bit). * Separate process creation from module/inject activities. On Settings/Info/Debug page new ‘Exec’ option shows only ShellExecute and CreateProcess activities. The ‘Shell’ options is unchanged: ‘Exec’ + injects + modules. * l10n: Update resources (Debug activities). 2016.5.3 * gh-661: If ConEmu started with `-detached` switch, option ‘Close with last tab’ couldn't be changed. * Improve debug shell logging (source of `@file` without paths). Settings/Info/Debug has ‘Shell’ option which shows processes creation information. E.g. if you run project make, and make executes `lnk @arguments`, the `arguments` is usually temporary file, which contains actual agruments for linking. ConEmu tries to locate the file (passed to `lnk` without path) and shows its contents in Settings/Info/Debug. 2016.4.28 * gh-472: One more fix for custom frame width (Quake) and ‘gaps’. * Revert gh-621 patch. Just post KeyUp(Alt) before pasting. * New feature ‘Adjust lightness of indistinguishable text’ on the ‘Colors’ settings page. The idea is to make text readable if certain foreground and background colors are indistinguishable for current palette. ConEmu will try to change the lightness of the foreground text. * Draw triangles (‘’ and ‘’) internally if ‘Enhance progressbars and scrollbars’ is checked. This solves two problems: cleartype artifacts in statusbars (vim airline for example); and triangle color for adjusted lightness of indistinguishable text. * New ConEmu.exe switch `-Frame ` changes desired ‘Frame width’. * Many internal changes in font descriptors creation. 2016.4.16 * gh-629: Once more ‘Bash on Ubuntu on Windows’. It's recommended now to run bash with `-cur_console:p` switch. **Delete trailing `1`** if you have {bash} task already. -cur_console:p[N] - pty modes, N - bitmask, default is 1+4 1 - XTermKeys, 2 - BrPaste, 4 - AppCursorKeys * Support underlined text attributes (fish autocompletion). * ConEmu.exe switches `-run` and `-runlist` are introduced to take the place of `-cmd` and `-cmdlist`. * Actually, `-cmd` and `-cmdlist` are supported for compatibility reasons, but `-run...` switches are more convenient to avoid confusion with `cmd.exe`. * As before, both `/switch` and `-switch` notations are supported. * Also, ConEmu internals were changed to `-switch` notation. * gh-641: Correct posting `0x7F` (which is `` on xterm) to console. It was posted with LEFT_CTRL_PRESSED in dwControlKeyState. We are posting ``, but not a `-`. 2016.4.13 * Task for ‘Bash on Ubuntu on Windows’ was not created properly in 32-bit ConEmu on 64-bit Win10. Also, it's named now just a {Bash::bash}. * New StatusBar columns: ‘Terminal modes’ and ‘RealConsole modes’ (generally for troubleshooting). * ‘Terminal modes’ shows keyboard modes and some flags: Windows, Xterm, App cursor keys, Bracketed paste, Cygwin, msys1, msys2 or clinK. E.g. `XC` means `X`term keyboard mode and `C`ygwin active console application. * ‘RealConsole modes’ shows current values of GetConsoleMode for ConIn and ConOut. * GuiMacro: `TermMode([,])`. Ref gh-629: To ‘fix’ arrow keys in vim in bash on Ubuntu on Windows one may set hotkey for macro `TermMode(2)` and switch keyboard mode manually when vim (linux process) is started and exited. ~~~ TermMode([,]) - changes active terminal modes Mode==0: Keyboard emulation (Xterm/Windows) Mode==1: Bracketed paste Mode==2: Application cursor keys (DECCKM) Action==0: Disable mode Action==1: Enable mode Action==2: Switch mode (default) ~~~ * Suppress error message ‘Can't open console data file mapping. ErrCode=0x00000002’ when started smth from Far and close ConEmu. * Terminal modes and performance counters were not shown properly on first open of ‘Info’ settings page. 2016.4.11 * gh-629: Support xterm keyboard emulation for ‘Bash on Ubuntu on Windows’. conhost does not do keypressed translation, if they were posted directly to console input. That's why switch `-cur_console:p1` must be used to turn on internal xterm emulation in ConEmu. So, the task {Bash-on-Ubuntu} would be: %windir%\system32\bash.exe -cur_console:p1 * New default task {Bash::Bash on Ubuntu} for Windows 10 (if the feature is turned on in Windows). * gh-637, gh-626: Access vialation on entering plugin ‘ConEmu Background’. * Environment variables: `ConEmuArgs` and `ConEmuArgs2`. * `ConEmuArgs` now contains only ConEmu.exe's ‘switches’ (before `-cmd` or `-cmdlist`). * New variable `ConEmuArgs2` contains the command only: `-cmd ...` or `-cmdlist ...`. * Reuse `ConEmuArgs` when starting new ConEmu instance from cmd autorun. * gh-614, gh-616: Handle commas as decimal separators in the in-console progress detection. This fixes `curl -# -O` looping between 0 and 9%. * Do not apply the icon from {Task} if option ‘Show overlay icon’ is on, to avoid two similar icons, one over another. 2016.4.3a * gh-620: ConEmu shows assertion when terminating SSH session in stermc. * gh-624: Defaults on Settings\Integration were lost after reactivating page. 2016.4.3 * ComSpec setting page moved under DefTerm. * Avoid attempt to hook DefTerm from multiple processes in Aggressive mode. * Improve logging of DefTerm internals. * gh-604: Some improvements on cmd automatic attach. The method may be registered on the ‘ComSpec’ settings page. However, it's not a recommended option, because ConEmu has very slight control over it, and even the logic ‘when we need to attach or not’ is fuzzy. * gh-604: Registration buttons were not processed properly on ConSpec settings page. * Corrections in `-new_console` switch trimming procedure. * The space was not trimmed in `/C "C:\Temp\run.cmd -cur_console:o"`. * Unexpected assertion removed in `/C "C:\Temp\run_pause.cmd "-cur_console:o""` * Don't run the command started by Shift-Enter from Far Manager via ConEmuC.exe. If one needs the command to be started in new ConEmu tab, than install the Macro: `ConEmu/Far3_lua/ConEmu.ShiftEnter.lua`. * Don't bypass MouseMove events to Far Menus when selection modifiers are pressed. * gh-621: Try to mimic standard Windows Alt+Numbers behavior. 2016.3.29 * Redesign ‘Keys & Macro’ settings page. Let `Alt+F` put focus into the ‘Filter’ field. * Hotkey `Ctrl+Alt+Break` was not processed properly. * LogFile was not created when ‘Internal LogFiles’ checkbox was on. * Simplify switching between Tasks on the ‘Tasks’ settings page (Up/Down keys if checkbox/button has focus). * gh-404, gh-322: Fix crash in the integrated applications after ConEmu update (DefTerm). The effect will be noticed on the **next** update. 2016.3.28 * New default hotkeys for process termination: * `Win+Alt+Break` - Terminate all but shell processes in the current console; * `Ctrl+Alt+Break` - Terminate active process in the current console. * gh-605: Fix regressions on ‘App distinct’ settings page (EOL). * gh-294: Add ‘Filter’ field to ‘Keys and Macro’ settings page. * gh-318: With ES_NUMBER user can't enter negative value (X/Y). * gh-318: Get rid of gap in Quake mode when frame width is less than 3 pix. * gh-165: Allow to drag Quake consoles between monitors. * Show `Ctrl+Break` but `Pause` in the hotkeys list. * l10n. Update resources * gh-304: Use full monitor working area for maximized/fullscreen Quake mode. 2016.3.27 * Add palette change logging. Ref: gh-599, searching for bottle neck * gh-593: Background color index was cropped to 8-color palette after `\e[9999;1H`. * gh-587: Fix text selection when cursor passes the selection anchor (downright). * Update chinese translation. * Improve double-click (word) selection. For example, select `daily` by double-click inside brackets of `ConEmu [daily]>`. * ANSI: Sequence `ESC [ 1 4 t` reports terminal window size in pixels as `ESC [ 4 ; height ; width t`. * gh-605: Fix regressions on ‘App distinct’ settings page. * Log extended information during console shutdown. Ref: gh-604: Last conemu versions often can't attach to started console 2016.3.24 * Unify LogFile names: `ConEmu-gui-...`, `ConEmu-con-...`, `ConEmu-srv-...`. * To start console as ‘System’ use `-new_console:aA` switch. * Update {Show ANSI colors} and fit in 76 chars. * Show compiler version and colorize output of `-Args`. * Try to show and re-apply `-new_console:XXX` switches in ‘Recreate’ dialog. * gh-581: Restart ConEmu after automatic update in the same directory it was started before. * Update chinese translation. * Update Russian translation. * If ConEmu started with `-detached` switch, don't close it automatically when last tab is terminated. * ConEmuC: Don't fall into `Press Enter or Esc to close console...` if invalid arguments were specified. This is critical, especially if our process was started under non-interactive account, than ExitWaitForKey causes the infinitely running process, which user can't kill easily * ConEmuC: Don't fall into `Press Enter or Esc to close console...` if server was not connected to GUI. Avoid situation when `ConEmuC /ROOT` was started from running console (bare `cmd.exe`) and ConEmuC (our started server) was not connected to GUI, then we get infinite loop when ConEmuC waits for cmd termination and vice versa. * Avoid ‘Unknown state’ appeared in the StatusBar during console startup. * LogFiles may be enabled permanently via Settings -> Features -> ‘Internal LogFiles location’. * CmdInit.cmd: Reset colors on each prompt (`$E[m`). * gh-587: Fix text selection when cursor passes the selection anchor (changing selection direction). * gh-598: Improve pasting options for `Shift+Ins` and `Ctrl+V` (multi-line text). Now, `Ctrl+V` will insert all lines, space-separated, and `Shift+Ins` insert multi-line text as before. User may change actions on the ‘Paste’ settings page. * gh-101: Switch `-UseExport` may be specified before `-GuiMacro` to export result as env.var. Without `-UseExport` specified before `-GuiMacro`, ConEmuC.exe will not try to export GuiMacro result as environment variable `ConEmuMacroResult` to the parent process. * Variable `ConEmuMacroResult` was skipped during environment exporting. * Settings pages names localization. 2016.3.13 * On WinXP/Vista the icon in the TitleBar was unexpectedly changed to active tab icon. * Intelligent selection: RClick over selected region will Paste selected text, bypassing Windows' clipboard, and Reset selection region. * Fix garbage displayed in VCon during console startup on WinXP. * gh-571: `ConEmu -demote ...` starts process for the wrong user. * Log current SessionID, improve Desktop and Title representation. 2016.3.10 * TaskBar icon fixes (Overlay icon on any OS, update icon on Restart console). * Option ‘Show overlay icon (Win7 and higher)’ now works on any system, and need to be renamed. So, if TaskBar uses small icons, ConEmu shows icon from active console via WM_GETICON. * Icon was not updated on restart console with another icon. * Updates on Intelligent selection. * Double and Triple clicks selection do not require modifiers. * Click outside selection region - would reset active selection. * Do `Internal Copy & Paste` if LBtn is still down and RBtn is clicked. * Avoid blinking on double/triple clicks. * Selection: In some cases Shift+DblClick slipped to console. * gh-328: Improve double-click word selection logic. * Don't select space after word. * Don't select pseudographics before/after alphabeticals. * Trim trailing punctuations. * Trim leading punctuations except dots (e.g. `.bashrc`). * Fix wrong quotation rules on Settings/Environment. Was not working properly: echo "" echo """C:\Program Files\Git\bin\git.exe"" fetch --progress ""--all"" " 2016.3.8 * Option ‘Retard inactive panes’ was ignored in some cases. * Trailing dot was not trimmed after md-style hyperlink. * gh-420: Do not enable by default option ‘Process start’. * Debugging purposes: `ConEmuC.exe -struct %ConEmuPID%`. * In prompt, Shift+Home/End selects command text first, second press expands selection to line start/end. * If selection was started from keyboard, than Del/Shift-Del/Backspace removes selected text. ConEmu tries to ‘map’ single Del/BS to series of keypresses to remove whole selected block. Only one-line selections are processed. Shift-Del do copying to clipboard before erasion. * Allow persistent mouse selection. Selection will reset on Paste or Typing. * When selection crosses anchor, behave same way if selection was started in that direction. * ANSI: Implement `ESC ] 9 ; 12 ST` to store end of prompt message. * l10n: Update chinese translation. 2016.3.1 * gh-562: Environment was not applied to elevated consoles. * Window icon was changed by mistake when starting task with defined icon. This must happen only for startup task. * StatusBar was not updated after root process termination. Especially for consoles started with `-new_console:c0` or `-new_console:c1`. * gh-561: Tab macro `%d` was not trimmed to ‘Max tab width’. * For TaskBar with small icons show current console icon instead of ConEmu default (option ‘Admin shield’). * GuiMacro: `GetInfo("Root")` XML-result changes. Ref: Maximus5/conemu-inside#8 State: Empty, NotStarted, Running, Exited. PID and ExitCode: unsigned integers. UpTime: milliseconds. Examples below. * If there are not consoles in ConEmu. * If console initialization is in progress (`ping localhost -t` for example). * If root process was started and is running. Note, `259` in `ExitCode` is `STILL_ACTIVE` constant. * If root process was finished (terminated by `Ctrl+C` as example). * Another example for `cmd.exe` normal exit. 2016.2.28 * Fix crash when mouse wheel was scrolled over search edit box. * Warning fixes (from Michael Lukashov). * Intelligent selection mode was not working in Far userscreen (Panels turned off). * gh-560: Fix true-color scrolling issues in Far 3.0.4525. * Alt+Numbers mode improvements. * Hotkey (unassigned): Start Alt+Number mode to enter unicode symbol by its hex codebase. * Allow mode start by GuiMacro: `AltNumber([Base])`. * Base==0: Start Alt+Numbers in ANSI decimal mode (‘ANSI’ actually means UNICODE code points 32..255) * Base==10: Start Alt+Numbers in OEM decimal mode * Base==16: Start Alt+Numbers in hexadecimal mode * Alt+Numbers: If mode was started by Alt+Key (user-defined), do paste on Alt release. * Alt+Numbers: Show collected codebase and hints about mode in the StatusBar. * KeyEvents v4.3: Unicode characters were not printed correctly. 2016.2.22 * gh-555: Aliases support was broken (771ab79 regression). * Maximus5/conemu-inside#13: ConEmu-Inside position was not updated in some cases. * Understandable error message if bad `-loadcfgfile` was specified. * Don't erase default MSZ setting value, if one not found in xml. * Let `-new_console:c1` consoles stay open silently even on Esc/Enter. When all processes in console are finished: * ConEmu does not close the console automatically; * Confirmation message is not written to console; * All keypresses are ignored. So, user may either close console via ConEmu interface (kill hotkeys or close menu items), or parent process (when ConEmu is working in the ‘Inside’ mode) may close the console via GuiMacro `Close(0,1)`. 2016.2.19 * Task may be executed in the running console with `ConEmuC -c {TaskName}`. Actually, first command of the named task is executed, and rest of command line is appended as arguments. For example, you may start Far editor in the **current** console by executing in the prompt: ConEmuC -c {Far} /e text.txt * Support tasks nesting. Simple nesting is allowed, so one may create their own task, which starts {cmd}, {powershell} and {VS 14.0 x86 tools prompt}, even in splits or with extra arguments. For example: {cmd} & echo Extra args {powershell} -new_console:sV * New predefined environment variables: `ConEmuTask` and `ConEmuPalette`. * TaskBar JumpList icons fix. * Far Macro: ConEmu.Editor.lua was broken (Far3 latest builds). * Far Tabs were not updated in ConEmu after plugin call `Plugin.SyncCall(ConEmu,100)`. 2016.2.18 * GuiMacro. New function `Write("Text")` writes "Text" to console output (dangerous). Use it at you own risk! Calling this function may cause unexpected behavior of running console application! That is because function changes console contents and cursor position directly, bypassing detouring standard ConIn/ConOut processing queue. In most cases **safe** functions `Paste`, `Print` and `Keys` are preferable! However, with `Write` you may implement some interesting features, like printing sort of ‘hints’ in shell prompt: Write "\e7\e[90mEcho \"Hello world!\"\e[m\e8" Ref: Maximus5/conemu-inside#3 * gh-550, gh-372, gh-234: Unassigned by default hotkey ‘Reset terminal’ (dangerous). I'm still sure that this operation is harmful and dangerous: . But since GuiMacro `Write` exists, anyone may create a macro for `Write("\ec")`, which the hotkey actualy executes. TabMenu item ‘Edit -> Reset terminal’ is available too. BTW, with `Write` macro anyone may push to console several colored lines, using ANSI sequences, to ‘mark’ some point in real-time logs (tail -f). Write "\n\n\e[91m========== '\e]9;8;\"time\"\e\\' ==========\e[m\n\n" * Bring here: Just move window to the upper-left corner of active monitor. * ANSI: Let `ESC ] 9 ; 8 ; "*env*" ST` supports `date` and `time`. 2016.2.17 * gh-541: Chinese translation (from @ulin). * Maximus5/conemu-inside#4: Don't warn `ConEmu's parent window was terminated abnormally` if we have no VCon. * Maximus5/conemu-inside#4: Don't show ‘Can't create new virtual console’ error if parent was killed during initialization. * Maximus5/conemu-inside#12: Query GuiMacro result via callback function. ConEmuCD.dll and ConEmuCD64.dll now export `GuiMacro` function. https://github.com/Maximus5/ConEmu/commit/ffd3774eb037fb73828ff969464ef57a97dda1a4 * Don't install hooks in `ConEmuC.exe`. * ConEmuC internal `-echo` able to expand environment variables by `-x` subswitch. Example: ConEmuC -echo -x "Version: %ConEmuBuild%" * Maximus5/conemu-inside#3: Write user-defined text to console on startup. Commands `echo` and `type` are processed internally by ConEmuC now. For example, it's possible to add into the Settings/Environment. echo -x "Welcome to ConEmu %ConEmuBuild% terminal^nPress Win-Alt-P to show Settings dialog" Alternatively, you may add `echo` or `type` before the command itself, when you create new console, or in the Task definition. Example. type -utf8 "%ConEmuDir%\Hello.txt" & cmd /k "%ConEmuBaseDir%\CmdInit.cmd" * Implement `-Args` to show how ConEmu's command line parser works. Example: ConEmuC -args "Test1 & ^ "" Test2" "Test "" 3" * Two double-quotes are replaced with one double-quotes in NextArg. So, the command: ConEmuC -args "Test1 & ^ "" Test2" "Test "" 3" must produce following output: 1: `Test1 & ^ " Test2` 2: `Test " 3` * Changes in `ConEmuC -echo` feature. * Arguments are processed one-by-one, strings with special characters must be framed with double-quotes, two sequential double-quotes are replaces with one double quotes, multiple spaces between arguments are treated as single space. * If `-r` subswitch is **not** specified, than following replacements are done. * `^^` -> `^` * `^n` or `^N` -> (char)10 {\n : LF} * `^r` or `^R` -> (char)13 {\r : CR} * `^t` or `^T` -> (char)9 {\t : TAB} * `^a` or `^A` -> (char)7 {BELL} * `^b` or `^B` -> (char)8 {\b : BACK} * `^e` or `^E` or `^[` -> (char)27 {ESC} * If `-x` subswitch **is specified**, than `%EnvVars%` are expanded. ~~~ $ ConEmuC -echo "A1 "" A2" "A3" A4" A1 " A2 A3 A4 $ ConEmuC -echo "Line1^nLine2" Line1 Line2 $ ConEmuC -echo -r "Line1^nLine2" Line1^nLine2 ~~~ * Settings/Environment has priority over console command line. Commands `echo`, `type`, `set` and others, defined in on the ‘Environment’ settings page, are executed before commands, defined in the Task or console command line. So, if ‘Environment’ has following line echo -x "Welcome to the ConEmu %ConEmuBuild% terminal" And {cmd} Task is defined like following echo "Initializing {cmd} Task..." & cmd /k "%ConEmuBaseDir%\CmdInit.cmd" Than you'll see in the terminal Welcome to the ConEmu 160217 terminal Initializing {cmd} Task... * Log system date on `-log` start and date change. * Show (StatusBar) and log PID of started console server. * GuiMacro: `WindowMode("HERE")` moves ConEmu to monitor with mouse cursor. * Add hotkey for ‘Move ConEmu window to the monitor with mouse cursor (Bring here)’. * gh-240: Create a workaround for ‘Maximum real console size was reached’. Looks like MS-Bug in conhost leads to abnormally large font set in real console, if tab was started As Admin in Windows 10 and Win-L pressed. > C:\ConEmu\ConEmu64.exe -basic -max -size 12 -visible -log -cmd {cmd (Admin)} > rundll32 user32.dll,LockWorkStation 2016.2.11 * Initial steps for localization. More information in docs: https://conemu.github.io/en/l10n.html * gh-539, gh-535: Option ‘Default task for new console’ was ignored (d93b5d9 regression). * gh-540: In some cases ‘Enhance preudographics’ was skipped. * Avoid spare RealConsole resize on HideCaption changes. * Fix broken Far's Editor/Viewer close from TabMenu (7631ffd regression). 2016.2.7 * Alt+HexNumbers: Dump collected codebase to console on ‘invalid’ input or GrayPlus. * gh-534: Fix wrong background drawing in Far (TrueColor). * gh-532: ‘Apply’ button failed to return ‘Normal’ mode in ‘Quake’ style. * gh-78: Rename to (modifier for ‘Highlight and goto’ and some others). Purpose of this option - process when no modifier (Ctrl, Alt, Shift, ...) is pressed. * gh-489: Fix TaskBar jump-list problems. * Default Tasks for `SDK::VS *` were not created by ConEmu64.exe. * Wrong icon was set for tasks `SDK::VS *` in jump-list. * Default extension (`xml` for example) was not appended if user fails to print it in the ‘Export settings’ dialog. * Warning fixes (from Michael Lukashov). 2016.2.4 * Support `Alt`-`+`-`HexNumber` input internally, including surrogate pair generation. ConEmu is able to convert entered codepoints to surrogate pairs, so you may enter uncommon symbols outside from BMP. Examples below. * Double-struck ‘𝔸’: press `Alt`-`+`-`1D538`. * Sushi emoticon ‘🍣’: press `Alt`-`+`-`1F363` More information: https://conemu.github.io/en/AltNumpad.html * Screen was not updated if shell (cmd for example) was activated back from closed Far Manager, if close has been done by cross-click and ‘Safe Far Close’ macro. * gh-524: Deal with entangled window list returned by Far API. 2016.2.2 * New TabMenu items hints (shown in StatusBar when hovering menu with mouse). * Show confirmation if Shift is pressed when selecting menu items: * Kill active process * Kill all bat shell * gh-241: Close consoles refactoring (close Far tabs with single click). If Far Manager was started from other shell (from `cmd.exe`, for example) than using ‘Safe Far Close’ macro leads to return to the shell prompt, instead of termination of this console. Also, unchecked option ‘Safe Far Close’ was ignored for `far.exe`. In progress actually. We have to simplify close/terminate calls. * Warn user if automatic action was called without initialized settings. The example of command: `ConEmu.exe -SetDefTerm -Detached -MinTSA -Exit`. If there is no settings file, user will see FastConfiguration dialog, which is unexpected for automatic action (`-SetDefTerm` and `-Exit`). If one needs to run ConEmu without settings, they may use `-basic` switch. * Double-width glyph in the col 1 was cropped in Far editor/viewer. For example, if the following text 中英文Block mode复制初步修复。 was started from the leftmost console cell, than glyph `中` was cropped to one cell. * GitShowBranch.cmd: Support git branches with dots in branch name. * gh-515: Internal changes of OnShutdownConsole. * Add default task {Tools::Docker}. Docker is detected by environment variable `%DOCKER_TOOLBOX_INSTALL_PATH%`. Also, `bash.exe` (Git, Cygwin or MSys) have to be installed to run `start.sh`. * Add default task for NYAGOS (if found in %PATH%). * gh-517: In Quake mode Maximized/Fullscreen was dropped after ConEmu restart. * conemu-inside/gh-1: Mouse text selection does not work in the Inside mode. * conemu-inside/gh-4: Avoid crashes when parent process is terminated during startup. * conemu-inside/gh-4: Correct warning messages and don't show them if parent was terminated during startup. * Allow to start new tab in current detached instance in one-console mode. If option ‘Multiple consoles in one ConEmu window’ is disabled, than new console is started in new ConEmu window, but this is impractical if there is no consoles in current instance. For example: "ConEmu -detached" or existing console was closed. * Protect from possible ‘locks’ during startup. * StatusBar column ‘Create new console’ was not updated in some cases. 2016.1.24 * gh#509: Fix crash when checking ‘Explicit executable’. * Use bare {Far} task name for first `Far.exe` found in our folder. To simplify portable and testing installations, if Far Manager is copied into our program folder, don't change its task name (don't add version/bitness suffixes). * gh#507: Get rid of MsgBox on attach errors, print info to Console instead. * gh#514: Fix broken pseudographics representation if ‘Alternative font’ was off. * Prefer `bash.exe` over `sh.exe` when creating default tasks. * gd#516: Support ‘Application Cursor Keys (DECCKM)’. * Update `terminals` module to v0.7.4 * Let characters 0x1F300..0x1F5FF be double-width. * gh#517: Radio-buttons Maximized and Fullscreen were not working (Apply is required though). 2016.1.11 * Fix bad XML format for GuiMacro GetInfo Root. * gh#491: Example Far Macro `ConEmu.CtrlShiftT.lua` had wrong hotkey. * Add ‘Anti-aliasing’ option for alternative font. * Far Manager was not resized after splitting with Ctrl-Shift-O/E. Implement helper ForceFarResize and utilize it in both sync and async modes. * gh#502, gh#446, gh#447: The algorithm of text drawing has changed significantly. * Prevent double execution of script specified in "AutoRun" cmd's registry key. For example, when "cmd /k CmdInit.cmd" was started (default for {cmd} task) triggering `ver` command caused execution of `test.cmd` again. [HKEY_CURRENT_USER\Software\Microsoft\Command Processor] "AutoRun"="test.cmd" * gh#494: Fix clink double initialization. * connector#3: Let Left/Right/Up/Down/Home/End post sequences `ESC[X`. * connector#8: Fix `top` output lines. * Update `terminals` module to v0.7.3. * Updating progress was not changed during downloading (10% till 99%). * gh#297: Fix keyboard delay (Windows 7). * gh#471: Far plugin ‘ConEmu Panel Views’ was broken (da926ba regression). 2015.12.24 * All 64-bit binaries are built with VS14. 32-bit binaries are still built with VS9 (WinSDK7) to be compatible with old systems. * gh#486: Use https for github links. * gh#488: Full paths were shown in Far's editor/viewer tabs (6ce49af regression). * GuiMacro: Return xml instead of json for `GetInfo Root`. * API GuiMacro: In-process GuiMacro execution improvements. Prototype: int __stdcall ConsoleMain3(int anWorkMode, LPCWSTR asCmdLine) Example: ConsoleMain3(3, L" -GuiMacro:1234 Print \"exit\\n\""); Note: anWorkMode==3, asCmdLine must begin with space. 2015.12.22 * gh#465: Treat Ctrl-Z as ‘EndOfStream’ in ReadConsole (Go input streams). To use, on new line press Ctrl-Z and Enter. Option (Features page) disabled by default. * gh#469: TabBar/ToolBar is too large. * gh#473: Support Ctrl+LClick on paths surrounded by brackets. * connector/gh#4: AltGr+Char was not working with cygwin/msys connector. * gh#470: Double click word selection was broken. * conemu-inside/gh#3: New switch `-new_console:c0`. It suppress writing to console confirmation messages like "Press Enter or Esc to close console...", but let server to wait for `Enter` or `Esc` nonetheless. * ConEmu.Core - Nuget package for Nuget.org, for referencing the stuff from Visual Studio projects. Unlike Choco's, this one has to carry all of the payload files inside and not on an URL. The nuget with conemu WinForms control references this nuget, so just adding a nuget to your project sets it up for using the conemu control out of the box. * Internal. Fix package name * API: ConEmuCD exports function ConsoleMain3 to enable ‘in-process’ GuiMacro calls. Prototype: int __stdcall ConsoleMain3(int anWorkMode, LPCWSTR asCmdLine) Example: ConsoleMain3(0, L"-GuiMacro:1234 Print \"exit\\n\""); 2015.12.17 * AnsiLog was not written properly in some cases. * Reuse HandleKeeper to determine console handle properties properly * ANSI coloring is supported while redirecting text to `CON` from batches. Example for cmd prompt: `call cecho "Redirected output" > CON`. * Output of msvcrt linked applications, like `PING` or `TRACERT`, may be logged (Settings\Features\Log console output). * gh#461: Fix AeroPeek VCon offset when frame is non-resizable. * gh#210: Minimizing other windows causes ConEmu to be restored (Quake). * First try to draw non-spacings/combinings/surrogates/double-width in ‘proper’ size. For example, combining accents/umlauts must be shown over preceding letter, CJK double-width characters must use two cells to avoid overlapping. But that raise some other problems if console application don't care about this. For example: Far Manager frames may look corrupted after CJK file names. * Don't try to pop up console menu by Shift+RClick while LBtn selection is present. * Make IDM_CLOSE (Tab/Console menu item) behavior more conistent. * If menu's opened by RClick on console or by hotkey: do ‘Close console’. * If menu's opened by TabBar's RClick and it's a group with several tabs: do ‘Close tab group’. * Otherwise: do ‘Close tab’. * ConEmu Inside: Terminate our process (ConEmu.exe) if parent window was killed. * Don't try to hide to TSA in Inside mode. * gh#467: Startup crash if startup task was renamed. * Arbitrary shells (not a Task) were not accepted in FastConfiguration dialog. * Let's save integers as user-friendly 10-based numbers (new xml configs). * Allow AutoUpdates to ‘Stable’ builds. * GuiMacro: GetInfo("Root") returns information of current console root process (JSON). * If there's no console at all - macro returns either empty string, or somthing like "FAILED:Specified ConEmu instance is not found". * On errors you may receive `{"Status":"Unknown"}`. * Normally, JSON object is expected. Example below, `//` for comments. ~~~ { "Running": false, // true or false "Name": "cmd.exe", // name of root process executable "PID": 1234, // PID of root process "ExitCode": 1, // 259 if still running, or its exitcode "UpTime": 12418 // milliseconds } ~~~ * GuiMacro: Avoid `VConRequired` error macro was received before RCon created. * GuiMacro: If `ConEmuC -GuiMacro` was started before ConEmu GUI finishes initialization, wait for ConEmu window appears or ConEmu.exe process terminates. * Option ‘Skip click on activation’ was not working on ‘touch’. * gh#310: Chars entered by Alt+Numpad were not working. * Warning fixes (from Michael Lukashov). 2015.12.10 * Add batch to build all binaries * Trim too long console titles in ‘Close confirmation’ dialog. * Backscroll buffer was not restored after exiting man, vim (608fe12 regression). * Show internal AppID in the About dialog, log AppID source. This ID is used for Win7+ TaskBar (pinned apps). * In some cases Win7+ pinned TaskBar icon was not reused. * gh#461: Fix AeroPeek VCon offset when using captionless mode. 2015.12.8 * gh#459: Characters disappear after readline `Ctrl+R`, ..., `Enter`. * ConEmu Inside: Fix detection of ‘ConEmu has focus’. * ConEmu Inside: Don't resize VCon or RCon if parent is minimized. * ConEmu Inside: Show TaskBar progress on parent window. * ConEmu Inside: Show flashing on parent window. * Updater. Fight against wininet cache before downloading. * In some cases ConEmu tried to set abnormally large console size. * GuiMacro: `GetInfo("ActivePID")` returns PID of active console process or 0. 2015.12.7 * gh#438: No newlines in log files after prompts (cygwin/msys). Cygwin/msys shells do not write LF to screen unless they were started from ConEmu's cygwin/msys connector. Therefore we have to do some magic to ‘detect’ line feeds... * Update terminals module to v0.7 * In some cases PID of terminal-connector was not shown in the StatusBar. * Xterm's alternative screen was not cleared on activating. * gh#351: Allow changing URL for retrieving version location on Settings/Update. * gh#351: Use `https://conemu.github.io/version.ini` by default. * Changes in processing of default hotkey `Win+X`. * It runs whole task contents, but not only first ‘tab’ from task; * If no one task was marked as ‘Default shell’, run default `COMSPEC` with arguments ` /k "%ConEmuBaseDir%\CmdInit.cmd"`. 2015.12.5 * Show cygwin/msys/clink flags on Settings/Info. * Post Fxx keys ncurses-friendly in the xterm mode emulation. * gh#442: In text selection pressing `Ctrl+Shift+Arrow` increases selection faster. `Ctrl+Shift+Left/Right` jumps by words if possible, or by 10 chars. `Ctrl+Shift+Up/Down` jumps by screen halfs. * gh#455: Redirected output from batch files to `CON` device was not working. * gh#438: No newlines in log files after prompts. * Do logging of Far prompt (only screen copy) if ‘Log console output’ is ON. * Update cygwin/msys connector to v0.6: https://conemu.github.io/en/CygwinMsysConnector.html 2015.12.2 * When ConEmu was started as a child window (InsideParent) it behaves as it has no focus. * Ensure that all child windows are closed properly on termination (InsideParent). * Option ‘Activate split/pane on mouse hover’ was not working in InsideParent mode. * Execution of ‘-GuiMacro:PID’ was failed if ConEmu.exe was in InsideParent. * Don't allow to execute ‘-GuiMacro:...’ on wrong instance. * Increase debugger backscroll even if it was started in ConEmu tab. * XTerm keys fixup (F1..F4, BackSpace, Alt+Char). * Disable ‘Ctrl+Backspace - delete word leftward to the text cursor’ in cygwin/msys connector. Ctrl+BS is posted as "\x1F" and it may be configured in the `.inputrc` as following: # Ctrl-BS - kill word on the left "\x1F": "\C-w" * ANSI: Implement `ESC c` - Full reset (clear screen, backscroll, move cursor to the upper-left corner). * ANSI: Fix errors in `ESC [ *n* @` and `ESC [ *n* P` sequences (insert/delete characters). * ANSI: Support byobu status line. * ANSI: Fix extended attributes errors on automatic line scrolling. * ANSI: Implement `ESC E`, `ESC D`, `ESC M` sequences. | ESC E | Same as `\r\n` | | ESC D | Same as `\n` but preserves X coord | | ESC M | Reverse `\n` | 2015.11.29 * ANSI: Implement (xterm) codes to save `ESC 7` and restore `ESC 8` cursor position. * ANSI: Sequences `ESC ] ... ESC \` were not processed properly in some cases. * cygwin/msys connector v0.4 * Warning fixes (from Michael Lukashov) 2015.11.26 * First try to create cygwin/msys terminal connector: https://github.com/Maximus5/cygwin-connector/releases/tag/v0.3 * JumpList icon was not created properly for Task in some cases. If `/icon` switch was not specified for Task parameters, and first line of Task commands started with specials `*` or `>`, JumpList icon was not created properly. * gh#431: Fix crash in EmergencyShow (Win10, closing ConEmu). * Show in the StatusBar cygwin/msys connector's PID as AltServer. * Pass UTF-8 encoded strings to debugger (ANSI debug logging). * ANSI: Implement `ESC [ 3 J`: dispose all backscroll lines (from xterm). * ANSI: Implement `ESC ] 9 ; 10 ST` - Request xterm keyboard emulation. * Testing purposes: Options `-a` and `-s` in `ConEmuC -type`. `-a` writes text to console using MBCS functions. `-s` writes text to console byte-by-byte (streaming). Example: `ConEmuC -t -a -s UTF-8-broken.txt`. * Improve UTF-8 support. In some cases, console output was broken. * Internal. Reset m_Term on tab restart * ANSI: Support xterm bracketed paste mode. Console application should write `\e[?2004h` to enable and `\e[?2004l` to disable bracketed paste mode. When mode is enabled, ConEmu sends pasted text to console input buffer framed into `\s[200~` ... `\e[201~`. * ANSI: Long OSC sequences written splitted by writes were processed improperly. * Don't treat cygwin/msys connector as ‘Incomplete operation’. * Warnings fixes (from Michael Lukashov). 2015.11.22 * Minhook related: Try to change our imports to ease use of trampolines. * Append optional switches to single-command tasks. For example, there is default task `{cmd}` which has single command: `cmd /k "%ConEmuBaseDir%\CmdInit.cmd"`. Now you may to run `{cmd} /git` from NewConsole dialog or via `-cmd` switch of ConEmu.exe. So, the result will be: `cmd /k "%ConEmuBaseDir%\CmdInit.cmd" /git`. * ConEmu here: Suggest to start `{cmd}` task instead of bare `cmd` by default. * So the default command for ‘ConEmu Here’ will be `{cmd} -cur_console:n`. * **Note**. Prepend `/reuse /cmd ` before task name, if you want to reuse running ConEmu window: `/reuse /cmd {cmd} -cur_console:n`. * Default command for ‘ConEmu Inside will be `{powershell} -cur_console:n`. * DefTerm. Workaround for some weird command lines (CodeBlocks). For example, in CodeBlocks: `C:\Program Files\CodeBlocks/cb_console_runner.exe "C:\sources\app.exe"` MSDN recommends to quotate paths containing spaces and specials, but CB ignores this guideline. * Try to bypass `start` if `-new_console:z` specified (in `cmd.exe` prompt). 2015.11.19 * gh#412: Failed to restore window position on secondary monitor (d3da351 regression). * Far Manager plugins ‘ConEmu Background’ and ‘ConEmu Underlines’ were not working on Windows 7. * First user palette was multiplied on sequental TabMenu calls ‘View (palettes)’. * On ‘Debug active process...’ always show ‘New console’ dialog. So user may run debugger in a split or even change debugger comand line. * Allow to set hotkeys for debugging menu items. * Debug active process (default is `Win+Shift+D`); * Active process memory dump; * Active process tree memory dump. * For debugger NewConsole dialog suggest '30%' for split and don't autoselect command. * Debugger. Switch `/AUTOMINI` will create sequential mini-dumps. * So, it may be useful for creating ‘mini snapshots’ of running application with specified time intervals. After `/AUTOMINI` switch user may specify interval. Milliseconds: `/AUTOMINI 500` or `/AUTOMINI 500ms`; seconds: `/AUTOMINI 5s`; and minutes: `/AUTOMINI 1m`. * Create sequental dumps of 64bit PID=1234 with 500ms interval: `ConEmuC64.exe /DEBUGPID=1234 /AUTOMINI 500` * Note. Press `Win+Shift+D` (default hotkey) to open NewConsole dialog with prefilled command to start debugger on the active process in the active console. * GuiMacro: `Debug()` allows to create debugger console or memory dumps. Action=0: Debug active process (confirmation dialog with options) Action=1: Active process memory dump... Action=2: Active process tree memory dump... 2015.11.15 * gh#415: GetLastError returned `6` after WriteFile even on success. * `Shift`+`Debug active process` allows to run debugger in a split. If menu item `Debug active process` is called with `Shift` key pressed, NewConsole dialog is opened (allowing to run debugger in a split). * ConEmuC Debugger. Don't suggest to create MiniDump on MS_VC_THREADNAME_EXCEPTION. * In some cases ConEmuC64 was started as server for 32-bit root process. * gh#94: Gray window on PuTTY when connected via local proxy command. * Correct condition for attaching console app started from ChildGui (from gh#94). * gh#419: Cygwin-friendly paths were pasted into Clink's prompt. * Option ‘Suppress bells’ added to ‘Features’ settings page. It suppresses annoying bells produced by echoing char(7), Beep and MessageBeep functions. ‘Inject ConEmuHk’ is required. Instead, ConEmu window (Frame/Title and TaskBar button) will flash one time if ‘Disable all flashing’ is not checked. * Let palettes list (TabMenu) will not be too long. There are 25 predefined palettes now, and if user creates user-defined palettes, the menu had unhandy scrolling. * Detection of ‘Active process’ is almost rewritten. * Since now, ‘Active process’ is the last process started in console (same as before); * But process used to select AppDistinct options must be interactive. For example, you have defined AppDistinct settings, with palette `` for `powershell.exe` and palette `` for `bash.exe` and `git-bash.exe`. Than, palette will not be changed anymore when you just run `git status` from powershell's prompt, it will be changed if only `bash.exe` is started directly from powershell's prompt. That was impelemented to suppress colors flashing during non-interactive command. * StatusBar column ‘Active process’ shows ‘Interactive’ and ‘Plugin is loaded’. * Asterisk `*` after process name: process is reading keyboard input. * Sharp `#` after process name: ConEmu plugin is loaded in Far Manager. * Add ‘ConEmu Underlines’ and ‘ConEmu Background’ items to Far's F11 menu (panels, editor, viewer). 2015.11.9 * Move checkbox `Activate split/pane on mouse hover` to the `Controls` settings page. * Write process list changes and active process name to log (ConEmu -log). * Write CtrlC/CtrlBreak and other console events to log (ConEmu -log). * Don't restart PC without confirmation after `CUP ALL` (chocolatey update). https://groups.google.com/d/topic/chocolatey/UvVVLpoBnCg/discussion * Improve ConEmuC debugger output. * A lot of ANSI fixes generally for [plink fork](https://github.com/Maximus5/plink#readme). * ANSI. Primary buffer was not restored properly if there was no backscroll. * ANSI. Support tmux status line. * ANSI. Fix some scrolling issues. * ANSI. Sequence `ESC [ *a* ; *b* r` addresses working area coordinates. ANSI aware applications don't know about backscroll (upper invisible area) buffer, they intend to work within ‘working area’ instead. * ANSI. New sequences are supported. | ESC [ *n* @ | Insert *n* (default 1) blank characters. | | ESC [ *n* P | Delete *n* (default 1) characters. | | ESC [ *row* d | Moves the cursor to line *row* (absolute, 1-based). | | ESC [ 7 m | Use inverse colors | | ESC [ 27 m | Use normal colors | | ESC [ ? 47 h | Same as ‘ESC \[ ? 1047 h’ | | ESC [ ? 47 l | Same as ‘ESC \[ ? 1047 l’ | | ESC [ ? 1047 h | Activate xterm alternative buffer (no backscroll) | | ESC [ ? 1047 l | Restore xterm working buffer (with backscroll) | | ESC [ ? 1048 h | Save cursor position | | ESC [ ? 1048 l | Restore cursor position | | ESC [ ? 1049 h | Save cursor position and activate xterm alternative buffer (no backscroll) | | ESC [ ? 1049 l | Restore cursor position and restore xterm working buffer (with backscroll) | * ANSI. Report ‘xterm version 136’ on request to avoid problems in Vim, accessed by ssh on Unix machines, just let it think it's an xterm terminal. | ESC [ *>* c | Reports `ESC > 0 ; 136 ; 0 c` | 2015.11.1 * gh#401: Fix: `Ctrl+~` doesn't work on build 151029. * gh#399: Use mouse for ConEmu's selection instead of passing to cygwin's vim. * gh#398: Fix: Taskbar previews don't match tabs order. * Fix: Win7 taskbar aero peeks appeared in wrong position if pad size was not null. 2015.10.29 * Add `vertical block` marker to clipboard while copying rectangular selection. Borland and Microsoft IDE-s are supported. * Warn if two instances of ConEmu plugin were loaded in Far Manager. If due to installation or configuration errors two dll libraries were loaded, they both will fail to work properly. So, warn user about the problem in detail, show suggestion, and stop plugin initialization. * Warn user if wrong version of ConEmu plugin was loaded in Far Manager. * gh#364: Ignore Minimize/Restore hotkeys pressed while Quake animation is not finished. * Don't try to inject hooks into ConEmuC processes. * Menu item ‘Active process memory dump’ did not suggested to create dump automatically. * Add note about maximum length of backscroll buffer (32766 lines). * Improve configuration detection while reusing running ConEmu instance. For example, running `ConEmu -quake` must not create new tab in the existing ConEmu ‘non-quake’ instance. * Some corrections in Single-instance logic. * Source file codepage was ignored in `ConEmuC -t` switch. NB. `ConEmuC /TYPE ...` or its alias `ConEmuC -t ...` may be used to type any text file with ANSI sequences. Check out full syntax and examples in docs: https://conemu.github.io/en/ConEmuC.html#EchoAndType 2015.10.25 * gh#373: Don't decrease window height with AutoTabs (show/hide/show/hide/...) * gh#388 (gh#295?): Don't change buffer height for cygwin/msys versions of vim. * gh#359, gh#84: Fix vim color issues on scrolling. * Don't change buffer height when starting `vim` with `--help` or `--version`. * Vim terminal mode was not finished properly on exit. * ANSI `\e[K` has not cleared rightmost cell. * Checkbox ‘Desktop mode’ was removed from settings. * gh#336: Don't poll Far 2.x current directories while Editor/Viewer is active. * gh#17: Send WM_ENTERSIZEMOVE/WM_EXITSIZEMOVE to ChildGui during resize. 2015.10.15 * gh#21: Multi-monitor support improvements. * ConEmu takes into account monitor working coordinates when using same xml between different PCs. * ConEmu tries to guess the monitor where user want to open the window. * New `ConEmu.exe` switch `-Monitor <1 | x10001 | "\\.\DISPLAY1">`. Where may be specified either monitor 1-based index, or HMONITOR (hex descriptor), or monitor name. User may check these values in the ‘ConEmu About dialog’ on then ‘SysInfo’ tab (Win+Alt+A). * gh#368: Fix thread handles leaks. * gh#353: Jump lists were created improperly if ConEmu was started with `-single` switch. * gh#337: Convert pasted paths to cygwin's style if dropping files/folders from Explorer and others. * On paste filepath by Ctrl+V (Paste first line of clipboard) convert path to cygwin style, if active application is cygwin/msys. * Add `` color scheme and use it by default (for new configs). * gh#357: Fix ConEmuHk conflict with python's TKinter dropdown control. * ANSI: Brightness (back/fore) was not reset in some cases. For example: `\e[96mA\e[36mB` - `B` and `A` had same color. * Implement copying colored text using ANSI sequences. The feature works like ‘Copy as HTML’ implemented before. Option on the ‘Mark/Copy’ settings page, menu item ‘Edit’ -> ‘ANSI sequences’, and GuiMacro(3). ConEmu puts to clipboard **real** ESC codes, so only certain editors (or shells) are able to **paste** these sequences. Far Manager is working nice. * Only active split was updated after choosing palette from DDCB. * Improve bCurrentThreadIsMain detection in ConEmuHk (especially for cygwin/msys forks). * Support ‘Drag&Drop’ from Settings/Colors page onto any place on screen (drag colored square). * Use v140 toolset for ConEmuHk in ConEmuHk14.vcxproj. * GuiMacro: `TaskAdd("Name","Commands"[,"GuiArgs"[,Flags]])`. Create new task and save it to settings. Example command for PowerShell> ConEmuC --% -GuiMacro TaskAdd "Far" @"set ""FARHOME="" & ""%ConEmuDir%\Far\far.exe"" /w /p""%ConEmuDir%\Plugins\ConEmu;%FARHOME%\Plugins""" 2015.10.6 * Disable old workaround for gh#272 (revert eaaf96b). There were reports of broken redirections: gh#341, gh#323. * Add `` default color scheme. * gh#345: ‘Run as Administrator’ was crashed in some cases. * gh#350: Fix slowdowns when running commands in ConEmu. * gh#322: Fix crash in hooked applications while updating DefTerm module. * gh#344: Fix abnormal resize of maximized window if TabBar is auto-shown. * DefTerm. Improve error message, version, process name. * Temp fix for GetEnvironmentVariable stack overflow. * Print handles information in `ConEmuC /checkunicode`. * Fix wrong background from ‘ConEmu Underlines’ in some cases. If "Far /e ..." was started from Panels, and only ‘Editor’ coloring was enabled in ‘ConEmu Underlines’, than wrong background was painted after exit Editor Far.exe process. * Don't autoclose ConEmu window while error message box is waiting user interaction. * ConEmuHk termination refactoring. 2015.9.13 * ConEmuLn. Add separate settings for Editor and Viewer underline colors. * gh#321: Temp fix for Vim display issues. * gh#297: Show option ‘Delay between consoles initialization’ on the ‘Startup’ page. * Internal bugfixes from Michael Lukashov. 2015.9.10 * gh#272: Fix crash on exit when NVIDIA CoProcManager dlls are loaded (workaround). Thanks to @kraml for testing. * gh#290: Far Manager Background plugins were broken (minhook regression). * Feature ‘Change prompt position with LClick’ was not working with clink. * Don't try to position cursor on higher line to avoid numerous beeps (bash, clink, etc.) * Don't hook Kernelbase.dll in Windows 7 (MultiRunX64 was printed unprocessed ANSI). 2015.9.8 * ConEmuHk. Some internal changes (store function index, fix init/deinit steps). * gh#279: ConEmu window grew in size after relaunch if size was defined in pixels or percents. * gh#279: Unchecked ‘Align ConEmu window size to cells’ was ignored on startup. * Fix unexpected resize to integral size on startup. * Don't create two default tasks {Bash::Git bash} for `git-cmd.exe` and `bin/sh.exe`. * Win2k: Remove static link to GetConsoleSelectionInfo. * Win2k: Adapt ‘Pause’ feature to lack of GetConsoleSelectionInfo. * gh#216: Mouse wheel only works on first console in split window. * Don't count `git-cmd.exe` and `git-bash.exe` while checking for ‘Incomplete operations’ during tab/window close. * Correct close tab/window confirmation message (‘incomplete operations’ was not shown). * DefTerm. The switch `-new_console:z` was ignored by host application in some cases. * Print Hex and Dec ExitCode on shell exit errors larger than 255. * Fix handle leak (GetProcessBits, handle is not freed). 2015.8.21 * Article in wikipedia [was proposed for deletion](https://github.com/Maximus5/ConEmu/issues/289). * Support `/dir %CD%` in Task parameters. Than task will be started in the active console working directory. [Configure your shell properly](http://conemu.github.io/en/ShellWorkDir.html) [Launch task in specific directory](http://conemu.github.io/en/LaunchNewTab.html) * Task parameter `/dir` was ignored if task was started by `Win+X` hotkey (‘Default shell’ checkbox). * GuiMacro: Use `ConEmuC -Silent -GuiMacro ..` to suppress GuiMacro result printing. * gh#287: Fix crashes while starting threads. * Some internal changes in ConEmuHk. * Set gcc debug make destination to 'Debug' dir. 2015.8.16 * gh#268: Support DefTerm for CodeBlocks. User have to add `codeblocks.exe|gdb.exe` to hooked executables. * gh#255, old#1065: Add option ‘Restore to active monitor’ to the ‘Size & Pos’ settings page. It moves window to active monitor from inactive by Min/Restore hotkey even if window is visible. Option is implied by `-quake` ConEmu.exe switch. 2015.8.14 * Use minhook for hooking. Absolutely different method may eliminate a lot of weird problems (import pointers are not changed anymore). * In some circumstances ConEmu ‘drawing’ almost hangs during mouse text selection. 2015.8.13 * Default task {Shells:cmd-32} to run 32-bit cmd.exe on 64-bit OS. * Updater. Show in the confirmation message URL of downloaded version.ini. * Up to date supplied documentation files (About, License, etc.) * GitShowBranch.cmd: Fix `unexpected apparance: (`. Force to use english. * Mark ConEmuC.exe as dpiAware (manifest). * Some internal fix of TabBar activation during startup. * Add more logging of RealConsole window size and used font. * Rename settings page to ‘Tab bar’. * Let `-new_console:w0` force ‘Insert’ mode and `-new_console:w1` force ‘Overwrite’ mode. * Don't load/save `ConInMode` option from settings. There is `-new_console:w[0]` instead. * Add ZoneId check and unblock for ConEmu's binaries. Under some circumstances ConEmu binaries may be marked as ‘Downloaded from internet’. That, in turn, may cause blocking by SmartScreen or antiviral software. ConEmu will do checking of Zone.Identifier NTFS stream and warn user if it's found. User may let ConEmu try to unblock files automatically or do this themselves. More info here: http://conemu.github.io/en/ZoneId.html * Let default task {cmd} be used for `Win+X` ConEmu hotkey. That is the configurable hotkey for ‘Create new ‘cmd.exe’ console’ action. * gh#224: Try to fix 'Maximum real console size was reached' error. * DefTerm. Add ‘Apply’ button to settings page. * DefTerm. Add option to log all ‘exec’ activities of hooked processes (debug purposes). * Update PortableApps icons. * A LOT of internal fixes. 2015.7.28 * Updater. Show user-friendly information download fails, add ‘Retry’ button in the error dialog. * Issue 1899: Java 7 has been crashed with java.lang.InternalError. If Java.exe was executed from symlinked location, the exception was occurred in some circumstances: Exception in thread "main" java.lang.InternalError: Should not get here at sun.nio.fs.WindowsNativeDispatcher.GetFinalPathNameByHandle(Native Method) 2015.7.27 * DefTerm. Support Lazarus' console applications debugging. User must add `lazarus.exe|gdb.exe` to the hooked executable list. * Downloader. Switch `-debug` may be used to show console and print progress even if output is redirected. * Downloader. Improve logging of self-update activities. * Updater. Empty proxy server field is used for proxy-autoconfiguration. 2015.7.22 * gh#129: ‘Restore’ button didn't restore width if TaskBar was auto-hidden. * GuiMacro: Tab(11,"Name"): activates tab by name, title or process name * Describe some switches in the About dialog. * Some additional logging while resizing window. * Write to Log information about used storage location (xml-file/reg + config). * For debugging purposes SEH is disabled in this release. 2015.7.16 [!] Now user may use any external downloader tool if ConEmu's internal does not suite. [*] Implement new switch `-update` to force automatic update procedure. [*] Describe switch `-LoadRegistry` in ConEmu's About dialog. [*] Force Win7 TaskBar to use different taskbar buttons for different configs selected by one of the following switches: `-config `, `-loadcfgfile `, `-loadregistry`, `-basic`. [*] Allow to delete several tasks at once, just select them with Shift or Ctrl pressed. [*] Button ‘Add default tasks’ behavior was changed. Confirmation dialog suggests to either to add absent tasks or add and recreate all default tasks. Recreation will affect tasks' commands and parameters. [*] gh#213: Improve update error reporting, more logging. [*] Switch processor refactoring (code moved to CConEmuStart class). [*] Internal changes in threads creating/killing. [*] Some more logging for toolbar buttons and window resizing. 2015.7.7 [*] This build changes the download procedure used within automatic updates. ConEmu.exe (GUI) do not call WinInet functions anymore, instead it calls the downloader tool (ConEmuC.exe is an only option at the moment). This will eliminate accidental crashes of GUI after resume from sleep. [*] The downloader itself has new options. If user omit dst file name - try to get it from Url. If "-" was specified as dst file name or output is redirected - just write contents to stdout. New switch ‘-agent ’ was implemented. 2015.7.5 [*] Script "ConEmu/GitShowBranch.cmd" was improved. [*] Highlight & goto was broken at least for powershell scripts (c8c386a regression). Only file name (path) was highlighted without following line number. [*] Highlight & goto detector was failed if mouse was before first backslash of the path. [*] gh#205: TabBar was not shown on startup in some monitor configurations (bacc66d regression). 2015.7.1 [*] Add optional ‘/Silent’ switch to suppress environment exporting messages. ConEmuC [/SILENT] /EXPORT[=CON|GUI|ALL] [Var1 [Var2 [...]]] [*] gh#193: Fix wrong condition: ‘Warn if MacType hookers are loaded’. [*] Omit ConEmuC export variables message in GitShowBranch.cmd. [*] gh#174: Let paste to all ‘grouped input’ consoles at once. [*] Show actual hotkey instead of default Ctrl+BackSpace in Settings. [*] Vert/Horz text cursor was displayed in wrong position especially on DBCS systems. [*] Ctrl+BackSpace feature was not working on DBCS systems. [*] Redirect chocolatey downloads to github. [*] gh#204: ConEmu hung on startup in some cases while initializing default tasks. 2015.6.29 [*] Attach (Win+G) was not succeeded if ConEmu has different bitness. [*] Grab palette from Win+G attached consoles (Vista+) and create new if matching one was not found. These palettes ‘#Attached:XX’ are not saved automatically, but will be when user presses ‘Save settings’ button in the settings dialog. [*] gh#193: Show hookers warning once per day. [*] Show real names for ‘Win+Number’ and ‘Win+Arrows’ on the Controls page. [*] Search for static text control in the Settings dialog was failed. [*] Issue 1977: Don't change RealConsole height on tabs auto-show/hide, resize ConEmu window height instead. [*] Add some urls to ConEmu.nuspec (chocolatey). [*] When tabs are auto shown icon was not loaded for the first tab. [*] Environment variables export was improved (some internal fixes). 2015.6.21 [*] Use recommended launcher for Git-For-Windows bash (default tasks). [*] Try to create default task for GitSDK bash. [*] Let Settings\Environment page use one line for one command. This will make concrete set commands with quotation marks. Following two commands are equal. set "PATH=C:\Program Files\ConEmu;%PATH%" set PATH=C:\Program Files\ConEmu;%PATH% But you still have to use quotations to keep trailing spaces set "VarName=This is my value " [*] Support empty lines and comments on the Settings\Environment page. You may comment lines with '#', '//', '--' or 'REM '. [*] gh187: Highlight and goto did not work when filename not finished by :[space] or :[number]. [*] Improve default task names unification and sorting. [*] The arrow char was inserted into Far Manager prompt after selecting text with Alt+Mouse. [*] Fix xml search path for Git-For-Windows package. Correct one is /opt/share/conemu/ConEmu.xml while ConEmu.exe is placed in /opt/bin folder. [*] Error code was not shown properly if DefTerm inject fails. 2015.6.10 [*] Simplify `set` usage in Settings\Environment. [*] gh#179: Fix broken environment inheritance (ca9e31a regression). [*] Ensure that `set` commands in the task/command line will override ConEmu's default environment (settings page). [*] GuiMacro: Make Task and Shell functions synchronous to be able to use Context function after it. [*] GuiMacro: Return more information about wrong macro. [*] GuiMacro: Easify calling functions with int arguments. "Sleep 500;" was not working. [*] GuiMacro: Sleep function have not returned "OK" on success. [*] Allow using `-new_console` and `-cur_console` switches to set DosKey aliases. [*] Support aliases set up on the ConEmu Settings/Environment page. Note! These console aliases are processed by `cmd.exe` and `far.exe` only. If you need to set up aliases for other shells (PowerShell, bash, etc.) please refer to their manuals. Defining aliases are similar to `doskey.exe`. Actually, you may define: alias alias=doskey $* After that you can use `alias` in the `cmd.exe` prompt started in ConEmu: alias sudo=ConEmuC -c $* -new_console:an That is just an example. It's more handy to add `sudo` definition into ConEmu Settings/Environment page. And when `sudo` is defined you may run from `cmd.exe` prompt, for example: sudo diskpart [*] gh#176: Avoid creating two tabs while starting "git-bash.exe --command=usr/bin/bash.exe -l -i". However, preferred way to start Git-For-Windows in ConEmu tab is: git-cmd.exe --command=usr/bin/bash.exe -l -i [*] Update ConEmuPortable.ini with Environment information. 2015.6.8 [*] Quake mode enabled by `-quake` command line switch was not shown in Fast Configuration dialog. [*] Suggest the task user specified by `ConEmu.exe -cmd {cmd}` in Fast Configuration dialog. [*] Don't set default task in Fast Configuration dialog, use exact `-cmd ...` command specified by user. [*] gh#151: Do (quake) animation after starting RealConsole creation. [*] Add `-here` switch description in the About dialog. [*] Ensure all default bash tasks names will be unique. [*] Always reset FARHOME env.var when creating default Far tasks. [*] Move checkboxes ‘Add ConEmu??? to PATH’ to separate page ‘Environment’. [*] gh#171, Issue 1655: Add option to skip ‘... brought ConEmu OnTop. Revert?’ confirmation. [*] gh#173: Attach of detached console ignored new ConEmu instance. [*] gh#173: Implement Unfasten of console tabs (ChildGui not yet). Tab menu item, hotkey and GuiMacro. [*] Implement ‘Settings\Environment’ page. User may define here multiple "set varname=varvalue" commands or set default console code page with "chcp utf-8", "chcp 866" and so on. Environment %variables% in 'varvalue' are allowed and would be expanded before do set. One line - one command (set or chcp). [*] Create folder "ConEmu\Scripts" by installer. May be useful for storing user scripts (bat-files and so on). It would/may be added to PATH in the Settings\Environment page. [*] Git-For-Windows: Search for xml in /share/conemu while ConEmu.exe is intended to be in /opt/bin. [*] Log and warn (debug assertion) long alternative buffer loading. [*] Many MINGW-build related fixes from @Alexpux. 2015.5.13 [*] Don't show [reg] or [xml] in Fast Configuration dialog because there is the storage location field. [*] gh#142: Win+Left/Right didn't snap window if it was maximized. [*] gh#139: If Quake was hidden when user presses Win key (Start menu), ConEmu was unexpectedly slided down after second Win press (after menu was hidden). [*] Garbage was shown sometimes while searching in Settings dialog. [*] gh#143: Add CygWin bash default tasks by checking registry (for new config). [*] RealConsole pause refactoring. [*] Execute RedrawWindow in the server process to avoid access violation. 2015.5.4 [*] Jump list command was built erroneously if there was ‘-FontDir ...’ or some other switch. [*] The field ‘Startup task’ was not filled in the ConEmu Fast Configuration dialog. [*] Fix ChocolateyAbout.cmd script, correct PATH suggestion and powershell command. [*] Check if Chocolatey is already installed and show the path (ChocolateyAbout.cmd). [*] gh#127: ConEmu did not stay minimized if a new console tab was opened in background. [*] gh#106: ChildGui turned black after ConEmu was restored. 2015.4.28 [*] Reset `FARHOME` env.var when creating default {Far} task without full path to `far.exe`. [*] Default/startup task may be not initialized properly if saved config was partial. [*] Show proper error code in StatusBar if restart console was failed. [*] gh#121: Selecting 'No' when restarting console as admin produced error state. 2015.4.27 [*] gh#112: Python with Tk: rightclick menu window not showing. [*] Set `FARHOME` env.var in default created Far tasks. That is because otherwise FARHOME may hold wrong value and plugins may be loaded from wrong place. So, the example task {Far Manager::Far 3.0 x64} will be: set "FARHOME=C:\Program Files\Far Manager" & "%FARHOME%\far.exe" /w /p"%ConEmuDir%\Plugins\ConEmu;%FARHOME%\Plugins" [*] Show link to ConEmuArgs.html on bad switch using. [*] If tab is renamed manually or via `-new_console:t:???` new name will be shown in ConEmu window title. Now it's possible to create some AHK scripts checking ConEmu title. [*] xterm keys: Ctrl+Home, Ctrl+End, Ctrl+Ins, Ctrl+Del, Ctrl+PgUp, Ctrl+PgDn. 2015.4.20 [*] Warn if MacType hookers are loaded in ConEmuC/ConEmuC64. User have to exclude these processes in the MacType configuration. [*] Allow to quit ConEmu by cross-clicking in the ‘Fast configuration’ dialog. [*] Startup task field was not filled properly in the Fast configuration dialog sometimes. [*] User had to press `Enter` to start find text from SearchBox if the match was above visible area. [*] Clean up ConEmu_Tilde.xml from default settings. 2015.4.19 [*] DefTerm. First VisualStudio debugging session was not processed by DefTerm. [*] Default settings were not applied on first start (suggested startup task). [*] gh#104: Add default task for Git-for-Windows-v2. [*] gh#107: Quoted Task names were not working after ConEmu.exe `-cmd` argument. [*] Warning 'Maximum real console size was reached' was appeared sometimes during several splits tab closing. 2015.4.16 [*] gh#96: DefTerm was failed to hook VS Debugging console applications. Avoid deadlocks. [*] Issue 1965: Correct 3rd state condition for ‘Change prompt text cursor position with LClick’. [*] gh#99: Make Update confirmation dialog a child of main ConEmu window. [*] Show in the update confirmation dialog the type of action: x86/x64 for installer or (7-Zip). [*] Allow using tasks in ‘Recreate’ dialog. [*] Let's create default tasks {Bash::Msys2-64} and {Bash::Msys2-32} in new configs. [*] Add tab icon to default tasks: {Bash::MinGW bash}, {Bash::CygWin bash}, {SDK::WinSDK x.x}. [*] Use "CmdInit.cmd" instead of direct "set PROMPT=..." in default cmd's tasks. 2015.4.9 [*] gh#63: Option ‘Auto save/restore tabs’ was conflicted with unchecked ‘Quit on close’. [*] Some of GuiMacro functions must be executed in the main thread only. 2015.4.8 [*] Far plugins folder can't be configured in MSI-installer anymore. They are installed in `%ConEmuDir%\Plugins`. If you need separate Far installations - use "Far.exe /p..." switch. [*] Issue 1590: Speed up cygwin commands execution. [*] Show process information in the 'Injecting remove failed' message. [*] Don't add spare default Far tasks, UnExpand paths if possible. 2015.4.5 [*] Redesign ‘Fast configuration’ dialog. Add ‘Start command’, ‘Palette’, ‘Quake style with HotKey’. [*] Choose preferred startup Task for new configs (Far -> TCC -> NYAOS -> cmd). [*] Fix wrong position of duplicate hotkey warning balloon. [*] Detect console buffer corruption and log it. Sometimes during kmk build script execution something very bad happens with console buffer and lines like following were written to log RefrThread CurSize={-18544x31} :ReadConsoleInfo (skipped=1) After that an assertion appears like nNewWidth>0 && nNewHeight>0 at RealBuffer.cpp:1784 2015.3.31 [*] gh#88: Allow ‘Apps’ key to use as single hotkey. [*] GuiMacro. Bugfixes and new function. * Function delimiter ‘;’ was ignored without brackets. * Support escapes in C-strings with "ConEmu -GuiMacro ...". * ‘Shell’ function without args must create new console. * Some functions will be postponed when RCon initialization finishes. To force postponing add ‘@’ prefix. * Add ‘Recreate’ function (‘Create’ is an alias). It can open ‘New console’ dialog, create default shell without confirmation, restart current tab (pane), optionally as Administrator. Following example shows ‘New console’ dialog, and inserts into started command prompt: ‘echo "Hello world"’. ConEmu.exe -Detached -GuiMacro "Create(0,1); Context; print(\"echo \\\"Hello world\\\"\");" 2015.3.27 [*] All links were updated to ‘http://conemu.github.io’. [*] Default StatusBar columns were changed. [*] In some cases font size (StatusBar, TabBar) was smaller than expected in new configs. [*] Allow to stop buzzing when started with '-basic' switch. [*] Сhocolatey packets are released officially now. 2015.3.19 [*] Some required switches were not used while creating jump lists (/FontDir, /FontFile, etc.) [*] PostPromptCmd was not working with Far 3. [*] Added hotkey to activate ConEmu window and do ‘CD’ to the last (top in Z-order) Explorer window path. GuiMacro is available: PasteExplorerPath (,) DoCd: 1 - ‘CD’, 0 - paste path only SetFocus: 1 - bring ConEmu to the top, 0 - don't change active window 2015.3.16 [*] Issue 1931: Fix crash and broken Far frames after resize (regression). [*] Inform user about some project events using TaskBar status area notification. Click on the icon or information balloon will show extended information dialog where user may stop showing this notification. [*] Translate mouse wheel into escape sequences when ConEmu emulates xterm (vim especially). If you want to use mouse wheel in Vim (official version was tested), just add to vimrc: """""""""""""""""""""""""""""""""""""" " let mouse wheel scroll file contents """""""""""""""""""""""""""""""""""""" if !has("gui_running") set term=xterm set mouse=a set nocompatible inoremap [62~ inoremap [63~ nnoremap [62~ nnoremap [63~ endif [*] Let user set up hotkey for ‘Detach’ action. Add GuiMacro ‘Detach’. [*] All HotKeys are stored now in the "HotKeys" settings subkey. [*] If anyone like to hide cursor in the inactive consoles just have to set inactive ‘Fixed cursor size’ to ‘0%’. 2015.3.11 [*] Try to fix full-width hieroglyphs drawing. [*] Hangul syllables were not defined in CJK range. [*] We need real width of CJK hieroglyphs, they might not be double as large. [*] Don't try to use invalid fonts from registry (TrueTypeFont) on DBCS systems. [*] Current unicode range was doubled in drop-down. [*] Apply changes in unicode ranges immediately if was selected from drop-down. [*] Do not uncheck ‘Monospace’ on DBCS systems by default. 2015.3.10 [*] Mouse events were sometimes unexpectedly sent to the console during selection. [*] 150309 regression. "ConEmu.ico" was looked in wrong folder. [*] Overlay icon on Win7 TaskBar was not shown in some cases. [*] Name checkbox ‘Alternative font ...’ instead of ‘... pseudographics font’. [*] TaskBar aero thumbnail of active console was not live-updated if ConEmu was minimized. [*] Don't use ‘Enhance progressbars and scrollbars’ for cells with bg==gf unless it is 100% filled block. [*] Search panel was too small in some cases. [*] Issue 1939: Tab bar height too big since version 150307. 2015.3.9 [*] Issue 1937: ‘Admin shield’ in TabBar was broken. [*] Only use "ConEmu.ico" name as possible external icon. [*] Logging. Log ConEmu icon loading, created startup consoles, overlay icon actions. 2015.3.7a [*] Issue 1931, gh#67: ConEmu's output was blocked after maximizing window. 2015.3.7 [*] gh#65: Min size for active cursor changes were not saved. [*] Create toolbar buttons as large as the size of the tabbar. [*] Take current dpi into account while creating tab icons. [*] Issue 1929: Quake position was changed unexpectedly after Win+D / restore. [*] Issue 1792: Unexpected console resize happens after Win+D Win+D. [*] gh#66: New tab template ‘%f’ shows shell's current folder name. Check wiki ShellWorkDir. 2015.3.5 [*] Wrong tab was activated sometimes by mouse click if there was a scroll buttons on the TabBar. [*] Do not do tab flickering while switching them by mouse clicks. [*] White background flickering was occured sometimes during ConEmu startup. [*] Default tasks were created sometimes not properly quoted. [*] Add ‘Ranges’ drop-down list to pseudographics font settings with some predefines. [*] Issue 1927: Key-Up event for ‘Space’ and ‘Enter’ in ReadConsoleInputA. [*] gh#63: Switch `-cur_console:d:...` was not stripped from Task while running shell sometimes. [*] While creating 'Auto save/restore' task add all `-cur_console` switches before the shell itself. 2015.3.3 [*] Issue 1925: Single character between two gray blocks was obscured (ex. OEM ‘B1 C1 B1’). 2015.3.2b [*] Far Tasks. Show bitness x86/x64 in the task name. [*] Far Tasks. If only one Far installation found - just use {Far} as task name. [*] Far Tasks. Sort default Far tasks by version. [*] When dropping files in the Far Manager prompt, show ‘+ Enter’ menu items first. [*] TCC tasks were not created by default. [*] Issue 1923: ‘ConEmu here’ was forced to "%USERPROFILE%" from certain folders. If user starts ‘ConEmu here’ from "%ConEmuDir%", "%windir%" or "%windir%\system32" ConEmu was switched to "%USERPROFILE%". That's because these folders may be used if user starts ConEmu (or just cmd as DefTerm) from bare Win+R. So, the switch "/here" was implemented, it's not shown in the Settings dialog. User needs to re-register ‘ConEmu here’ existing commands. [*] Process ‘ConEmu[64].exe’ returns exit code of last terminated shell. [*] Switch "/QuitOnClose" forces ConEmu window closing with last tab. 2015.3.2a [*] Issue 1921: Regression: Fix a crash on last tab close (WinXP). 2015.3.2 [*] Show current tab icon as Windows 7 taskbar overlay icon. [*] Visible region lock (scrolling) was unexpectedly dropped sometimes. [*] Add all installed (and found) Far Manager installations while creating default tasks. [*] Issue 1920: Fix visual defect in window padding area during Quake style slide down animation. [*] Allow Quake window resizing and moving. [*] Fixed resize issues after Quake slide up/down. [*] Add to the TabMenu items ‘Split to right’ and ‘Split to bottom’. [*] Untick ‘Auto minimize to TSA’ when turning Quake mode off. [*] ToolBar buttons min/max/close were not properly shown/hidden on some options changing. [*] gh#57: Cannot restore prevoisly opened tabs if there was a task marked as ‘Default for new console’. [*] Consoles were not resized sometimes after Win+Left/Right (snap window to left/right monitor edge). [*] After restoring snapped window the snapped state was dropped (window was put to ‘Normal’ position). 2015.2.24 [*] One more correction of keyboard input processing. [*] Option ‘Treat font height as device units’ was not saved in new config. [*] Pseudographics font was incorrectly sized on some dpi-s. [*] HotKeys. Implemented ‘Kill all but shell’ function. Default hotkey Win+Shift+Delete for new configs. Also it is accessible from TabMenu or SystemMenu and GuiMacro: terminate all but shell process Close(10), no confirm Close(10,1) Note. If there is a shell only - confirm user to kill the shell. [*] Don't do "ConEmuCpCvt" conversion if some chars were failed. [*] Ability to change ‘processor affinity’ and ‘process priority’ for all running processes. The function affects all running processes in the current console (tab/pane). Available from TabMenu and SystemMenu item ‘Affinity/priority...’, HotKey and GuiMacro AffinityPriority([Affinity,Priority]). Unless you specify ‘Affinity’ or ‘Priority’ in GuiMacro function ConEmu will show dialog with affinity/priority options. [*] Issue 1911: Do not scroll out of found position after clicking in the console to allow select text there. [*] Option ‘Skip click on activation’ was not working sometimes. [*] Allow physical scroll down of the console until the cursor remains visible. [*] Internal. Fix wrong logging message for WA_ACTIVE [*] During excessing keyboard activity console contents was updated slowly. [*] Switch "/bypass" creates processes with normal priority. [*] gh#59: Message ‘Failed to start task in user mode, timeout’ was appeared after updating. [*] gh#56: Do not use RVAL_REF with GCC [*] LogFiles were not created for far.exe sometimes. [*] Do not flush logs after each line to avoid lags. 2015.2.24a [*] Issue 1917: Avoid ‘Win+Shift+Delete is not unique’ error. 2015.2.18 [*] Issue 1817: Fix dropped or garbled keypresses sent from AHK. [*] Don't suggest by default xml storage on Windows 2000. 2015.2.16 [*] GuiMacro. Issue 1411, gh#58. WindowPosSize("","","","") It changes window pos and size, same as ‘Apply’ button in the ‘Size & Pos’ page of the Settings dialog. [*] GuiMacro. Simplify passing string arguments For example, the following commands will be equal now: ConEmuC -GuiMacro WindowPosSize "0" "0" "800px" "600px" ConEmuC -GuiMacro WindowPosSize 0 0 800px 600px 2015.2.15 [*] Add menu item ‘Online &Help’ to the SystemMenu. [*] After AppDistinct settings change console was not redrawn properly sometimes. [*] Sometimes true colors were not used while executing smth like "edit: