Compare commits
2 commits
f7680216b8
...
a54e5422b4
Author | SHA1 | Date | |
---|---|---|---|
a54e5422b4 | |||
a156009442 |
4 changed files with 21 additions and 8 deletions
15
man/mkwin.1
15
man/mkwin.1
|
@ -6,11 +6,9 @@
|
||||||
.Nd generate bash scripts for running Windows programs from WSL
|
.Nd generate bash scripts for running Windows programs from WSL
|
||||||
.Sh SYNOPSIS
|
.Sh SYNOPSIS
|
||||||
.Nm mkwin
|
.Nm mkwin
|
||||||
.Op Fl hq
|
.Op Fl heEq
|
||||||
.Op Fl -empty
|
|
||||||
.Op Fl -find Ar root
|
.Op Fl -find Ar root
|
||||||
.Op Fl -pc Ar flags
|
.Op Fl -pc Ar flags
|
||||||
.Op Fl -quiet
|
|
||||||
.Ar target
|
.Ar target
|
||||||
.Op Ar --\ args
|
.Op Ar --\ args
|
||||||
.Sh DESCRIPTION
|
.Sh DESCRIPTION
|
||||||
|
@ -20,8 +18,12 @@ utility generates bash scripts for executing Windows executables from WSL, and p
|
||||||
.Bl -tag -width Ds
|
.Bl -tag -width Ds
|
||||||
.It Ar --\ args
|
.It Ar --\ args
|
||||||
The resulting script will forward the provided arguments.
|
The resulting script will forward the provided arguments.
|
||||||
.It Fl -empty
|
.It Fl e , Fl -empty
|
||||||
The resulting script will not pass arguments to the target binary.
|
The resulting script will not pass arguments to the target binary.
|
||||||
|
.It Fl E , Fl -env-share
|
||||||
|
The resulting script will call the
|
||||||
|
.Xr env-share 1
|
||||||
|
utility.
|
||||||
.It Fl -find Ar root
|
.It Fl -find Ar root
|
||||||
The resulting script will locate the target binary in the given directory using
|
The resulting script will locate the target binary in the given directory using
|
||||||
.Xr find 1 .
|
.Xr find 1 .
|
||||||
|
@ -53,7 +55,12 @@ Windows Terminal's executable moves when updated. To generate a script to launch
|
||||||
.Pp
|
.Pp
|
||||||
.Dl $ mkwin --empty --find='/mnt/c/Program Files/WindowsApps/Microsoft.WindowsTerminal*' WindowsTerminal.exe > terminal.sh
|
.Dl $ mkwin --empty --find='/mnt/c/Program Files/WindowsApps/Microsoft.WindowsTerminal*' WindowsTerminal.exe > terminal.sh
|
||||||
.Pp
|
.Pp
|
||||||
|
PowerShell doesn't inherit environment variables from WSL. To generate a script to call PowerShell with shared variables:
|
||||||
|
.Pp
|
||||||
|
.Dl $ mkwin -E '/mnt/c/Program Files/PowerShell/7/pwsh.exe'
|
||||||
|
.Pp
|
||||||
.Sh SEE ALSO
|
.Sh SEE ALSO
|
||||||
|
.Xr env-share 1 ,
|
||||||
.Xr find 1 ,
|
.Xr find 1 ,
|
||||||
.Xr path-convert 1
|
.Xr path-convert 1
|
||||||
.Sh AUTHORS
|
.Sh AUTHORS
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[package]
|
[package]
|
||||||
name = "mkwin"
|
name = "mkwin"
|
||||||
version = "0.0.5"
|
version = "0.1.0"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
pub const HELP: [&str;2] = ["-h", "--help"];
|
pub const HELP: [&str;2] = ["-h", "--help"];
|
||||||
pub const EMPTY: [&str;2] = ["-e", "--empty"];
|
pub const EMPTY: [&str;2] = ["-e", "--empty"];
|
||||||
|
pub const ENV_SHARE: [&str;2] = ["-E", "--env-share"];
|
||||||
pub const FIND_BIN: &str = "--find";
|
pub const FIND_BIN: &str = "--find";
|
||||||
pub const PATH_CONVERT: &str = "--pc";
|
pub const PATH_CONVERT: &str = "--pc";
|
||||||
pub const QUIET: [&str;2] = ["-q", "--quiet"];
|
pub const QUIET: [&str;2] = ["-q", "--quiet"];
|
||||||
|
|
|
@ -59,8 +59,9 @@ pub fn main() {
|
||||||
}
|
}
|
||||||
|
|
||||||
// consume simple flags
|
// consume simple flags
|
||||||
let empty = args.contains(flag::EMPTY);
|
let empty = args.contains(flag::EMPTY);
|
||||||
let quiet = args.contains(flag::QUIET);
|
let env_share = args.contains(flag::ENV_SHARE);
|
||||||
|
let quiet = args.contains(flag::QUIET);
|
||||||
|
|
||||||
// get target executable
|
// get target executable
|
||||||
let target: String;
|
let target: String;
|
||||||
|
@ -83,7 +84,11 @@ pub fn main() {
|
||||||
}
|
}
|
||||||
|
|
||||||
// construct output
|
// construct output
|
||||||
print!("#!/usr/bin/bash\n# generated with: mkwin{arg_string}\n\n{target}");
|
println!("#!/usr/bin/bash\n# generated with: mkwin{arg_string}\n");
|
||||||
|
|
||||||
|
if env_share { println!("env-share 2> /dev/null\n"); }
|
||||||
|
|
||||||
|
print!("{target}");
|
||||||
|
|
||||||
// handle forwarded arguments
|
// handle forwarded arguments
|
||||||
if !forwarded.is_empty() {
|
if !forwarded.is_empty() {
|
||||||
|
|
Loading…
Reference in a new issue