aboutsummaryrefslogtreecommitdiff
path: root/src/widget/EmbeddedTerminal.qml
diff options
context:
space:
mode:
authorAdrian Kummerlaender2015-08-29 22:12:49 +0200
committerAdrian Kummerlaender2015-08-29 22:12:49 +0200
commit0dd49584e26c294e3fb25347969f61bca84afb5f (patch)
treee84adbe9014d155a185cc2f6539ef34732b6474f /src/widget/EmbeddedTerminal.qml
parent77d4b29ffd337b747448ce0f1a6f6e3457d8cd05 (diff)
downloadMetaTerm-0dd49584e26c294e3fb25347969f61bca84afb5f.tar
MetaTerm-0dd49584e26c294e3fb25347969f61bca84afb5f.tar.gz
MetaTerm-0dd49584e26c294e3fb25347969f61bca84afb5f.tar.bz2
MetaTerm-0dd49584e26c294e3fb25347969f61bca84afb5f.tar.lz
MetaTerm-0dd49584e26c294e3fb25347969f61bca84afb5f.tar.xz
MetaTerm-0dd49584e26c294e3fb25347969f61bca84afb5f.tar.zst
MetaTerm-0dd49584e26c294e3fb25347969f61bca84afb5f.zip
Automatically destroy terminal when killed and display history
Child processes of _MetaTerm_ may be terminated using other ways that the integrated kill command. Automatic terminal widget destruction in such a event prevents the user from viewing the output of non-interactive applications. This requires _MetaTerm_ to display the application's output after it was terminated. This requirement is implemented via the new `HistoryViewer` widget that is instantiated after the terminal widget instance has been destroyed.
Diffstat (limited to 'src/widget/EmbeddedTerminal.qml')
-rw-r--r--src/widget/EmbeddedTerminal.qml11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/widget/EmbeddedTerminal.qml b/src/widget/EmbeddedTerminal.qml
index fa30e23..497bf49 100644
--- a/src/widget/EmbeddedTerminal.qml
+++ b/src/widget/EmbeddedTerminal.qml
@@ -5,11 +5,15 @@ import QtQuick.Layouts 1.1
Item {
id: item
+ signal finished
+
property string program
property string workingDirectory
property int lines : settings.terminal.initialLines
+ property alias history : session.history
+
function select() { highlighter.select() }
function deselect() { highlighter.deselect() }
function displayOverlay() { overlay.displayBriefly() }
@@ -48,6 +52,8 @@ Item {
colorScheme: settings.terminal.colorScheme
session: QMLTermSession {
+ id: session
+
initialWorkingDirectory: item.workingDirectory
shellProgram: {
@@ -60,6 +66,11 @@ Item {
return elements;
}
+
+ onFinished: {
+ clearScreen();
+ item.finished();
+ }
}
Component.onCompleted: {