mirror of
https://github.com/mintty/wsltty.git
synced 2025-11-12 12:55:48 +00:00
Compare commits
12 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2fb994604a | ||
|
|
5da3a053a9 | ||
|
|
ad65aa9931 | ||
|
|
c9acce8d76 | ||
|
|
1533c27b36 | ||
|
|
3e3eaf6e31 | ||
|
|
482df018c9 | ||
|
|
23fc790c26 | ||
|
|
e5c67ecc7c | ||
|
|
20075c6378 | ||
|
|
05ce002fc6 | ||
|
|
cc37c6c2d5 |
@@ -17,6 +17,8 @@ See LICENSE.PuTTY for PuTTY's copyright notice, contributors, and license.
|
|||||||
The sources of PuTTY 0.60 can be downloaded from
|
The sources of PuTTY 0.60 can be downloaded from
|
||||||
ftp://ftp.chiark.greenend.org.uk/users/sgtatham/putty-0.60.
|
ftp://ftp.chiark.greenend.org.uk/users/sgtatham/putty-0.60.
|
||||||
|
|
||||||
|
The minibidi algorithm is under MIT license as quoted in the source file.
|
||||||
|
|
||||||
Sixel code (sixel.c) is relicensed under GPL like mintty with the
|
Sixel code (sixel.c) is relicensed under GPL like mintty with the
|
||||||
permission of its author (kmiya@culti); Sixel colour conversion code
|
permission of its author (kmiya@culti); Sixel colour conversion code
|
||||||
(sixel_hls.c) is licensed by its author Ross Combs under the license
|
(sixel_hls.c) is licensed by its author Ross Combs under the license
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ A Windows Appx package and certificate is available in the [wsltty.appx](https:/
|
|||||||
|
|
||||||
WSLtty can be invoked with
|
WSLtty can be invoked with
|
||||||
* installed Start Menu shortcuts (or Desktop shortcuts if copied there)
|
* installed Start Menu shortcuts (or Desktop shortcuts if copied there)
|
||||||
* *.bat scripts
|
* *.bat scripts (optionally with WSL command as parameters)
|
||||||
* Explorer context menu (if installed from the Start Menu `WSLtty` subfolder)
|
* Explorer context menu (if installed from the Start Menu `WSLtty` subfolder)
|
||||||
|
|
||||||
Starting the mintty terminal directly from the WSLtty installation location
|
Starting the mintty terminal directly from the WSLtty installation location
|
||||||
@@ -121,6 +121,13 @@ To add launch entries for the default or all WSL distributions to the
|
|||||||
Explorer context menu, or remove them, run the respective script from the
|
Explorer context menu, or remove them, run the respective script from the
|
||||||
Start Menu subfolder `WSLtty`.
|
Start Menu subfolder `WSLtty`.
|
||||||
|
|
||||||
|
#### Icon ####
|
||||||
|
|
||||||
|
Wsltty installation and the mintty terminal try to use the icon of the
|
||||||
|
respective WSL distribution. If it cannot be determined, a penguin icon
|
||||||
|
is used as a default. You can replace it with your preferred fallback icon
|
||||||
|
by replacing the icon file `%LOCALAPPDATA%\wsltty\wsl.ico`.
|
||||||
|
|
||||||
#### Mintty settings ####
|
#### Mintty settings ####
|
||||||
|
|
||||||
Mintty can maintain its configuration file in various locations,
|
Mintty can maintain its configuration file in various locations,
|
||||||
|
|||||||
@@ -97,7 +97,7 @@ echo Creating %1.bat
|
|||||||
|
|
||||||
echo @echo off> %1.bat
|
echo @echo off> %1.bat
|
||||||
echo rem Start mintty terminal for WSL package %name% in current directory>> %1.bat
|
echo rem Start mintty terminal for WSL package %name% in current directory>> %1.bat
|
||||||
echo %target% -i "%icon%" %minttyargs% %bridgeargs%>> %1.bat
|
echo %target% -i "%icon%" %minttyargs% %bridgeargs% %%*>> %1.bat
|
||||||
/EOB
|
/EOB
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -167,28 +167,29 @@ do
|
|||||||
echoc "- icon $icon"
|
echoc "- icon $icon"
|
||||||
echoc "- root $root"
|
echoc "- root $root"
|
||||||
target="$installdir"'\bin\mintty.exe'
|
target="$installdir"'\bin\mintty.exe'
|
||||||
bridgeargs=" "
|
bridgeargs=" " # deprecated
|
||||||
|
|
||||||
if $ok && $config
|
if $ok && $config
|
||||||
then
|
then
|
||||||
export target minttyargs bridgeargs icon
|
export name target minttyargs bridgeargs icon
|
||||||
|
|
||||||
if $contextmenu
|
if $contextmenu
|
||||||
then
|
then
|
||||||
# context menu entries
|
# context menu entries
|
||||||
#cmd /C mkcontext "$name"
|
#cmd /C mkcontext "$name"
|
||||||
direckey='HKEY_CURRENT_USER\Software\Classes\Directory'
|
direckey='HKEY_CURRENT_USER\Software\Classes\Directory'
|
||||||
|
keyname="${name}_Terminal"
|
||||||
if $remove
|
if $remove
|
||||||
then
|
then
|
||||||
reg delete "$direckey\\shell\\$name" /f
|
reg delete "$direckey\\shell\\$keyname" /f
|
||||||
reg delete "$direckey\\Background\\shell\\$name" /f
|
reg delete "$direckey\\Background\\shell\\$keyname" /f
|
||||||
else
|
else
|
||||||
reg add "$direckey\\shell\\$name" /d "$name Terminal" /f
|
reg add "$direckey\\shell\\$keyname" /d "$name Terminal" /f
|
||||||
reg add "$direckey\\shell\\$name" /v Icon /d "$icon" /f
|
reg add "$direckey\\shell\\$keyname" /v Icon /d "$icon" /f
|
||||||
cmd /C reg add "$direckey\\shell\\$name\\command" /d "\"$target\" -i \"$icon\" --dir \"%1\" $minttyargs $bridgeargs" /f
|
cmd /C reg add "$direckey\\shell\\$keyname\\command" /d "\"$target\" -i \"$icon\" --dir \"%1\" $minttyargs $bridgeargs" /f
|
||||||
reg add "$direckey\\Background\\shell\\$name" /d "$name Terminal" /f
|
reg add "$direckey\\Background\\shell\\$keyname" /d "$name Terminal" /f
|
||||||
reg add "$direckey\\Background\\shell\\$name" /v Icon /d "$icon" /f
|
reg add "$direckey\\Background\\shell\\$keyname" /v Icon /d "$icon" /f
|
||||||
cmd /C reg add "$direckey\\Background\\shell\\$name\\command" /d "\"$target\" -i \"$icon\" $minttyargs $bridgeargs" /f
|
cmd /C reg add "$direckey\\Background\\shell\\$keyname\\command" /d "\"$target\" -i \"$icon\" $minttyargs $bridgeargs" /f
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
# invocation shortcuts and scripts
|
# invocation shortcuts and scripts
|
||||||
|
|||||||
14
install.bat
14
install.bat
@@ -26,11 +26,12 @@ copy "add to context menu.lnk" "%installdir%"
|
|||||||
copy "add default to context menu.lnk" "%installdir%"
|
copy "add default to context menu.lnk" "%installdir%"
|
||||||
copy "remove from context menu.lnk" "%installdir%"
|
copy "remove from context menu.lnk" "%installdir%"
|
||||||
copy "configure WSL shortcuts.lnk" "%installdir%"
|
copy "configure WSL shortcuts.lnk" "%installdir%"
|
||||||
copy "WSL Terminal.lnk" "%installdir%"
|
rem copy "WSL Terminal.lnk" "%installdir%"
|
||||||
copy "WSL Terminal %%.lnk" "%installdir%"
|
rem copy "WSL Terminal %%.lnk" "%installdir%"
|
||||||
copy wsl.ico "%installdir%"
|
|
||||||
copy config-distros.sh "%installdir%"
|
copy config-distros.sh "%installdir%"
|
||||||
copy mkshortcut.vbs "%installdir%"
|
copy mkshortcut.vbs "%installdir%"
|
||||||
|
rem allow persistent customization of default icon:
|
||||||
|
if not exist "%installdir%\wsl.ico" copy tux.ico "%installdir%\wsl.ico"
|
||||||
|
|
||||||
if not exist "%installdir%\bin" goto instbin
|
if not exist "%installdir%\bin" goto instbin
|
||||||
rem move previous programs possibly in use out of the way
|
rem move previous programs possibly in use out of the way
|
||||||
@@ -62,7 +63,8 @@ copy themes.zoo "%installdir%\usr\share\mintty\themes"
|
|||||||
mkdir "%installdir%\usr\share\mintty\info"
|
mkdir "%installdir%\usr\share\mintty\info"
|
||||||
copy charnames.txt "%installdir%\usr\share\mintty\info"
|
copy charnames.txt "%installdir%\usr\share\mintty\info"
|
||||||
mkdir "%installdir%\usr\share\mintty\icon"
|
mkdir "%installdir%\usr\share\mintty\icon"
|
||||||
copy wsl.ico "%installdir%\usr\share\mintty\icon"
|
copy tux.ico "%installdir%\usr\share\mintty\icon"
|
||||||
|
copy mintty.ico "%installdir%\usr\share\mintty\icon"
|
||||||
|
|
||||||
|
|
||||||
rem create Start Menu Folder
|
rem create Start Menu Folder
|
||||||
@@ -77,8 +79,8 @@ copy "add to context menu.lnk" "%smf%"
|
|||||||
copy "add default to context menu.lnk" "%smf%"
|
copy "add default to context menu.lnk" "%smf%"
|
||||||
copy "remove from context menu.lnk" "%smf%"
|
copy "remove from context menu.lnk" "%smf%"
|
||||||
copy "configure WSL shortcuts.lnk" "%smf%"
|
copy "configure WSL shortcuts.lnk" "%smf%"
|
||||||
copy "WSL Terminal.lnk" "%smf%"
|
rem copy "WSL Terminal.lnk" "%smf%"
|
||||||
copy "WSL Terminal %%.lnk" "%smf%"
|
rem copy "WSL Terminal %%.lnk" "%smf%"
|
||||||
rem clean up previous installation
|
rem clean up previous installation
|
||||||
rmdir /S /Q "%smf%\context menu shortcuts"
|
rmdir /S /Q "%smf%\context menu shortcuts"
|
||||||
|
|
||||||
|
|||||||
34
makefile
34
makefile
@@ -8,14 +8,18 @@
|
|||||||
|
|
||||||
|
|
||||||
# wsltty release
|
# wsltty release
|
||||||
ver=1.9.3
|
ver=3.0.0
|
||||||
|
|
||||||
# wsltty appx release
|
# wsltty appx release - must have 4 parts!
|
||||||
verx=0.9.3
|
verx=3.0.0.0
|
||||||
|
|
||||||
|
# Windows SDK version for appx
|
||||||
|
WINSDKKEY=/HKEY_LOCAL_MACHINE/SOFTWARE/WOW6432Node/Microsoft/.NET Framework Platform/Setup/Multi-Targeting Pack
|
||||||
|
WINSDKVER=`regtool list '$(WINSDKKEY)' | sed -e '$$ q' -e d`
|
||||||
|
|
||||||
##############################
|
##############################
|
||||||
# mintty release version
|
# mintty release version
|
||||||
minttyver=2.9.3
|
minttyver=3.0.0
|
||||||
|
|
||||||
# or mintty branch or commit version
|
# or mintty branch or commit version
|
||||||
#minttyver=master
|
#minttyver=master
|
||||||
@@ -90,6 +94,19 @@ check:
|
|||||||
# check 64 bit to provide 64-Bit stability support:
|
# check 64 bit to provide 64-Bit stability support:
|
||||||
uname -m | grep x86_64
|
uname -m | grep x86_64
|
||||||
|
|
||||||
|
#############################################################################
|
||||||
|
# patch version information for appx package configuration
|
||||||
|
|
||||||
|
fix-verx:
|
||||||
|
echo patching $(WINSDKVER) into Launcher config
|
||||||
|
cd Launcher; sed -i~ -e "/<supportedRuntime / s,Version=v[.0-9]*,Version=$(WINSDKVER)," app.config
|
||||||
|
echo patched app.config
|
||||||
|
cd Launcher; sed -i~ -e "/<TargetFrameworkVersion>/ s,v[.0-9]*,$(WINSDKVER)," Launcher.csproj
|
||||||
|
echo patched Launcher.csproj
|
||||||
|
echo patching $(verx) into app config
|
||||||
|
sed -i~ -e '/<Identity / s,Version="[.0-9]*",Version="$(verx)",' AppxManifest.xml
|
||||||
|
echo patched AppxManifest.xml
|
||||||
|
|
||||||
#############################################################################
|
#############################################################################
|
||||||
# generation
|
# generation
|
||||||
|
|
||||||
@@ -115,7 +132,9 @@ wslbridge-frontend: wslbridge-source
|
|||||||
mkdir -p bin
|
mkdir -p bin
|
||||||
cp wslbridge-$(wslbridge-commit)/out/wslbridge.exe bin/
|
cp wslbridge-$(wslbridge-commit)/out/wslbridge.exe bin/
|
||||||
|
|
||||||
wslbridge-backend: wslbridge-source
|
wslbridge-backend: wslbridge-source bin/wslbridge-backend
|
||||||
|
|
||||||
|
bin/wslbridge-backend:
|
||||||
cd wslbridge-$(wslbridge-commit)/backend; if uname -m | grep x86_64; then cmd /C wsl make; else wslbridge make; fi
|
cd wslbridge-$(wslbridge-commit)/backend; if uname -m | grep x86_64; then cmd /C wsl make; else wslbridge make; fi
|
||||||
mkdir -p bin
|
mkdir -p bin
|
||||||
cp wslbridge-$(wslbridge-commit)/out/wslbridge-backend bin/
|
cp wslbridge-$(wslbridge-commit)/out/wslbridge-backend bin/
|
||||||
@@ -123,6 +142,7 @@ wslbridge-backend: wslbridge-source
|
|||||||
mintty-get:
|
mintty-get:
|
||||||
$(wgeto) https://github.com/mintty/mintty/archive/$(minttyver).zip -o mintty-$(minttyver).zip
|
$(wgeto) https://github.com/mintty/mintty/archive/$(minttyver).zip -o mintty-$(minttyver).zip
|
||||||
unzip -o mintty-$(minttyver).zip
|
unzip -o mintty-$(minttyver).zip
|
||||||
|
cp mintty-$(minttyver)/icon/terminal.ico mintty.ico
|
||||||
|
|
||||||
wslbuild=LDFLAGS="-static -static-libgcc -s"
|
wslbuild=LDFLAGS="-static -static-libgcc -s"
|
||||||
appxbuild=$(wslbuild) CCOPT=-DWSLTTY_APPX
|
appxbuild=$(wslbuild) CCOPT=-DWSLTTY_APPX
|
||||||
@@ -136,6 +156,7 @@ mintty-build:
|
|||||||
cd mintty-$(minttyver)/src; make $(wslbuild) $(wslversion)
|
cd mintty-$(minttyver)/src; make $(wslbuild) $(wslversion)
|
||||||
mkdir -p bin
|
mkdir -p bin
|
||||||
cp mintty-$(minttyver)/bin/mintty.exe bin/
|
cp mintty-$(minttyver)/bin/mintty.exe bin/
|
||||||
|
strip bin/mintty.exe
|
||||||
|
|
||||||
mintty-build-appx:
|
mintty-build-appx:
|
||||||
# ensure rebuild of version-specific check and message
|
# ensure rebuild of version-specific check and message
|
||||||
@@ -144,6 +165,7 @@ mintty-build-appx:
|
|||||||
cd mintty-$(minttyver)/src; make $(appxbuild) $(appxversion)
|
cd mintty-$(minttyver)/src; make $(appxbuild) $(appxversion)
|
||||||
mkdir -p bin
|
mkdir -p bin
|
||||||
cp mintty-$(minttyver)/bin/mintty.exe bin/
|
cp mintty-$(minttyver)/bin/mintty.exe bin/
|
||||||
|
strip bin/mintty.exe
|
||||||
|
|
||||||
mintty-pkg:
|
mintty-pkg:
|
||||||
cp mintty-$(minttyver)/LICENSE LICENSE.mintty
|
cp mintty-$(minttyver)/LICENSE LICENSE.mintty
|
||||||
@@ -224,7 +246,7 @@ pkg: wslbridge cygwin mintty-get mintty-build mintty-pkg cab
|
|||||||
wsltty-appx: wslbridge appx-bin mintty-get mintty-build-appx mintty-appx
|
wsltty-appx: wslbridge appx-bin mintty-get mintty-build-appx mintty-appx
|
||||||
|
|
||||||
# appx package target:
|
# appx package target:
|
||||||
appx: wsltty-appx
|
appx: wsltty-appx fix-verx
|
||||||
sh ./build.sh
|
sh ./build.sh
|
||||||
|
|
||||||
#############################################################################
|
#############################################################################
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ FILE11="dash.exe"
|
|||||||
FILE12="regtool.exe"
|
FILE12="regtool.exe"
|
||||||
FILE13="install.bat"
|
FILE13="install.bat"
|
||||||
FILE14="uninstall.bat"
|
FILE14="uninstall.bat"
|
||||||
FILE15="wsl.ico"
|
FILE15="tux.ico"
|
||||||
FILE16="add to context menu.lnk"
|
FILE16="add to context menu.lnk"
|
||||||
FILE17="add default to context menu.lnk"
|
FILE17="add default to context menu.lnk"
|
||||||
FILE18="remove from context menu.lnk"
|
FILE18="remove from context menu.lnk"
|
||||||
@@ -55,9 +55,8 @@ FILE19="wsltty home & help.url"
|
|||||||
FILE20="zoo.exe"
|
FILE20="zoo.exe"
|
||||||
FILE21="lang.zoo"
|
FILE21="lang.zoo"
|
||||||
FILE22="themes.zoo"
|
FILE22="themes.zoo"
|
||||||
FILE23="WSL Terminal %.lnk"
|
FILE23="mkshortcut.vbs"
|
||||||
FILE24="WSL Terminal.lnk"
|
FILE24="mintty.ico"
|
||||||
FILE25="mkshortcut.vbs"
|
|
||||||
|
|
||||||
[SourceFiles]
|
[SourceFiles]
|
||||||
SourceFiles0=.
|
SourceFiles0=.
|
||||||
@@ -88,5 +87,4 @@ SourceFiles0=.
|
|||||||
%FILE22%=
|
%FILE22%=
|
||||||
%FILE23%=
|
%FILE23%=
|
||||||
%FILE24%=
|
%FILE24%=
|
||||||
%FILE25%=
|
|
||||||
|
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ rem lnk.Arguments = Wscript.Arguments.Named("arguments")
|
|||||||
lnk.TargetPath = wshell.ExpandEnvironmentStrings("%target%")
|
lnk.TargetPath = wshell.ExpandEnvironmentStrings("%target%")
|
||||||
minttyargs = wshell.ExpandEnvironmentStrings("%minttyargs%")
|
minttyargs = wshell.ExpandEnvironmentStrings("%minttyargs%")
|
||||||
bridgeargs = wshell.ExpandEnvironmentStrings("%bridgeargs%")
|
bridgeargs = wshell.ExpandEnvironmentStrings("%bridgeargs%")
|
||||||
lnk.Arguments = minttyargs & bridgeargs
|
lnk.Arguments = minttyargs & " " & bridgeargs
|
||||||
rem wscript.echo "minttyargs: " & minttyargs
|
rem wscript.echo "minttyargs: " & minttyargs
|
||||||
rem wscript.echo lnk.Arguments
|
rem wscript.echo lnk.Arguments
|
||||||
|
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 472 KiB After Width: | Height: | Size: 472 KiB |
Reference in New Issue
Block a user