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.
|
|
|
|
|
|
|
|
Otherwise one can not easily enter more complex shell commands such as pipe chains and so on.
The goal of _MetaTerm_ is not to implement a new shell language but to facilitate existing ones which is why this is best deferred to an existing application.
|
|
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.
|