Age | Commit message (Collapse) | Author |
|
In addition to increasing customizability this change makes it clear that the _working directory_ property only concerns the intial working directory and is not updated if the contained process changes its directory.
Note that setting the intial working directory is broken in upstream _QMLTermWidget_ and the appropriate patch [1] is not merged at the time of this commit.
[1]: https://github.com/KnairdA/qmltermwidget/tree/initial_working_directory_fix
|
|
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.
|
|
|
|
|
|
`TerminalItem`'s `reset` member method wrongly performed a visual selection change which led to inconsistency when calling `kill` on a non-selected index.
Visual selection update is now performed on history view instantiation.
|
|
|
|
If a non-interactive applications terminates the next item is automatically selected in insert mode as to make the behaviour in this context more simmilar to normal shells.
Normal mode has to be entered explicitly for the highlighting to update on `HistoryViewer` instantiation.
|
|
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.
|
|
|
|
This enables the user to straight forwardly change all application settings via command mode.
During the implementation of this change I discovered that the way I was passing around `StateHandler` and `SettingsHandler` instances using properties was unnecessary. If all object instances are created in a common hierarchy they can access each other by their `id` property - i.e. `settings` and `mode` are available to the whole application without property trickery.
|
|
Otherwise they are not accessible to JS commands, i.e. they can not be changed in command mode.
|
|
`list` holds the components of the central list UI element.
`command` holds the UI and implementation parts of the command mode.
`widget` holds more or less general purpose elements that may also be of use in other circumstances.
|