├── .gitattributes ├── .github └── ISSUE_TEMPLATE ├── .gitignore ├── Console ├── AboutDlg.cpp ├── AboutDlg.h ├── AeroTabCtrl.h ├── BoostIncludePath.props.user.template ├── CFileNameEdit.h ├── CNegativeNumberEdit.h ├── Console.cpp ├── Console.h ├── Console.rc ├── Console.vcxproj ├── Console.vcxproj.filters ├── ConsoleException.h ├── ConsoleHandler.cpp ├── ConsoleHandler.h ├── ConsoleView.cpp ├── ConsoleView.h ├── Cursors.cpp ├── Cursors.h ├── DlgCredentials.cpp ├── DlgCredentials.h ├── DlgRenameTab.cpp ├── DlgRenameTab.h ├── DlgSettingsAppearance.cpp ├── DlgSettingsAppearance.h ├── DlgSettingsBase.h ├── DlgSettingsBehavior.cpp ├── DlgSettingsBehavior.h ├── DlgSettingsBehavior2.cpp ├── DlgSettingsBehavior2.h ├── DlgSettingsConsole.cpp ├── DlgSettingsConsole.h ├── DlgSettingsControls.cpp ├── DlgSettingsControls.h ├── DlgSettingsFont.cpp ├── DlgSettingsFont.h ├── DlgSettingsFullScreen.cpp ├── DlgSettingsFullScreen.h ├── DlgSettingsHotkeys.cpp ├── DlgSettingsHotkeys.h ├── DlgSettingsMain.cpp ├── DlgSettingsMain.h ├── DlgSettingsMouse.cpp ├── DlgSettingsMouse.h ├── DlgSettingsStyles.cpp ├── DlgSettingsStyles.h ├── DlgSettingsTabs.cpp ├── DlgSettingsTabs.h ├── DlgSettingsTransparency.cpp ├── DlgSettingsTransparency.h ├── DynamicDialog.h ├── DynamicSnippetDialog.h ├── FastDelegate.h ├── Helpers.cpp ├── Helpers.h ├── HotkeyEdit.h ├── ImageHandler.cpp ├── ImageHandler.h ├── JumpList.cpp ├── JumpList.h ├── MainFrame.cpp ├── MainFrame.h ├── PageSettingsTab.h ├── PageSettingsTabs1.cpp ├── PageSettingsTabs1.h ├── PageSettingsTabs2.cpp ├── PageSettingsTabs2.h ├── PageSettingsTabsColors.cpp ├── PageSettingsTabsColors.h ├── PageSettingsTabsEnv.cpp ├── PageSettingsTabsEnv.h ├── SelectionHandler.cpp ├── SelectionHandler.h ├── SettingsHandler.cpp ├── SettingsHandler.h ├── Snippet.cpp ├── Snippet.h ├── TabView.cpp ├── TabView.h ├── Wallpaper.cpp ├── Wallpaper.h ├── XmlHelper.cpp ├── XmlHelper.h ├── config.rc ├── multisplit.h ├── res │ ├── Console.ico │ ├── SearchBar.rc2 │ ├── Toolbar.rc2 │ ├── fullscreen1_128.bmp │ ├── fullscreen1_16.bmp │ ├── fullscreen1_20.bmp │ ├── fullscreen1_24.bmp │ ├── fullscreen1_32.bmp │ ├── fullscreen1_40.bmp │ ├── fullscreen1_48.bmp │ ├── fullscreen1_64.bmp │ ├── fullscreen1_80.bmp │ ├── fullscreen2_128.bmp │ ├── fullscreen2_16.bmp │ ├── fullscreen2_20.bmp │ ├── fullscreen2_24.bmp │ ├── fullscreen2_32.bmp │ ├── fullscreen2_40.bmp │ ├── fullscreen2_48.bmp │ ├── fullscreen2_64.bmp │ ├── fullscreen2_80.bmp │ ├── search_128.bmp │ ├── search_16.bmp │ ├── search_20.bmp │ ├── search_24.bmp │ ├── search_32.bmp │ ├── search_40.bmp │ ├── search_48.bmp │ ├── search_64.bmp │ ├── search_80.bmp │ ├── supportedOS.manifest │ ├── testHighDPI.ico │ ├── toolbar_128.bmp │ ├── toolbar_16.bmp │ ├── toolbar_20.bmp │ ├── toolbar_24.bmp │ ├── toolbar_32.bmp │ ├── toolbar_40.bmp │ ├── toolbar_48.bmp │ ├── toolbar_64.bmp │ └── toolbar_80.bmp ├── resource.h ├── stdafx.cpp ├── stdafx.h └── wtlaero.h ├── ConsoleHook ├── BoostIncludePath.props.user.template ├── ConsoleHandler.cpp ├── ConsoleHandler.h ├── ConsoleHook.cpp ├── ConsoleHook.h ├── ConsoleHook.rc ├── ConsoleHook.vcxproj ├── ConsoleHook.vcxproj.filters ├── resource.h ├── stdafx.cpp └── stdafx.h ├── ConsoleWow ├── ConsoleWow.cpp ├── ConsoleWow.rc ├── ConsoleWow.vcxproj ├── ConsoleWow.vcxproj.filters ├── resource.h ├── stdafx.cpp ├── stdafx.h └── targetver.h ├── ConsoleZ.sln ├── FreeImage ├── FreeImage.h ├── FreeImagePlus.h ├── FreeImagePlus.lib └── x64 │ └── FreeImagePlus.lib ├── LICENSE.txt ├── Packaging ├── Packaging.vcxproj ├── Packaging.vcxproj.filters ├── chocolatey │ ├── ConsoleZ.nuspec │ ├── ConsoleZ_48.png │ └── tools │ │ ├── Console.exe.gui │ │ ├── ConsoleWow.exe.ignore │ │ ├── LICENSE.txt │ │ └── chocolateyInstall.ps1 └── makefile ├── README.md ├── TabbingFramework ├── CustomTabCtrl.h ├── DotNetTabCtrl.h ├── DynamicDialogTemplate.h ├── ImageUtil.h ├── ListViewNoFlicker.h ├── PlainTextView.h ├── SimpleDlgTabCtrls.h ├── SimpleTabCtrls.h ├── TabbedDockingWindow.h ├── TabbedFrame.h ├── TabbedMDI.h ├── TabbedMDIMessages.h ├── TabbedMDISave.cpp ├── TabbedMDISave.h └── atlgdix.h ├── help ├── console.hhc ├── console.hhk ├── console.hhp ├── help.vcxproj ├── help.vcxproj.filters ├── html │ ├── acknowledgements.html │ ├── copyright.html │ ├── credentials.html │ ├── gpl.html │ ├── introduction.html │ ├── language.html │ ├── menus.html │ ├── running.html │ ├── settings.html │ ├── settings_appearance.html │ ├── settings_appearance_controls.html │ ├── settings_appearance_font.html │ ├── settings_appearance_fullscreen.html │ ├── settings_appearance_styles.html │ ├── settings_appearance_transparency.html │ ├── settings_behavior.html │ ├── settings_behavior_more.html │ ├── settings_console.html │ ├── settings_hotkeys.html │ ├── settings_mouse.html │ ├── settings_tabs.html │ ├── settings_tabs_background.html │ ├── settings_tabs_colors.html │ ├── settings_tabs_environment.html │ ├── settings_tabs_main.html │ ├── snippets.html │ ├── text_formatting.html │ ├── tips_tricks.html │ └── workspaces.html ├── images │ ├── all_ligatures.png │ ├── console_window.PNG │ ├── diagnose.PNG │ ├── docking_bottom_left.png │ ├── docking_bottom_middle.png │ ├── docking_bottom_right.png │ ├── docking_left_middle.png │ ├── docking_right_middle.png │ ├── docking_top_left.png │ ├── docking_top_middle.png │ ├── docking_top_right.png │ ├── font_antialiased_quality.png │ ├── font_cleartype_natural_quality.png │ ├── font_cleartype_quality.png │ ├── font_nonantialiased_quality.png │ ├── font_zoom_antialiased_quality.png │ ├── font_zoom_cleartype_natural_quality.png │ ├── font_zoom_cleartype_quality.png │ ├── font_zoom_nonantialiased_quality.png │ ├── layer1.png │ ├── layer2.png │ ├── no_ligatures.png │ ├── settings.png │ ├── settings_appearance.png │ ├── settings_appearance_controls.png │ ├── settings_appearance_font.png │ ├── settings_appearance_fullscreen.png │ ├── settings_appearance_styles.png │ ├── settings_appearance_transparency.png │ ├── settings_behavior.png │ ├── settings_behavior_more.png │ ├── settings_console.png │ ├── settings_hotkeys.png │ ├── settings_mouse.png │ ├── settings_tabs.png │ ├── settings_tabs_background.png │ ├── settings_tabs_colors.png │ ├── settings_tabs_environment.png │ ├── settings_tabs_main.png │ ├── snippet.PNG │ └── snippet_xml.PNG ├── makefile └── styles │ └── help.css ├── icons ├── 01-NewTab.svg ├── 02-PreviousTab.svg ├── 03-NextTab.svg ├── 04-RenameTab.svg ├── 05-Copy.svg ├── 06-Paste.svg ├── 07-InsertSnippet.svg ├── 08-AddHorizontalSplit.svg ├── 09-AddVerticalSplit.svg ├── 10-Fullscreen.svg ├── 11-ReduceScreen.svg ├── 12-About.svg ├── 13-Help.svg ├── 14-PreviousFind.svg ├── 15-NextFind.svg ├── 16-MatchExpression.svg ├── 17-MatchCase.svg ├── 18-ConsoleZSpecial.svg ├── 19-MatchWholeWordOnly.svg └── go.cmd ├── l10n ├── DEU │ ├── console.ini │ ├── console.lws │ └── console.rc ├── FRA │ ├── console.ini │ ├── console.lws │ └── console.rc ├── JPN │ ├── console.ini │ ├── console.lws │ └── console.rc ├── RUS │ ├── console.ini │ ├── console.lws │ └── console.rc ├── l10n.vcxproj ├── l10n.vcxproj.filters └── makefile ├── setup ├── config │ └── console.xml ├── dlls │ ├── FreeImagePlus.dll │ └── x64 │ │ └── FreeImagePlus.dll └── fonts │ ├── FixedMedium10x20.fon │ ├── FixedMedium5x7.fon │ ├── FixedMedium5x8.fon │ ├── FixedMedium6x10.fon │ ├── FixedMedium6x12.fon │ ├── FixedMedium6x13.fon │ ├── FixedMedium6x9.fon │ ├── FixedMedium7x13.fon │ ├── FixedMedium7x14.fon │ ├── FixedMedium8x13.fon │ ├── FixedMedium9x15.fon │ ├── FixedMedium9x18.fon │ └── TerminalMedium14.fon ├── shared ├── Cpp11Helpers.h ├── NamedPipe.h ├── SharedMemNames.h ├── SharedMemory.h ├── Structures.h ├── Win32Exception.h └── version.h └── wtl └── wtl ├── MS-PL.txt └── include ├── atlapp.h ├── atlcrack.h ├── atlctrls.h ├── atlctrlw.h ├── atlctrlx.h ├── atlddx.h ├── atldlgs.h ├── atldwm.h ├── atlfind.h ├── atlframe.h ├── atlgdi.h ├── atlmisc.h ├── atlprint.h ├── atlres.h ├── atlribbon.h ├── atlscrl.h ├── atlsplit.h ├── atltheme.h ├── atluser.h └── atlwinx.h /.gitattributes: -------------------------------------------------------------------------------- 1 | *.cpp text eol=crlf 2 | *.h text eol=crlf 3 | *.rc text eol=crlf 4 | *.html text eol=crlf 5 | *.md text eol=crlf 6 | *.xml text eol=crlf 7 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE: -------------------------------------------------------------------------------- 1 | **Warning! Don't create an issue concerning translation errors! See https://github.com/cbucher/console/wiki/How-to-localize-ConsoleZ and do a pull request.** 2 | 3 | https://github.com/cbucher/console/wiki/How-to-Report-an-Issue 4 | 5 | **Warning! Read carefully instructions and submit requested information (see end of this message), otherwise the issue will be automatically closed.** 6 | 7 | Can you reproduce this issue in the original shell without using ConsoleZ? 8 | If so then it is not a ConsoleZ issue. Please contact the shell or responsible program's owner instead. 9 | 10 | Before continuing please check to see if the issue occurs in the latest version (experimental, beta, or release) available here: 11 | https://github.com/cbucher/console/wiki/Downloads 12 | 13 | Lastly, please search for an existing issue before opening a new one. 14 | 15 | If this is in fact a new issue in ConsoleZ then feel free to delete this message and proceed. 16 | 17 | Thank you! 18 | 19 | ----------- 20 | 21 | ### Expected Behavior 22 | What you expect to happen. 23 | 24 | ### Actual Behavior 25 | What actually happens. 26 | 27 | ### Steps to reproduce 28 | 1. What steps consistently cause this behavior? 29 | 2. What does someone need to do to recreate the issue? 30 | 31 | ### Diagnostic Report 32 | When reporting a bug you **must** provide a diagnostic report. 33 | If you are not able to create a diagnostic report, explain why. 34 | Privacy is not a valid explanation! The report is human readable and private data can be masked. 35 | ``` 36 | From within ConsoleZ select Help > Diagnose. 37 | This will open a file in Notepad with useful information. 38 | Please paste that information here or include that file. 39 | ``` 40 | 41 | ### Crash Report 42 | When reporting a crash you **must** provide a crash dump. 43 | Instructions on how to generate one can be found here: 44 | https://github.com/cbucher/console/wiki/How-to-Report-an-Issue 45 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | bin/ 2 | obj/ 3 | ipch/ 4 | .vs/ 5 | help/console.chm 6 | help/html/changelog.html 7 | help/xx* 8 | 9 | *.aps 10 | *.user 11 | *.opensdf 12 | *.sdf 13 | *.VC.db 14 | *.suo 15 | *.opendb 16 | *.log 17 | 18 | *.nupkg 19 | 20 | *~ 21 | *.bak 22 | *.orig 23 | *.swp 24 | *.chw 25 | 26 | l10n/*/res/ 27 | l10n/*/resource.h 28 | l10n/*/*.ucs2.rc 29 | 30 | icons/*/ 31 | 32 | Backup/ 33 | -------------------------------------------------------------------------------- /Console/AboutDlg.cpp: -------------------------------------------------------------------------------- 1 | // aboutdlg.cpp : implementation of the CAboutDlg class 2 | // 3 | ///////////////////////////////////////////////////////////////////////////// 4 | 5 | #include "stdafx.h" 6 | #include "resource.h" 7 | 8 | #include "aboutdlg.h" 9 | 10 | LRESULT CAboutDlg::OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) 11 | { 12 | #ifdef _USE_AERO 13 | AERO_CONTROL(CButton, m_Ok, IDOK) 14 | AERO_CONTROL(CButton, m_WebSite, IDC_BTN_HOME_PAGE) 15 | 16 | CWindow groupBox(GetDlgItem(IDC_STATIC)); 17 | groupBox.ShowWindow(SW_HIDE); 18 | 19 | this->OpenThemeData(VSCLASS_WINDOW); 20 | 21 | CIcon icon (static_cast( 22 | ::LoadImage( 23 | ::GetModuleHandle(NULL), 24 | MAKEINTRESOURCE(IDR_MAINFRAME), 25 | IMAGE_ICON, 26 | 256, 27 | 256, 28 | LR_DEFAULTCOLOR))); 29 | 30 | //get the icon info 31 | ICONINFO ii; 32 | ::GetIconInfo(icon, &ii); 33 | //GetIconInfo creates bitmaps for the hbmMask and hbmColor members of ICONINFO. 34 | //The calling application must manage these bitmaps and delete them when they are no longer necessary. 35 | m_bmIcon.Attach(ii.hbmColor); 36 | CBitmap bmMask(ii.hbmMask); 37 | 38 | SetTimer(42, 40); 39 | #else 40 | std::wstring strMsgVersion = boost::str(boost::wformat(Helpers::LoadStringW(MSG_ABOUT)) % _T(VERSION_PRODUCT)); 41 | 42 | CWindow staticMessage(GetDlgItem(IDC_STATIC_VERSION)); 43 | staticMessage.SetWindowText(strMsgVersion.c_str()); 44 | #endif 45 | 46 | CenterWindow(GetParent()); 47 | 48 | return TRUE; 49 | } 50 | 51 | LRESULT CAboutDlg::OnCloseCmd(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/) 52 | { 53 | KillTimer(42); 54 | EndDialog(wID); 55 | return 0; 56 | } 57 | -------------------------------------------------------------------------------- /Console/BoostIncludePath.props.user.template: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | C:\third-party-libraries\boost-1.76.0 9 | 10 | -------------------------------------------------------------------------------- /Console/CFileNameEdit.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace WTL 4 | { 5 | 6 | class CFileNameEdit:public CWindowImpl 7 | { 8 | public: 9 | DECLARE_WND_SUPERCLASS(_T("WTL_FileNameEdit"),CEdit::GetWndClassName()) 10 | 11 | BEGIN_MSG_MAP(CFileNameEdit) 12 | MESSAGE_HANDLER(WM_CREATE,OnCreate) 13 | MESSAGE_HANDLER(WM_DROPFILES,OnDropFiles) 14 | 15 | //COMMAND_HANDLER(IDC_TAB_ICON, EN_CHANGE, OnTabIconChange) 16 | END_MSG_MAP() 17 | LRESULT OnCreate(UINT uMsg,WPARAM wParam,LPARAM lParam,BOOL& /*bHandled*/) 18 | { 19 | LRESULT lRes=DefWindowProc(uMsg,wParam,lParam); 20 | return lRes; 21 | } 22 | 23 | LRESULT OnDropFiles(UINT /*uMsg*/,WPARAM wParam,LPARAM /*lParam*/,BOOL& /*bHandled*/) 24 | { 25 | HDROP hDrop = reinterpret_cast(wParam); 26 | 27 | SetActiveWindow(); 28 | 29 | UINT iFileCount = ::DragQueryFile(hDrop, 0xFFFFFFFF, NULL, 0); 30 | if(iFileCount>0) 31 | { 32 | CString strFilename; 33 | ::DragQueryFile(hDrop, 0, strFilename.GetBuffer(MAX_PATH), MAX_PATH); 34 | strFilename.ReleaseBuffer(); 35 | 36 | if( this->OnDropFile(strFilename) ) 37 | SetWindowText(strFilename); 38 | } 39 | ::DragFinish(hDrop); 40 | return 0; 41 | } 42 | 43 | virtual bool OnDropFile(CString& /*strFilename*/) { return true; } 44 | }; 45 | 46 | }; // namespace WTL 47 | -------------------------------------------------------------------------------- /Console/CNegativeNumberEdit.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | // /!\ with ES_NUMBER style, you can only enter digits 0 to 9, so we need to modify the behavior to support negative numbers 4 | // but minus sign is supported when you paste tesxt !?! 5 | // and only the pasted text is verified: so you can past -45 into 123 and obtain 1-4523 (epic fail Microsoft!) 6 | 7 | namespace WTL 8 | { 9 | 10 | class CNegativeNumberEdit: public CWindowImpl 11 | { 12 | public: 13 | DECLARE_WND_SUPERCLASS(_T("WTL_CNegativeNumberEdit"), CEdit::GetWndClassName()) 14 | 15 | BEGIN_MSG_MAP(CNegativeNumberEdit) 16 | MESSAGE_HANDLER(WM_CREATE,OnCreate) 17 | MESSAGE_HANDLER(WM_CHAR, OnChar) 18 | #if 0 19 | MESSAGE_HANDLER(WM_PASTE, OnPaste) 20 | #endif 21 | END_MSG_MAP() 22 | 23 | LRESULT OnCreate(UINT uMsg,WPARAM wParam,LPARAM lParam,BOOL& /*bHandled*/) 24 | { 25 | LRESULT lRes = DefWindowProc(uMsg,wParam,lParam); 26 | return lRes; 27 | } 28 | 29 | LRESULT OnChar(UINT /*uMsg*/, WPARAM wParam, LPARAM /*lParam*/, BOOL& bHandled) 30 | { 31 | bHandled = FALSE; 32 | 33 | if( wParam == '-' ) 34 | { 35 | int nStartChar = -1, nEndChar = -1; 36 | this->GetSel(nStartChar , nEndChar); 37 | if( nStartChar == 0 ) 38 | { 39 | CString strText; 40 | this->GetWindowTextW(strText); 41 | for( int i = nEndChar; i < strText.GetLength(); ++i ) 42 | { 43 | if( strText[i] == L'-' ) 44 | return 0; 45 | } 46 | this->ReplaceSel(L"-", TRUE); 47 | bHandled = TRUE; 48 | } 49 | } 50 | 51 | return 0; 52 | } 53 | 54 | #if 0 55 | LRESULT OnPaste(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled) 56 | { 57 | bHandled = FALSE; 58 | 59 | if (!IsClipboardFormatAvailable(CF_UNICODETEXT)) return 0; 60 | 61 | if (!OpenClipboard()) return 0; 62 | 63 | HGLOBAL hglb = GetClipboardData(CF_UNICODETEXT); 64 | if( hglb ) 65 | { 66 | std::unique_ptr lock(::GlobalLock(hglb)); 67 | if( lock.get() ) 68 | { 69 | int nStartChar = -1, nEndChar = -1; 70 | this->GetSel(nStartChar, nEndChar); 71 | 72 | CString strPastedText = static_cast(lock.get()); 73 | 74 | CString strText; 75 | this->GetWindowTextW(strText); 76 | 77 | int nIdx = 0; 78 | bool bSuccess = true; 79 | for( int i = 0; i < nStartChar; ++i, ++nIdx ) 80 | { 81 | if( (strText[i] == L'-' && nIdx == 0) || (strText[i] >= L'0' && strText[i] <= L'9') ) 82 | continue; 83 | 84 | bSuccess = false; 85 | break; 86 | } 87 | 88 | if( bSuccess ) 89 | { 90 | for( int i = 0; i < strPastedText.GetLength(); ++i, ++nIdx ) 91 | { 92 | if( (strPastedText[i] == L'-' && nIdx == 0) || (strPastedText[i] >= L'0' && strPastedText[i] <= L'9') ) 93 | continue; 94 | 95 | bSuccess = false; 96 | break; 97 | } 98 | } 99 | 100 | if( bSuccess ) 101 | { 102 | for( int i = nEndChar; i < strText.GetLength(); ++i, ++nIdx ) 103 | { 104 | if( (strText[i] == L'-' && nIdx == 0) || (strText[i] >= L'0' && strText[i] <= L'9') ) 105 | continue; 106 | 107 | bSuccess = false; 108 | break; 109 | } 110 | } 111 | 112 | if( bSuccess ) 113 | { 114 | this->ReplaceSel(strPastedText, TRUE); 115 | bHandled = TRUE; 116 | } 117 | } 118 | } 119 | 120 | CloseClipboard(); 121 | 122 | return 0; 123 | } 124 | #endif 125 | }; 126 | 127 | }; // namespace WTL 128 | -------------------------------------------------------------------------------- /Console/Console.h: -------------------------------------------------------------------------------- 1 | // Console.h 2 | 3 | extern std::shared_ptr g_settingsHandler; 4 | extern std::shared_ptr g_imageHandler; 5 | 6 | const std::wstring & GetInstanceName(void); 7 | -------------------------------------------------------------------------------- /Console/ConsoleException.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | class ConsoleException 4 | { 5 | public: 6 | ConsoleException(const std::wstring& message) 7 | : m_message(message) 8 | { 9 | } 10 | 11 | const std::wstring& GetMessage() const { return m_message; } 12 | 13 | private: 14 | 15 | std::wstring m_message; 16 | }; 17 | -------------------------------------------------------------------------------- /Console/DlgCredentials.cpp: -------------------------------------------------------------------------------- 1 | #include "stdafx.h" 2 | #include "resource.h" 3 | 4 | #include "DlgCredentials.h" 5 | 6 | ////////////////////////////////////////////////////////////////////////////// 7 | 8 | 9 | ////////////////////////////////////////////////////////////////////////////// 10 | ////////////////////////////////////////////////////////////////////////////// 11 | ////////////////////////////////////////////////////////////////////////////// 12 | 13 | 14 | ////////////////////////////////////////////////////////////////////////////// 15 | 16 | DlgCredentials::DlgCredentials(const CString& user) 17 | : m_user(user) 18 | , m_password() 19 | { 20 | } 21 | 22 | ////////////////////////////////////////////////////////////////////////////// 23 | 24 | 25 | ////////////////////////////////////////////////////////////////////////////// 26 | 27 | DlgCredentials::~DlgCredentials() 28 | { 29 | if (m_password.GetLength() > 0) 30 | { 31 | ::SecureZeroMemory(reinterpret_cast(const_cast(m_password.GetString())), m_password.GetLength()); 32 | } 33 | } 34 | 35 | ////////////////////////////////////////////////////////////////////////////// 36 | 37 | 38 | ////////////////////////////////////////////////////////////////////////////// 39 | ////////////////////////////////////////////////////////////////////////////// 40 | ////////////////////////////////////////////////////////////////////////////// 41 | 42 | 43 | ////////////////////////////////////////////////////////////////////////////// 44 | 45 | LRESULT DlgCredentials::OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) 46 | { 47 | DoDataExchange(DDX_LOAD); 48 | GetDlgItem(IDC_PASSWORD).SetFocus(); 49 | 50 | CenterWindow(); 51 | 52 | #ifdef _USE_AERO 53 | AERO_CONTROL(CStatic, m_LabelUser, IDC_STATIC_USER) 54 | AERO_CONTROL(CStatic, m_LabelPassword, IDC_STATIC_PASSWORD) 55 | AERO_CONTROL(CEdit, m_EditPassword, IDC_PASSWORD) 56 | AERO_CONTROL(CEdit, m_EditUser, IDC_USER) 57 | AERO_CONTROL(CButton, m_Cancel, IDCANCEL) 58 | AERO_CONTROL(CButton, m_Ok, IDOK) 59 | #endif 60 | 61 | return TRUE; 62 | } 63 | 64 | ////////////////////////////////////////////////////////////////////////////// 65 | 66 | 67 | ////////////////////////////////////////////////////////////////////////////// 68 | 69 | LRESULT DlgCredentials::OnCloseCmd(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/) 70 | { 71 | if (wID == IDOK) 72 | { 73 | DoDataExchange(DDX_SAVE); 74 | } 75 | 76 | EndDialog(wID); 77 | return 0; 78 | } 79 | 80 | ////////////////////////////////////////////////////////////////////////////// 81 | 82 | 83 | ////////////////////////////////////////////////////////////////////////////// 84 | ////////////////////////////////////////////////////////////////////////////// 85 | ////////////////////////////////////////////////////////////////////////////// 86 | 87 | -------------------------------------------------------------------------------- /Console/DlgCredentials.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | ////////////////////////////////////////////////////////////////////////////// 5 | 6 | 7 | ////////////////////////////////////////////////////////////////////////////// 8 | ////////////////////////////////////////////////////////////////////////////// 9 | ////////////////////////////////////////////////////////////////////////////// 10 | 11 | 12 | ////////////////////////////////////////////////////////////////////////////// 13 | 14 | class DlgCredentials 15 | #ifdef _USE_AERO 16 | : public aero::CDialogImpl 17 | #else 18 | : public CDialogImpl 19 | #endif 20 | , public CWinDataExchange 21 | { 22 | public: 23 | enum { IDD = IDD_CREDENTIALS }; 24 | 25 | DlgCredentials(const CString& user); 26 | ~DlgCredentials(); 27 | 28 | BEGIN_DDX_MAP(DlgCredentials) 29 | DDX_TEXT(IDC_USER, m_user) 30 | DDX_TEXT(IDC_PASSWORD, m_password) 31 | END_DDX_MAP() 32 | 33 | BEGIN_MSG_MAP(DlgCredentials) 34 | #ifdef _USE_AERO 35 | CHAIN_MSG_MAP(aero::CDialogImpl) 36 | #endif 37 | MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog) 38 | COMMAND_ID_HANDLER(IDOK, OnCloseCmd) 39 | COMMAND_ID_HANDLER(IDCANCEL, OnCloseCmd) 40 | END_MSG_MAP() 41 | 42 | // Handler prototypes (uncomment arguments if needed): 43 | // LRESULT MessageHandler(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) 44 | // LRESULT CommandHandler(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/) 45 | // LRESULT NotifyHandler(int /*idCtrl*/, LPNMHDR /*pnmh*/, BOOL& /*bHandled*/) 46 | 47 | LRESULT OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/); 48 | LRESULT OnCloseCmd(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/); 49 | 50 | public: 51 | 52 | const CString& GetUser() const { return m_user; } 53 | const CString& GetPassword() const { return m_password; } 54 | 55 | private: 56 | 57 | CString m_user; 58 | CString m_password; 59 | }; 60 | 61 | ////////////////////////////////////////////////////////////////////////////// 62 | -------------------------------------------------------------------------------- /Console/DlgRenameTab.cpp: -------------------------------------------------------------------------------- 1 | #include "stdafx.h" 2 | #include "resource.h" 3 | 4 | #include "DlgRenameTab.h" 5 | 6 | ////////////////////////////////////////////////////////////////////////////// 7 | 8 | 9 | ////////////////////////////////////////////////////////////////////////////// 10 | ////////////////////////////////////////////////////////////////////////////// 11 | ////////////////////////////////////////////////////////////////////////////// 12 | 13 | 14 | ////////////////////////////////////////////////////////////////////////////// 15 | 16 | DlgRenameTab::DlgRenameTab(const CString& strTabName) 17 | : m_strTabName(strTabName) 18 | { 19 | } 20 | 21 | ////////////////////////////////////////////////////////////////////////////// 22 | 23 | 24 | ////////////////////////////////////////////////////////////////////////////// 25 | ////////////////////////////////////////////////////////////////////////////// 26 | ////////////////////////////////////////////////////////////////////////////// 27 | 28 | 29 | ////////////////////////////////////////////////////////////////////////////// 30 | 31 | LRESULT DlgRenameTab::OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) 32 | { 33 | DoDataExchange(DDX_LOAD); 34 | 35 | #ifdef _USE_AERO 36 | AERO_CONTROL(CEdit, m_Edit, IDC_TAB_NAME) 37 | AERO_CONTROL(CButton, m_Cancel, IDCANCEL) 38 | AERO_CONTROL(CStatic, m_Label, IDC_STATIC) 39 | AERO_CONTROL(CButton, m_Ok, IDOK) 40 | #endif 41 | 42 | return TRUE; 43 | } 44 | 45 | ////////////////////////////////////////////////////////////////////////////// 46 | 47 | 48 | ////////////////////////////////////////////////////////////////////////////// 49 | 50 | LRESULT DlgRenameTab::OnCloseCmd(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/) 51 | { 52 | if (wID == IDOK) DoDataExchange(DDX_SAVE); 53 | EndDialog(wID); 54 | return 0; 55 | } 56 | 57 | ////////////////////////////////////////////////////////////////////////////// 58 | 59 | -------------------------------------------------------------------------------- /Console/DlgRenameTab.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | ////////////////////////////////////////////////////////////////////////////// 5 | 6 | 7 | ////////////////////////////////////////////////////////////////////////////// 8 | ////////////////////////////////////////////////////////////////////////////// 9 | ////////////////////////////////////////////////////////////////////////////// 10 | 11 | 12 | ////////////////////////////////////////////////////////////////////////////// 13 | 14 | class DlgRenameTab 15 | #ifdef _USE_AERO 16 | : public aero::CDialogImpl 17 | #else 18 | : public CDialogImpl 19 | #endif 20 | , public CWinDataExchange 21 | { 22 | 23 | public: 24 | enum { IDD = IDD_RENAME_TAB }; 25 | 26 | DlgRenameTab(const CString& strTabName); 27 | 28 | BEGIN_DDX_MAP(DlgRenameTab) 29 | DDX_TEXT(IDC_TAB_NAME, m_strTabName) 30 | END_DDX_MAP() 31 | 32 | BEGIN_MSG_MAP(DlgRenameTab) 33 | #ifdef _USE_AERO 34 | CHAIN_MSG_MAP(aero::CDialogImpl) 35 | #endif 36 | MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog) 37 | COMMAND_ID_HANDLER(IDOK, OnCloseCmd) 38 | COMMAND_ID_HANDLER(IDCANCEL, OnCloseCmd) 39 | END_MSG_MAP() 40 | 41 | // Handler prototypes (uncomment arguments if needed): 42 | // LRESULT MessageHandler(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) 43 | // LRESULT CommandHandler(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/) 44 | // LRESULT NotifyHandler(int /*idCtrl*/, LPNMHDR /*pnmh*/, BOOL& /*bHandled*/) 45 | 46 | LRESULT OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/); 47 | LRESULT OnCloseCmd(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/); 48 | 49 | public: 50 | 51 | CString m_strTabName; 52 | }; 53 | 54 | ////////////////////////////////////////////////////////////////////////////// 55 | -------------------------------------------------------------------------------- /Console/DlgSettingsBase.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | #include "Console.h" 5 | 6 | ////////////////////////////////////////////////////////////////////////////// 7 | 8 | 9 | ////////////////////////////////////////////////////////////////////////////// 10 | ////////////////////////////////////////////////////////////////////////////// 11 | ////////////////////////////////////////////////////////////////////////////// 12 | 13 | 14 | ////////////////////////////////////////////////////////////////////////////// 15 | 16 | class DlgSettingsBase 17 | : public CDialogImpl 18 | , public CWinDataExchange 19 | { 20 | public: 21 | 22 | DWORD IDD; 23 | 24 | DlgSettingsBase(CComPtr& pOptionsRoot) 25 | : m_pOptionsRoot(pOptionsRoot) 26 | , IDD(0) 27 | { 28 | } 29 | 30 | public: 31 | 32 | virtual void OnDataValidateError(UINT nCtrlID, BOOL bSave, _XData& data) 33 | { 34 | CWinDataExchange::OnDataValidateError(nCtrlID, bSave, data); 35 | } 36 | 37 | protected: 38 | 39 | CComPtr& m_pOptionsRoot; 40 | 41 | }; 42 | 43 | ////////////////////////////////////////////////////////////////////////////// 44 | -------------------------------------------------------------------------------- /Console/DlgSettingsBehavior2.cpp: -------------------------------------------------------------------------------- 1 | #include "stdafx.h" 2 | #include "resource.h" 3 | 4 | #include "DlgSettingsBehavior2.h" 5 | 6 | ////////////////////////////////////////////////////////////////////////////// 7 | 8 | 9 | ////////////////////////////////////////////////////////////////////////////// 10 | ////////////////////////////////////////////////////////////////////////////// 11 | ////////////////////////////////////////////////////////////////////////////// 12 | 13 | 14 | ////////////////////////////////////////////////////////////////////////////// 15 | 16 | DlgSettingsBehavior2::DlgSettingsBehavior2(CComPtr& pOptionsRoot) 17 | : DlgSettingsBase(pOptionsRoot) 18 | { 19 | IDD = IDD_SETTINGS_BEHAVIOR_2; 20 | } 21 | 22 | ////////////////////////////////////////////////////////////////////////////// 23 | 24 | 25 | ////////////////////////////////////////////////////////////////////////////// 26 | ////////////////////////////////////////////////////////////////////////////// 27 | ////////////////////////////////////////////////////////////////////////////// 28 | 29 | 30 | ////////////////////////////////////////////////////////////////////////////// 31 | 32 | LRESULT DlgSettingsBehavior2::OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) 33 | { 34 | m_behaviorSettings2.Load(m_pOptionsRoot); 35 | DoDataExchange(DDX_LOAD); 36 | return TRUE; 37 | } 38 | 39 | ////////////////////////////////////////////////////////////////////////////// 40 | 41 | 42 | ////////////////////////////////////////////////////////////////////////////// 43 | 44 | LRESULT DlgSettingsBehavior2::OnCloseCmd(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/) 45 | { 46 | if (wID == IDOK) 47 | { 48 | DoDataExchange(DDX_SAVE); 49 | 50 | BehaviorSettings2& behaviorSettings2 = g_settingsHandler->GetBehaviorSettings2(); 51 | 52 | behaviorSettings2 = m_behaviorSettings2; 53 | m_behaviorSettings2.Save(m_pOptionsRoot); 54 | } 55 | 56 | return 0; 57 | } 58 | -------------------------------------------------------------------------------- /Console/DlgSettingsBehavior2.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | #include "DlgSettingsBase.h" 5 | 6 | ////////////////////////////////////////////////////////////////////////////// 7 | 8 | 9 | ////////////////////////////////////////////////////////////////////////////// 10 | ////////////////////////////////////////////////////////////////////////////// 11 | ////////////////////////////////////////////////////////////////////////////// 12 | 13 | 14 | ////////////////////////////////////////////////////////////////////////////// 15 | 16 | class DlgSettingsBehavior2 17 | : public DlgSettingsBase 18 | { 19 | public: 20 | 21 | DlgSettingsBehavior2(CComPtr& pOptionsRoot); 22 | 23 | BEGIN_DDX_MAP(DlgSettingsBehavior2) 24 | DDX_CHECK(IDC_CHECK_FOCUS_FOLLOW_MOUSE, m_behaviorSettings2.focusSettings.bFollowMouse) 25 | DDX_CHECK(IDC_CHECK_MULTI_INSTANCES, m_behaviorSettings2.instanceSettings.bAllowMultipleInstances) 26 | DDX_CHECK(IDC_CHECK_OPEN_CURRENT_DIR, m_behaviorSettings2.cloneSettings.bUseCurrentDirectory) 27 | DDX_CHECK(IDC_CHECK_USE_CREDPROV, m_behaviorSettings2.runAsUserSettings.bUseCredentialProviders) 28 | DDX_CHECK(IDC_CHECK_CLOSING_LAST_TAB, m_behaviorSettings2.closeSettings.bAllowClosingLastView) 29 | DDX_CHECK(IDC_CHECK_EXIT_ON_CLOSING_OF_LAST_TAB, m_behaviorSettings2.closeSettings.bExitOnClosingOfLastTab) 30 | DDX_CHECK(IDC_CHECK_CONFIRM_CLOSE_MULTI, m_behaviorSettings2.closeSettings.bConfirmClosingMultipleViews) 31 | DDX_CHECK(IDC_CHECK_SAVE_WORKSPACE_ON_EXIT, m_behaviorSettings2.closeSettings.bSaveWorkspaceOnExit) 32 | END_DDX_MAP() 33 | 34 | BEGIN_MSG_MAP(DlgSettingsBehavior2) 35 | MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog) 36 | COMMAND_ID_HANDLER(IDOK, OnCloseCmd) 37 | COMMAND_ID_HANDLER(IDCANCEL, OnCloseCmd) 38 | END_MSG_MAP() 39 | 40 | // Handler prototypes (uncomment arguments if needed): 41 | // LRESULT MessageHandler(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) 42 | // LRESULT CommandHandler(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/) 43 | // LRESULT NotifyHandler(int /*idCtrl*/, LPNMHDR /*pnmh*/, BOOL& /*bHandled*/) 44 | 45 | LRESULT OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/); 46 | 47 | LRESULT OnCloseCmd(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/); 48 | 49 | private: 50 | 51 | BehaviorSettings2 m_behaviorSettings2; 52 | 53 | }; 54 | 55 | ////////////////////////////////////////////////////////////////////////////// 56 | -------------------------------------------------------------------------------- /Console/DlgSettingsConsole.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | #include "DlgSettingsBase.h" 5 | #include "CFileNameEdit.h" 6 | 7 | ////////////////////////////////////////////////////////////////////////////// 8 | 9 | 10 | ////////////////////////////////////////////////////////////////////////////// 11 | ////////////////////////////////////////////////////////////////////////////// 12 | ////////////////////////////////////////////////////////////////////////////// 13 | 14 | 15 | ////////////////////////////////////////////////////////////////////////////// 16 | 17 | class DlgSettingsConsole 18 | : public DlgSettingsBase 19 | { 20 | public: 21 | 22 | DlgSettingsConsole(CComPtr& pOptionsRoot); 23 | 24 | BEGIN_DDX_MAP(DlgSettingsConsole) 25 | DDX_TEXT(IDC_SHELL, m_strShell) 26 | DDX_TEXT(IDC_INIT_DIR, m_strInitialDir) 27 | DDX_CHECK(IDC_CHECK_START_HIDDEN, m_consoleSettings.bStartHidden) 28 | DDX_UINT(IDC_CHANGE_REFRESH, m_consoleSettings.dwChangeRefreshInterval) 29 | DDX_UINT(IDC_REFRESH, m_consoleSettings.dwRefreshInterval) 30 | DDX_UINT_RANGE(IDC_ROWS, m_consoleSettings.dwRows, static_cast(MIN_WINDOW_ROWS), static_cast(MAX_WINDOW_ROWS)) 31 | DDX_UINT_RANGE(IDC_COLUMNS, m_consoleSettings.dwColumns, static_cast(MIN_WINDOW_COLUMNS), static_cast(MAX_WINDOW_COLUMNS)) 32 | DDX_CHECK(IDC_CHECK_SAVE_SIZE, m_consoleSettings.bSaveSize) 33 | DDX_UINT_RANGE(IDC_BUFFER_ROWS, m_consoleSettings.dwBufferRows, static_cast(MIN_BUFFER_ROWS), static_cast(MAX_BUFFER_ROWS)) 34 | DDX_UINT_RANGE(IDC_BUFFER_COLUMNS, m_consoleSettings.dwBufferColumns, static_cast(MIN_BUFFER_COLUMNS), static_cast(MAX_BUFFER_COLUMNS)) 35 | END_DDX_MAP() 36 | 37 | BEGIN_MSG_MAP(DlgSettingsConsole) 38 | MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog) 39 | MESSAGE_HANDLER(WM_SHOWWINDOW, OnShowWindow) 40 | COMMAND_ID_HANDLER(IDOK, OnCloseCmd) 41 | COMMAND_ID_HANDLER(IDCANCEL, OnCloseCmd) 42 | COMMAND_HANDLER(IDC_BTN_BROWSE_SHELL, BN_CLICKED, OnClickedBtnBrowseShell) 43 | COMMAND_HANDLER(IDC_BTN_BROWSE_DIR, BN_CLICKED, OnClickedBtnBrowseDir) 44 | END_MSG_MAP() 45 | 46 | // Handler prototypes (uncomment arguments if needed): 47 | // LRESULT MessageHandler(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) 48 | // LRESULT CommandHandler(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/) 49 | // LRESULT NotifyHandler(int /*idCtrl*/, LPNMHDR /*pnmh*/, BOOL& /*bHandled*/) 50 | 51 | LRESULT OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/); 52 | LRESULT OnShowWindow(UINT /*uMsg*/, WPARAM wParam, LPARAM /*lParam*/, BOOL& bHandled); 53 | 54 | LRESULT OnCloseCmd(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/); 55 | 56 | LRESULT OnClickedBtnBrowseShell(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/); 57 | LRESULT OnClickedBtnBrowseDir(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/); 58 | 59 | virtual void OnDataValidateError(UINT nCtrlID, BOOL bSave, _XData& data); 60 | 61 | ConsoleSettings m_consoleSettings; 62 | 63 | private: 64 | 65 | CString m_strShell; 66 | CString m_strInitialDir; 67 | 68 | CFileNameEdit m_ShellEdit; 69 | CFileNameEdit m_InitialDirEdit; 70 | }; 71 | 72 | ////////////////////////////////////////////////////////////////////////////// 73 | -------------------------------------------------------------------------------- /Console/DlgSettingsControls.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | #include "DlgSettingsBase.h" 5 | 6 | ////////////////////////////////////////////////////////////////////////////// 7 | 8 | 9 | ////////////////////////////////////////////////////////////////////////////// 10 | ////////////////////////////////////////////////////////////////////////////// 11 | ////////////////////////////////////////////////////////////////////////////// 12 | 13 | 14 | ////////////////////////////////////////////////////////////////////////////// 15 | 16 | class DlgSettingsControls 17 | : public DlgSettingsBase 18 | { 19 | public: 20 | 21 | DlgSettingsControls(CComPtr& pOptionsRoot); 22 | 23 | BEGIN_DDX_MAP(DlgSettingsControls) 24 | DDX_CHECK(IDC_CHECK_SHOW_MENU, m_controlsSettings.ShowMenu()) 25 | DDX_CHECK(IDC_CHECK_SHOW_TOOLBAR, m_controlsSettings.ShowToolbar()) 26 | DDX_CHECK(IDC_CHECK_SHOW_SEARCH_BAR, m_controlsSettings.ShowSearchbar()) 27 | DDX_CHECK(IDC_CHECK_SHOW_STATUS, m_controlsSettings.ShowStatusbar()) 28 | DDX_CHECK(IDC_CHECK_SHOW_TABS, m_controlsSettings.ShowTabs()) 29 | DDX_CHECK(IDC_CHECK_HIDE_SINGLE_TAB, m_controlsSettings.HideSingleTab()) 30 | DDX_CHECK(IDC_CHECK_TABS_ON_BOTTOM, m_controlsSettings.TabsOnBottom()) 31 | DDX_CHECK(IDC_CHECK_SHOW_SCROLLBARS, m_controlsSettings.ShowScrollbars()) 32 | DDX_CHECK(IDC_CHECK_HIDE_TAB_ICONS, m_controlsSettings.HideTabIcons()) 33 | DDX_CHECK(IDC_CHECK_HIDE_TAB_CLOSE_BUTTON, m_controlsSettings.HideTabCloseButton()) 34 | DDX_CHECK(IDC_CHECK_HIDE_TAB_NEW_BUTTON, m_controlsSettings.HideTabNewButton()) 35 | END_DDX_MAP() 36 | 37 | BEGIN_MSG_MAP(DlgSettingsControls) 38 | MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog) 39 | COMMAND_ID_HANDLER(IDOK, OnCloseCmd) 40 | COMMAND_ID_HANDLER(IDCANCEL, OnCloseCmd) 41 | COMMAND_HANDLER(IDC_CHECK_SHOW_TABS, BN_CLICKED, OnClickedShowTabs) 42 | NOTIFY_CODE_HANDLER(TCN_SELCHANGE, OnTabItemChanged) 43 | END_MSG_MAP() 44 | 45 | // Handler prototypes (uncomment arguments if needed): 46 | // LRESULT MessageHandler(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) 47 | // LRESULT CommandHandler(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/) 48 | // LRESULT NotifyHandler(int /*idCtrl*/, LPNMHDR /*pnmh*/, BOOL& /*bHandled*/) 49 | 50 | LRESULT OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/); 51 | 52 | LRESULT OnCloseCmd(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/); 53 | LRESULT OnClickedShowTabs(WORD /*wNotifyCode*/, WORD /*wID*/, HWND hWndCtl, BOOL& /*bHandled*/); 54 | LRESULT OnTabItemChanged(int /*idCtrl*/, LPNMHDR /*pnmh*/, BOOL& /*bHandled*/); 55 | 56 | private: 57 | 58 | void EnableTabControls(); 59 | 60 | private: 61 | 62 | CTabCtrl m_tabCtrl; 63 | 64 | ControlsSettings m_controlsSettings; 65 | }; 66 | 67 | ////////////////////////////////////////////////////////////////////////////// 68 | -------------------------------------------------------------------------------- /Console/DlgSettingsFont.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | #include "DlgSettingsBase.h" 5 | 6 | ////////////////////////////////////////////////////////////////////////////// 7 | 8 | 9 | ////////////////////////////////////////////////////////////////////////////// 10 | ////////////////////////////////////////////////////////////////////////////// 11 | ////////////////////////////////////////////////////////////////////////////// 12 | 13 | 14 | ////////////////////////////////////////////////////////////////////////////// 15 | 16 | class DlgSettingsFont 17 | : public DlgSettingsBase 18 | { 19 | public: 20 | 21 | DlgSettingsFont(CComPtr& pOptionsRoot); 22 | 23 | BEGIN_DDX_MAP(DlgSettingsFont) 24 | DDX_TEXT(IDC_FONT, m_strFontName) 25 | DDX_UINT(IDC_FONT_SIZE, m_fontSettings.dwSize) 26 | DDX_UINT(IDC_FONT_EXTRAWIDTH, m_fontSettings.dwExtraWidth) 27 | DDX_CHECK(IDC_CHECK_BOLD, m_fontSettings.bBold) 28 | DDX_CHECK(IDC_CHECK_ITALIC, m_fontSettings.bItalic) 29 | DDX_CHECK(IDC_CHECK_USE_COLOR, m_fontSettings.bUseColor) 30 | DDX_CHECK(IDC_CHECK_BOLD_INTENSIFIED, m_fontSettings.bBoldIntensified) 31 | DDX_CHECK(IDC_CHECK_ITALIC_INTENSIFIED, m_fontSettings.bItalicIntensified) 32 | DDX_CHECK(IDC_CHECK_LIGATURE, m_fontSettings.bLigature) 33 | END_DDX_MAP() 34 | 35 | BEGIN_MSG_MAP(DlgSettingsFont) 36 | MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog) 37 | MESSAGE_HANDLER(WM_CTLCOLORSTATIC, OnCtlColorStatic) 38 | COMMAND_ID_HANDLER(IDOK, OnCloseCmd) 39 | COMMAND_ID_HANDLER(IDCANCEL, OnCloseCmd) 40 | COMMAND_HANDLER(IDC_BTN_BROWSE_FONT, BN_CLICKED, OnClickedBtnBrowseFont) 41 | COMMAND_HANDLER(IDC_CHECK_USE_COLOR, BN_CLICKED, OnClickedCheckbox) 42 | COMMAND_HANDLER(IDC_FONT_COLOR, BN_CLICKED, OnClickedFontColor) 43 | END_MSG_MAP() 44 | 45 | // Handler prototypes (uncomment arguments if needed): 46 | // LRESULT MessageHandler(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) 47 | // LRESULT CommandHandler(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/) 48 | // LRESULT NotifyHandler(int /*idCtrl*/, LPNMHDR /*pnmh*/, BOOL& /*bHandled*/) 49 | 50 | LRESULT OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/); 51 | LRESULT OnCtlColorStatic(UINT /*uMsg*/, WPARAM wParam, LPARAM lParam, BOOL& bHandled); 52 | 53 | LRESULT OnCloseCmd(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/); 54 | LRESULT OnClickedBtnBrowseFont(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/); 55 | LRESULT OnClickedCheckbox(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/); 56 | LRESULT OnClickedFontColor(WORD /*wNotifyCode*/, WORD /*wID*/, HWND hWndCtl, BOOL& /*bHandled*/); 57 | 58 | private: 59 | 60 | void EnableControls(); 61 | 62 | private: 63 | 64 | FontSettings m_fontSettings; 65 | 66 | CString m_strFontName; 67 | 68 | CComboBox m_comboFontSmoothing; 69 | }; 70 | 71 | ////////////////////////////////////////////////////////////////////////////// 72 | -------------------------------------------------------------------------------- /Console/DlgSettingsFullScreen.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | #include "DlgSettingsBase.h" 5 | 6 | ////////////////////////////////////////////////////////////////////////////// 7 | 8 | 9 | ////////////////////////////////////////////////////////////////////////////// 10 | ////////////////////////////////////////////////////////////////////////////// 11 | ////////////////////////////////////////////////////////////////////////////// 12 | 13 | 14 | ////////////////////////////////////////////////////////////////////////////// 15 | 16 | class DlgSettingsFullScreen 17 | : public DlgSettingsBase 18 | { 19 | public: 20 | 21 | DlgSettingsFullScreen(CComPtr& pOptionsRoot); 22 | 23 | BEGIN_DDX_MAP(DlgSettingsFullScreen) 24 | DDX_CHECK(IDC_CHECK_START_IN_FULLSCREEN, m_fullScreenSettings.bStartInFullScreen) 25 | END_DDX_MAP() 26 | 27 | BEGIN_MSG_MAP(DlgSettingsFullScreen) 28 | MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog) 29 | COMMAND_ID_HANDLER(IDOK, OnCloseCmd) 30 | COMMAND_ID_HANDLER(IDCANCEL, OnCloseCmd) 31 | END_MSG_MAP() 32 | 33 | // Handler prototypes (uncomment arguments if needed): 34 | // LRESULT MessageHandler(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) 35 | // LRESULT CommandHandler(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/) 36 | // LRESULT NotifyHandler(int /*idCtrl*/, LPNMHDR /*pnmh*/, BOOL& /*bHandled*/) 37 | 38 | LRESULT OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/); 39 | 40 | LRESULT OnCloseCmd(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/); 41 | LRESULT OnClickedScrollType(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/); 42 | 43 | private: 44 | 45 | FullScreenSettings m_fullScreenSettings; 46 | CComboBox m_comboFullScreenMonitor; 47 | 48 | static BOOL CALLBACK MonitorEnumProc(HMONITOR hMonitor, HDC /*hdcMonitor*/, LPRECT /*lprcMonitor*/, LPARAM lpData); 49 | }; 50 | 51 | ////////////////////////////////////////////////////////////////////////////// 52 | -------------------------------------------------------------------------------- /Console/DlgSettingsHotkeys.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | #include "DlgSettingsBase.h" 5 | #include "HotkeyEdit.h" 6 | 7 | ////////////////////////////////////////////////////////////////////////////// 8 | 9 | 10 | ////////////////////////////////////////////////////////////////////////////// 11 | ////////////////////////////////////////////////////////////////////////////// 12 | ////////////////////////////////////////////////////////////////////////////// 13 | 14 | 15 | ////////////////////////////////////////////////////////////////////////////// 16 | 17 | class DlgSettingsHotkeys 18 | : public DlgSettingsBase 19 | { 20 | public: 21 | 22 | DlgSettingsHotkeys(CComPtr& pOptionsRoot); 23 | 24 | BEGIN_DDX_MAP(DlgSettingsHotkeys) 25 | DDX_CHECK(IDC_CHECK_USE_SCROLL_LOCK, m_hotKeys.bUseScrollLock) 26 | END_DDX_MAP() 27 | 28 | BEGIN_MSG_MAP(DlgSettingsHotkeys) 29 | MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog) 30 | NOTIFY_CODE_HANDLER(LVN_ITEMCHANGED, OnListItemChanged) 31 | COMMAND_ID_HANDLER(IDC_BTN_ASSIGN, OnBtnAssign) 32 | COMMAND_ID_HANDLER(IDC_BTN_CLEAR, OnBtnClear) 33 | COMMAND_ID_HANDLER(IDOK, OnCloseCmd) 34 | COMMAND_ID_HANDLER(IDCANCEL, OnCloseCmd) 35 | END_MSG_MAP() 36 | 37 | // Handler prototypes (uncomment arguments if needed): 38 | // LRESULT MessageHandler(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) 39 | // LRESULT CommandHandler(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/) 40 | // LRESULT NotifyHandler(int /*idCtrl*/, LPNMHDR /*pnmh*/, BOOL& /*bHandled*/) 41 | 42 | LRESULT OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/); 43 | 44 | LRESULT OnListItemChanged(int /*idCtrl*/, LPNMHDR pnmh, BOOL& /*bHandled*/); 45 | 46 | LRESULT OnBtnAssign(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/); 47 | LRESULT OnBtnClear(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/); 48 | LRESULT OnCloseCmd(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/); 49 | 50 | private: 51 | 52 | HotKeys m_hotKeys; 53 | 54 | CListViewCtrl m_listCtrl; 55 | CEdit m_editCommand; 56 | CHotkeyEdit m_hotKeyEdit; 57 | }; 58 | 59 | ////////////////////////////////////////////////////////////////////////////// 60 | -------------------------------------------------------------------------------- /Console/DlgSettingsMain.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | #include "DlgSettingsBase.h" 5 | 6 | ////////////////////////////////////////////////////////////////////////////// 7 | 8 | 9 | ////////////////////////////////////////////////////////////////////////////// 10 | ////////////////////////////////////////////////////////////////////////////// 11 | ////////////////////////////////////////////////////////////////////////////// 12 | 13 | typedef std::map > SettingsDlgsMap; 14 | 15 | ////////////////////////////////////////////////////////////////////////////// 16 | 17 | class DlgSettingsMain 18 | : public CDialogImpl 19 | { 20 | public: 21 | enum { IDD = IDD_SETTINGS_MAIN }; 22 | 23 | DlgSettingsMain(); 24 | 25 | BEGIN_MSG_MAP(DlgSettingsMain) 26 | MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog) 27 | COMMAND_ID_HANDLER(IDOK, OnCloseCmd) 28 | COMMAND_ID_HANDLER(IDCANCEL, OnCloseCmd) 29 | NOTIFY_CODE_HANDLER(TVN_SELCHANGED, OnTreeSelChanged) 30 | END_MSG_MAP() 31 | 32 | // Handler prototypes (uncomment arguments if needed): 33 | // LRESULT MessageHandler(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) 34 | // LRESULT CommandHandler(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/) 35 | // LRESULT NotifyHandler(int /*idCtrl*/, LPNMHDR /*pnmh*/, BOOL& /*bHandled*/) 36 | 37 | LRESULT OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/); 38 | LRESULT OnCloseCmd(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/); 39 | 40 | LRESULT OnTreeSelChanged(int /*idCtrl*/, LPNMHDR pnmh, BOOL& /*bHandled*/); 41 | 42 | private: 43 | 44 | void CreateSettingsTree(); 45 | HTREEITEM AddDialogToTree(const UINT descriptionID, const std::shared_ptr& newDlg, CRect& rect, HTREEITEM htiParent = NULL); 46 | 47 | private: 48 | 49 | std::wstring m_strSettingsFileName; 50 | 51 | CTreeViewCtrl m_treeCtrl; 52 | CButton m_checkUserDataDir; 53 | 54 | SettingsDlgsMap m_settingsDlgMap; 55 | 56 | CComPtr m_pSettingsDocument; 57 | CComPtr m_pSettingsRoot; 58 | }; 59 | 60 | ////////////////////////////////////////////////////////////////////////////// 61 | -------------------------------------------------------------------------------- /Console/DlgSettingsMouse.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | #include "DlgSettingsBase.h" 5 | 6 | ////////////////////////////////////////////////////////////////////////////// 7 | 8 | 9 | ////////////////////////////////////////////////////////////////////////////// 10 | ////////////////////////////////////////////////////////////////////////////// 11 | ////////////////////////////////////////////////////////////////////////////// 12 | 13 | 14 | ////////////////////////////////////////////////////////////////////////////// 15 | 16 | class DlgSettingsMouse 17 | : public DlgSettingsBase 18 | { 19 | public: 20 | 21 | DlgSettingsMouse(CComPtr& pOptionsRoot); 22 | 23 | BEGIN_DDX_MAP(DlgSettingsMouse) 24 | END_DDX_MAP() 25 | 26 | BEGIN_MSG_MAP(DlgSettingsMouse) 27 | MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog) 28 | NOTIFY_CODE_HANDLER(LVN_ITEMCHANGED, OnListItemChanged) 29 | COMMAND_ID_HANDLER(IDC_BTN_ASSIGN, OnBtnAssign) 30 | COMMAND_ID_HANDLER(IDC_BTN_CLEAR, OnBtnClear) 31 | COMMAND_ID_HANDLER(IDOK, OnCloseCmd) 32 | COMMAND_ID_HANDLER(IDCANCEL, OnCloseCmd) 33 | END_MSG_MAP() 34 | 35 | // Handler prototypes (uncomment arguments if needed): 36 | // LRESULT MessageHandler(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) 37 | // LRESULT CommandHandler(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/) 38 | // LRESULT NotifyHandler(int /*idCtrl*/, LPNMHDR /*pnmh*/, BOOL& /*bHandled*/) 39 | 40 | LRESULT OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/); 41 | 42 | LRESULT OnListItemChanged(int /*idCtrl*/, LPNMHDR pnmh, BOOL& /*bHandled*/); 43 | 44 | LRESULT OnBtnAssign(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/); 45 | LRESULT OnBtnClear(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/); 46 | LRESULT OnCloseCmd(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/); 47 | 48 | private: 49 | 50 | MouseSettings m_mouseSettings; 51 | 52 | CListViewCtrl m_listCtrl; 53 | CEdit m_editCommand; 54 | CComboBox m_comboButtons; 55 | CButton m_btnCtrl; 56 | CButton m_btnShift; 57 | CButton m_btnAlt; 58 | }; 59 | 60 | ////////////////////////////////////////////////////////////////////////////// 61 | -------------------------------------------------------------------------------- /Console/DlgSettingsStyles.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | #include "DlgSettingsBase.h" 5 | 6 | ////////////////////////////////////////////////////////////////////////////// 7 | 8 | 9 | ////////////////////////////////////////////////////////////////////////////// 10 | ////////////////////////////////////////////////////////////////////////////// 11 | ////////////////////////////////////////////////////////////////////////////// 12 | 13 | 14 | ////////////////////////////////////////////////////////////////////////////// 15 | 16 | class DlgSettingsStyles 17 | : public DlgSettingsBase 18 | { 19 | public: 20 | 21 | DlgSettingsStyles(CComPtr& pOptionsRoot); 22 | 23 | BEGIN_DDX_MAP(DlgSettingsStyles) 24 | DDX_CHECK(IDC_CHECK_STYLE_CAPTION, m_stylesSettings.bCaption) 25 | DDX_CHECK(IDC_CHECK_STYLE_RESIZABLE, m_stylesSettings.bResizable) 26 | DDX_CHECK(IDC_CHECK_STYLE_BORDER, m_stylesSettings.bBorder) 27 | DDX_CHECK(IDC_CHECK_STYLE_TASKBAR, m_stylesSettings.bTaskbarButton) 28 | DDX_CHECK(IDC_CHECK_STYLE_TRAY, m_stylesSettings.bTrayIcon) 29 | DDX_CHECK(IDC_CHECK_STYLE_QUAKE, m_stylesSettings.bQuake) 30 | DDX_CHECK(IDC_CHECK_USE_JUMPLIST, m_stylesSettings.bJumplist) 31 | DDX_CHECK(IDC_CHECK_INTEGRATED_IME, m_stylesSettings.bIntegratedIME) 32 | DDX_CHECK(IDC_CHECK_HIDE_WHEN_INACTIVE, m_stylesSettings.bHideWhenInactive) 33 | DDX_CHECK(IDC_CHECK_PER_MONITOR_DPI, m_stylesSettings.bPerMonitorDpi) 34 | DDX_CHECK(IDC_CHECK_KEEP_VIEW_THEME, m_stylesSettings.bKeepViewTheme) 35 | DDX_UINT(IDC_INSIDE_BORDER, m_stylesSettings.dwInsideBorder) 36 | DDX_UINT(IDC_SPLIT_BAR_SIZE, m_stylesSettings.dwSplitBarSize) 37 | DDX_UINT(IDC_QUAKE_ANIMATION_TIME, m_stylesSettings.dwQuakeAnimationTime) 38 | END_DDX_MAP() 39 | 40 | BEGIN_MSG_MAP(DlgSettingsStyles) 41 | MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog) 42 | MESSAGE_HANDLER(WM_CTLCOLORSTATIC, OnCtlColorStatic) 43 | COMMAND_ID_HANDLER(IDOK, OnCloseCmd) 44 | COMMAND_ID_HANDLER(IDCANCEL, OnCloseCmd) 45 | COMMAND_HANDLER(IDC_CHECK_STYLE_QUAKE, BN_CLICKED, OnClickedQuake) 46 | COMMAND_HANDLER(IDC_SELECTION_COLOR, BN_CLICKED, OnClickedSelColor) 47 | COMMAND_HANDLER(IDC_HIGHLIGHT_COLOR, BN_CLICKED, OnClickedHiColor) 48 | END_MSG_MAP() 49 | 50 | // Handler prototypes (uncomment arguments if needed): 51 | // LRESULT MessageHandler(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) 52 | // LRESULT CommandHandler(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/) 53 | // LRESULT NotifyHandler(int /*idCtrl*/, LPNMHDR /*pnmh*/, BOOL& /*bHandled*/) 54 | 55 | LRESULT OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/); 56 | LRESULT OnCtlColorStatic(UINT /*uMsg*/, WPARAM wParam, LPARAM lParam, BOOL& bHandled); 57 | 58 | LRESULT OnCloseCmd(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/); 59 | LRESULT OnClickedQuake(WORD /*wNotifyCode*/, WORD /*wID*/, HWND hWndCtl, BOOL& /*bHandled*/); 60 | LRESULT OnClickedSelColor(WORD /*wNotifyCode*/, WORD /*wID*/, HWND hWndCtl, BOOL& /*bHandled*/); 61 | LRESULT OnClickedHiColor(WORD /*wNotifyCode*/, WORD /*wID*/, HWND hWndCtl, BOOL& /*bHandled*/); 62 | 63 | private: 64 | 65 | void EnableQuakeControls(); 66 | 67 | private: 68 | 69 | StylesSettings m_stylesSettings; 70 | }; 71 | 72 | ////////////////////////////////////////////////////////////////////////////// 73 | -------------------------------------------------------------------------------- /Console/DlgSettingsTabs.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | #include "DlgSettingsBase.h" 5 | #include "PageSettingsTabs1.h" 6 | #include "PageSettingsTabs2.h" 7 | #include "PageSettingsTabsColors.h" 8 | #include "PageSettingsTabsEnv.h" 9 | 10 | ////////////////////////////////////////////////////////////////////////////// 11 | 12 | 13 | ////////////////////////////////////////////////////////////////////////////// 14 | ////////////////////////////////////////////////////////////////////////////// 15 | ////////////////////////////////////////////////////////////////////////////// 16 | 17 | 18 | ////////////////////////////////////////////////////////////////////////////// 19 | 20 | class DlgSettingsTabs 21 | : public DlgSettingsBase 22 | { 23 | public: 24 | 25 | DlgSettingsTabs(CComPtr& pOptionsRoot, ConsoleSettings &consoleSettings); 26 | 27 | BEGIN_DDX_MAP(DlgSettingsTabs) 28 | END_DDX_MAP() 29 | 30 | BEGIN_MSG_MAP(DlgSettingsTabs) 31 | MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog) 32 | MESSAGE_HANDLER(WM_SHOWWINDOW, OnShowWindow) 33 | MESSAGE_HANDLER(UM_TAB_TITLE_CHANGED, OnTabTitleChanged) 34 | MESSAGE_HANDLER(UM_TAB_ICON_CHANGED, OnTabIconChanged) 35 | 36 | COMMAND_ID_HANDLER(IDOK, OnCloseCmd) 37 | COMMAND_ID_HANDLER(IDCANCEL, OnCloseCmd) 38 | COMMAND_ID_HANDLER(IDC_BTN_ADD, OnAdd) 39 | COMMAND_ID_HANDLER(IDC_BTN_CLONE, OnClone) 40 | COMMAND_ID_HANDLER(IDC_BTN_DELETE, OnDelete) 41 | COMMAND_ID_HANDLER(IDC_BTN_UP, OnUp) 42 | COMMAND_ID_HANDLER(IDC_BTN_DOWN, OnDown) 43 | 44 | NOTIFY_CODE_HANDLER(LVN_ITEMCHANGED, OnListItemChanged) 45 | NOTIFY_CODE_HANDLER(TCN_SELCHANGE, OnTabItemChanged) 46 | END_MSG_MAP() 47 | 48 | // Handler prototypes (uncomment arguments if needed): 49 | // LRESULT MessageHandler(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) 50 | // LRESULT CommandHandler(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/) 51 | // LRESULT NotifyHandler(int /*idCtrl*/, LPNMHDR /*pnmh*/, BOOL& /*bHandled*/) 52 | 53 | LRESULT OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/); 54 | LRESULT OnShowWindow(UINT /*uMsg*/, WPARAM wParam, LPARAM /*lParam*/, BOOL& bHandled); 55 | LRESULT OnTabTitleChanged(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/); 56 | LRESULT OnTabIconChanged(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/); 57 | 58 | LRESULT OnCloseCmd(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/); 59 | LRESULT OnAdd(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/); 60 | LRESULT OnClone(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/); 61 | LRESULT OnDelete(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/); 62 | LRESULT OnUp(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/); 63 | LRESULT OnDown(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/); 64 | 65 | LRESULT OnListItemChanged(int /*idCtrl*/, LPNMHDR pnmh, BOOL& /*bHandled*/); 66 | LRESULT OnTabItemChanged(int /*idCtrl*/, LPNMHDR /*pnmh*/, BOOL& /*bHandled*/); 67 | 68 | private: 69 | 70 | void MoveListItem(int nItem, int nDirection); 71 | 72 | private: 73 | 74 | TabSettings m_tabSettings; 75 | 76 | CListViewCtrl m_listCtrl; 77 | WTL::CImageList m_ImageList; 78 | 79 | CTabCtrl m_tabCtrl; 80 | 81 | ConsoleSettings &m_consoleSettings; 82 | 83 | PageSettingsTabs1 m_page1; 84 | PageSettingsTabs2 m_page2; 85 | PageSettingsTabsColors m_page3; 86 | PageSettingsTabsEnv m_page4; 87 | PageSettingsTab * m_pages[4]; 88 | }; 89 | 90 | ////////////////////////////////////////////////////////////////////////////// 91 | -------------------------------------------------------------------------------- /Console/DlgSettingsTransparency.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | #include "DlgSettingsBase.h" 5 | 6 | ////////////////////////////////////////////////////////////////////////////// 7 | 8 | 9 | ////////////////////////////////////////////////////////////////////////////// 10 | ////////////////////////////////////////////////////////////////////////////// 11 | ////////////////////////////////////////////////////////////////////////////// 12 | 13 | 14 | ////////////////////////////////////////////////////////////////////////////// 15 | 16 | class DlgSettingsTransparency 17 | : public DlgSettingsBase 18 | { 19 | public: 20 | 21 | DlgSettingsTransparency(CComPtr& pOptionsRoot); 22 | 23 | BEGIN_DDX_MAP(DlgSettingsTransparency) 24 | DDX_RADIO(IDC_TRANSPARENCY_TYPE, reinterpret_cast(m_transparencySettings.TransType())) 25 | END_DDX_MAP() 26 | 27 | BEGIN_MSG_MAP(DlgSettingsTransparency) 28 | MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog) 29 | MESSAGE_HANDLER(WM_CTLCOLORSTATIC, OnCtlColorStatic) 30 | MESSAGE_HANDLER(WM_HSCROLL, OnHScroll) 31 | COMMAND_ID_HANDLER(IDOK, OnCloseCmd) 32 | COMMAND_ID_HANDLER(IDCANCEL, OnCloseCmd) 33 | COMMAND_HANDLER(IDC_KEY_COLOR, BN_CLICKED, OnClickedKeyColor) 34 | COMMAND_RANGE_CODE_HANDLER(IDC_TRANSPARENCY_TYPE, IDC_TRANSPARENCY_TYPE5, BN_CLICKED, OnClickedTransType) 35 | NOTIFY_CODE_HANDLER(TCN_SELCHANGE, OnTabItemChanged) 36 | END_MSG_MAP() 37 | 38 | // Handler prototypes (uncomment arguments if needed): 39 | // LRESULT MessageHandler(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) 40 | // LRESULT CommandHandler(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/) 41 | // LRESULT NotifyHandler(int /*idCtrl*/, LPNMHDR /*pnmh*/, BOOL& /*bHandled*/) 42 | 43 | LRESULT OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/); 44 | LRESULT OnCtlColorStatic(UINT /*uMsg*/, WPARAM wParam, LPARAM lParam, BOOL& bHandled); 45 | LRESULT OnHScroll(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM lParam, BOOL& /*bHandled*/); 46 | 47 | LRESULT OnCloseCmd(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/); 48 | LRESULT OnClickedKeyColor(WORD /*wNotifyCode*/, WORD /*wID*/, HWND hWndCtl, BOOL& /*bHandled*/); 49 | LRESULT OnClickedTransType(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/); 50 | 51 | LRESULT OnTabItemChanged(int /*idCtrl*/, LPNMHDR /*pnmh*/, BOOL& /*bHandled*/); 52 | 53 | private: 54 | 55 | void UpdateSliderText(HWND hwnd); 56 | void EnableTransparencyControls(); 57 | 58 | private: 59 | 60 | TransparencySettings m_transparencySettings; 61 | 62 | CTrackBarCtrl m_sliderActiveAlpha; 63 | CTrackBarCtrl m_sliderInactiveAlpha; 64 | 65 | CTabCtrl m_tabCtrl; 66 | }; 67 | 68 | ////////////////////////////////////////////////////////////////////////////// 69 | -------------------------------------------------------------------------------- /Console/JumpList.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | class JumpList 3 | { 4 | public: 5 | static void CreateList(TabDataVector &tabDataVector); 6 | }; 7 | 8 | -------------------------------------------------------------------------------- /Console/PageSettingsTab.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | class PageSettingsTab 5 | { 6 | public: 7 | virtual void Load(std::shared_ptr& tabData) = 0; 8 | virtual void Save() = 0; 9 | void Show(int nCmdShow) 10 | { 11 | CWindow *wnd = dynamic_cast(this); 12 | if (wnd) 13 | wnd->ShowWindow(nCmdShow); 14 | } 15 | }; 16 | -------------------------------------------------------------------------------- /Console/PageSettingsTabsEnv.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | #include "PageSettingsTab.h" 5 | 6 | class PageSettingsTabsEnv 7 | : public CDialogImpl 8 | , public CWinDataExchange 9 | , public PageSettingsTab 10 | { 11 | public: 12 | 13 | enum { IDD = IDD_SETTINGS_TABS_ENV }; 14 | 15 | PageSettingsTabsEnv(); 16 | 17 | BEGIN_DDX_MAP(PageSettingsTabsEnv) 18 | END_DDX_MAP() 19 | 20 | BEGIN_MSG_MAP(PageSettingsTabsEnv) 21 | MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog) 22 | 23 | COMMAND_ID_HANDLER(IDC_BTN_ENV_ADD, OnClickedBtnEnvAdd) 24 | COMMAND_ID_HANDLER(IDC_BTN_ENV_DELETE, OnClickedBtnEnvDelete) 25 | COMMAND_ID_HANDLER(IDC_BTN_ENV_EDIT, OnClickedBtnEnvEdit) 26 | END_MSG_MAP() 27 | 28 | LRESULT OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/); 29 | 30 | LRESULT OnClickedBtnEnvAdd (WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/); 31 | LRESULT OnClickedBtnEnvDelete(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/); 32 | LRESULT OnClickedBtnEnvEdit (WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/); 33 | 34 | void Load(std::shared_ptr& tabData); 35 | void Save(); 36 | 37 | private: 38 | 39 | std::shared_ptr m_tabData; 40 | 41 | CListViewCtrl m_listCtrl; 42 | CEdit m_editVariable; 43 | CEdit m_editValue; 44 | }; 45 | 46 | ////////////////////////////////////////////////////////////////////////////// 47 | -------------------------------------------------------------------------------- /Console/Snippet.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | /* 4 | 5 | 6 | https://raw.githubusercontent.com/cbucher/console/master/Snippets/test.xml 7 | 8 |
9 | test 10 | This is a test. 11 | cbucher 12 | 1.0 13 | 14 | cmd 15 | bash 16 | 17 |
18 | 19 | 20 | first 21 | The first param 22 | one 23 | 24 | 25 | second 26 | The second param 27 | two 28 | 29 | 30 | third 31 | The third param 32 | three 33 | 34 | 35 | 36 | 37 | 38 |
39 |
40 | */ 41 | 42 | class SnippetsFile 43 | { 44 | public: 45 | SnippetsFile(const std::wstring& fullFileName) 46 | : m_fullFileName(fullFileName) 47 | , m_downloadUrl() 48 | { } 49 | 50 | inline const auto& fullFileName(void) const { return m_fullFileName; } 51 | inline const auto& downloadUrl (void) const { return m_downloadUrl; } 52 | 53 | bool load(const CComPtr& xmlNodeSnippets); 54 | 55 | private: 56 | std::wstring m_fullFileName; 57 | std::wstring m_downloadUrl; 58 | }; 59 | 60 | class Snippet 61 | { 62 | public: 63 | Snippet(std::shared_ptr file) 64 | : m_header() 65 | , m_declarations() 66 | , m_code() 67 | , m_file(file) 68 | { 69 | } 70 | 71 | struct Header 72 | { 73 | std::wstring title; 74 | std::wstring description; 75 | std::wstring author; 76 | std::wstring authorUrl; 77 | std::wstring authorEmail; 78 | std::wstring version; 79 | std::vector shellTypes; 80 | }; 81 | 82 | struct Literal 83 | { 84 | std::wstring id; 85 | std::wstring toolTip; 86 | std::wstring default; 87 | }; 88 | 89 | struct Code 90 | { 91 | std::wstring delimiter; 92 | std::wstring raw; 93 | }; 94 | 95 | inline const auto& header (void) const { return m_header; } 96 | inline const auto& declarations(void) const { return m_declarations; } 97 | inline const auto& code (void) const { return m_code; } 98 | inline const auto& file (void) const { return m_file; } 99 | 100 | bool load(const CComPtr& xmlNodeSnippet); 101 | 102 | private: 103 | Header m_header; 104 | std::vector> m_declarations; 105 | Code m_code; 106 | std::shared_ptr m_file; 107 | }; 108 | 109 | class SnippetCollection 110 | { 111 | public: 112 | void reset(void); 113 | bool load(const std::wstring& folder); 114 | 115 | inline const auto& snippets(void) const { return m_snippets; } 116 | inline const auto& files (void) const { return m_files; } 117 | 118 | private: 119 | bool loadSnippets(const std::wstring& fullSnippetsFileName); 120 | 121 | private: 122 | std::vector> m_snippets; 123 | std::vector> m_files; 124 | }; -------------------------------------------------------------------------------- /Console/Wallpaper.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "MainFrame.h" 4 | 5 | class MyThread 6 | { 7 | public: 8 | MyThread (void); 9 | virtual ~MyThread (void); 10 | 11 | void Start (DWORD dwStackSize = 0); 12 | DWORD Stop (DWORD dwTimeout); 13 | virtual DWORD Process (HANDLE hStopSignal) = 0; 14 | 15 | private: 16 | std::unique_ptr hStopSignalPtr; 17 | std::unique_ptr hThreadPtr; 18 | DWORD dwResult; 19 | 20 | friend unsigned int __stdcall _MyThreadFunction (void*); 21 | }; 22 | 23 | 24 | class WallPaperThread : public MyThread 25 | { 26 | MainFrame& m_mainFrame; 27 | 28 | public: 29 | WallPaperThread (MainFrame& mainFrame):m_mainFrame(mainFrame) {} 30 | virtual ~WallPaperThread (void) {} 31 | 32 | virtual DWORD Process (HANDLE hStopSignal); 33 | }; 34 | -------------------------------------------------------------------------------- /Console/XmlHelper.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | ////////////////////////////////////////////////////////////////////////////// 6 | 7 | 8 | ////////////////////////////////////////////////////////////////////////////// 9 | ////////////////////////////////////////////////////////////////////////////// 10 | ////////////////////////////////////////////////////////////////////////////// 11 | 12 | 13 | ////////////////////////////////////////////////////////////////////////////// 14 | 15 | class XmlHelper 16 | { 17 | public: 18 | 19 | static HRESULT OpenXmlDocument(const std::wstring& strFilename, CComPtr& pXmlDocument, CComPtr& pRootElement, std::wstring& strParseError); 20 | static HRESULT OpenXmlDocumentFromResource(const std::wstring& strFilename, CComPtr& pXmlDocument, CComPtr& pRootElement); 21 | static HRESULT OpenXmlDocumentFromContent(const std::vector& content, CComPtr& pXmlDocument, CComPtr& pRootElement); 22 | 23 | static HRESULT GetDomElement(const CComPtr& pRootElement, const CComBSTR& bstrPath, CComPtr& pElement); 24 | static HRESULT AddDomElementIfNotExist(const CComPtr& pElement, const CComBSTR& bstrName, CComPtr& pNewElement); 25 | static HRESULT CreateDomElement(const CComPtr& pElement, const CComBSTR& bstrName, CComPtr& pNewElement); 26 | static HRESULT AddTextNode(const CComPtr& pElement, const CComBSTR& bstrText); 27 | static HRESULT RemoveAllChildNodes(const CComPtr& pElement); 28 | 29 | static void GetAttribute(const CComPtr& pElement, const CComBSTR& bstrName, DWORD& dwValue, DWORD dwDefaultValue); 30 | static void GetAttribute(const CComPtr& pElement, const CComBSTR& bstrName, int& nValue, int nDefaultValue); 31 | static void GetAttribute(const CComPtr& pElement, const CComBSTR& bstrName, BYTE& byValue, BYTE byDefaultValue); 32 | static void GetAttribute(const CComPtr& pElement, const CComBSTR& bstrName, bool& bValue, bool bDefaultValue); 33 | static void GetAttribute(const CComPtr& pElement, const CComBSTR& bstrName, std::wstring& strValue, const std::wstring& strDefaultValue); 34 | 35 | static void GetRGBAttribute(const CComPtr& pElement, COLORREF& crValue, COLORREF crDefaultValue); 36 | 37 | static bool GetNodeText(const CComPtr& pElement, std::wstring& strValue); 38 | static bool GetChildNodeText(const CComPtr& pElement, const CComBSTR& bstrChildName, std::wstring& strValue); 39 | 40 | static void SetAttribute(const CComPtr& pElement, const CComBSTR& bstrName, DWORD dwValue); 41 | static void SetAttribute(const CComPtr& pElement, const CComBSTR& bstrName, int nValue); 42 | static void SetAttribute(const CComPtr& pElement, const CComBSTR& bstrName, BYTE byValue); 43 | static void SetAttribute(const CComPtr& pElement, const CComBSTR& bstrName, bool bValue); 44 | static void SetAttribute(const CComPtr& pElement, const CComBSTR& bstrName, const std::wstring& strValue); 45 | 46 | static void SetRGBAttribute(const CComPtr& pElement, const COLORREF& crValue); 47 | static void SaveColors(CComPtr& pElement, const COLORREF colors[16], BYTE opacity); 48 | static bool LoadColors(const CComPtr& pElement, COLORREF colors[16], BYTE & opacity); 49 | }; 50 | 51 | ////////////////////////////////////////////////////////////////////////////// 52 | -------------------------------------------------------------------------------- /Console/config.rc: -------------------------------------------------------------------------------- 1 | #include "resource.h" 2 | 3 | ///////////////////////////////////////////////////////////////////////////// 4 | // 5 | // HTML 6 | // 7 | 8 | CONSOLE.XML HTML "..\\setup\\config\\console.xml" 9 | -------------------------------------------------------------------------------- /Console/res/Console.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/Console/res/Console.ico -------------------------------------------------------------------------------- /Console/res/SearchBar.rc2: -------------------------------------------------------------------------------- 1 | BEGIN 2 | BUTTON ID_SEARCH_COMBO 3 | BUTTON ID_SEARCH_PREV 4 | BUTTON ID_SEARCH_NEXT 5 | BUTTON ID_SEARCH_MATCH_CASE 6 | BUTTON ID_SEARCH_MATCH_WHOLE_WORD 7 | END 8 | -------------------------------------------------------------------------------- /Console/res/Toolbar.rc2: -------------------------------------------------------------------------------- 1 | BEGIN 2 | BUTTON ID_FILE_NEW_TAB 3 | BUTTON ID_PREV_TAB 4 | BUTTON ID_NEXT_TAB 5 | BUTTON ID_EDIT_RENAME_TAB 6 | SEPARATOR 7 | BUTTON ID_EDIT_COPY 8 | BUTTON ID_EDIT_PASTE 9 | SEPARATOR 10 | BUTTON ID_EDIT_INSERT_SNIPPET 11 | SEPARATOR 12 | BUTTON ID_SPLIT_HORIZ 13 | BUTTON ID_SPLIT_VERT 14 | SEPARATOR 15 | BUTTON ID_VIEW_FULLSCREEN 16 | SEPARATOR 17 | BUTTON ID_APP_ABOUT 18 | BUTTON ID_HELP 19 | END 20 | -------------------------------------------------------------------------------- /Console/res/fullscreen1_128.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/Console/res/fullscreen1_128.bmp -------------------------------------------------------------------------------- /Console/res/fullscreen1_16.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/Console/res/fullscreen1_16.bmp -------------------------------------------------------------------------------- /Console/res/fullscreen1_20.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/Console/res/fullscreen1_20.bmp -------------------------------------------------------------------------------- /Console/res/fullscreen1_24.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/Console/res/fullscreen1_24.bmp -------------------------------------------------------------------------------- /Console/res/fullscreen1_32.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/Console/res/fullscreen1_32.bmp -------------------------------------------------------------------------------- /Console/res/fullscreen1_40.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/Console/res/fullscreen1_40.bmp -------------------------------------------------------------------------------- /Console/res/fullscreen1_48.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/Console/res/fullscreen1_48.bmp -------------------------------------------------------------------------------- /Console/res/fullscreen1_64.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/Console/res/fullscreen1_64.bmp -------------------------------------------------------------------------------- /Console/res/fullscreen1_80.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/Console/res/fullscreen1_80.bmp -------------------------------------------------------------------------------- /Console/res/fullscreen2_128.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/Console/res/fullscreen2_128.bmp -------------------------------------------------------------------------------- /Console/res/fullscreen2_16.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/Console/res/fullscreen2_16.bmp -------------------------------------------------------------------------------- /Console/res/fullscreen2_20.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/Console/res/fullscreen2_20.bmp -------------------------------------------------------------------------------- /Console/res/fullscreen2_24.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/Console/res/fullscreen2_24.bmp -------------------------------------------------------------------------------- /Console/res/fullscreen2_32.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/Console/res/fullscreen2_32.bmp -------------------------------------------------------------------------------- /Console/res/fullscreen2_40.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/Console/res/fullscreen2_40.bmp -------------------------------------------------------------------------------- /Console/res/fullscreen2_48.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/Console/res/fullscreen2_48.bmp -------------------------------------------------------------------------------- /Console/res/fullscreen2_64.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/Console/res/fullscreen2_64.bmp -------------------------------------------------------------------------------- /Console/res/fullscreen2_80.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/Console/res/fullscreen2_80.bmp -------------------------------------------------------------------------------- /Console/res/search_128.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/Console/res/search_128.bmp -------------------------------------------------------------------------------- /Console/res/search_16.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/Console/res/search_16.bmp -------------------------------------------------------------------------------- /Console/res/search_20.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/Console/res/search_20.bmp -------------------------------------------------------------------------------- /Console/res/search_24.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/Console/res/search_24.bmp -------------------------------------------------------------------------------- /Console/res/search_32.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/Console/res/search_32.bmp -------------------------------------------------------------------------------- /Console/res/search_40.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/Console/res/search_40.bmp -------------------------------------------------------------------------------- /Console/res/search_48.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/Console/res/search_48.bmp -------------------------------------------------------------------------------- /Console/res/search_64.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/Console/res/search_64.bmp -------------------------------------------------------------------------------- /Console/res/search_80.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/Console/res/search_80.bmp -------------------------------------------------------------------------------- /Console/res/supportedOS.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /Console/res/testHighDPI.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/Console/res/testHighDPI.ico -------------------------------------------------------------------------------- /Console/res/toolbar_128.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/Console/res/toolbar_128.bmp -------------------------------------------------------------------------------- /Console/res/toolbar_16.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/Console/res/toolbar_16.bmp -------------------------------------------------------------------------------- /Console/res/toolbar_20.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/Console/res/toolbar_20.bmp -------------------------------------------------------------------------------- /Console/res/toolbar_24.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/Console/res/toolbar_24.bmp -------------------------------------------------------------------------------- /Console/res/toolbar_32.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/Console/res/toolbar_32.bmp -------------------------------------------------------------------------------- /Console/res/toolbar_40.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/Console/res/toolbar_40.bmp -------------------------------------------------------------------------------- /Console/res/toolbar_48.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/Console/res/toolbar_48.bmp -------------------------------------------------------------------------------- /Console/res/toolbar_64.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/Console/res/toolbar_64.bmp -------------------------------------------------------------------------------- /Console/res/toolbar_80.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/Console/res/toolbar_80.bmp -------------------------------------------------------------------------------- /Console/stdafx.cpp: -------------------------------------------------------------------------------- 1 | // stdafx.cpp : source file that includes just the standard includes 2 | // Console.pch will be the pre-compiled header 3 | // stdafx.obj will contain the pre-compiled type information 4 | 5 | #include "stdafx.h" 6 | 7 | #if (_ATL_VER < 0x0700) 8 | #include 9 | #endif //(_ATL_VER < 0x0700) 10 | 11 | 12 | ////////////////////////////////////////////////////////////////////////////// 13 | 14 | 15 | ////////////////////////////////////////////////////////////////////////////// 16 | ////////////////////////////////////////////////////////////////////////////// 17 | ////////////////////////////////////////////////////////////////////////////// 18 | 19 | 20 | ////////////////////////////////////////////////////////////////////////////// 21 | // Memory allocation tracking 22 | 23 | #ifdef _DEBUG 24 | 25 | void* __cdecl operator new(size_t nSize, LPCSTR lpszFileName, int nLine) 26 | { 27 | return ::_malloc_dbg(nSize, 1, lpszFileName, nLine); 28 | } 29 | 30 | void __cdecl operator delete(void* pData, LPCSTR /* lpszFileName */, int /* nLine */) 31 | { 32 | ::operator delete(pData); 33 | } 34 | 35 | #endif 36 | 37 | ////////////////////////////////////////////////////////////////////////////// 38 | 39 | 40 | ////////////////////////////////////////////////////////////////////////////// 41 | ////////////////////////////////////////////////////////////////////////////// 42 | ////////////////////////////////////////////////////////////////////////////// 43 | 44 | 45 | ////////////////////////////////////////////////////////////////////////////// 46 | // trace function and TRACE macro 47 | 48 | #if 1 49 | #include 50 | 51 | void Trace(const wchar_t* pszFormat, ...) 52 | { 53 | wchar_t szOutput[1024]; 54 | va_list vaList; 55 | 56 | va_start(vaList, pszFormat); 57 | vswprintf(szOutput, _countof(szOutput), pszFormat, vaList); 58 | ::OutputDebugString(szOutput); 59 | } 60 | 61 | #endif // _DEBUG 62 | 63 | ////////////////////////////////////////////////////////////////////////////// 64 | -------------------------------------------------------------------------------- /ConsoleHook/BoostIncludePath.props.user.template: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | C:\third-party-libraries\boost-1.76.0 9 | 10 | -------------------------------------------------------------------------------- /ConsoleHook/ConsoleHook.cpp: -------------------------------------------------------------------------------- 1 | // ConsoleHook.cpp : Defines the entry point for the DLL application. 2 | // 3 | 4 | #include "stdafx.h" 5 | 6 | #include "ConsoleHandler.h" 7 | #include "ConsoleHook.h" 8 | 9 | ////////////////////////////////////////////////////////////////////////////// 10 | 11 | ConsoleHandler g_consoleHandler; 12 | 13 | ////////////////////////////////////////////////////////////////////////////// 14 | ////////////////////////////////////////////////////////////////////////////// 15 | ////////////////////////////////////////////////////////////////////////////// 16 | 17 | 18 | ////////////////////////////////////////////////////////////////////////////// 19 | 20 | BOOL APIENTRY DllMain(HANDLE hModule, DWORD ul_reason_for_call, LPVOID /* lpReserved */) 21 | { 22 | TRACE(L"DLL main! reason %lu\n", ul_reason_for_call); 23 | 24 | switch (ul_reason_for_call) 25 | { 26 | case DLL_PROCESS_ATTACH: 27 | { 28 | g_hModule = (HMODULE)hModule; 29 | g_consoleHandler.StartMonitorThread(); 30 | 31 | break; 32 | } 33 | 34 | case DLL_THREAD_ATTACH: 35 | break; 36 | 37 | case DLL_THREAD_DETACH: 38 | break; 39 | 40 | case DLL_PROCESS_DETACH: 41 | 42 | g_consoleHandler.StopMonitorThread(); 43 | TRACE(L"Hook exiting!\n"); 44 | break; 45 | } 46 | 47 | return TRUE; 48 | } 49 | 50 | ////////////////////////////////////////////////////////////////////////////// 51 | -------------------------------------------------------------------------------- /ConsoleHook/ConsoleHook.h: -------------------------------------------------------------------------------- 1 | // The following ifdef block is the standard way of creating macros which make exporting 2 | // from a DLL simpler. All files within this DLL are compiled with the CONSOLEHOOK_EXPORTS 3 | // symbol defined on the command line. this symbol should not be defined on any project 4 | // that uses this DLL. This way any other project whose source files include this file see 5 | // CONSOLEHOOK_API functions as being imported from a DLL, whereas this DLL sees symbols 6 | // defined with this macro as being exported. 7 | #ifdef CONSOLEHOOK_EXPORTS 8 | #define CONSOLEHOOK_API __declspec(dllexport) 9 | #else 10 | #define CONSOLEHOOK_API __declspec(dllimport) 11 | #endif 12 | -------------------------------------------------------------------------------- /ConsoleHook/ConsoleHook.rc: -------------------------------------------------------------------------------- 1 | // Microsoft Visual C++ generated resource script. 2 | // 3 | #include "resource.h" 4 | #include "../shared/version.h" 5 | 6 | #define APSTUDIO_READONLY_SYMBOLS 7 | ///////////////////////////////////////////////////////////////////////////// 8 | // 9 | // Generated from the TEXTINCLUDE 2 resource. 10 | // 11 | #include "afxres.h" 12 | 13 | ///////////////////////////////////////////////////////////////////////////// 14 | #undef APSTUDIO_READONLY_SYMBOLS 15 | 16 | ///////////////////////////////////////////////////////////////////////////// 17 | // English (U.S.) resources 18 | 19 | #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) 20 | #ifdef _WIN32 21 | LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US 22 | #pragma code_page(1252) 23 | #endif //_WIN32 24 | 25 | #ifdef APSTUDIO_INVOKED 26 | ///////////////////////////////////////////////////////////////////////////// 27 | // 28 | // TEXTINCLUDE 29 | // 30 | 31 | 1 TEXTINCLUDE 32 | BEGIN 33 | "resource.h\0" 34 | END 35 | 36 | 2 TEXTINCLUDE 37 | BEGIN 38 | "#include ""afxres.h""\r\n" 39 | "\0" 40 | END 41 | 42 | 3 TEXTINCLUDE 43 | BEGIN 44 | "\r\n" 45 | "\0" 46 | END 47 | 48 | #endif // APSTUDIO_INVOKED 49 | 50 | 51 | ///////////////////////////////////////////////////////////////////////////// 52 | // 53 | // Version 54 | // 55 | 56 | VS_VERSION_INFO VERSIONINFO 57 | FILEVERSION VERSION_MAJOR, VERSION_MINOR, VERSION_BUILD, VERSION_BUILD2 58 | PRODUCTVERSION VERSION_MAJOR, VERSION_MINOR, VERSION_BUILD, VERSION_BUILD2 59 | FILEFLAGSMASK 0x3fL 60 | #ifdef _DEBUG 61 | FILEFLAGS 0x1L 62 | #else 63 | FILEFLAGS 0x0L 64 | #endif 65 | FILEOS 0x40004L 66 | FILETYPE 0x2L 67 | FILESUBTYPE 0x0L 68 | BEGIN 69 | BLOCK "StringFileInfo" 70 | BEGIN 71 | BLOCK "000004b0" 72 | BEGIN 73 | VALUE "Comments", "Tabbed cool console window (THIS IS NOT A SHELL :-)" 74 | VALUE "FileDescription", "ConsoleZ process hook module" 75 | VALUE "FileVersion", VERSION_FILE 76 | VALUE "InternalName", "ConsoleZ" 77 | VALUE "LegalCopyright", VERSION_COPYRIGHT 78 | VALUE "LegalTrademarks", VERSION_COPYRIGHT 79 | VALUE "OriginalFilename", "ConsoleHook.dll" 80 | VALUE "ProductName", "ConsoleZ" 81 | VALUE "ProductVersion", VERSION_PRODUCT 82 | END 83 | END 84 | BLOCK "VarFileInfo" 85 | BEGIN 86 | VALUE "Translation", 0x0, 1200 87 | END 88 | END 89 | 90 | #endif // English (U.S.) resources 91 | ///////////////////////////////////////////////////////////////////////////// 92 | 93 | 94 | 95 | #ifndef APSTUDIO_INVOKED 96 | ///////////////////////////////////////////////////////////////////////////// 97 | // 98 | // Generated from the TEXTINCLUDE 3 resource. 99 | // 100 | 101 | 102 | ///////////////////////////////////////////////////////////////////////////// 103 | #endif // not APSTUDIO_INVOKED 104 | 105 | -------------------------------------------------------------------------------- /ConsoleHook/ConsoleHook.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx 15 | 16 | 17 | {87238e5f-06cd-42d8-a690-45ff2dedddc5} 18 | 19 | 20 | 21 | 22 | Source Files 23 | 24 | 25 | Source Files 26 | 27 | 28 | Source Files 29 | 30 | 31 | 32 | 33 | Header Files 34 | 35 | 36 | Header Files 37 | 38 | 39 | Header Files 40 | 41 | 42 | Header Files 43 | 44 | 45 | Header Files\shared 46 | 47 | 48 | Header Files\shared 49 | 50 | 51 | Header Files\shared 52 | 53 | 54 | Header Files\shared 55 | 56 | 57 | Header Files\shared 58 | 59 | 60 | Header Files\shared 61 | 62 | 63 | Header Files\shared 64 | 65 | 66 | 67 | 68 | Resource Files 69 | 70 | 71 | -------------------------------------------------------------------------------- /ConsoleHook/resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Visual C++ generated include file. 3 | // Used by ConsoleHook.rc 4 | 5 | // Next default values for new objects 6 | // 7 | #ifdef APSTUDIO_INVOKED 8 | #ifndef APSTUDIO_READONLY_SYMBOLS 9 | #define _APS_NEXT_RESOURCE_VALUE 101 10 | #define _APS_NEXT_COMMAND_VALUE 40001 11 | #define _APS_NEXT_CONTROL_VALUE 1001 12 | #define _APS_NEXT_SYMED_VALUE 101 13 | #endif 14 | #endif 15 | -------------------------------------------------------------------------------- /ConsoleHook/stdafx.cpp: -------------------------------------------------------------------------------- 1 | // stdafx.cpp : source file that includes just the standard includes 2 | // ConsoleHook.pch will be the pre-compiled header 3 | // stdafx.obj will contain the pre-compiled type information 4 | 5 | #include "stdafx.h" 6 | 7 | ////////////////////////////////////////////////////////////////////////////// 8 | 9 | 10 | ////////////////////////////////////////////////////////////////////////////// 11 | ////////////////////////////////////////////////////////////////////////////// 12 | ////////////////////////////////////////////////////////////////////////////// 13 | 14 | 15 | ////////////////////////////////////////////////////////////////////////////// 16 | // global variables 17 | 18 | HMODULE g_hModule = NULL; 19 | 20 | ////////////////////////////////////////////////////////////////////////////// 21 | 22 | 23 | ////////////////////////////////////////////////////////////////////////////// 24 | ////////////////////////////////////////////////////////////////////////////// 25 | ////////////////////////////////////////////////////////////////////////////// 26 | 27 | 28 | ////////////////////////////////////////////////////////////////////////////// 29 | // Memory allocation tracking 30 | 31 | #ifdef _DEBUG 32 | 33 | void* __cdecl operator new(size_t nSize, LPCSTR lpszFileName, int nLine) 34 | { 35 | return ::_malloc_dbg(nSize, 1, lpszFileName, nLine); 36 | } 37 | 38 | void __cdecl operator delete(void* pData, LPCSTR /* lpszFileName */, int /* nLine */) 39 | { 40 | ::operator delete(pData); 41 | } 42 | 43 | #endif 44 | 45 | ////////////////////////////////////////////////////////////////////////////// 46 | 47 | 48 | ////////////////////////////////////////////////////////////////////////////// 49 | ////////////////////////////////////////////////////////////////////////////// 50 | ////////////////////////////////////////////////////////////////////////////// 51 | 52 | 53 | ////////////////////////////////////////////////////////////////////////////// 54 | // trace function and TRACE macro 55 | 56 | #ifdef _DEBUG 57 | #include 58 | 59 | void Trace(const wchar_t* pszFormat, ...) 60 | { 61 | wchar_t szOutput[1024]; 62 | va_list vaList; 63 | 64 | va_start(vaList, pszFormat); 65 | vswprintf(szOutput, _countof(szOutput), pszFormat, vaList); 66 | ::OutputDebugString(szOutput); 67 | } 68 | 69 | #endif // _DEBUG 70 | 71 | ////////////////////////////////////////////////////////////////////////////// 72 | -------------------------------------------------------------------------------- /ConsoleWow/ConsoleWow.cpp: -------------------------------------------------------------------------------- 1 | // ConsoleWow.cpp : Defines the entry point for the console application. 2 | // 3 | 4 | #include "stdafx.h" 5 | 6 | 7 | int wmain(int /*argc*/, wchar_t* /*argv*/[]) 8 | { 9 | UINT_PTR fnLoadLibrary = (UINT_PTR)::GetProcAddress(::GetModuleHandle(L"kernel32.dll"), "LoadLibraryW"); 10 | return (int)fnLoadLibrary; 11 | } 12 | 13 | -------------------------------------------------------------------------------- /ConsoleWow/ConsoleWow.rc: -------------------------------------------------------------------------------- 1 | // Microsoft Visual C++ generated resource script. 2 | // 3 | #include "resource.h" 4 | #include "../shared/version.h" 5 | 6 | #define APSTUDIO_READONLY_SYMBOLS 7 | ///////////////////////////////////////////////////////////////////////////// 8 | // 9 | // Generated from the TEXTINCLUDE 2 resource. 10 | // 11 | #include "afxres.h" 12 | 13 | ///////////////////////////////////////////////////////////////////////////// 14 | #undef APSTUDIO_READONLY_SYMBOLS 15 | 16 | ///////////////////////////////////////////////////////////////////////////// 17 | // Croatian resources 18 | 19 | #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_HRV) 20 | #ifdef _WIN32 21 | LANGUAGE LANG_CROATIAN, SUBLANG_DEFAULT 22 | #pragma code_page(1250) 23 | #endif //_WIN32 24 | 25 | #ifdef APSTUDIO_INVOKED 26 | ///////////////////////////////////////////////////////////////////////////// 27 | // 28 | // TEXTINCLUDE 29 | // 30 | 31 | 1 TEXTINCLUDE 32 | BEGIN 33 | "resource.h\0" 34 | END 35 | 36 | 2 TEXTINCLUDE 37 | BEGIN 38 | "#include ""afxres.h""\r\n" 39 | "\0" 40 | END 41 | 42 | 3 TEXTINCLUDE 43 | BEGIN 44 | "\r\n" 45 | "\0" 46 | END 47 | 48 | #endif // APSTUDIO_INVOKED 49 | 50 | 51 | ///////////////////////////////////////////////////////////////////////////// 52 | // 53 | // Version 54 | // 55 | 56 | VS_VERSION_INFO VERSIONINFO 57 | FILEVERSION VERSION_MAJOR, VERSION_MINOR, VERSION_BUILD, VERSION_BUILD2 58 | PRODUCTVERSION VERSION_MAJOR, VERSION_MINOR, VERSION_BUILD, VERSION_BUILD2 59 | FILEFLAGSMASK 0x17L 60 | #ifdef _DEBUG 61 | FILEFLAGS 0x1L 62 | #else 63 | FILEFLAGS 0x0L 64 | #endif 65 | FILEOS 0x4L 66 | FILETYPE 0x1L 67 | FILESUBTYPE 0x0L 68 | BEGIN 69 | BLOCK "StringFileInfo" 70 | BEGIN 71 | BLOCK "000004b0" 72 | BEGIN 73 | VALUE "Comments", "Tabbed cool console window (THIS IS NOT A SHELL :-)" 74 | VALUE "FileDescription", "ConsoleZ WOW64 helper process" 75 | VALUE "FileVersion", VERSION_FILE 76 | VALUE "InternalName", "ConsoleZ" 77 | VALUE "LegalCopyright", VERSION_COPYRIGHT 78 | VALUE "LegalTrademarks", VERSION_COPYRIGHT 79 | VALUE "OriginalFilename", "ConsoleWow.exe" 80 | VALUE "ProductName", "ConsoleZ" 81 | VALUE "ProductVersion", VERSION_PRODUCT 82 | END 83 | END 84 | BLOCK "VarFileInfo" 85 | BEGIN 86 | VALUE "Translation", 0x0, 1200 87 | END 88 | END 89 | 90 | #endif // Croatian resources 91 | ///////////////////////////////////////////////////////////////////////////// 92 | 93 | 94 | 95 | #ifndef APSTUDIO_INVOKED 96 | ///////////////////////////////////////////////////////////////////////////// 97 | // 98 | // Generated from the TEXTINCLUDE 3 resource. 99 | // 100 | 101 | 102 | ///////////////////////////////////////////////////////////////////////////// 103 | #endif // not APSTUDIO_INVOKED 104 | 105 | -------------------------------------------------------------------------------- /ConsoleWow/ConsoleWow.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav 15 | 16 | 17 | 18 | 19 | Source Files 20 | 21 | 22 | Source Files 23 | 24 | 25 | 26 | 27 | Header Files 28 | 29 | 30 | Header Files 31 | 32 | 33 | Header Files 34 | 35 | 36 | 37 | 38 | Resource Files 39 | 40 | 41 | -------------------------------------------------------------------------------- /ConsoleWow/resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Visual C++ generated include file. 3 | // Used by ConsoleWow.rc 4 | 5 | // Next default values for new objects 6 | // 7 | #ifdef APSTUDIO_INVOKED 8 | #ifndef APSTUDIO_READONLY_SYMBOLS 9 | #define _APS_NEXT_RESOURCE_VALUE 101 10 | #define _APS_NEXT_COMMAND_VALUE 40001 11 | #define _APS_NEXT_CONTROL_VALUE 1001 12 | #define _APS_NEXT_SYMED_VALUE 101 13 | #endif 14 | #endif 15 | -------------------------------------------------------------------------------- /ConsoleWow/stdafx.cpp: -------------------------------------------------------------------------------- 1 | // stdafx.cpp : source file that includes just the standard includes 2 | // ConsoleWow.pch will be the pre-compiled header 3 | // stdafx.obj will contain the pre-compiled type information 4 | 5 | #include "stdafx.h" 6 | 7 | // TODO: reference any additional headers you need in STDAFX.H 8 | // and not in this file 9 | -------------------------------------------------------------------------------- /ConsoleWow/stdafx.h: -------------------------------------------------------------------------------- 1 | // stdafx.h : include file for standard system include files, 2 | // or project specific include files that are used frequently, but 3 | // are changed infrequently 4 | // 5 | 6 | #pragma once 7 | 8 | #include "targetver.h" 9 | 10 | #include 11 | 12 | #include 13 | 14 | 15 | ////////////////////////////////////////////////////////////////////////////// 16 | // Version numbers 17 | 18 | #include "../shared/version.h" 19 | 20 | ////////////////////////////////////////////////////////////////////////////// 21 | 22 | -------------------------------------------------------------------------------- /ConsoleWow/targetver.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | // The following macros define the minimum required platform. The minimum required platform 4 | // is the earliest version of Windows, Internet Explorer etc. that has the necessary features to run 5 | // your application. The macros work by enabling all features available on platform versions up to and 6 | // including the version specified. 7 | 8 | // Modify the following defines if you have to target a platform prior to the ones specified below. 9 | // Refer to MSDN for the latest info on corresponding values for different platforms. 10 | #ifndef _WIN32_WINNT // Specifies that the minimum required platform is Windows Vista. 11 | #define _WIN32_WINNT 0x0501 // Change this to the appropriate value to target other versions of Windows. 12 | #endif 13 | 14 | -------------------------------------------------------------------------------- /FreeImage/FreeImage.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/FreeImage/FreeImage.h -------------------------------------------------------------------------------- /FreeImage/FreeImagePlus.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/FreeImage/FreeImagePlus.h -------------------------------------------------------------------------------- /FreeImage/FreeImagePlus.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/FreeImage/FreeImagePlus.lib -------------------------------------------------------------------------------- /FreeImage/x64/FreeImagePlus.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/FreeImage/x64/FreeImagePlus.lib -------------------------------------------------------------------------------- /Packaging/Packaging.vcxproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Release 6 | Win32 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | {69234d74-7133-48ff-8ddb-9901ffc4d7ff} 15 | false 16 | 17 | 18 | {8a25e8af-cc4a-4145-b878-3d99271562d4} 19 | false 20 | 21 | 22 | {6ea5c354-a242-49f3-88d1-559eaca7fb8a} 23 | false 24 | 25 | 26 | {4a84cc27-64c4-436f-aa9f-d4a4a3d4835e} 27 | false 28 | 29 | 30 | {86262ed4-f5d5-4199-9be3-d8c86054cd12} 31 | false 32 | 33 | 34 | 35 | {10FD8ABB-2ACC-4EE3-8915-CD0DE3E7809D} 36 | MakeFileProj 37 | 38 | 39 | 40 | Makefile 41 | v142 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | nmake release 52 | nmake clean 53 | nmake release /A 54 | WIN32;NDEBUG;$(NMakePreprocessorDefinitions) 55 | 56 | 57 | ..\bin\$(Platform)\$(Configuration)\ 58 | ..\obj\$(Platform)\$(ProjectName)\$(Configuration)\ 59 | 60 | 61 | 62 | 63 | 64 | 65 | -------------------------------------------------------------------------------- /Packaging/Packaging.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 6 | h;hpp;hxx;hm;inl;inc;xsd 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /Packaging/chocolatey/ConsoleZ.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ConsoleZ 5 | 1.19.0.19104 6 | ConsoleZ 7 | cbucher 8 | cbucher 9 | https://www.gnu.org/licenses/old-licenses/gpl-2.0.html 10 | https://github.com/cbucher/console 11 | https://raw.github.com/wiki/cbucher/console/ConsoleZ_128.png 12 | false 13 | ![screenshot005](https://github.com/cbucher/console/wiki/screenshot001.png) 14 | 15 | This is a modified version of Console 2 for a better experience under Windows Vista/7/8/10 and a better visual rendering. 16 | 17 | This fork supports: 18 | 19 | * Splitting Tabs into views (horizontally and vertically) 20 | * Grouping views (so input sent to one goes to all of them) 21 | * Windows Vista aero glass theme 22 | * Windows 7 jump list 23 | * Windows 7 wallpaper positions and slideshow 24 | * Windows 8 wallpapers on dual screen 25 | * Zooming with Ctrl-Mouse 26 | * Quake style console animation 27 | * Strict monospace font rendering 28 | * Settable opacity of text background color 29 | * Full screen 30 | * High DPI (per monitor) 31 | * Localization 32 | * Snippets 33 | * Workspaces 34 | * and more... 35 | This is a modified version of Console 2 for a better experience under Windows Vista/7/8/10 and a better visual rendering. 36 | ! Ignore tab flashing if console view age is less than 3 seconds. 37 | + Named instances. 38 | + "-attach" command line switch. 39 | + Move current view into a new tab. 40 | + Record which tab had focus when saving workspace. 41 | + Clone the whole current tab. 42 | + Organize tabs within submenus. 43 | * Selection length was not refreshed in status bar. 44 | * Fix tab bar showing in full screen mode. 45 | * Fix crash when spliting then selecting another pane. 46 | * Tab background position was not preserved. 47 | * Tabs menu doesn't switch to a tab after the 10th choice. 48 | * If OpenClipboard fails, retry for 10 times with a 100ms delay. 49 | Copyright 2019 50 | shell console tabs split glass fullscreen 51 | https://github.com/cbucher/console 52 | https://github.com/cbucher/console/tree/master/Packaging/chocolatey 53 | https://github.com/cbucher/console/wiki 54 | https://github.com/cbucher/console/issues 55 | 56 | -------------------------------------------------------------------------------- /Packaging/chocolatey/ConsoleZ_48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/Packaging/chocolatey/ConsoleZ_48.png -------------------------------------------------------------------------------- /Packaging/chocolatey/tools/Console.exe.gui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/Packaging/chocolatey/tools/Console.exe.gui -------------------------------------------------------------------------------- /Packaging/chocolatey/tools/ConsoleWow.exe.ignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/Packaging/chocolatey/tools/ConsoleWow.exe.ignore -------------------------------------------------------------------------------- /Packaging/chocolatey/tools/chocolateyInstall.ps1: -------------------------------------------------------------------------------- 1 | $packageName = 'ConsoleZ' 2 | $toolsDir = "$(Split-Path -parent $MyInvocation.MyCommand.Definition)" 3 | $url = 'https://github.com/cbucher/console/releases/download/1.19.0/ConsoleZ.x86.1.19.0.19104.zip' 4 | $url64 = 'https://github.com/cbucher/console/releases/download/1.19.0/ConsoleZ.x64.1.19.0.19104.zip' 5 | $checksum = 'BAF0D01A6FC2EBA66FE959740045CD268FCDE772B1F3B9F59C4CB1D4D54F252E' 6 | $checksumType = 'sha256' 7 | $checksum64 = '671566592F1E8B0B71A5E8A5BCE3A5437A2F65C1E251715B0155774EC1BE669F' 8 | $checksumType64 = 'sha256' 9 | 10 | 11 | Install-ChocolateyZipPackage $packageName $url $toolsDir $url64 -checksum $checksum -checksumType $checksumType -checksum64 $checksum64 -checksumType64 $checksumType64 -------------------------------------------------------------------------------- /Packaging/makefile: -------------------------------------------------------------------------------- 1 | !INCLUDE ../shared/version.h 2 | 3 | release: 4 | @echo "copy help file" 5 | @xcopy "$(MAKEDIR)\..\help\console.chm" "$(MAKEDIR)\..\bin\Win32\Release\*" /F /Y 6 | @xcopy "$(MAKEDIR)\..\help\console.chm" "$(MAKEDIR)\..\bin\Win32\Release Legacy\*" /F /Y 7 | @xcopy "$(MAKEDIR)\..\help\console.chm" "$(MAKEDIR)\..\bin\x64\Release\*" /F /Y 8 | @xcopy "$(MAKEDIR)\..\help\console.chm" "$(MAKEDIR)\..\bin\x64\Release Legacy\*" /F /Y 9 | @echo "$(MAKEDIR)\..\bin\ConsoleZ.$(VERSION).7z" 10 | "C:\Program Files\7-Zip\7z.exe" a -t7z -m9=lzma2 -mx -mmt2 "$(MAKEDIR)\..\bin\ConsoleZ.$(VERSION).7z" -xr!*.xml "$(MAKEDIR)\..\bin\Win32" "$(MAKEDIR)\..\bin\x64" "$(MAKEDIR)\..\bin\l10n" 11 | @echo "$(MAKEDIR)\..\bin\ConsoleZ.x86.$(VERSION).zip" 12 | "C:\Program Files\7-Zip\7z.exe" a -tzip -mx9 -mmt2 "$(MAKEDIR)\..\bin\ConsoleZ.x86.$(VERSION).zip" -xr!*.pdb -xr!*.xml "$(MAKEDIR)\..\bin\Win32\Release\*" "$(MAKEDIR)\..\bin\l10n\Release\*" 13 | @echo "$(MAKEDIR)\..\bin\ConsoleZ.x64.$(VERSION).zip" 14 | "C:\Program Files\7-Zip\7z.exe" a -tzip -mx9 -mmt2 "$(MAKEDIR)\..\bin\ConsoleZ.x64.$(VERSION).zip" -xr!*.pdb -xr!*.xml "$(MAKEDIR)\..\bin\x64\Release\*" "$(MAKEDIR)\..\bin\l10n\Release\*" 15 | 16 | 17 | clean: 18 | @echo clean 19 | -------------------------------------------------------------------------------- /TabbingFramework/ImageUtil.h: -------------------------------------------------------------------------------- 1 | 2 | #ifndef __ImageUtil_h__ 3 | #define __ImageUtil_h__ 4 | 5 | #pragma once 6 | 7 | #ifndef __cplusplus 8 | #error ATL requires C++ compilation (use a .cpp suffix) 9 | #endif 10 | 11 | #ifndef __ATLAPP_H__ 12 | #error ImageUtil.h requires atlapp.h to be included first 13 | #endif 14 | 15 | #ifndef __ATLWIN_H__ 16 | #error ImageUtil.h requires atlwin.h to be included first 17 | #endif 18 | 19 | #ifndef __ATLGDI_H__ 20 | #error ImageUtil.h requires atlgdi.h to be included first 21 | #endif 22 | 23 | namespace ImageUtil 24 | { 25 | enum eCheckbox 26 | { 27 | eCheckboxUnchecked, 28 | eCheckboxChecked, 29 | eCheckboxIndeterminate, 30 | eCheckboxLast 31 | }; 32 | 33 | inline HBITMAP CreateCheckboxImage(HDC dcScreen, 34 | eCheckbox checkState, 35 | int cx, int cy, 36 | COLORREF transparentColor, 37 | HWND hWndControl = NULL) 38 | { 39 | #ifdef __ATLTHEME_H__ 40 | UINT stateDTB = CBS_CHECKEDNORMAL; 41 | UINT stateDFC = (DFCS_BUTTONCHECK | DFCS_CHECKED | DFCS_FLAT); 42 | switch(checkState) 43 | { 44 | case eCheckboxUnchecked: 45 | stateDTB = CBS_UNCHECKEDNORMAL; 46 | stateDFC = (DFCS_BUTTONCHECK | DFCS_FLAT); 47 | break; 48 | case eCheckboxChecked: 49 | stateDTB = CBS_CHECKEDNORMAL; 50 | stateDFC = (DFCS_BUTTONCHECK | DFCS_CHECKED | DFCS_FLAT); 51 | break; 52 | case eCheckboxIndeterminate: 53 | stateDTB = CBS_MIXEDNORMAL; 54 | stateDFC = (DFCS_BUTTONCHECK | DFCS_CHECKED | DFCS_INACTIVE | DFCS_FLAT); 55 | break; 56 | } 57 | #else 58 | UINT stateDFC = (DFCS_BUTTONCHECK | DFCS_CHECKED | DFCS_FLAT); 59 | switch(checkState) 60 | { 61 | case eCheckboxUnchecked: 62 | stateDFC = (DFCS_BUTTONCHECK | DFCS_FLAT); 63 | break; 64 | case eCheckboxChecked: 65 | stateDFC = (DFCS_BUTTONCHECK | DFCS_CHECKED | DFCS_FLAT); 66 | break; 67 | case eCheckboxIndeterminate: 68 | stateDFC = (DFCS_BUTTONCHECK | DFCS_CHECKED | DFCS_INACTIVE | DFCS_FLAT); 69 | break; 70 | } 71 | #endif 72 | 73 | HBITMAP bitmap = NULL; 74 | WTL::CDC dc; 75 | dc.CreateCompatibleDC(dcScreen); 76 | if(!dc.IsNull()) 77 | { 78 | RECT rcImage = {0,0,cx,cy}; 79 | bitmap = ::CreateCompatibleBitmap(dcScreen, cx, cy); 80 | WTL::CBitmapHandle hOldBitmap = dc.SelectBitmap(bitmap); 81 | 82 | dc.FillSolidRect(&rcImage, transparentColor); 83 | ::InflateRect(&rcImage, -1, -1); 84 | #ifdef __ATLTHEME_H__ 85 | WTL::CTheme theme; 86 | if(theme.OpenThemeData(hWndControl, L"Button")) 87 | { 88 | theme.DrawThemeBackground(dc, BP_CHECKBOX, stateDTB, &rcImage); 89 | 90 | theme.CloseThemeData(); 91 | } 92 | else 93 | { 94 | dc.DrawFrameControl(&rcImage, DFC_BUTTON, stateDFC); 95 | } 96 | #else 97 | dc.DrawFrameControl(&rcImage, DFC_BUTTON, stateDFC); 98 | #endif 99 | dc.SelectBitmap(hOldBitmap); 100 | } 101 | 102 | return bitmap; 103 | } 104 | }; 105 | 106 | #endif //__ImageUtil_h__ 107 | -------------------------------------------------------------------------------- /help/console.hhk: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |
    8 |
9 | 10 | -------------------------------------------------------------------------------- /help/console.hhp: -------------------------------------------------------------------------------- 1 | [OPTIONS] 2 | Compatibility=1.1 or later 3 | Compiled file=console.chm 4 | Contents file=console.hhc 5 | Default Window=Main 6 | Default topic=html\introduction.html 7 | Display compile progress=No 8 | Full-text search=Yes 9 | Index file=console.hhk 10 | Language=0x409 English (United States) 11 | Title=ConsoleZ Help 12 | 13 | [WINDOWS] 14 | Main=,"console.hhc","console.hhk","html\introduction.html",,,,,,0x42520,,0x301e,[271,372,1071,972],,,,,,,0 15 | 16 | 17 | [FILES] 18 | html\introduction.html 19 | html\copyright.html 20 | html\gpl.html 21 | html\running.html 22 | html\menus.html 23 | html\text_formatting.html 24 | html\settings.html 25 | html\settings_console.html 26 | html\settings_appearance.html 27 | html\settings_appearance_styles.html 28 | html\settings_appearance_controls.html 29 | html\settings_appearance_transparency.html 30 | html\settings_appearance_font.html 31 | html\settings_appearance_fullscreen.html 32 | html\settings_behavior.html 33 | html\settings_behavior_more.html 34 | html\settings_hotkeys.html 35 | html\settings_mouse.html 36 | html\settings_tabs.html 37 | html\settings_tabs_background.html 38 | html\settings_tabs_colors.html 39 | html\settings_tabs_environment.html 40 | html\language.html 41 | html\changelog.html 42 | html\credentials.html 43 | html\acknowledgements.html 44 | html\snippets.html 45 | html\workspaces.html 46 | 47 | [INFOTYPES] 48 | 49 | -------------------------------------------------------------------------------- /help/html/acknowledgements.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Acknowledgements 6 | 7 | 8 | 9 | 10 | 11 |

Acknowledgements

12 | 13 |

14 | People who contributed to Console Z code: 15 |

16 |
    17 |
  • gfody - Dpi awareness
  • 18 |
  • spamfilterman - -n command arg to set startup tab title
  • 19 |
  • TheQwerty - ability to assign keyboard shortcuts for displaying context menus
  • 20 |
21 |
22 |

23 | ConsoleZ Translators: 24 |

25 |
    26 |
  • ya158 - Russian
  • 27 |
  • Christophe Bucher (cbucher) - French
  • 28 |
  • cruzzer - German
  • 29 |
  • sskopnik - German
  • 30 |
  • rosolino - Japanese
  • 31 |
  • Yusuke Sasaki (ys-nuem) - Japanese
  • 32 |
33 |
34 |

35 | Thanks also goes to all the people using and testing ConsoleZ, 36 | reporting bugs and asking for new stuff :-) 37 |

38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /help/html/copyright.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Copyright 6 | 7 | 8 | 9 | 10 | 11 |

Copyright

12 |

13 | ConsoleZ Copyright (C) 2011-2016 Christophe Bucher 14 |

15 |

16 | Console Copyright (C) 2001-2011 Marko Bozikovic 17 |

18 |

19 | This program is free software; you can redistribute it and/or modify 20 | it under the terms of the GNU General Public License version 2 as 21 | published by the Free Software Foundation. 22 |

23 |

24 | This program is distributed in the hope that it will be useful, but 25 | WITHOUT ANY WARRANTY; without even the implied warranty of 26 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 27 | General Public License for more details. 28 |

29 | 30 | 31 | -------------------------------------------------------------------------------- /help/html/credentials.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Opening tabs as another user 6 | 7 | 8 | 9 | 10 | 11 |

Opening tabs as another user

12 | 13 |

14 | If you configured a tab to run a shell as a different user, you will be 15 | asked for a username and password before opening a tab. To use a domain 16 | account, enter your username in the form domain\username 17 | or username@domain. 18 |

19 | 20 |

21 | Net Only: this value can be used to create a process that uses a different set of credentials locally than it does remotely. This is useful in inter-domain scenarios where there is no trust relationship. 22 | The system does not validate the specified credentials. Therefore, the process can start, but it may not have access to network resources. 23 |

24 | 25 |

26 | Running a shell as a different user has some limitations: 27 |
28 |

    29 |
  • User's HOME env. variable must be explicitly set
  • 30 |
  • The impersonated user must have read access rights to the settings file and the folder containing this file.
  • 31 |
32 |

33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /help/html/introduction.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Introduction to ConsoleZ 6 | 7 | 8 | 9 | 10 | 11 |

Introduction to ConsoleZ

12 | 13 |

14 | ConsoleZ is a Windows console window enhancement. It is a fork of Console project. 15 |

16 | 17 |

18 | Console features include: 19 |

    20 |
  • multiple tabs
  • 21 |
  • text editor-like text selection
  • 22 |
  • different background types (solid color, image, fake transparency)
  • 23 |
  • configurable font
  • 24 |
  • different window styles
  • 25 |
26 |

27 |

28 | ConsoleZ features include: 29 |

    30 |
  • Splitting Tabs into views (horizontally and vertically)
  • 31 |
  • Grouping views (so input sent to one goes to all of them)
  • 32 |
  • Windows Vista aero glass theme
  • 33 |
  • Windows 7 jump list
  • 34 |
  • Windows 7 wallpaper positions and slideshow
  • 35 |
  • Windows 8 wallpapers on dual screen
  • 36 |
  • Zooming with Ctrl-Mouse
  • 37 |
  • Quake style console animation
  • 38 |
  • Strict monospace font rendering
  • 39 |
  • Settable opacity of text background color
  • 40 |
  • Full screen
  • 41 |
  • High DPI (per monitor)
  • 42 |
  • Localization
  • 43 |
  • Snippets
  • 44 |
  • and more...
  • 45 |
46 |

47 |

48 | NOTE: ConsoleZ is NOT a shell. Therefore, it does 49 | not implement shell features like command-line completion, syntax 50 | coloring, command history, etc. 51 |

52 |

53 | ConsoleZ is simply a nice-looking front end for a shell of your choice 54 | (cmd.exe, 4NT, bash, etc.) Other command-line utilities can also be 55 | used as 'shells' by ConsoleZ. 56 |

57 | 58 |

59 | ConsoleZ is hosted on github. 60 |

61 | 62 | 63 | -------------------------------------------------------------------------------- /help/html/settings.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Settings 6 | 7 | 8 | 9 | 10 | 11 |

Settings

12 | 13 |

14 | 15 |

16 | 17 |

Save settings to user directory

18 |

19 | Settings are loaded from user directory by default.
20 | If no settings are found in user directory they are loaded from the ConsoleZ directory.
21 | Setting are by default saved to where they have been loaded.
22 | If for rights reason this is not possible settings are saved to user directory.
23 | If "Save setting to user directory" is checked settings are saved to user directory in any cases.
24 | The user directory is %APPDATA%\console. 25 |

26 |
27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /help/html/settings_appearance_controls.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Settings - Appearance (Controls) 6 | 7 | 8 | 9 | 10 | 11 |

Settings - Appearance (Controls)

12 | 13 |

14 | 15 |

16 | 17 |

Windowed/Fullscreen

18 |

19 | If Windowed is selected, you are editing control settings available in windowed mode.
20 | If Full screen is selected, you are editing control settings available in full screen mode.
21 |

22 |
23 | 24 |

Show menu

25 |

26 | Shows/hides main menu. 27 |

28 |
29 | 30 |

Show toolbar

31 |

32 | Shows/hides toolbar. 33 |

34 |
35 | 36 |

Show search bar

37 |

38 | Shows/hides search bar. 39 |

40 |
41 | 42 |

Show status bar

43 |

44 | Shows/hides status bar. 45 |

46 |
47 | 48 |

Show scrollbars

49 |

50 | If checked, scrollbars will be shown if the underlying console shows them. 51 | If not checked, scrollbars will be always hidden. 52 |

53 |
54 | 55 |

Show tabs

56 |

57 | Shows/hides tabs bar. 58 |

59 |
60 | 61 |

Hide single tab

62 |

63 | If checked, tabs bar will be hidden if there's only one tab active. 64 |

65 |
66 | 67 |

Tabs on bottom

68 |

69 | If checked, tabs bar will appear at the bottom of the main window. 70 |

71 |
72 | 73 |

Hide icons

74 |

75 | If checked, icons are hidden in the tabs bar. 76 |

77 |
78 | 79 |

Hide close button

80 |

81 | If checked, close button is hidden in the tabs bar. 82 |

83 |
84 | 85 | 86 | 87 | -------------------------------------------------------------------------------- /help/html/settings_appearance_fullscreen.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Settings - Appearance (Full screen) 6 | 7 | 8 | 9 | 10 | 11 |

Settings - Appearance (Full screen)

12 | 13 |

14 | 15 |

16 | 17 |

Start in full screen

18 |

19 | Indicates if ConsoleZ will start in full screen. 20 |

21 |
22 | 23 |

Full screen monitor

24 |

25 | Selects the monitor on which toggle full screen. 26 |

27 |
28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /help/html/settings_appearance_transparency.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Settings - Appearance (Transparency) 6 | 7 | 8 | 9 | 10 | 11 |

Settings - Appearance (Transparency)

12 | 13 |

14 | 15 |

16 | 17 |

Windowed/Fullscreen

18 |

19 | If Windowed is selected, you are editing transparency settings available in windowed mode.
20 | If Full screen is selected, you are editing transparency settings available in full screen mode.
21 |

22 |
23 | 24 |

None
Alpha and color key
Alpha
Glass
Color key

25 |

26 | Specifies transparency type. 27 |
28 | Alpha transparency and color key transparency can be used together. 29 |
30 | Alpha transparency is the 'real' transparency. 31 |
32 | Vista aero glass effect. 33 |
34 | Color key transparency allows you to specify a single color that will 35 | be made transparent. All window pixels having this color will be 36 | transparent and mouse clicks will pass through transparent areas. 37 |

38 |
39 | 40 |

Active window

41 |

42 | Specifies alpha transparency for while ConsoleZ window is active. 43 |

44 |
45 | 46 |

Inactive window

47 |

48 | Specifies alpha transparency for while ConsoleZ window is not active. 49 |

50 |
51 | 52 |

Key color

53 |

54 | Specifies transparency color for 'color key' transparency. 55 |

56 |
57 | 58 | 59 | 60 | -------------------------------------------------------------------------------- /help/html/settings_behavior_more.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Settings - Behavior 6 | 7 | 8 | 9 | 10 | 11 |

Settings - Behavior

12 | 13 |

14 | 15 |

16 | 17 |

Focus

18 | 19 |

Follow mouse

20 |

21 | If checked, the view, where mouse is hover, has the focus. 22 |

23 | 24 |
25 | 26 |

Instance(s)

27 | 28 |

Allow multiple instances

29 |

30 | If checked, every call to ConsoleZ will correspond to a new instance.
31 | Otherwise only one instance of ConsoleZ will exist and the call to ConsoleZ will correspond to a new tab. 32 |

33 | 34 |
35 | 36 |

Split/Clone

37 | 38 |

Open new shell in current directory

39 |

40 | If checked, new shell created by following actions will use the same current directory as the active view:
41 | Split the current view horizontally
42 | Split the current view vertically
43 | Clone the current view in a new tab 44 |

45 |
46 | 47 |

Run as user

48 | 49 |

Use credential providers

50 |

51 | If checked, credential providers are used (allowing integration of additional authentication mechanisms such as biometrics and smart cards). 52 |

53 |
54 | 55 |

Close/Detach

56 | 57 |

Allow closing the last tab/view

58 |

59 | If checked, the tab close button is available for the last tab.
60 | ConsoleZ cannot prevent shell termination (if you type exit for example), 61 | but can disable menu close actions or close button. 62 |

63 | 64 |

Exit on closing of last tab

65 |

66 | If unchecked, the application doesn't exit on closing the last tab/view. 67 |

68 | 69 |

Confirm before closing multiple tabs/views

70 |

71 | If checked, a confirmation message is displayed before closing multiple tabs/views.
72 |
73 | 74 |

75 | 76 |

Save workspace on exit

77 |

78 | If checked, the current opened tabs and views are automatically saved in a workspace file on exit.
79 | If checked, auto-saved workspace file will be automatically loaded when a new instance of ConsoleZ, without any tab specified in command line, starts. 80 |

81 |
82 | 83 | 84 | 85 | -------------------------------------------------------------------------------- /help/html/settings_console.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Settings - Console 6 | 7 | 8 | 9 | 10 | 11 |

Settings - Console

12 | 13 |

14 | 15 |

16 | 17 |

Shell

18 | 19 |

Shell

20 |

21 | Specifies default shell commad line. If empty, ConsoleZ will use 22 | COMSPEC environment variable as default shell. 23 |

24 |
25 | 26 |

Startup dir

27 |

28 | Specifies default initial directory for shells. 29 |

30 |
31 | 32 |

Start Windows console hidden

33 |

34 | Launch the underlying console app hidden. It prevents a flick in the Windows Taskbar.
35 | Warning: some console applications, e.g. PowerShell, that open GUI windows may not work correctly 36 | when this option is checked. 37 |

38 |
39 | 40 |

Update timeouts

41 | 42 |

On change

43 |

44 | Update interval (in ms) after ConsoleZ detects a change in the hidden 45 | console window. When a change is detected, ConsoleZ will defer screen 46 | update for the specified interval. 47 |
48 | This is needed to improve performance during fast changes in the 49 | hidden console. Realistic values are 10-50. 50 |

51 |
52 | 53 |

Periodic

54 |

55 | Periodic update interval (in ms). This value specifies how often 56 | ConsoleZ performs screen updates, even when there is no change detected. 57 | ConsoleZ sometimes cannot detect changes in the hidden console window 58 | (usually by old DOS applications) 59 |
60 | This value should be larger than 'On 61 | change' update interval. Realistic values are in the 50-500 range. 62 |

63 |
64 | 65 |

Window size

66 | 67 |

Rows

68 |

69 | Initial window row count. 70 |

71 |
72 | 73 |

Columns

74 |

75 | Initial window column count. 76 |

77 |
78 | 79 |

Buffer size

80 | 81 |

Rows

82 |

83 | Initial buffer row count. 84 |

85 |
86 | 87 |

Columns

88 |

89 | Initial buffer column count. 90 |

91 |
92 | 93 | 94 | 95 | -------------------------------------------------------------------------------- /help/html/settings_hotkeys.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Settings - Hotkeys 6 | 7 | 8 | 9 | 10 | 11 |

Settings - Hotkeys

12 | 13 |

14 | 15 |

16 | 17 |

Command/Hotkey

18 |

19 | This list shows commands supported by ConsoleZ. 20 |

21 |
22 |

23 | To change a command hotkey, select a command from the list and click 24 | in the Hotkey box. Then, press your hotkey combination (e.g. 25 | CTRL+4) and click Assign button. The command list will be 26 | updated. 27 |

28 |

29 | To clear a hotkey command, click Clear button and then click 30 | Assign button. 31 |

32 |

33 | External commands use text formatting syntax. 34 |

35 | 36 |

Use Scroll Lock for scrolling

37 |

38 | If checked, you can scroll console using the arrow and Page 39 | Up/Down keys when Scroll Lock is on. 40 |

41 |
42 | 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /help/html/settings_mouse.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Settings - Mouse 6 | 7 | 8 | 9 | 10 | 11 |

Settings - Mouse

12 | 13 |

14 | 15 |

16 | 17 |

Command/Mouse action

18 |

19 | This list shows mouse commands supported by ConsoleZ. 20 |

21 |
22 |

23 | To change a command mouse action, select a command from the list. 24 | Then, select a mouse button from the combo box and modifier keys (Ctrl, 25 | Shift, Alt). Click Assign button to assign mouse action to 26 | command. 27 |

28 | To clear a mouse command, click Clear button and then click 29 | Assign button. 30 |

31 |
32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /help/html/settings_tabs.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Settings - Tabs 6 | 7 | 8 | 9 | 10 | 11 |

Settings - Tabs

12 | 13 |

14 | 15 |

16 | 17 |

Buttons

18 | 19 |

Add

20 |

21 | Adds a new tab in the list. 22 |

23 |
24 | 25 |

Clone

26 |

27 | Clones the selected tab. A new tab is created with same settings and a title suffixed with (2). 28 |

29 |
30 | 31 |

Delete

32 |

33 | Deletes the selected tab. 34 |

35 |
36 | 37 |

Move up

38 |

39 | Moves up, in the tabs list, the selected tab. 40 |

41 |
42 | 43 |

Move down

44 |

45 | Moves down, in the tabs list, the selected tab. 46 |

47 |
48 | 49 | 50 | -------------------------------------------------------------------------------- /help/html/settings_tabs_background.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Settings - Tabs (Background) 6 | 7 | 8 | 9 | 10 | 11 |

Settings - Tabs (Background)

12 | 13 |

14 | 15 |

16 | 17 |

Solid
Image
Bing
Wallpaper

18 |

19 | Select background type. 20 |
21 | Solid specifies a single color background. 22 |
23 | Image specifies a bitmap background. 24 |
25 | Bing specifies Bing image of the day. Internet connection is required. 26 |
27 | Wallpaper specifies that the desktop wallpaper will be used as 28 | the background image. 29 |

30 |
31 | 32 |

Color

33 |

34 | Select color for solid background type. 35 |

36 |
37 | 38 |

File

39 |

40 | Specifies background image file for image background type. 41 |

42 |
43 | 44 |

Relative

45 |

46 | If checked, background image will be relative, i.e. when moving the 47 | window, it will appear that it's move above the background image. 48 |

49 |
50 | 51 |

Position

52 |

53 | Select image position from the list. Background image can be centered, 54 | stretched or tiled.
"Fit" and "Fill" options generate a stretched image, keeping aspect ratio. 55 |

56 |
57 | 58 |

Extend across monitors

59 |

60 | If checked, background image will centered/stretched/tiled across 61 | multiple monitors (if present) 62 |

63 |
64 | 65 |

Tint color

66 |

67 | Select tint color for image and wallpaper background types. 68 |

69 |
70 | 71 |

Tint opacity

72 |

73 | Set tint opacity for image and wallpaper background types. 74 |

75 |
76 | 77 |

Inherit

78 |

79 | If checked, the tab uses inherited backgroud. 80 |

81 | 82 |

Set as default

83 |

84 | Set the current tab's backgroud as default. Tabs, having Inherit checked, will use this background. 85 |

86 | 87 | 88 | -------------------------------------------------------------------------------- /help/html/settings_tabs_colors.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Settings - Tabs (Colors & Cursor) 6 | 7 | 8 | 9 | 10 | 11 |

Settings - Tabs (Colors & Cursor)

12 | 13 |

14 | 15 |

16 | 17 |

Colors map

18 | 19 |

20 | These squares allow you to remap default 16 console colors. Left 21 | square shows the inherited color. Clicking on the right square will 22 | bring up a color picker allowing you to select a new color. 23 |

24 | 25 |

Background text opacity

26 |

27 | The opacity of the background color can be adjusted. 28 |

29 |
30 | 31 |

Import...

32 |

33 | Imports color map from another configuration file. 34 |

35 |
36 | 37 |

Reset

38 |

39 | Reset button will reset colors to their default values. 40 |

41 |
42 | 43 |

Inherit

44 |

45 | If checked, the tab uses inherited colors map. 46 |

47 |
48 | 49 |

Set as default

50 |

51 | Set the current tab's colors map as default. Tabs, having Inherit checked, will use this colors map. 52 |

53 |
54 | 55 |

Cursor

56 | 57 |

Style

58 |

59 | Select cursor style from the list. 60 |

61 |
62 | 63 |

Color

64 |

65 | Click on the square to select cursor color. 66 |

67 |
68 | 69 |

Inherit

70 |

71 | If checked, the tab uses inherited cursor. 72 |

73 |
74 | 75 |

Set as default

76 |

77 | Set the current tab's cursor as default. Tabs, having Inherit checked, will use this cursor. 78 |

79 |
80 | 81 | 82 | 83 | -------------------------------------------------------------------------------- /help/html/settings_tabs_environment.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Settings - Tabs (Environment) 6 | 7 | 8 | 9 | 10 | 11 |

Settings - Tabs (Environment)

12 | 13 |

14 | 15 |

16 | 17 |

Variable/Options/Value

18 |

19 | The list of environment variables.
20 | Checked elements are added to the environment block of new processes.
21 | Unchecked elements are ignored. 22 |

23 |
24 | 25 |

Delete

26 |

27 | Delete the selected variable. 28 |

29 |
30 | 31 |

Edit

32 |

33 | Edit the selected variable.
34 | Set Variable and Value edit fields. 35 |

36 |
37 | 38 |

Add

39 |

40 | Add or replace variable in the list. 41 |

42 |
43 | 44 |

Variable

45 |

46 | The environment variable's name. 47 |

48 |
49 | 50 |

Value

51 |

52 | The environment variable's value. 53 |

54 |
55 | 56 | 57 | 58 | -------------------------------------------------------------------------------- /help/html/tips_tricks.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Tips & Tricks 6 | 7 | 8 | 9 | 10 | 11 |

Tips & Tricks

12 | 13 |

14 | Tip 1 - Full console replacement 15 |

16 | 17 |

18 | ConsoleZ can completely replace your console windows, but you need to 19 | dig around the Registry. 20 |

21 |

22 | There is a key in the Registry that allows you to specify some options 23 | for starting processes: HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options. 24 | (HKLM stands for HKEY_LOCAL_MACHINE key) 25 |

26 |

27 | For testing purposes, create a subkey named 'notepad.exe' (no quotes). 28 | In it, create a string value with name 'Debugger' and value 'calc.exe' 29 | (again, no quotes). Now, try running notepad. Calculator will be 30 | started instead! Cool! Don't forget to delete 'notepad.exe' key when 31 | done. 32 |

33 |

34 | Now, for each console process you'd like to replace, you need to 35 | create one such key with 'Debugger' value set to run ConsoleZ. Let's 36 | do it with cmd.exe: 37 | 38 |

    39 |
  • 40 | Create a subkey named 'cmd.exe'. 41 |
  • 42 |
  • 43 | In it, create a string value named 'Debugger' and set its 44 | value to 'C:\Program Files\ConsoleZ\Console.exe -dbg' (path to 45 | Console.exe may be different on your computer) 46 |
  • 47 |
  • 48 | Try running cmd.exe now! 49 |
  • 50 |
  • 51 | If you wish ConsoleZ to be started with a specific config file 52 | and/or tab name, put -c and -t command line options before 53 | -dbg option: 54 |

    55 | 'C:\Program Files\ConsoleZ\Console.exe -c console_dbg.xml -t 56 | ConsoleZ -dbg' 57 |
  • 58 |
59 | 60 |

61 |

62 | Notes: 63 |

64 |
    65 |
  • 66 | Creating a key like this will affect any program instance. For 67 | example, if cmd.exe is used to run batch files, starting a batch 68 | file from Windows explorer, ConsoleZ will be started. Some 69 | applications (like Visual Studio) start shell instances to perform 70 | some tasks. Consider yourselves warned, things may go wrong. 71 |
  • 72 |
  • 73 | This approach is a possible virus attack vector. Antivirus 74 | programs might consider these keys to be a virus attack. 75 |
  • 76 |
  • 77 | This feature is considered a bit advanced and unsafe. That's why 78 | you can't configure it in ConsoleZ. 79 |
  • 80 |
81 | 82 | 83 | -------------------------------------------------------------------------------- /help/images/all_ligatures.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/help/images/all_ligatures.png -------------------------------------------------------------------------------- /help/images/console_window.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/help/images/console_window.PNG -------------------------------------------------------------------------------- /help/images/diagnose.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/help/images/diagnose.PNG -------------------------------------------------------------------------------- /help/images/docking_bottom_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/help/images/docking_bottom_left.png -------------------------------------------------------------------------------- /help/images/docking_bottom_middle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/help/images/docking_bottom_middle.png -------------------------------------------------------------------------------- /help/images/docking_bottom_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/help/images/docking_bottom_right.png -------------------------------------------------------------------------------- /help/images/docking_left_middle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/help/images/docking_left_middle.png -------------------------------------------------------------------------------- /help/images/docking_right_middle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/help/images/docking_right_middle.png -------------------------------------------------------------------------------- /help/images/docking_top_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/help/images/docking_top_left.png -------------------------------------------------------------------------------- /help/images/docking_top_middle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/help/images/docking_top_middle.png -------------------------------------------------------------------------------- /help/images/docking_top_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/help/images/docking_top_right.png -------------------------------------------------------------------------------- /help/images/font_antialiased_quality.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/help/images/font_antialiased_quality.png -------------------------------------------------------------------------------- /help/images/font_cleartype_natural_quality.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/help/images/font_cleartype_natural_quality.png -------------------------------------------------------------------------------- /help/images/font_cleartype_quality.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/help/images/font_cleartype_quality.png -------------------------------------------------------------------------------- /help/images/font_nonantialiased_quality.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/help/images/font_nonantialiased_quality.png -------------------------------------------------------------------------------- /help/images/font_zoom_antialiased_quality.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/help/images/font_zoom_antialiased_quality.png -------------------------------------------------------------------------------- /help/images/font_zoom_cleartype_natural_quality.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/help/images/font_zoom_cleartype_natural_quality.png -------------------------------------------------------------------------------- /help/images/font_zoom_cleartype_quality.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/help/images/font_zoom_cleartype_quality.png -------------------------------------------------------------------------------- /help/images/font_zoom_nonantialiased_quality.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/help/images/font_zoom_nonantialiased_quality.png -------------------------------------------------------------------------------- /help/images/layer1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/help/images/layer1.png -------------------------------------------------------------------------------- /help/images/layer2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/help/images/layer2.png -------------------------------------------------------------------------------- /help/images/no_ligatures.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/help/images/no_ligatures.png -------------------------------------------------------------------------------- /help/images/settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/help/images/settings.png -------------------------------------------------------------------------------- /help/images/settings_appearance.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/help/images/settings_appearance.png -------------------------------------------------------------------------------- /help/images/settings_appearance_controls.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/help/images/settings_appearance_controls.png -------------------------------------------------------------------------------- /help/images/settings_appearance_font.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/help/images/settings_appearance_font.png -------------------------------------------------------------------------------- /help/images/settings_appearance_fullscreen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/help/images/settings_appearance_fullscreen.png -------------------------------------------------------------------------------- /help/images/settings_appearance_styles.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/help/images/settings_appearance_styles.png -------------------------------------------------------------------------------- /help/images/settings_appearance_transparency.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/help/images/settings_appearance_transparency.png -------------------------------------------------------------------------------- /help/images/settings_behavior.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/help/images/settings_behavior.png -------------------------------------------------------------------------------- /help/images/settings_behavior_more.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/help/images/settings_behavior_more.png -------------------------------------------------------------------------------- /help/images/settings_console.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/help/images/settings_console.png -------------------------------------------------------------------------------- /help/images/settings_hotkeys.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/help/images/settings_hotkeys.png -------------------------------------------------------------------------------- /help/images/settings_mouse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/help/images/settings_mouse.png -------------------------------------------------------------------------------- /help/images/settings_tabs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/help/images/settings_tabs.png -------------------------------------------------------------------------------- /help/images/settings_tabs_background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/help/images/settings_tabs_background.png -------------------------------------------------------------------------------- /help/images/settings_tabs_colors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/help/images/settings_tabs_colors.png -------------------------------------------------------------------------------- /help/images/settings_tabs_environment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/help/images/settings_tabs_environment.png -------------------------------------------------------------------------------- /help/images/settings_tabs_main.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/help/images/settings_tabs_main.png -------------------------------------------------------------------------------- /help/images/snippet.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/help/images/snippet.PNG -------------------------------------------------------------------------------- /help/images/snippet_xml.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/help/images/snippet_xml.PNG -------------------------------------------------------------------------------- /help/makefile: -------------------------------------------------------------------------------- 1 | doc: html\changelog.html 2 | -hhc console.hhp 3 | 4 | html\changelog.html: ..\README.md 5 | @echo ^ >$@ 6 | @echo ^ >>$@ 7 | @echo ^ >>$@ 8 | @echo ^Changelog^ >>$@ 9 | @echo ^ >>$@ 10 | @echo ^ >>$@ 11 | @echo ^ >>$@ 12 | @echo ^ >>$@ 13 | csplit --quiet ..\README.md /^Changelog$$/ 14 | pandoc --from=markdown --to=html xx01 >>$@ 15 | @echo ^ >>$@ 16 | @echo ^ >>$@ 17 | 18 | clean: 19 | @if exist console.chm @del /f console.chm 20 | @if exist html\changelog.html @del /f html\changelog.html 21 | @del /f xx* -------------------------------------------------------------------------------- /help/styles/help.css: -------------------------------------------------------------------------------- 1 | body 2 | { 3 | font-family: Verdana; 4 | } 5 | 6 | h1 7 | { 8 | margin: 0px; 9 | padding: 10px; 10 | 11 | background-color: rgb(190, 220, 250); 12 | 13 | font-family: Verdana; 14 | font-variant: small-caps; 15 | font-weight: bold; 16 | font-size: 24px; 17 | 18 | border-bottom: thin solid rgb(0, 0, 0); 19 | } 20 | 21 | h2 22 | { 23 | margin-top: 30px; 24 | margin-bottom: 10px; 25 | font-family: Verdana; 26 | font-variant: small-caps; 27 | font-weight: bold; 28 | font-size: 16px; 29 | } 30 | 31 | p 32 | { 33 | font-family: Verdana; 34 | font-size: 12px; 35 | } 36 | 37 | table, th, td 38 | { 39 | border: 1px solid black; 40 | border-collapse: collapse; 41 | } 42 | 43 | td 44 | { 45 | font-family: Verdana; 46 | font-size: 12px; 47 | } 48 | 49 | li 50 | { 51 | font-family: Verdana; 52 | font-size: 12px; 53 | margin-bottom: 10px; 54 | } 55 | 56 | dd 57 | { 58 | font-family: Verdana; 59 | font-size: 12px; 60 | } 61 | 62 | p.block-row-name 63 | { 64 | display: compact; 65 | width: 20%; 66 | float: left; 67 | font-weight: bold; 68 | margin-top: 10px; 69 | margin-bottom: 10px; 70 | } 71 | 72 | p.block-row-description 73 | { 74 | display: compact; 75 | float: left; 76 | width: 75%; 77 | padding-left: 10px; 78 | margin-top: 10px; 79 | margin-bottom: 10px; 80 | } 81 | 82 | br 83 | { 84 | clear: both; 85 | } 86 | 87 | .sc0 { 88 | } 89 | 90 | .sc1 { 91 | color: #63a35c; 92 | } 93 | 94 | .sc3 { 95 | color: #795da3; 96 | } 97 | 98 | .sc6 { 99 | color: #183691; 100 | } 101 | 102 | .sc8 { 103 | } 104 | 105 | .sc9 { 106 | font-style: italic; 107 | color: #969896; 108 | } 109 | 110 | .sc12 { 111 | color: #63a35c; 112 | } 113 | 114 | .sc13 { 115 | color: #63a35c; 116 | } 117 | 118 | .sc17 { 119 | color: #DC322F; 120 | } 121 | -------------------------------------------------------------------------------- /icons/01-NewTab.svg: -------------------------------------------------------------------------------- 1 | 2 | image/svg+xml -------------------------------------------------------------------------------- /icons/02-PreviousTab.svg: -------------------------------------------------------------------------------- 1 | 2 | image/svg+xml -------------------------------------------------------------------------------- /icons/03-NextTab.svg: -------------------------------------------------------------------------------- 1 | 2 | image/svg+xml -------------------------------------------------------------------------------- /icons/08-AddHorizontalSplit.svg: -------------------------------------------------------------------------------- 1 | 2 | image/svg+xml -------------------------------------------------------------------------------- /icons/09-AddVerticalSplit.svg: -------------------------------------------------------------------------------- 1 | 2 | image/svg+xml -------------------------------------------------------------------------------- /icons/10-Fullscreen.svg: -------------------------------------------------------------------------------- 1 | 2 | image/svg+xml -------------------------------------------------------------------------------- /icons/11-ReduceScreen.svg: -------------------------------------------------------------------------------- 1 | 2 | image/svg+xml -------------------------------------------------------------------------------- /icons/12-About.svg: -------------------------------------------------------------------------------- 1 | 2 | image/svg+xmli 80 | -------------------------------------------------------------------------------- /icons/13-Help.svg: -------------------------------------------------------------------------------- 1 | 2 | image/svg+xml? 80 | -------------------------------------------------------------------------------- /icons/14-PreviousFind.svg: -------------------------------------------------------------------------------- 1 | 2 | image/svg+xml -------------------------------------------------------------------------------- /icons/15-NextFind.svg: -------------------------------------------------------------------------------- 1 | 2 | image/svg+xml -------------------------------------------------------------------------------- /icons/16-MatchExpression.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 9 | 12 | 14 | 15 | 18 | 21 | 22 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /icons/17-MatchCase.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /icons/18-ConsoleZSpecial.svg: -------------------------------------------------------------------------------- 1 | 2 | image/svg+xml -------------------------------------------------------------------------------- /icons/19-MatchWholeWordOnly.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 21 | 22 | 24 | image/svg+xml 25 | 27 | 28 | 29 | 30 | 31 | 36 | ab 49 | 56 | 63 | 70 | 71 | 72 | -------------------------------------------------------------------------------- /icons/go.cmd: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | rem This script requires 4 | rem - InkScape installed in C:\Program Files\Inkscape\inkscape.exe 5 | rem - ImageMagick with legacy tools (convert.exe) 6 | 7 | if not exist "%~dp0\out" mkdir "%~dp0\out" 8 | 9 | for %%S in (16 20 24 32 40 48 64 80 128) do ( 10 | if not exist "%~dp0\%%Sx%%S" mkdir "%~dp0\%%Sx%%S" 11 | for %%I in (%~dp0\*.svg) do ( 12 | echo %%~nI : %%Sx%%S 13 | "C:\Program Files\Inkscape\inkscape.exe" "--file=%~dp0\%%~nxI" "--export-png=%~dp0\%%Sx%%S\%%~nI.png" --export-area-page --export-width=%%S --export-height=%%S 14 | ) 15 | 16 | convert.exe -size %%Sx%%S xc:transparent "png32:%temp%\empty.png" 17 | convert.exe ^ 18 | "%temp%\empty.png" ^ 19 | "%~dp0\%%Sx%%S\14-PreviousFind.png" ^ 20 | "%~dp0\%%Sx%%S\15-NextFind.png" ^ 21 | "%~dp0\%%Sx%%S\18-ConsoleZSpecial.png" ^ 22 | "%~dp0\%%Sx%%S\19-MatchWholeWordOnly.png" ^ 23 | +append "%~dp0\out\search_%%S.png" 24 | convert.exe ^ 25 | "%~dp0\%%Sx%%S\01-NewTab.png" ^ 26 | "%~dp0\%%Sx%%S\02-PreviousTab.png" ^ 27 | "%~dp0\%%Sx%%S\03-NextTab.png" ^ 28 | "%~dp0\%%Sx%%S\04-RenameTab.png" ^ 29 | "%~dp0\%%Sx%%S\05-Copy.png" ^ 30 | "%~dp0\%%Sx%%S\06-Paste.png" ^ 31 | "%~dp0\%%Sx%%S\07-InsertSnippet.png" ^ 32 | "%~dp0\%%Sx%%S\08-AddHorizontalSplit.png" ^ 33 | "%~dp0\%%Sx%%S\09-AddVerticalSplit.png" ^ 34 | "%~dp0\%%Sx%%S\10-Fullscreen.png" ^ 35 | "%~dp0\%%Sx%%S\12-About.png" ^ 36 | "%~dp0\%%Sx%%S\13-Help.png" ^ 37 | +append "%~dp0\out\toolbar_%%S.png" 38 | copy "%~dp0\%%Sx%%S\11-ReduceScreen.png" "%~dp0\out\fullscreen1_%%S.png" /y 39 | copy "%~dp0\%%Sx%%S\10-Fullscreen.png" "%~dp0\out\fullscreen2_%%S.png" /y 40 | ) 41 | -------------------------------------------------------------------------------- /l10n/DEU/console.lws: -------------------------------------------------------------------------------- 1 | InputRC=..\..\Console\Console.rc 2 | LangINI=.\console.ini 3 | OutputRC=.\console.rc 4 | Copy=1 5 | ObsoleteItems=0 6 | NoSort=0 7 | -------------------------------------------------------------------------------- /l10n/FRA/console.lws: -------------------------------------------------------------------------------- 1 | InputRC=..\..\Console\Console.rc 2 | LangINI=.\console.ini 3 | OutputRC=.\console.rc 4 | Copy=1 5 | ObsoleteItems=0 6 | NoSort=0 7 | -------------------------------------------------------------------------------- /l10n/JPN/console.lws: -------------------------------------------------------------------------------- 1 | InputRC=..\..\Console\Console.rc 2 | LangINI=.\console.ini 3 | OutputRC=.\console.rc 4 | Copy=1 5 | ObsoleteItems=0 6 | NoSort=0 7 | -------------------------------------------------------------------------------- /l10n/RUS/console.lws: -------------------------------------------------------------------------------- 1 | InputRC=..\..\Console\Console.rc 2 | LangINI=.\console.ini 3 | OutputRC=.\console.rc 4 | Copy=1 5 | ObsoleteItems=0 6 | NoSort=0 7 | -------------------------------------------------------------------------------- /l10n/l10n.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {84f413ed-6b2c-4902-9ad0-eff267353137} 6 | 7 | 8 | {f8ff1951-f9e2-4965-abff-9692d4025ba0} 9 | 10 | 11 | {5426a010-5084-4bdd-9de5-37adbd28f3ef} 12 | 13 | 14 | {5c7d1c0e-5b2e-484f-82ad-68007b3a2bb1} 15 | 16 | 17 | 18 | 19 | 20 | FRA 21 | 22 | 23 | RUS 24 | 25 | 26 | DEU 27 | 28 | 29 | JPN 30 | 31 | 32 | -------------------------------------------------------------------------------- /l10n/makefile: -------------------------------------------------------------------------------- 1 | !IFDEF _USE_AERO 2 | RC_FLAGS=/D "_USE_AERO" 3 | !ELSE 4 | RC_FLAGS= 5 | !ENDIF 6 | 7 | build: 8 | @echo $(lang) $(configuration) 9 | @xcopy "..\console\resource.h" "$(lang)\" /F /Y 10 | @xcopy "..\console\res" "$(lang)\res\" /F /Y /E 11 | iconv -f UTF-8 -t UCS-2LE "$(lang)\console.rc" > "$(lang)\console.ucs2.rc" 12 | rc.exe /I"..\console" /I"../shared" /I"../wtl/wtl/include" $(RC_FLAGS) /D "_UNICODE" /D "UNICODE" /nologo /fo"..\obj\l10n\$(configuration)\console_$(lang).res" "$(lang)\console.ucs2.rc" 13 | link.exe /OUT:"..\bin\l10n\$(configuration)\console_$(lang).dll" /NOENTRY /DLL /SUBSYSTEM:WINDOWS /MACHINE:X86 /ERRORREPORT:PROMPT /NOLOGO "..\obj\l10n\$(configuration)\console_$(lang).res" 14 | 15 | release: 16 | @for /D %d in (*) do @if exist %d\console.ini $(MAKE) build /C /F makefile /D lang=%d /D configuration="$(configuration)" 17 | 18 | clean: 19 | @echo clean 20 | -------------------------------------------------------------------------------- /setup/dlls/FreeImagePlus.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/setup/dlls/FreeImagePlus.dll -------------------------------------------------------------------------------- /setup/dlls/x64/FreeImagePlus.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/setup/dlls/x64/FreeImagePlus.dll -------------------------------------------------------------------------------- /setup/fonts/FixedMedium10x20.fon: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/setup/fonts/FixedMedium10x20.fon -------------------------------------------------------------------------------- /setup/fonts/FixedMedium5x7.fon: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/setup/fonts/FixedMedium5x7.fon -------------------------------------------------------------------------------- /setup/fonts/FixedMedium5x8.fon: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/setup/fonts/FixedMedium5x8.fon -------------------------------------------------------------------------------- /setup/fonts/FixedMedium6x10.fon: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/setup/fonts/FixedMedium6x10.fon -------------------------------------------------------------------------------- /setup/fonts/FixedMedium6x12.fon: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/setup/fonts/FixedMedium6x12.fon -------------------------------------------------------------------------------- /setup/fonts/FixedMedium6x13.fon: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/setup/fonts/FixedMedium6x13.fon -------------------------------------------------------------------------------- /setup/fonts/FixedMedium6x9.fon: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/setup/fonts/FixedMedium6x9.fon -------------------------------------------------------------------------------- /setup/fonts/FixedMedium7x13.fon: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/setup/fonts/FixedMedium7x13.fon -------------------------------------------------------------------------------- /setup/fonts/FixedMedium7x14.fon: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/setup/fonts/FixedMedium7x14.fon -------------------------------------------------------------------------------- /setup/fonts/FixedMedium8x13.fon: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/setup/fonts/FixedMedium8x13.fon -------------------------------------------------------------------------------- /setup/fonts/FixedMedium9x15.fon: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/setup/fonts/FixedMedium9x15.fon -------------------------------------------------------------------------------- /setup/fonts/FixedMedium9x18.fon: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/setup/fonts/FixedMedium9x18.fon -------------------------------------------------------------------------------- /setup/fonts/TerminalMedium14.fon: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbucher/console/902d20e785e6e863cc16349b06147eee11d45c76/setup/fonts/TerminalMedium14.fon -------------------------------------------------------------------------------- /shared/SharedMemNames.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | ////////////////////////////////////////////////////////////////////////////// 4 | 5 | class SharedMemNames 6 | { 7 | public: 8 | 9 | static boost::wformat formatConsoleParams; 10 | static boost::wformat formatInfo; 11 | static boost::wformat formatCursorInfo; 12 | static boost::wformat formatBuffer; 13 | static boost::wformat formatCopyInfo; 14 | static boost::wformat formatMouseEvent; 15 | static boost::wformat formatNewConsoleSize; 16 | static boost::wformat formatNewScrollPos; 17 | static boost::wformat formatWatchdog; 18 | static boost::wformat formatAdmin; 19 | static boost::wformat formatPipeName; 20 | static boost::wformat formatMultipleInfo; 21 | 22 | }; 23 | 24 | ////////////////////////////////////////////////////////////////////////////// 25 | 26 | 27 | ////////////////////////////////////////////////////////////////////////////// 28 | ////////////////////////////////////////////////////////////////////////////// 29 | ////////////////////////////////////////////////////////////////////////////// 30 | 31 | 32 | ////////////////////////////////////////////////////////////////////////////// 33 | 34 | boost::wformat SharedMemNames::formatConsoleParams(L"ConsoleZ_params_%1%"); 35 | boost::wformat SharedMemNames::formatInfo(L"ConsoleZ_consoleInfo_%1%"); 36 | boost::wformat SharedMemNames::formatCursorInfo(L"ConsoleZ_cursorInfo_%1%"); 37 | boost::wformat SharedMemNames::formatBuffer(L"ConsoleZ_consoleBuffer_%1%"); 38 | boost::wformat SharedMemNames::formatCopyInfo(L"ConsoleZ_consoleCopyInfo_%1%"); 39 | boost::wformat SharedMemNames::formatMouseEvent(L"ConsoleZ_consoleMouseEvent_%1%"); 40 | boost::wformat SharedMemNames::formatNewConsoleSize(L"ConsoleZ_newConsoleSize_%1%"); 41 | boost::wformat SharedMemNames::formatNewScrollPos(L"ConsoleZ_newScrollPos_%1%"); 42 | boost::wformat SharedMemNames::formatWatchdog(L"Local\\ConsoleZ_parentProcessExit_%1%"); 43 | boost::wformat SharedMemNames::formatAdmin(L"ConsoleZ_admin_%1%"); 44 | boost::wformat SharedMemNames::formatPipeName(L"\\\\.\\pipe\\ConsoleZ_pipe_%1%"); 45 | boost::wformat SharedMemNames::formatMultipleInfo(L"ConsoleZ_multipleInfo_%1%"); 46 | 47 | ////////////////////////////////////////////////////////////////////////////// 48 | -------------------------------------------------------------------------------- /shared/Win32Exception.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | struct LocalFreeHelper 4 | { 5 | void operator()(void * toFree) 6 | { 7 | ::LocalFree(static_cast(toFree)); 8 | }; 9 | }; 10 | 11 | class Win32Exception : public std::exception 12 | { 13 | DWORD errorCode_; 14 | mutable std::string buff_; 15 | std::string api_; 16 | 17 | void FormatMessage() const 18 | { 19 | if( !buff_.empty() ) return; 20 | 21 | buff_ = "("; 22 | buff_ += api_; 23 | buff_ += ")"; 24 | 25 | LPSTR buffer = nullptr; 26 | DWORD bufferLength = ::FormatMessageA( 27 | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_ALLOCATE_BUFFER, 28 | NULL, 29 | GetErrorCode(), 30 | 0, 31 | reinterpret_cast(&buffer), 32 | 0, 33 | NULL); 34 | if( bufferLength ) 35 | { 36 | std::unique_ptr buffPtr(buffer); 37 | buff_ += buffer; 38 | } 39 | } 40 | 41 | public: 42 | Win32Exception(const char * api, DWORD errorCode) : errorCode_(errorCode), api_(api) {}; 43 | 44 | __declspec(noreturn) static void Throw(const char * api, DWORD lastError) { throw Win32Exception(api, lastError); } 45 | 46 | __declspec(noreturn) static void ThrowFromLastError(const char * api) { Throw(api, ::GetLastError()); }; 47 | 48 | inline DWORD GetErrorCode() const 49 | { 50 | return errorCode_; 51 | } 52 | 53 | virtual const char* what() const 54 | { 55 | FormatMessage(); 56 | return buff_.c_str(); 57 | }; 58 | }; 59 | -------------------------------------------------------------------------------- /shared/version.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #define VERSION_MAJOR 1 4 | #define VERSION_MINOR 19 5 | #define VERSION_BUILD 0 6 | #define VERSION_BUILD2 19104 7 | #define VERSION_FILE "1.19.0.19104" 8 | #define VERSION_PRODUCT "1.19.0.19104" 9 | #define VERSION_COPYRIGHT "Copyright (C) 2011-2019 Bucher Christophe" 10 | 11 | #ifndef _WIN32 12 | 13 | VERSION = 1.19.0.19104 14 | 15 | #endif 16 | -------------------------------------------------------------------------------- /wtl/wtl/MS-PL.txt: -------------------------------------------------------------------------------- 1 | Microsoft Public License (MS-PL) 2 | 3 | This license governs use of the accompanying software. If you use the software, you 4 | accept this license. If you do not accept the license, do not use the software. 5 | 6 | 1. Definitions 7 | The terms "reproduce," "reproduction," "derivative works," and "distribution" have the 8 | same meaning here as under U.S. copyright law. 9 | A "contribution" is the original software, or any additions or changes to the software. 10 | A "contributor" is any person that distributes its contribution under this license. 11 | "Licensed patents" are a contributor's patent claims that read directly on its contribution. 12 | 13 | 2. Grant of Rights 14 | (A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any derivative works that you create. 15 | (B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software. 16 | 17 | 3. Conditions and Limitations 18 | (A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks. 19 | (B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your patent license from such contributor to the software ends automatically. 20 | (C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution notices that are present in the software. 21 | (D) If you distribute any portion of the software in source code form, you may do so only under this license by including a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object code form, you may only do so under a license that complies with this license. 22 | (E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a particular purpose and non-infringement. 23 | --------------------------------------------------------------------------------