Make the shell process's exit code available to the main app so that actions can be taken depending on whether the shell command was successful or not. Later work will build on this so that failed commands will result in tabs being left open when the shell command fails. This will help when troubleshooting incorrectly configured profiles, SSH connection issues etc. Exit codes are passed up for both WinPty and ConPty based terminals.
29 lines
898 B
C#
29 lines
898 B
C#
using FluentTerminal.Models;
|
|
using FluentTerminal.Models.Enums;
|
|
using FluentTerminal.Models.Responses;
|
|
using System;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace FluentTerminal.App.Services
|
|
{
|
|
public interface ITrayProcessCommunicationService
|
|
{
|
|
event EventHandler<TerminalExitStatus> TerminalExited;
|
|
|
|
void Initialize(IAppServiceConnection appServiceConnection);
|
|
|
|
Task<CreateTerminalResponse> CreateTerminal(int id, TerminalSize size, ShellProfile shellProfile, SessionType sessionType);
|
|
|
|
Task ResizeTerminal(int id, TerminalSize size);
|
|
|
|
Task UpdateToggleWindowKeyBindings();
|
|
|
|
Task Write(int terminalId, byte[] data);
|
|
|
|
void SubscribeForTerminalOutput(int terminalId, Action<byte[]> callback);
|
|
|
|
Task CloseTerminal(int terminalId);
|
|
Task<GetAvailablePortResponse> GetAvailablePort();
|
|
int GetNextTerminalId();
|
|
}
|
|
} |