1
0
mirror of https://github.com/mintty/wsltty.git synced 2025-11-05 01:21:53 +00:00

Compare commits

...

6 Commits
0.7.5 ... 0.7.7

Author SHA1 Message Date
mintty
0d1f0875be 0.7.7; install target (#30, #38, #40) 2017-05-19 22:20:23 +02:00
mintty
d7c73fb40e revise installation; change config location, flexible install target 2017-05-19 22:19:20 +02:00
mintty
1049ca2baf Merge branch 'master' of https://github.com/mintty/wsltty 2017-05-11 12:35:36 +02:00
mintty
088f3bc06b clarify wsltty HOME vs WSL home (#42, #40) 2017-05-11 12:33:37 +02:00
mintty
28dfd66e09 hint to unblock installer if needed (#32) 2017-05-06 19:42:03 +02:00
mintty
3b6a356585 0.7.6 2017-04-14 01:08:20 +02:00
10 changed files with 166 additions and 46 deletions

View File

@@ -11,6 +11,12 @@ Run the [installer](https://github.com/mintty/wsltty/releases) to install
* `wsl*.bat` scripts to invoke wsltty manually (with some variations and invocation options, see below)
* an uninstall script that can be invoked manually to remove shortcuts and context menu entries
If Windows complains with a “Windows protected your PC” popup,
you may need to click “Run anyway” to proceed with the installation.
You may need to open the Properties of the installer first, tab “General”
section “Security” (if available) and select “Unblock”,
to enable the “Run anyway” button.
### Configuration ###
#### Command line scripts `wsl*.bat` ####
@@ -40,14 +46,19 @@ add a `cd` command to your `$HOME/.profile` on Linux side.
Mintty can maintain its configuration file in various locations,
with the following precedence:
* file given with mintty option `-c`
* `%LOCALAPPDATA%\wsltty\home\%USERNAME%\.minttyrc`
* `%LOCALAPPDATA%\wsltty\home\%USERNAME%\.config\mintty\config`
* `%HOME%\.minttyrc`
* `%HOME%\.config\mintty\config`
* `%APPDATA%\mintty\config`
* `%LOCALAPPDATA%\wsltty\etc\minttyrc`
Note that the `%APPDATA%\mintty\config` option provides the possibility
to maintain common mintty settings for various installations (like
wsltty, Cygwin, MinGW/msys, Git for Windows, MinEd for Windows).
Note:
* By default, `%HOME%` would refer to the root directory of the cygwin standalone
installation hosting wsltty. So `%HOME%` would mean `%LOCALAPPDATA%\wsltty\home\%USERNAME%`.
If you define `HOME` at Windows level, this changes accordingly.
Note, however, that the WSL `HOME` is a completely different setting.
* The `%APPDATA%\mintty\config` option provides the possibility to
maintain common mintty settings for various installations (like
wsltty, Cygwin, MinGW/msys, Git for Windows, MinEd for Windows).
#### Shell selection ####

View File

@@ -1,7 +1,7 @@
@echo off
rem See comments in install.bat about changing the installation directory.
set installdir=%LOCALAPPDATA%\wsltty
if "%installdir%" == "" set installdir=%LOCALAPPDATA%\wsltty
if "%configdir%" == "" set configdir=%APPDATA%\wsltty
if "%1"=="/U" goto remove

View File

@@ -1,11 +1,14 @@
@echo off
rem If you change the installation directory,
rem it also needs to be adapted in
rem - the Shortcut links *.lnk
rem - the cmd invocation scripts wsl*.bat
set refinstalldir=%%LOCALAPPDATA%%\wsltty
set installdir=%LOCALAPPDATA%\wsltty
set refconfigdir=%%APPDATA%%\wsltty
set configdir=%APPDATA%\wsltty
set oldroot=%installdir%
set oldhomedir=%installdir%\home\%USERNAME%
set oldconfigdir=%oldhomedir%\.config\mintty
if not "%1" == "" set refinstalldir=%1 && set installdir=%1
if not "%2" == "" set refconfigdir=%2 && set configdir=%2
:deploy
@@ -13,18 +16,20 @@ set installdir=%LOCALAPPDATA%\wsltty
mkdir "%installdir%"
copy LICENSE.mintty "%installdir%"
copy LICENSE.wslbridge "%installdir%"
copy uninstall.bat "%installdir%"
copy wsl.bat "%installdir%"
copy wsl~.bat "%installdir%"
copy wsl-l.bat "%installdir%"
copy "config-context-menu.bat" "%installdir%"
echo @echo off> setdirs.bat
echo set refinstalldir=%refinstalldir%>> setdirs.bat
echo set installdir=%installdir%>> setdirs.bat
echo set refconfigdir=%refconfigdir%>> setdirs.bat
echo set configdir=%configdir%>> setdirs.bat
copy setdirs.bat + wsl.bat "%installdir%\wsl.bat"
copy setdirs.bat + wsl~.bat "%installdir%\wsl~.bat"
copy setdirs.bat + wsl-l.bat "%installdir%\wsl-l.bat"
copy setdirs.bat + uninstall.bat "%installdir%\uninstall.bat"
copy setdirs.bat + config-context-menu.bat "%installdir%\config-context-menu.bat"
copy "add to context menu.lnk" "%installdir%"
copy "remove from context menu.lnk" "%installdir%"
rem does not work without admin rights:
rem copy wsl.bat "%SYSTEMROOT%\System32"
rem copy wsl~.bat "%SYSTEMROOT%\System32"
rem copy wsl-l.bat "%SYSTEMROOT%\System32"
mkdir "%installdir%\bin"
copy cygwin1.dll "%installdir%\bin"
@@ -35,23 +40,28 @@ copy zoo.exe "%installdir%\bin"
copy wslbridge.exe "%installdir%\bin"
copy wslbridge-backend "%installdir%\bin"
rem create "home directory" to enable storage of config file
mkdir "%installdir%\home
mkdir "%installdir%\home\%USERNAME%"
rem create "config directory" and copy config archive
mkdir "%installdir%\home\%USERNAME%\.config"
mkdir "%installdir%\home\%USERNAME%\.config\mintty"
mkdir "%installdir%\home\%USERNAME%\.config\mintty\lang"
copy po.zoo "%installdir%\home\%USERNAME%\.config\mintty\lang"
rem create system config directory and copy config archive
mkdir "%installdir%\usr\share\mintty\lang"
copy po.zoo "%installdir%\usr\share\mintty\lang"
:shortcuts
rem generate shortcuts
set icon=%%LOCALAPPDATA%%\lxss\bash.ico
set target=%refinstalldir%\bin\mintty.exe
set minttyargs=--wsl --configdir="%refconfigdir%" -o Locale=C -o Charset=UTF-8 /bin/wslbridge
set bridgeargs=-t /bin/bash
cscript mkshortcut.vbs "/name:WSL Bash %% in Mintty"
set bridgeargs=-C~ -t /bin/bash
cscript mkshortcut.vbs "/name:WSL Bash ~ in Mintty"
set bridgeargs=-t /bin/bash -l
cscript mkshortcut.vbs "/name:WSL Bash -l in Mintty"
rem create Start Menu Folder
set smf=%APPDATA%\Microsoft\Windows\Start Menu\Programs\WSLtty
mkdir "%smf%"
echo on
copy "wsltty home & help.url" "%smf%"
copy "WSL Bash %% in Mintty.lnk" "%smf%"
copy "WSL Bash ~ in Mintty.lnk" "%smf%"
@@ -65,11 +75,35 @@ copy "WSL Bash %% in Mintty.lnk" "%USERPROFILE%\Desktop"
copy "WSL Bash ~ in Mintty.lnk" "%USERPROFILE%\Desktop"
:config
:sysconfig
rem unpack config files
cd /D "%installdir%\home\%USERNAME%\.config\mintty\lang"
"%installdir%\bin\zoo" x po
rem unpack config files in system config directory
cd /D "%installdir%\usr\share\mintty\lang"
"%installdir%\bin\zoo" xO po
:migrate configuration
rem migrate old config resource files to new config dir
if exist "%configdir%" goto configfile
if not exist "%oldconfigdir%" goto configfile
if exist "%oldhomedir%\.minttyrc" copy "%oldhomedir%\.minttyrc" "%oldconfigdir%\config" && del "%oldhomedir%\.minttyrc"
xcopy /E /I /Y "%oldconfigdir%" "%configdir%" && rmdir /S /Q "%oldconfigdir%"
rmdir "%oldhomedir%\.config"
:configfile
if exist "%configdir%\config" goto deloldhome
if exist "%oldhomedir%\.minttyrc" copy "%oldhomedir%\.minttyrc" "%configdir%\config" && del "%oldhomedir%\.minttyrc"
:deloldhome
rmdir "%oldhomedir%"
rmdir "%oldroot%\home"
:userconfig
rem create user config directory and subfolders
mkdir "%configdir%\lang"
mkdir "%configdir%\sounds"
mkdir "%configdir%\themes"
:end

View File

@@ -9,10 +9,10 @@
all: check pkg
# wsltty release
ver=0.7.5
ver=0.7.7
# mintty release version
minttyver=2.7.5
minttyver=2.7.7
#minttyver=master
# wslbridge backend version
@@ -55,7 +55,9 @@ check:
# check cygwin (vs msys) for proper drag-and-drop paths:
uname | grep CYGWIN
# check 32 bit (vs 64 bit) to ensure 32-Bit Windows support, just in case:
uname -m | grep i686
#uname -m | grep i686
# check 64 bit (vs 32 bit) to provide 64-Bit stability support:
uname -m | grep x86_64
#############################################################################
# generation
@@ -98,7 +100,7 @@ cygwin:
#cp /bin/dash.exe bin/
cp /bin/zoo.exe bin/
cab:
cop: ver
mkdir -p rel
rm -fr rel/wsltty-$(ver)-install.exe
sed -e "s,%version%,$(ver)," makewinx.cfg > rel/wsltty.SED
@@ -114,8 +116,19 @@ cab:
cp *.lnk rel/
cp *.url rel/
cp *.bat rel/
cp *.vbs rel/
cab: cop
cd rel; iexpress /n wsltty.SED
install: cop installbat
installbat:
cd rel; cmd /C install
ver:
echo $(ver) > VERSION
pkg: wslbridge cygwin mintty cab
wsltty: wslbridge cygwin mintty-build cab

View File

@@ -53,6 +53,7 @@ FILE17="remove from context menu.lnk"
FILE18="wsltty home & help.url"
FILE19="zoo.exe"
FILE20="po.zoo"
FILE21=mkshortcut.vbs
[SourceFiles]
SourceFiles0=.
@@ -79,4 +80,5 @@ SourceFiles0=.
%FILE18%=
%FILE19%=
%FILE20%=
%FILE21%=

52
mkshortcut.vbs Executable file
View File

@@ -0,0 +1,52 @@
rem cscript mkshortcut.vbs [/param:arg] /target:link
rem %
rem /arguments:--wsl -o Locale=C -o Charset=UTF-8 /bin/wslbridge -t /bin/bash
rem ~
rem /arguments:--wsl -o Locale=C -o Charset=UTF-8 /bin/wslbridge -C~ -t /bin/bash
rem -l
rem /arguments:--wsl -o Locale=C -o Charset=UTF-8 /bin/wslbridge -t /bin/bash -l
rem /target:%LOCALAPPDATA%\wsltty\bin\mintty.exe
rem /workingdir:%USERPROFILE%
rem /icon:%LOCALAPPDATA%\lxss\bash.ico
rem General - Name:
name = Wscript.Arguments.Named("name") & ".lnk"
set wshell = WScript.CreateObject("WScript.Shell")
set lnk = wshell.CreateShortcut(name)
rem Target:
rem lnk.TargetPath = Wscript.Arguments.Named("target")
rem lnk.Arguments = Wscript.Arguments.Named("arguments")
lnk.TargetPath = wshell.ExpandEnvironmentStrings("%target%")
minttyargs = wshell.ExpandEnvironmentStrings("%minttyargs%")
bridgeargs = wshell.ExpandEnvironmentStrings("%bridgeargs%")
lnk.Arguments = minttyargs & bridgeargs
wscript.echo "minttyargs: " & minttyargs
wscript.echo lnk.Arguments
rem Start in:
rem lnk.WorkingDirectory = Wscript.Arguments.Named("workingdir")
lnk.WorkingDirectory = "%USERPROFILE%"
rem Icon:
rem icon = Wscript.Arguments.Named("icon")
rem rem iconoffset = Wscript.Arguments.Named("iconoffset")
rem rem icon = icon & ", " & iconoffset
icon = wshell.ExpandEnvironmentStrings("%icon%")
wscript.echo "icon: " & icon
lnk.IconLocation = icon
rem lnk.IconLocation = "%LOCALAPPDATA%\lxss\bash.ico"
rem Shorcut key:
rem lnk.HotKey = "ALT+CTRL+W"
rem Run:
rem lnk.WindowStyle = 1
rem Comment:
rem lnk.IconLocation = Wscript.Arguments.Named("desc")
rem lnk.Description = "WSLtty"
lnk.Save

View File

@@ -1,8 +1,6 @@
@echo off
rem See comments in install.bat about changing the installation directory.
set installdir=%LOCALAPPDATA%\wsltty
if "%installdir%" == "" set installdir=%LOCALAPPDATA%\wsltty
:shortcuts
@@ -23,8 +21,9 @@ call "%installdir%\config-context-menu.bat" /U
:undeploy
cd %installdir%
rem currently not removing software
rem in any case, at least the config file (home\...) should not be removed
:end

View File

@@ -2,11 +2,14 @@
rem Start mintty terminal for WSL in home directory
if "%installdir%" == "" set installdir=%LOCALAPPDATA%\wsltty
if "%configdir%" == "" set configdir=%APPDATA%\wsltty
rem To enable invocation of this script from WIN+R or from cmd.exe,
rem you may want to copy this script into "%SYSTEMROOT%\System32"
rem You may want a variant of this script without trailing "-l"
rem to start in the current directory from cmd.exe
"%LOCALAPPDATA%\wsltty\bin\mintty.exe" --wsl -o Locale=C -o Charset=UTF-8 -i "%LOCALAPPDATA%\lxss\bash.ico" /bin/wslbridge -t /bin/bash -l
"%installdir%\bin\mintty.exe" --wsl "--configdir=%configdir%" -o Locale=C -o Charset=UTF-8 -i "%LOCALAPPDATA%\lxss\bash.ico" /bin/wslbridge -t /bin/bash -l

View File

@@ -2,11 +2,14 @@
rem Start mintty terminal for WSL in home directory
if "%installdir%" == "" set installdir=%LOCALAPPDATA%\wsltty
if "%configdir%" == "" set configdir=%APPDATA%\wsltty
rem To enable invocation of this script from WIN+R or from cmd.exe,
rem you may want to copy this script into "%SYSTEMROOT%\System32"
rem You may want a variant of this script without trailing "-l"
rem to start in the current directory from cmd.exe
"%LOCALAPPDATA%\wsltty\bin\mintty.exe" --wsl -o Locale=C -o Charset=UTF-8 -i "%LOCALAPPDATA%\lxss\bash.ico" /bin/wslbridge -t /bin/bash
"%installdir%\bin\mintty.exe" --wsl "--configdir=%configdir%" -o Locale=C -o Charset=UTF-8 -i "%LOCALAPPDATA%\lxss\bash.ico" /bin/wslbridge -t /bin/bash

View File

@@ -2,11 +2,14 @@
rem Start mintty terminal for WSL in home directory
if "%installdir%" == "" set installdir=%LOCALAPPDATA%\wsltty
if "%configdir%" == "" set configdir=%APPDATA%\wsltty
rem To enable invocation of this script from WIN+R or from cmd.exe,
rem you may want to copy this script into "%SYSTEMROOT%\System32"
rem You may want a variant of this script without trailing "-l"
rem to start in the current directory from cmd.exe
"%LOCALAPPDATA%\wsltty\bin\mintty.exe" --wsl -o Locale=C -o Charset=UTF-8 -i "%LOCALAPPDATA%\lxss\bash.ico" /bin/wslbridge -C~ -t /bin/bash
"%installdir%\bin\mintty.exe" --wsl "--configdir=%configdir%" -o Locale=C -o Charset=UTF-8 -i "%LOCALAPPDATA%\lxss\bash.ico" /bin/wslbridge -C~ -t /bin/bash