Age | Commit message (Collapse) | Author |
|
When running a plumber and rio combo within a window we were wrongly
using the 'root' rios /dev/wctl. This change happened when we removed
$wctl and had subtly changed the priority of ways /bin/window used to
talk to rio. This mimics the old behavior.
|
|
While window did work when run under riostart without $wctl,
the change window running from the plumber. It is typical
for lib/profile to contain:
plumber
rio -s riostart
Previously this worked because rio polluted the envgroup
with $wctl and $wsys, but without $wctl or /dev/wctl the
plumber's window fails to find rio. In favor of not breaking
this configuration we allow window to fallback to checking $wsys
and attaching to the none window. This should keep window working
in all cases in which the wctl pollution worked before.
|
|
via wctl
The initial working directory of a new window may be set by a
`-cd directory` option. However, the `-cd directory` option is
not capable of handling paths with spaces when used via wctl.
To enable paths with spaces the function
/sys/src/cmd/rio/wctl.c:/^parsewctl is extended to handle quoted
directory paths.
Before applying the patch the following will fail to open a new
window by writing to /dev/wctl:
<snip>
% rio -i window
% mkdir '/tmp/path with space'
% echo new -cd '''/tmp/path with space''' window -x rc >> /dev/wctl
% pwd
/tmp/path with space
<snap>
The following invocation fails as well:
<snip>
% window -cd '/tmp/path with space'
% pwd
/tmp/path with space
<snap>
After applying the patch the above sequences work as expected,
opening a window running rc with the working directory set to
'/tmp/path with space'.
|
|
When called with the -m flag window would always exit with
some error, usually status='no match', because of an if-match
being the last status-setting command in the script.
|
|
with window -m, properly remove the old wsys from /dev before
binding new window to it, so the original window wont leak
into the new namespace.
do not pass -pid when $wsys does not refer to a local running rio.
cleanup environment before running sub-process.
set window label consistentently no matter if -m is used or not.
|
|
|
|
|
|
|