diff --git a/ColorSchemes/Twilight.ini b/ColorSchemes/Twilight.ini new file mode 100644 index 00000000000..1ac7f1f1588 --- /dev/null +++ b/ColorSchemes/Twilight.ini @@ -0,0 +1,162 @@ +; Twilight Color Scheme +; A dark, monochrome-based color scheme for WinMerge. Nothing to do with sparkly vampires. +; License: https://mit-license.org/ + +[WinMerge] + +;------------------------------------------------------------ +; Custom Colors +Custom Colors/0=0x763858 ; selected difference - deleted +Custom Colors/1=0xeaeaea ; selected difference - background +Custom Colors/2=0x293d37 ; text color +Custom Colors/3=0x423607 ; ?????? +Custom Colors/4=0x18184b ; ?????? +Custom Colors/5=0x25653d ; ?????? +Custom Colors/6=0xd69c56 ; ?????? +Custom Colors/7=0x55996a ; ?????? +Custom Colors/8=0x2c170a ; ?????? +Custom Colors/9=0x110a04 ; ?????? +Custom Colors/10=0x2a5a4b ; ?????? +Custom Colors/11=0x6f1313 ; ?????? +Custom Colors/12=0x13136f ; ?????? +Custom Colors/13=0x416036 ; ?????? +Custom Colors/14=0x0000cc ; ?????? +Custom Colors/15=0x7891ce ; ?????? + +;------------------------------------------------------------ +; Default Font Normal (0) or Bold (1) +DefaultSyntaxColors/Bold00=0 ; normal text +DefaultSyntaxColors/Bold01=0 ; whitepsace page background +DefaultSyntaxColors/Bold02=0 ; regular text +DefaultSyntaxColors/Bold03=0 ; text color +DefaultSyntaxColors/Bold04=0 ; line numbers background +DefaultSyntaxColors/Bold05=0 ; selected text background +DefaultSyntaxColors/Bold06=0 ; selected text color +DefaultSyntaxColors/Bold07=0 ; keywords +DefaultSyntaxColors/Bold08=0 ; fucntion names +DefaultSyntaxColors/Bold09=0 ; comments +DefaultSyntaxColors/Bold10=0 ; numbers +DefaultSyntaxColors/Bold11=0 ; operators +DefaultSyntaxColors/Bold12=0 ; strings +DefaultSyntaxColors/Bold13=0 ; preprocessor +DefaultSyntaxColors/Bold14=0 ; ?????? +DefaultSyntaxColors/Bold15=0 ; ?????? +DefaultSyntaxColors/Bold16=0 ; ?????? +DefaultSyntaxColors/Bold17=0 ; ?????? +DefaultSyntaxColors/Bold18=0 ; ?????? +DefaultSyntaxColors/Bold19=0 ; ?????? +DefaultSyntaxColors/Bold20=0 ; User 1 +DefaultSyntaxColors/Bold21=0 ; User 2 +DefaultSyntaxColors/Bold22=0 ; search marker +DefaultSyntaxColors/Bold23=0 ; user defined marker1 +DefaultSyntaxColors/Bold24=0 ; user defined marker2 +DefaultSyntaxColors/Bold25=0 ; user defined marker3 + +;------------------------------------------------------------ +; Default Syntax Colors +DefaultSyntaxColors/Color00=0x82e31a ; ?????? #82e31a #1ae382 +DefaultSyntaxColors/Color01=0x3c3c3c ; whitespace background +DefaultSyntaxColors/Color02=0x3c3c3c ; regular text background +DefaultSyntaxColors/Color03=0xdedede ; text color +DefaultSyntaxColors/Color04=0x2e2e2e ; margin line numbers background +DefaultSyntaxColors/Color05=0x458b8b ; selected text background +DefaultSyntaxColors/Color06=0xe9e9e9 ; selected text color +DefaultSyntaxColors/Color07=0xe4bd8d ; keywords +DefaultSyntaxColors/Color08=0xe2b6ed ; function names +DefaultSyntaxColors/Color09=0xc0c0c0 ; comments +DefaultSyntaxColors/Color10=0xe9e783 ; numbers +DefaultSyntaxColors/Color11=0x98e7e9 ; operators +DefaultSyntaxColors/Color12=0xffffff ; strings +DefaultSyntaxColors/Color13=0x96e492 ; preprocessor + +; Word differences unused? https://github.com/WinMerge/winmerge/issues/2069#issuecomment-1811505519 #7e4242 +DefaultSyntaxColors/Color14=0xff0000 ; ?????? +DefaultSyntaxColors/Color15=0xff0020 ; ?????? +DefaultSyntaxColors/Color16=0xff0040 ; ?????? +DefaultSyntaxColors/Color17=0xff0060 ; ?????? +DefaultSyntaxColors/Color18=0xff0080 ; ?????? +DefaultSyntaxColors/Color19=0xff0099 ; ?????? + +DefaultSyntaxColors/Color20=0x8fbae9 ; User 1 +DefaultSyntaxColors/Color21=0xc8dff2 ; User 2 +DefaultSyntaxColors/Color22=0x0057ae ; search marker +DefaultSyntaxColors/Color23=0xdb8ed9 ; user defined marker1 +DefaultSyntaxColors/Color24=0xc23dbf ; user defined marker2 +DefaultSyntaxColors/Color25=0x8b2c89 ; user defined marker3 +DefaultSyntaxColors/Values=0x00001a ; default syntax text color??? + +;------------------------------------------------------------ +; Alphabetised Settings +Settings/DefaultTextColoring=0 ; default text coloring + +Settings/DifferenceColor=0x4e4e4e ; difference background color +Settings/DifferenceDeletedColor=0x292954 ; difference deleted background color +Settings/DifferenceTextColor=0xf4f4f4 ; difference text color + +Settings/DirItemDiffColor=0x808080 ; different item background color +Settings/DirItemDiffTextColor=0xeaeaea ; different item text color +Settings/DirItemEqualColor=0x363636 ; equal item background color +Settings/DirItemEqualTextColor=0xeaeaea ; equal item text color +Settings/DirItemFilteredColor=0x7d5500 ; filtered item background color +Settings/DirItemFilteredTextColor=0xeaeaea ; filtered item text color +Settings/DirItemNotExistAllColor=0x404080 ; non-existent item background color +Settings/DirItemNotExistAllTextColor=0xeaeaea ; non-existent item text color + +Settings/DirMarginColor=0x282828 ; directory margin background color + +Settings/MovedBlockColor=0x75481c ; moved block background color +Settings/MovedBlockDeletedColor=0x4d2f11 ; moved block deleted background color +Settings/MovedBlockTextColor=0xf4f4f4 ; moved block text color + +Settings/SelectedDifferenceColor=0x747474 ; selected difference background color +Settings/SelectedDifferenceDeletedColor=0x404080 ; selected difference deleted background color +Settings/SelectedDifferenceTextColor=0xf4f4f4 ; selected difference text color + +Settings/SelectedMovedBlockColor=0xa96827 ; selected moved block background color +Settings/SelectedMovedBlockDeletedColor=0x72461b ; selected moved block deleted background color +Settings/SelectedMovedBlockTextColor=0xf4f4f4 ; selected moved block text color + +Settings/SelectedSNPColor=0xb15c89 ; selected similar, not same, background color +Settings/SelectedSNPDeletedColor=0x763858 ; selected similar, not same, deleted background color +Settings/SelectedSNPTextColor=0xf4f4f4 ; selected similar, not same, text color + +Settings/SelectedWordDifferenceColor=0x5c5cad ; selected word difference background color +Settings/SelectedWordDifferenceDeletedColor=0x404080 ; selected word difference deleted background color +Settings/SelectedWordDifferenceTextColor=0xf4f4f4 ; selected word difference text color + +Settings/SNPColor=0x763858 ; similar, not same, background color +Settings/SNPDeletedColor=0x592b43 ; similar, not same, deleted background color +Settings/SNPTextColor=0xf4f4f4 ; similar, not same, text color + +Settings/TrivialDifferenceColor=0x808040 ; trivial difference background color +Settings/TrivialDifferenceDeletedColor=0x666633 ; trivial difference deleted background color +Settings/TrivialDifferenceTextColor=0xf4f4f4 ; trivial difference text color + +Settings/UseDirCompareColors=1 ; use directory compare colors + +Settings/WordDifferenceColor=0x404080 ; word difference background color +Settings/WordDifferenceDeletedColor=0x30305f ; word difference deleted background color +Settings/WordDifferenceTextColor=0xf4f4f4 ; word difference text color + +;------------------------------------------------------------ +; System Colors +; input rgb(80, 88, 88) = output rgb(88, 88, 88) output or similar monochrome - for some!!!! +Settings/SysColorHookEnabled=1 ; enable system color hook +;2 COLOR_ACTIVECAPTION - G & B +8 +;3 COLOR_INACTIVECAPTION - G & B +8 +;5 COLOR_WINDOW +;8 COLOR_WINDOWTEXT +;9 COLOR_CAPTIONTEXT +;12 COLOR_APPWORKSPACE +;13 COLOR_HIGHLIGHT +;14 COLOR_HIGHLIGHTTEXT +;15 COLOR_3DFACE - G & B +8 Windows app bar +;16 COLOR_3DSHADOW +;17 COLOR_GRAYTEXT +;18 COLOR_BTNTEXT +;19 COLOR_INACTIVECAPTIONTEXT +;20 COLOR_3DHIGHLIGHT +;21 COLOR_3DDKSHADOW +;27 COLOR_GRADIENTACTIVECAPTION +;28 COLOR_GRADIENTINACTIVECAPTION +Settings/SysColorHookColors=2:0x00606058,3:0x0044443c,5:0x00acacac,8:0x00e2e2e2,9:0x00ececec,12:0x00808080,13:0x0040ff00,14:0x00ffffff,15:0x0015151d,16:0x001f1f17,17:0x00555555,18:0x00f4f4f4,19:0x00ececec,20:0x00404040,21:0x001e1e1e,27:0x00535353,28:0x00515151 diff --git a/README.md b/README.md index 7f8bc8fa25d..92a2436a07a 100644 --- a/README.md +++ b/README.md @@ -1,69 +1,48 @@ [![logo](Docs/Logos/WinMerge_logo_24bit.png)](https://github.com/WinMerge/winmerge) - # WinMerge + +[WinMerge](https://winmerge.org/) is an open source differencing and merging tool for Windows. It can compare files and folders, presenting differences in a visual format that is easy to understand and manipulate. + [![Build status](https://ci.appveyor.com/api/projects/status/h3v3ap1kswi1tyyt?svg=true)](https://ci.appveyor.com/project/sdottaka/winmerge/build/artifacts) [![CI](https://github.com/WinMerge/winmerge/workflows/CI/badge.svg)](https://github.com/WinMerge/winmerge/actions) [![sourceforge.net downloads](https://img.shields.io/sourceforge/dt/winmerge)](https://sourceforge.net/projects/winmerge/files/) [![Github Releases All](https://img.shields.io/github/downloads/winmerge/winmerge/total.svg)](https://github.com/WinMerge/winmerge/releases/latest) [![Translation status](https://img.shields.io/badge/translations-38-green)](https://github.com/WinMerge/winmerge/blob/master/Translations/TranslationsStatus.md) -[WinMerge](https://winmerge.org/) is an open source differencing and merging tool -for Windows. WinMerge can compare files and folders, presenting differences -in a visual format that is easy to understand and manipulate. - -## Build Requirements - -### Visual Studio 2017 - - * *Community*, *Professional* or *Enterprise* Edition - * VC++ 2017 latest v141 tools - * Visual C++ compilers and libraries for (ARM, ARM64) - * Windows XP support for C++ - * Visual C++ MFC for (x86 and x64, ARM, ARM64) - * Visual C++ ATL for (x86 and x64, ARM, ARM64) - * Windows 10 SDK +--- -### Visual Studio 2019 +## How to Contribute - * *Community*, *Professional* or *Enterprise* Edition - * MSVC v142 - VS 2019 C++ (x64/x86, ARM, ARM64) build tools (Latest) - * C++ MFC for latest v142 build tools (x86 & x64, ARM, ARM64) - * C++ ATL for latest v142 build tools (x86 & x64, ARM, ARM64) - * Windows 10 SDK + You will need to [fork the main WinMerge repository](https://github.com/WinMerge/winmerge/fork) and create a branch on that fork. + + Format your code using [Eric Allman indentation](https://en.wikipedia.org/wiki/Indentation_style#Allman_style). + + When your code is ready for review/merge, create a Pull Request, explaining the changes made. + +--- -### Visual Studio 2022 +## Themes - * *Community*, *Professional* or *Enterprise* Edition - * MSVC v143 Buildtools (x64/x86, ARM, ARM64) - * C++ MFC for latest v143 build tools (x64/x86, ARM, ARM64) - * C++ ATL for latest v143 build tools (x64/x86, ARM, ARM64) - * Windows 10 SDK - -### Other utilities/programs +WinMerge allows you to choose from several pre-made themes and create your own. - * git - * Inno Setup 5.x and 6.x - * 7-Zip - * Python - * Pandoc - * MSYS2 and MSYS2 packages (po4a and diffutils) +### Quick theming instructions -## How to Build +1. open `Options` and navigate to the `Colors` section +2. adjust colors to your liking in each subsection +3. the `Export...` option will give you an `ini` file with all settings +4. copy `your install folder\WinMerge\ColorSchemes\Twilight.ini` to `YourNewTheme.ini` +5. copy the corresponding color settings from the exported `ini` file to `YourNewTheme.ini` +6. you can then place your theme file in to the `ColorSchemes` folder and select it in `Options` -~~~ -git clone --recurse-submodules https://github.com/WinMerge/winmerge -cd winmerge -DownloadDeps.cmd -BuildAll.vs2022.cmd [x86|x64|ARM|ARM64] or BuildAll.vs2019.cmd [x86|x64|ARM|ARM64] or BuildAll.vs2017.cmd [x86|x64|ARM|ARM64] -~~~ +--- ## Folder Structure Source code for the WinMerge program, its plugins, filters, setup program, and various utilities are all kept in the subfolders listed below. -The changelog file is in `Docs/Users/ChangeLog.md` and it documents +The changelog file is in `Docs/Users/ChangeLog.md` - it documents both user-visible and significant changes. Subfolders include: @@ -117,21 +96,62 @@ Subfolders include: It contains temporary files created during the compilation and can be safely deleted. - -## How to CONTRIBUTE - - You will need to fork the main Winmerge repository and create a branch on that fork - - Your new code needs to follow [Eric Allman indentation](https://en.wikipedia.org/wiki/Indentation_style#Allman_style) - - When your code is ready for a review/merge create a pull request explaining the changes that you made - +--- ## How to RUN and DEBUG - The winmerge folder has different Visual Studio solution files (.sln) that you can use to build, debug and run while you test your changes + The WinMerge folder has different Visual Studio solution files (.sln) that you can use to build, debug and run while you test your changes. If you have run any of the BuildAll scripts you can run WinMerge from path `\Build\X64\Release\WinMergeU.exe` - if your architecture is not `X64` look for any of the other folders generated after the build has finished + + If your architecture is not `X64` look for any of the other folders generated after the build has finished. Another way to Debug, run the exe from previous step, then from VS attach to the running process. + +--- + +## Build WinMerge + +### Visual Studio 2017 + + * *Community*, *Professional* or *Enterprise* Edition + * VC++ 2017 latest v141 tools + * Visual C++ compilers and libraries for (ARM, ARM64) + * Windows XP support for C++ + * Visual C++ MFC for (x86 and x64, ARM, ARM64) + * Visual C++ ATL for (x86 and x64, ARM, ARM64) + * Windows 10 SDK + +### Visual Studio 2019 + + * *Community*, *Professional* or *Enterprise* Edition + * MSVC v142 - VS 2019 C++ (x64/x86, ARM, ARM64) build tools (Latest) + * C++ MFC for latest v142 build tools (x86 & x64, ARM, ARM64) + * C++ ATL for latest v142 build tools (x86 & x64, ARM, ARM64) + * Windows 10 SDK + +### Visual Studio 2022 + + * *Community*, *Professional* or *Enterprise* Edition + * MSVC v143 Buildtools (x64/x86, ARM, ARM64) + * C++ MFC for latest v143 build tools (x64/x86, ARM, ARM64) + * C++ ATL for latest v143 build tools (x64/x86, ARM, ARM64) + * Windows 10 SDK + +### Other utilities/programs + + * git + * Inno Setup 5.x and 6.x + * 7-Zip + * Python + * Pandoc + * MSYS2 and MSYS2 packages (po4a and diffutils) + +## How to Build + +~~~ +git clone --recurse-submodules https://github.com/WinMerge/winmerge +cd winmerge +DownloadDeps.cmd +BuildAll.vs2022.cmd [x86|x64|ARM|ARM64] or BuildAll.vs2019.cmd [x86|x64|ARM|ARM64] or BuildAll.vs2017.cmd [x86|x64|ARM|ARM64] +~~~