@Override
 public String tabName(
     TtyConnector ttyConnector, String sessionName) { // for local terminal use name from settings
   if (ttyConnector instanceof PtyProcessTtyConnector) {
     return TerminalOptionsProvider.getInstance().getTabName();
   } else {
     return sessionName;
   }
 }
  public LocalTerminalDirectRunner(Project project) {
    super(project);
    myDefaultCharset = Charset.forName("UTF-8");

    String shellPath = TerminalOptionsProvider.getInstance().getShellPath();

    if (SystemInfo.isUnix) {
      File rcFile = findRCFile();

      String shellName = getShellName(shellPath);

      if (rcFile != null && (shellName.equals("bash") || shellName.equals("sh"))) {
        myCommand = new String[] {shellPath, "--rcfile", rcFile.getAbsolutePath(), "-i"};
      } else if (hasLoginArgument(shellName)) {
        myCommand = new String[] {shellPath, "--login"};
      } else {
        myCommand = shellPath.split(" ");
      }
    } else {
      myCommand = new String[] {shellPath};
    }
  }
 @Override
 public boolean pasteOnMiddleMouseClick() {
   return TerminalOptionsProvider.getInstance().pasteOnMiddleMouseButton();
 }
 @Override
 public boolean copyOnSelect() {
   return TerminalOptionsProvider.getInstance().copyOnSelection();
 }
 @Override
 public boolean enableMouseReporting() {
   return TerminalOptionsProvider.getInstance().enableMouseReporting();
 }
 @Override
 public boolean audibleBell() {
   return TerminalOptionsProvider.getInstance().audibleBell();
 }
 @Override
 public boolean shouldCloseTabOnLogout(TtyConnector ttyConnector) {
   return TerminalOptionsProvider.getInstance().closeSessionOnLogout();
 }