diff options
| author | Adrian Kummerlaender | 2015-09-04 22:05:46 +0200 | 
|---|---|---|
| committer | Adrian Kummerlaender | 2015-09-04 22:05:46 +0200 | 
| commit | 52dd097c4d679d53060b415e065151806f0acfbf (patch) | |
| tree | d38556e1f94e5ba89ac88eea2f581d8dc060317b /src/list/TerminalItem.qml | |
| parent | 20da0c6f663be3c1cebc92671d489f56972915e3 (diff) | |
| download | MetaTerm-52dd097c4d679d53060b415e065151806f0acfbf.tar MetaTerm-52dd097c4d679d53060b415e065151806f0acfbf.tar.gz MetaTerm-52dd097c4d679d53060b415e065151806f0acfbf.tar.bz2 MetaTerm-52dd097c4d679d53060b415e065151806f0acfbf.tar.lz MetaTerm-52dd097c4d679d53060b415e065151806f0acfbf.tar.xz MetaTerm-52dd097c4d679d53060b415e065151806f0acfbf.tar.zst MetaTerm-52dd097c4d679d53060b415e065151806f0acfbf.zip  | |
Reimplemented `kill` command using actual signal sending
Previously `kill` merely destroyed the terminal widget. This is contrary to the expected notion of `kill`, i.e. actually killing the process explicitly instead of relying on side effects.
The normal mode `d` verb now explicitly destroys the current item's content, be it a terminal widget or a history view.
Diffstat (limited to 'src/list/TerminalItem.qml')
| -rw-r--r-- | src/list/TerminalItem.qml | 13 | 
1 files changed, 12 insertions, 1 deletions
diff --git a/src/list/TerminalItem.qml b/src/list/TerminalItem.qml index 7dd0350..2eb9dc7 100644 --- a/src/list/TerminalItem.qml +++ b/src/list/TerminalItem.qml @@ -81,6 +81,14 @@ Item {  		unfocus();  	} +	function terminate() { +		if ( terminal !== null ) { +			terminal.terminate(); +		} else { +			throw "No process to terminate."; +		} +	} +  	FocusScope {  		id: scope @@ -114,7 +122,10 @@ Item {  					item.terminal.onFinished.connect(function() {  						createHistoryViewer(item.terminal.history);  						item.reset(); -						item.select(); + +						if ( item.index === terminalList.activeItem ) { +							item.select(); +						}  						if ( item.index === ( terminalList.children.length - 2 ) ) {  							terminalList.selectNext();  | 
