1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
+ String {
runInTerminal { |shell="/bin/sh"|
var fpath = PathName.tmp +/+ "SCStringForTerminal%.sh".format(this.hash.asString);
LinuxPlatform.runInTerminalCmd ?? {
LinuxPlatform.runInTerminalCmd = LinuxPlatform.getTerminalEmulatorCmd
};
if(LinuxPlatform.runInTerminalCmd.isNil) {
"String:runInTerminal couldn't find a supported terminal emulator. Please set LinuxPlatform.runInTerminalCmd, see Help for details".error;
^this;
} {
File.use(fpath,"w"){|file|
file.write([
"#!" ++ shell,
this,
"rm" + fpath.shellQuote,
"printf 'Press ENTER to close this window.'; read _"
].join($\n));
};
("/bin/chmod +x" + fpath).systemCmd;
LinuxPlatform.runInTerminalCmd.format("SuperCollider runInTerminal".shellQuote, fpath.shellQuote).unixCmd;
}
}
openOS {
["xdg-open", this].unixCmd;
}
}
|