Compare commits

...

2 commits

Author SHA1 Message Date
a54e5422b4 man: updated 'mkwin' manual 2024-07-22 13:37:57 -04:00
a156009442 mkwin: added env-share flag 2024-07-22 13:32:16 -04:00
4 changed files with 21 additions and 8 deletions

View file

@ -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

View file

@ -1,6 +1,6 @@
[package] [package]
name = "mkwin" name = "mkwin"
version = "0.0.5" version = "0.1.0"
edition = "2021" edition = "2021"
[dependencies] [dependencies]

View file

@ -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"];

View file

@ -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() {