Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
1be5288
test
ell1010 Jan 12, 2025
bb90d48
update
ell1010 Jan 12, 2025
eb79bfd
Update README.md
ell1010 Jan 12, 2025
77fd6ab
update
ell1010 Jan 13, 2025
3a335c4
update
ell1010 Jan 13, 2025
e938bf6
Update .gitmodules
ell1010 Jan 13, 2025
f73e961
Update inserticons
ell1010 Jan 13, 2025
fe44fa8
Update README.md
ell1010 Jan 17, 2025
ace4e4b
switched to newest version of wpf-notifyicon and innosetup; trimmed/ …
ell1010 Jan 17, 2025
651d641
updated include files and remove a hello, world dupe
ell1010 Jan 19, 2025
076fd33
submodule update
ell1010 Jan 19, 2025
c111973
updated po files and builder script
ell1010 Jan 19, 2025
962df13
switched to dotnet-gitversion for makefile and installer.csproj, upda…
ell1010 Jan 19, 2025
71f0565
forked xcompose repo with added sequences (+490) from pull requests, …
ell1010 Jan 19, 2025
3cdc82e
.net upgrade and darkmode
ell1010 Feb 2, 2025
1fce828
Merge branch 'samhocevar:master' into master
ell1010 Feb 5, 2025
cc2c999
Update README.md
ell1010 Feb 6, 2025
51d9080
Update README.md
ell1010 Feb 15, 2025
47b7f8d
Update README.md
ell1010 Feb 15, 2025
2de9f13
Update README.md
ell1010 Feb 15, 2025
281572e
Update README.md
ell1010 Feb 16, 2025
1d7950e
changes to makefile so it can run properly on windows (with gnu-make …
ell1010 Feb 16, 2025
90873fc
Merge branch 'master' of https://github.com/ell1010/wincompose
ell1010 Feb 16, 2025
2fdf210
Merge branch 'samhocevar:master' into main
ell1010 Feb 16, 2025
c1eb511
language files update and makefile cleanup/refinement
ell1010 Feb 16, 2025
7434055
Merge branch 'master' into main
ell1010 Mar 13, 2025
463ab57
Update shot1.png
ell1010 Mar 20, 2025
c97acdd
Update xcompose
ell1010 Mar 21, 2025
2f5969e
fix the compose key selector pop up
ell1010 Mar 29, 2025
045ad1e
Merge branch 'master' of https://github.com/samhocevar/wincompose
ell1010 Apr 14, 2025
a0b13c5
Update README.md
ell1010 Apr 14, 2025
3572dd6
added wpf-ui license
ell1010 Apr 18, 2025
5eaa6b9
allowed sequence window to be resized and now shows a scrollbar when …
ell1010 May 6, 2025
77ce515
translation update
ell1010 May 8, 2025
235d8c3
Merge branch 'samhocevar:master' into main
ell1010 May 14, 2025
5c2bd62
Merge branch 'samhocevar:master' into main
ell1010 Jul 9, 2025
31e3cda
Update README.md
ell1010 Jul 9, 2025
093d7bc
Update README.md
ell1010 Jul 9, 2025
97cfc2b
Update README.md
ell1010 Jul 9, 2025
a11fc68
Updated the "download latest" line to 0.9.15.1
JorisDebonnet Jan 28, 2026
bea4b14
Merge pull request #15 from JorisDebonnet/patch-1
ell1010 Jan 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
.vs/slnx.sqlite
.vs/VSWorkspaceState.json
27 changes: 16 additions & 11 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,43 +1,48 @@
[submodule "src/3rdparty/unicode-emoji"]
path = src/3rdparty/unicode-emoji
url = ../unicode-emoji.git
url = ../../samhocevar/unicode-emoji.git
branch = master
update = merge

[submodule "src/3rdparty/unicode-translation"]
path = src/3rdparty/unicode-translation
url = ../unicode-translation.git
url = ../../samhocevar/unicode-translation.git
branch = master
update = merge

[submodule "src/3rdparty/xcompose"]
path = src/3rdparty/xcompose
url = ../../samhocevar-forks/xcompose.git
url = ../../kragen/xcompose.git

[submodule "wpf-notifyicon"]
path = src/3rdparty/wpf-notifyicon
url = ../../samhocevar-forks/wpf-notifyicon.git
branch = feature/net30
url = ../../hardcodet/wpf-notifyicon.git
branch = release/2.0.1
update = merge

[submodule "src/3rdparty/libx11"]
path = src/3rdparty/libx11
url = ../../freedesktop/xorg-libX11.git
url = https://gitlab.freedesktop.org/xorg/lib/libx11
branch = master
update = merge

[submodule "src/3rdparty/xorgproto"]
path = src/3rdparty/xorgproto
url = ../../freedesktop/xorg-xorgproto.git
url = https://gitlab.freedesktop.org/xorg/proto/xorgproto
branch = master
update = merge

[submodule "src/3rdparty/inserticons"]
path = src/3rdparty/inserticons
url = ../../samhocevar-forks/inserticons.git

[submodule "src/3rdparty/innosetup"]
path = src/3rdparty/innosetup
url = ../../jrsoftware/issrc.git
branch = main
update = merge

[submodule "src/3rdparty/unicodetools"]
path = src/3rdparty/unicodetools
url = https://github.com/unicode-org/unicodetools
branch = main
update = merge
[submodule "src/3rdparty/inserticons"]
path = src/3rdparty/inserticons
url = https://github.com/dIeGoLi/InsertIcons
21 changes: 21 additions & 0 deletions COPYING
Original file line number Diff line number Diff line change
Expand Up @@ -41,3 +41,24 @@ Licensing information for "Xcompose.txt":

| To be determined. See https://github.com/kragen/xcompose/issues/16.

Licensing information for "WPF-UI":

| Copyright (c) 2021-2025 Leszek Pomianowski and WPF UI Contributors. https://lepo.co/
|
| Permission is hereby granted, free of charge, to any person obtaining a copy
| of this software and associated documentation files (the "Software"), to deal
| in the Software without restriction, including without limitation the rights
| to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
| copies of the Software, and to permit persons to whom the Software is
| furnished to do so, subject to the following conditions:
|
| The above copyright notice and this permission notice shall be included in all
| copies or substantial portions of the Software.
|
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
| IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
| FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
| AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
| LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
| OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
| SOFTWARE.
21 changes: 12 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
WinCompose
Open to contributers / helpers

WinCompose
==========

A compose key for Windows, free and open-source, created by Sam Hocevar.
Expand All @@ -11,16 +13,16 @@ very intuitive key combinations. For instance, **ö** is obtained using

WinCompose also supports Emoji input for 😁 👻 👍 💩 🎁 🌹 🐊.

Download latest: [WinCompose 0.9.11](https://github.com/samhocevar/wincompose/releases/download/v0.9.11/WinCompose-Setup-0.9.11.exe) (September 3, 2021) or [browse releases](https://github.com/samhocevar/wincompose/releases)
Download latest: [WinCompose 0.9.15.1](https://github.com/ell1010/wincompose/releases/download/v0.9.15.1/WinCompose-Setup-0.9.15.1.exe) May 8th, 2025) or [browse releases](https://github.com/ell1010/wincompose/releases/)
----------------

* Installable version: [WinCompose 0.9.11 (installer)](https://github.com/samhocevar/wincompose/releases/download/v0.9.11/WinCompose-Setup-0.9.11.exe).
* Installable version: [WinCompose 0.9.15.1 (installer)](https://github.com/ell1010/wincompose/releases/download/v0.9.15.1/WinCompose-Setup-0.9.15.1.exe).

* Portable version: [WinCompose 0.9.11 (portable)](https://github.com/samhocevar/wincompose/releases/download/v0.9.11/WinCompose-NoInstall-0.9.11.zip).
* Portable version: [WinCompose 0.9.15.1 (portable)](https://github.com/ell1010/wincompose/releases/download/v0.9.15.1/WinCompose-NoInstall-0.9.15.1.zip).

* Older versions are available [in the releases section](https://github.com/samhocevar/wincompose/releases/).

**Note: this software is not digitally signed.** You can help with this by [donating to the project](http://wincompose.info/donate/).
**Note: this software is not digitally signed.** ~~You can help with this by [donating to the project](http://wincompose.info/donate/).~~

Quick start
-----------
Expand Down Expand Up @@ -92,8 +94,9 @@ with sequences.
WinCompose supports rules of more than 2 characters such as <kbd>⎄ Compose</kbd>
<kbd>(</kbd> <kbd>3</kbd> <kbd>)</kbd> for **③**.

WinCompose supports early exits. For instance, <kbd>⎄ Compose</kbd> <kbd>q</kbd> will
immediately type **q** because there is currently no rule starting with <kbd>q</kbd>.
WinCompose supports early exits. For instance, <kbd>⎄ Compose</kbd> <kbd>Q</kbd> will
immediately type **Q** because there is currently no rule starting with the capital
letter <kbd>Q</kbd>.

As of now, WinCompose is almost fully translated to Afrikaans, Belarusian, Catalan, Chinese,
Czech, Dutch, Estonian, French, German, Greek, Italian, Japanese, Lithuanian, Norwegian, Polish,
Expand All @@ -113,5 +116,5 @@ in Visual Studio in order to build WinCompose. You will also need to install
Bugs and Improvements
---------------------

Please report bugs or suggest improvements to Sam Hocevar <sam@hocevar.net>
or preferably to the [GitHub issue tracker](https://github.com/samhocevar/wincompose/issues).
~~Please report bugs or suggest improvements to Sam Hocevar <sam@hocevar.net>~~
or preferably to the [GitHub issue tracker](https://github.com/ell1010/wincompose/issues).
2 changes: 1 addition & 1 deletion src/3rdparty/innosetup
Submodule innosetup updated 507 files
2 changes: 1 addition & 1 deletion src/3rdparty/libx11
Submodule libx11 updated from cc9f88 to 466573
2 changes: 1 addition & 1 deletion src/3rdparty/unicode-emoji
1 change: 1 addition & 0 deletions src/3rdparty/unicodetools
Submodule unicodetools added at 3f7f0a
2 changes: 1 addition & 1 deletion src/3rdparty/wpf-notifyicon
Submodule wpf-notifyicon updated 71 files
+18 −52 LICENSE
+3 −4 azure-pipelines.yml
+26 −0 src/Changelog.txt
+10 −7 src/Directory.Build.props
+6 −1 src/NotifyIconWpf.Sample.ShowCases/App.xaml.cs
+13 −3 src/NotifyIconWpf.Sample.ShowCases/Commands/CloseWindowCommand.cs
+7 −2 src/NotifyIconWpf.Sample.ShowCases/Commands/CommandBase.cs
+6 −1 src/NotifyIconWpf.Sample.ShowCases/Commands/HideSampleWindowCommand.cs
+6 −1 src/NotifyIconWpf.Sample.ShowCases/Commands/ShowSampleWindowCommand.cs
+10 −5 src/NotifyIconWpf.Sample.ShowCases/Main.xaml.cs
+2 −7 src/NotifyIconWpf.Sample.ShowCases/NotifyIconWpf.Sample.ShowCases.csproj
+6 −1 src/NotifyIconWpf.Sample.ShowCases/Showcase/FancyBalloon.xaml.cs
+6 −1 src/NotifyIconWpf.Sample.ShowCases/Showcase/FancyPopup.xaml.cs
+6 −1 src/NotifyIconWpf.Sample.ShowCases/Showcase/FancyToolTip.xaml.cs
+2 −0 src/NotifyIconWpf.Sample.ShowCases/Showcase/ShowcaseWindow.xaml
+6 −1 src/NotifyIconWpf.Sample.ShowCases/Showcase/ShowcaseWindow.xaml.cs
+6 −1 src/NotifyIconWpf.Sample.ShowCases/Showcase/WelcomeBalloon.xaml.cs
+6 −1 src/NotifyIconWpf.Sample.ShowCases/Tutorials/01 - Declaration/SimpleWindowWithNotifyIcon.xaml.cs
+6 −1 src/NotifyIconWpf.Sample.ShowCases/Tutorials/02 - ToolTips/InlineToolTipWindow.xaml.cs
+6 −1 src/NotifyIconWpf.Sample.ShowCases/Tutorials/02 - ToolTips/SimpleUserControl.xaml.cs
+6 −1 src/NotifyIconWpf.Sample.ShowCases/Tutorials/02 - ToolTips/UserControlToolTipWindow.xaml.cs
+1 −2 src/NotifyIconWpf.Sample.ShowCases/Tutorials/03 - Popups/InlinePopupWindow.xaml
+6 −1 src/NotifyIconWpf.Sample.ShowCases/Tutorials/03 - Popups/InlinePopupWindow.xaml.cs
+6 −1 src/NotifyIconWpf.Sample.ShowCases/Tutorials/04 - ContextMenus/InlineContextMenuWindow.xaml.cs
+6 −1 src/NotifyIconWpf.Sample.ShowCases/Tutorials/05 - Balloons/BalloonSampleWindow.xaml.cs
+6 −1 src/NotifyIconWpf.Sample.ShowCases/Tutorials/06 - Commands/CommandWindow.xaml.cs
+6 −1 src/NotifyIconWpf.Sample.ShowCases/Tutorials/06 - Commands/ShowMessageCommand.cs
+6 −1 src/NotifyIconWpf.Sample.ShowCases/Tutorials/07 - Events/EventVisualizerWindow.xaml.cs
+6 −1 src/NotifyIconWpf.Sample.ShowCases/Tutorials/08 - DataBinding/DataBoundToolTipWindow.xaml.cs
+16 −11 src/NotifyIconWpf.Sample.ShowCases/Tutorials/09 - MVVM/ClockPopup.xaml.cs
+6 −2 src/NotifyIconWpf.Sample.ShowCases/Tutorials/09 - MVVM/MvvmSampleViewModel.cs
+6 −1 src/NotifyIconWpf.Sample.ShowCases/Tutorials/09 - MVVM/MvvmSampleWindow.xaml.cs
+6 −1 src/NotifyIconWpf.Sample.Windowless/App.xaml.cs
+6 −1 src/NotifyIconWpf.Sample.Windowless/DelegateCommand.cs
+6 −1 src/NotifyIconWpf.Sample.Windowless/MainWindow.xaml.cs
+16 −9 src/NotifyIconWpf.Sample.Windowless/NotifyIconViewModel.cs
+0 −5 src/NotifyIconWpf.Sample.Windowless/NotifyIconWpf.Sample.Windowless.csproj
+6 −1 src/NotifyIconWpf.Sample.WindowsForms/FancyPopup.xaml.cs
+56 −57 src/NotifyIconWpf.Sample.WindowsForms/Form1.Designer.cs
+48 −5 src/NotifyIconWpf.Sample.WindowsForms/Form1.cs
+ src/NotifyIconWpf.Sample.WindowsForms/Icon/Bulb.ico
+ src/NotifyIconWpf.Sample.WindowsForms/Icon/Computers.ico
+14 −9 src/NotifyIconWpf.Sample.WindowsForms/NotifyIconWpf.Sample.WindowsForms.csproj
+6 −1 src/NotifyIconWpf.Sample.WindowsForms/Program.cs
+52 −53 src/NotifyIconWpf.Sample.WindowsForms/Properties/Resources.Designer.cs
+2 −21 src/NotifyIconWpf/BalloonIcon.cs
+426 −0 src/NotifyIconWpf/IconExtensions.cs
+6 −3 src/NotifyIconWpf/Interop/AppBarInfo.cs
+4 −1 src/NotifyIconWpf/Interop/BalloonFlags.cs
+5 −0 src/NotifyIconWpf/Interop/IconDataMembers.cs
+5 −0 src/NotifyIconWpf/Interop/IconState.cs
+6 −1 src/NotifyIconWpf/Interop/MouseEvent.cs
+5 −0 src/NotifyIconWpf/Interop/NotifyCommand.cs
+5 −0 src/NotifyIconWpf/Interop/NotifyIconData.cs
+6 −1 src/NotifyIconWpf/Interop/NotifyIconVersion.cs
+6 −1 src/NotifyIconWpf/Interop/Point.cs
+25 −0 src/NotifyIconWpf/Interop/Size.cs
+19 −20 src/NotifyIconWpf/Interop/SystemInfo.cs
+6 −3 src/NotifyIconWpf/Interop/TrayInfo.cs
+36 −1 src/NotifyIconWpf/Interop/WinApi.cs
+8 −3 src/NotifyIconWpf/Interop/WindowClass.cs
+23 −34 src/NotifyIconWpf/Interop/WindowMessageSink.cs
+2 −22 src/NotifyIconWpf/Interop/WindowsMessages.cs
+1 −6 src/NotifyIconWpf/NotifyIconWpf.csproj
+8 −22 src/NotifyIconWpf/PopupActivationMode.cs
+6 −1 src/NotifyIconWpf/RoutedEventHelper.cs
+355 −202 src/NotifyIconWpf/TaskbarIcon.Declarations.cs
+105 −78 src/NotifyIconWpf/TaskbarIcon.cs
+8 −56 src/NotifyIconWpf/Util.cs
+3 −3 src/global.json
+1 −1 src/version.json
2 changes: 1 addition & 1 deletion src/3rdparty/xcompose
Submodule xcompose updated 13 files
+2 −0 .gitignore
+6 −1 Makefile
+1 −1 README.md
+27 −0 baserefresh.pl
+4 −0 checklines.py3
+1,864 −1,319 dotXCompose
+400 −104 emoji-base
+24 −1 emojitrans2.pl
+381 −0 parens-base
+212 −10 parens.compose
+36 −38 scan4dups.py
+14 −22 treeprint.py
+265 −0 xcompose-mode.el
2 changes: 1 addition & 1 deletion src/3rdparty/xorgproto
Submodule xorgproto updated from 21e05d to e312ab
40 changes: 20 additions & 20 deletions src/Makefile
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

# Requirements:
# - Inno Setup 6 (download and install)
# - GitVersion (choco install gitversion)
Expand All @@ -8,11 +7,11 @@
# - gettext (mingw-get install msys-gettext)

VERSION = $(shell gitversion -showvariable MajorMinorPatch)
FRAMEWORK = net40
FRAMEWORK = net481
CONFIG = Release

SRCDIR = wincompose
BINDIR = wincompose/bin/$(CONFIG)/$(FRAMEWORK)
BINDIR = wincompose\bin\$(CONFIG)\$(FRAMEWORK)

SLN = wincompose.sln
ISS = installer/installer.iss
Expand All @@ -28,6 +27,7 @@ DLL = $(BINDIR)/language.dll \
$(BINDIR)/Hardcodet.NotifyIcon.Wpf.dll \
$(BINDIR)/NLog.dll \
$(BINDIR)/stfu.dll \
$(BINDIR)/Wpf.Ui.dll \
$(BINDIR)/System.ValueTuple.dll \
$(BINDIR)/Typography.OpenFont.dll \
$(BINDIR)/Typography.GlyphLayout.dll
Expand All @@ -36,21 +36,21 @@ LANG = $(sort $(subst ., , $(suffix $(basename $(wildcard language/i18n/*.*.resx
PORTABLE = WinCompose-NoInstall-$(VERSION).zip

VSWHERE = "${ProgramFiles(x86)}/Microsoft Visual Studio/Installer/vswhere.exe"
MSBUILD = TMP= TEMP= "$(shell $(VSWHERE) -latest -requires Microsoft.Component.MSBuild -find 'MSBuild/**/Bin/MSBuild.exe')"
MSBUILD = "$(shell $(VSWHERE) -latest -requires Microsoft.Component.MSBuild -find 'MSBuild/**/Bin/MSBuild.exe')"
MSGMERGE = msgmerge

all: check installer portable
@echo
@echo Latest: $(VERSION)
@echo Installer: https://github.com/samhocevar/wincompose/releases/download/v$(VERSION)/WinCompose-Setup-$(VERSION).exe
@echo InstallerSHA256: $(shell sha256sum WinCompose-Setup-$(VERSION).exe)
@echo InstallerMD5: $(shell md5sum WinCompose-Setup-$(VERSION).exe)
@echo Portable: https://github.com/samhocevar/wincompose/releases/download/v$(VERSION)/WinCompose-NoInstall-$(VERSION).zip
@echo PortableSHA256: $(shell sha256sum $(PORTABLE))
@echo PortableMD5: $(shell md5sum $(PORTABLE))
@echo Installer: https://github.com/ell1010/wincompose/releases/download/v$(VERSION)/WinCompose-Setup-$(VERSION).exe
@echo InstallerMD5: $(shell certutil -hashfile WinCompose-Setup-$(VERSION).exe MD5)
@echo InstallerSHA256: $(shell certutil -hashfile WinCompose-Setup-$(VERSION).exe sha256)
@echo Portable: https://github.com/ell1010/wincompose/releases/download/v$(VERSION)/WinCompose-NoInstall-$(VERSION).zip
@echo PortableSHA256: $(shell certutil -hashfile $(PORTABLE) MD5)
@echo PortableMD5: $(shell certutil -hashfile $(PORTABLE) sha256)

check:
./check-data.sh
bash ./check-data.sh

clean:
$(MSBUILD) $(SLN) -p:Configuration=$(CONFIG) -t:Clean
Expand All @@ -60,21 +60,21 @@ clean:
rm -rf wincompose/obj wincompose/bin || true

build:
nuget restore $(SLN)
dotnet restore $(SLN)
$(MSBUILD) $(SLN) -p:Configuration=$(CONFIG) -t:Build

installer: build $(EXE) $(ISS) $(PAS)

portable: build $(EXE)
rm -f $(PORTABLE)
rm -rf $(PORTABLE:.zip=)
mkdir -p $(PORTABLE:.zip=)/rules
mkdir -p $(addprefix $(PORTABLE:.zip=)/, $(LANG))
for L in $(LANG); do cp $(BINDIR)/$${L}/language.resources.dll $(PORTABLE:.zip=)/$${L}/; done
mkdir $(PORTABLE:.zip=)\rules
mkdir $(addprefix $(PORTABLE:.zip=)\, $(LANG))
for %%L in ($(LANG)) do cp $(BINDIR)\%%L\language.resources.dll $(PORTABLE:.zip=)\%%L\
cp $(EXE) $(DLL) $(PORTABLE:.zip=)
cp $(EXE).config $(PORTABLE:.zip=)
cp $(TXT) $(PORTABLE:.zip=)/rules
echo 'CreateObject("WScript.Shell").Run CreateObject("Scripting.FileSystemObject").GetParentFolderName(WScript.ScriptFullName) & "\wincompose.exe -settings",0' > $(PORTABLE:.zip=)/wincompose-settings.vbs
echo 'CreateObject("WScript.Shell").Run CreateObject("Scripting.FileSystemObject").GetParentFolderName(WScript.ScriptFullName) & "\wincompose.exe -sequences",0' > $(PORTABLE:.zip=)/wincompose-sequences.vbs
zip -r $(PORTABLE) $(PORTABLE:.zip=)
rm -rf $(PORTABLE:.zip=)
cp $(TXT) $(PORTABLE:.zip=)\rules
echo start wincompose.exe -settings > $(PORTABLE:.zip=)\wincompose-settings.bat
echo start wincompose.exe -sequences > $(PORTABLE:.zip=)\wincompose-sequences.bat
tar -a -c -f $(PORTABLE) $(PORTABLE:.zip=)
rm -rf $(PORTABLE:.zip=)
Binary file added src/icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions src/installer/app.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2"/></startup></configuration>
6 changes: 3 additions & 3 deletions src/installer/installer-helper.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
<ProjectGuid>{91D61EB7-36A9-449F-B8AE-D151928026DA}</ProjectGuid>
<Keyword>installer-helper</Keyword>
<RootNamespace>installer-helper</RootNamespace>
<WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup>
Expand All @@ -24,13 +24,13 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
Expand Down
7 changes: 5 additions & 2 deletions src/installer/installer.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,20 @@
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{55AF5191-E02C-4445-A578-D209A40C0AC7}</ProjectGuid>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' " />
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
<ItemGroup>
<None Include="app.config" />
<None Include="installer.iss" />
</ItemGroup>
<Target Name="Build">
<Exec Command="&quot;%ProgramFiles(x86)%\Inno Setup 6\iscc&quot; /V4 /DCONFIG=$(Configuration) &quot;installer.iss&quot;" />
</Target>
<Target Name="Clean">
<Exec Command="for /F &quot;tokens=*&quot; %%g in ('gitversion -showvariable MajorMinorPatch') do (del ..\WinCompose-Setup-%%g.exe)" />
<Exec Command="for /F &quot;tokens=*&quot; %%g in ('dotnet-gitversion -showvariable MajorMinorPatch') do (del ..\WinCompose-Setup-%%g.exe)" />
</Target>
<Target Name="Rebuild" DependsOnTargets="Clean;Build" />
</Project>
</Project>
7 changes: 4 additions & 3 deletions src/installer/installer.iss
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
#ifndef CONFIG
# define CONFIG GetEnv('CONFIG')
#endif
#define FRAMEWORK "net40"
#define FRAMEWORK "net481"

#define SRCDIR "../wincompose"
#define BINDIR "../wincompose/bin/" + CONFIG + "/" + FRAMEWORK
Expand Down Expand Up @@ -58,6 +58,7 @@ Source: "{#BINDIR}\{#EXE}.config"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#BINDIR}\language.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#BINDIR}\Emoji.Wpf.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#BINDIR}\Hardcodet.NotifyIcon.Wpf.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#BINDIR}\Wpf.Ui.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#BINDIR}\NLog.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#BINDIR}\System.ValueTuple.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#BINDIR}\stfu.dll"; DestDir: "{app}"; Flags: ignoreversion
Expand Down Expand Up @@ -134,7 +135,7 @@ Name: "fr"; MessagesFile: "compiler:Languages/French.isl"
; [???] ga (Gaelic)
Name: "hi"; MessagesFile: "{#INNODIR}/Languages/Unofficial/Hindi.islu"
Name: "hr"; MessagesFile: "{#INNODIR}/Languages/Unofficial/Croatian.isl"
Name: "hu"; MessagesFile: "{#INNODIR}/Languages/Unofficial/Hungarian.isl"
Name: "hu"; MessagesFile: "{#INNODIR}/Languages/Hungarian.isl"
; [ERR] Name: "id"; MessagesFile: "{#INNODIR}/Languages/Unofficial/Indonesian.isl"
Name: "it"; MessagesFile: "compiler:Languages/Italian.isl"
Name: "ja"; MessagesFile: "compiler:Languages/Japanese.isl"
Expand All @@ -151,7 +152,7 @@ Name: "sk"; MessagesFile: "compiler:Languages/Slovak.isl"
Name: "sl"; MessagesFile: "compiler:Languages/Slovenian.isl"
; [ERR] sq / Albanian.isl
Name: "sr"; MessagesFile: "{#INNODIR}/Languages/Unofficial/SerbianCyrillic.isl"
Name: "sv"; MessagesFile: "{#INNODIR}/Languages/Unofficial/Swedish.isl"
Name: "sv"; MessagesFile: "{#INNODIR}/Languages/Swedish.isl"
Name: "uk"; MessagesFile: "compiler:Languages/Ukrainian.isl"
Name: "zh"; MessagesFile: "{#INNODIR}/Languages/Unofficial/ChineseSimplified.isl"
; [ERR] Name: "zh_Hant"; MessagesFile: "{#INNODIR}/Languages/Unofficial/ChineseTraditional.isl"
Expand Down
12 changes: 6 additions & 6 deletions src/installer/installer.pas
Original file line number Diff line number Diff line change
Expand Up @@ -99,13 +99,13 @@ procedure visit_homepage(sender: tobject);
end;

{
{ Download .NET Framework 3.5 SP1
{ Download .NET Framework 4.8.1
}
procedure download_dotnet(sender: tobject);
var
ret: integer;
begin
shellexec('open', 'https://dotnet.microsoft.com/download/dotnet-framework/net40',
shellexec('open', 'https://dotnet.microsoft.com/en-us/download/dotnet-framework/net481',
'', '', sw_show, ewnowait, ret);
end;

Expand Down Expand Up @@ -176,12 +176,12 @@ procedure InitializeWizard;
_('Software required by WinCompose'));

warning := tnewstatictext.create(dotnet_page);
warning.caption := _('WinCompose needs the .NET Framework, version 4.0 or later, which does not\n'
warning.caption := _('WinCompose needs the .NET Framework, version 4.8.1 or later, which does not\n'
+ 'seem to be currently installed. The following action may help solve the problem:');
warning.parent := dotnet_page.surface;

action := tnewstatictext.create(dotnet_page);
action.caption := _('Download and install .NET Framework 4.0 Runtime');
action.caption := _('Download and install .NET Framework 4.8.1 Runtime');
action.parent := dotnet_page.surface;
action.cursor := crhand;
action.onclick := @download_dotnet;
Expand Down Expand Up @@ -220,7 +220,7 @@ procedure refresh_dotnet_page(sender: tobject; var key: word; shift: tshiftstate
begin
if wizardform.curpageid = dotnet_page.id then
begin
if (get_dotnet_state() < 0) then begin
if not IsDotNetInstalled(net462, 0) then begin
wizardform.nextbutton.enabled := false;
action.visible := true;
hint.visible := true;
Expand Down Expand Up @@ -264,7 +264,7 @@ function ShouldSkipPage(page_id: integer): boolean;
{ If this is the .NET page, only show it on run 1 and if the
{ prerequisites are not yet installed. }
if page_id = dotnet_page.id then begin
result := (state <> s_run_1) or (get_dotnet_state() = 0);
result := (state <> s_run_1) or (IsDotNetInstalled(net462, 0));
exit;
end;

Expand Down
2 changes: 1 addition & 1 deletion src/language/i18n/Text.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Empty file.
Loading