Properly clean temp directory

This commit is contained in:
crschnick 2023-06-06 23:42:52 +00:00
parent e72fc2c487
commit d36c2b00ae
2 changed files with 10 additions and 5 deletions

View file

@ -166,7 +166,12 @@ public class BrowserComp extends SimpleComp {
model.getSelected().addListener((observable, oldValue, newValue) -> {
PlatformThread.runLaterIfNeeded(() -> {
var index = model.getOpenFileSystems().indexOf(newValue);
var tab = index != -1 ? tabs.getTabs().get(index) : null;
if (index == -1 || index >= tabs.getTabs().size()) {
tabs.getSelectionModel().select(null);
return;
}
var tab = tabs.getTabs().get(index);
tabs.getSelectionModel().select(tab);
});
});

View file

@ -6,7 +6,7 @@ import io.xpipe.core.process.ShellControl;
import java.util.Arrays;
import java.util.stream.Stream;
public class XPipeTempDirectory {
public class XPipeExecTempDirectory {
public static String getSystemTempDirectory(ShellControl proc) throws Exception {
return proc.getOsType().getTempDirectory(proc);
@ -14,7 +14,7 @@ public class XPipeTempDirectory {
public static String initXPipeTempDirectory(ShellControl proc) throws Exception {
var base = proc.getOsType().getTempDirectory(proc);
var arr = Stream.of(base, "xpipe").toArray(String[]::new);
var arr = Stream.of(base, "xpipe", "exec").toArray(String[]::new);
var dir = FileNames.join(arr);
var existsCommand = proc.getShellDialect().createFileExistsCommand(proc, dir);
@ -22,14 +22,14 @@ public class XPipeTempDirectory {
proc.executeSimpleCommand(proc.getShellDialect().getFileDeleteCommand(dir));
}
proc.getShellDialect().prepareTempDirectory(proc, dir);
proc.getShellDialect().prepareTempDirectory(proc, dir).execute();
return dir;
}
public static String getSubDirectory(ShellControl proc, String... sub) throws Exception {
var base = proc.getOsType().getTempDirectory(proc);
var arr = Stream.concat(Stream.of(base, "xpipe"), Arrays.stream(sub)).toArray(String[]::new);
var arr = Stream.concat(Stream.of(base, "xpipe", "exec"), Arrays.stream(sub)).toArray(String[]::new);
var dir = FileNames.join(arr);
var existsCommand = proc.getShellDialect().createFileExistsCommand(proc, dir);