<feed xmlns='http://www.w3.org/2005/Atom'>
<title>MetaTerm/src/widget, branch master</title>
<subtitle>Terminal like UI for launching multiple terminal shells and applications</subtitle>
<link rel='alternate' type='text/html' href='http://code.kummerlaender.eu/MetaTerm/'/>
<entry>
<title>Separate widgets into primary and augmenting items</title>
<updated>2015-12-15T18:53:18+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2015-12-15T18:53:18+00:00</published>
<link rel='alternate' type='text/html' href='http://code.kummerlaender.eu/MetaTerm/commit/?id=55c66514c6e03bc731c7f5ae4d6f6a1e1d1ab601'/>
<id>55c66514c6e03bc731c7f5ae4d6f6a1e1d1ab601</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Extract terminal resize overlay into separate QML item</title>
<updated>2015-12-15T18:48:16+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2015-12-15T18:48:16+00:00</published>
<link rel='alternate' type='text/html' href='http://code.kummerlaender.eu/MetaTerm/commit/?id=012d8f7503d9d49ff33da621aee5fabd252e57f5'/>
<id>012d8f7503d9d49ff33da621aee5fabd252e57f5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Extract terminal status line into separate QML item</title>
<updated>2015-12-14T19:50:43+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2015-12-14T19:50:43+00:00</published>
<link rel='alternate' type='text/html' href='http://code.kummerlaender.eu/MetaTerm/commit/?id=1562641cc744ff9d6c0e0fd0ce1936010331000f'/>
<id>1562641cc744ff9d6c0e0fd0ce1936010331000f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add terminal status bar background</title>
<updated>2015-12-14T19:19:50+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2015-12-14T19:19:50+00:00</published>
<link rel='alternate' type='text/html' href='http://code.kummerlaender.eu/MetaTerm/commit/?id=70fcd5c9221d3d7c0a524559ca053bf74bd6c8f0'/>
<id>70fcd5c9221d3d7c0a524559ca053bf74bd6c8f0</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Implement terminal status line prototype</title>
<updated>2015-12-13T22:39:53+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2015-12-13T22:39:53+00:00</published>
<link rel='alternate' type='text/html' href='http://code.kummerlaender.eu/MetaTerm/commit/?id=ef9e2d08263efa811ece898deff6468ad0ed745e'/>
<id>ef9e2d08263efa811ece898deff6468ad0ed745e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Expose session PID and current working directory</title>
<updated>2015-12-12T22:37:11+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2015-12-12T22:37:11+00:00</published>
<link rel='alternate' type='text/html' href='http://code.kummerlaender.eu/MetaTerm/commit/?id=d1200ca432038a34a9fa063244136e737ce47735'/>
<id>d1200ca432038a34a9fa063244136e737ce47735</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add initial working directory to settings handler</title>
<updated>2015-12-12T22:31:20+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2015-12-12T22:31:20+00:00</published>
<link rel='alternate' type='text/html' href='http://code.kummerlaender.eu/MetaTerm/commit/?id=e3f7344551a387653c2271ecc24d95051a04a2d1'/>
<id>e3f7344551a387653c2271ecc24d95051a04a2d1</id>
<content type='text'>
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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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
</pre>
</div>
</content>
</entry>
<entry>
<title>Reimplemented `kill` command using actual signal sending</title>
<updated>2015-09-04T20:05:46+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2015-09-04T20:05:46+00:00</published>
<link rel='alternate' type='text/html' href='http://code.kummerlaender.eu/MetaTerm/commit/?id=52dd097c4d679d53060b415e065151806f0acfbf'/>
<id>52dd097c4d679d53060b415e065151806f0acfbf</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>Enable line wrapping in history view</title>
<updated>2015-09-03T18:26:39+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2015-09-03T18:26:39+00:00</published>
<link rel='alternate' type='text/html' href='http://code.kummerlaender.eu/MetaTerm/commit/?id=20da0c6f663be3c1cebc92671d489f56972915e3'/>
<id>20da0c6f663be3c1cebc92671d489f56972915e3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add launcher program and argument to configuration</title>
<updated>2015-08-30T16:33:41+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2015-08-30T16:33:41+00:00</published>
<link rel='alternate' type='text/html' href='http://code.kummerlaender.eu/MetaTerm/commit/?id=bac3fd5935737381560fd3955e0e528674f05424'/>
<id>bac3fd5935737381560fd3955e0e528674f05424</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Make text in history view selectable</title>
<updated>2015-08-30T16:04:42+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2015-08-30T16:04:42+00:00</published>
<link rel='alternate' type='text/html' href='http://code.kummerlaender.eu/MetaTerm/commit/?id=a8963d496108685bcc0fbf06ec869f7d920fe2fc'/>
<id>a8963d496108685bcc0fbf06ec869f7d920fe2fc</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Defer command interpretation to `sh`</title>
<updated>2015-08-30T14:03:00+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2015-08-30T14:03:00+00:00</published>
<link rel='alternate' type='text/html' href='http://code.kummerlaender.eu/MetaTerm/commit/?id=04e05dc33d64aba28a84fc9af4268e14c2abd965'/>
<id>04e05dc33d64aba28a84fc9af4268e14c2abd965</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>Automatically destroy terminal when killed and display history</title>
<updated>2015-08-29T20:12:49+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2015-08-29T20:12:49+00:00</published>
<link rel='alternate' type='text/html' href='http://code.kummerlaender.eu/MetaTerm/commit/?id=0dd49584e26c294e3fb25347969f61bca84afb5f'/>
<id>0dd49584e26c294e3fb25347969f61bca84afb5f</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add `q` command to close _MetaTerm_ in command mode</title>
<updated>2015-08-21T15:20:58+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2015-08-21T15:20:58+00:00</published>
<link rel='alternate' type='text/html' href='http://code.kummerlaender.eu/MetaTerm/commit/?id=ad6773b267e2bbdfc5e049a4bc8ac8b92980270e'/>
<id>ad6773b267e2bbdfc5e049a4bc8ac8b92980270e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add `set` command to ease configuration changes</title>
<updated>2015-08-19T09:40:23+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2015-08-19T09:40:23+00:00</published>
<link rel='alternate' type='text/html' href='http://code.kummerlaender.eu/MetaTerm/commit/?id=0dde6e134fdfbd54a2d148875e58ef1355578c8c'/>
<id>0dde6e134fdfbd54a2d148875e58ef1355578c8c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Extract all settings into `SettingsHandler` object</title>
<updated>2015-08-19T09:13:35+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2015-08-19T09:13:35+00:00</published>
<link rel='alternate' type='text/html' href='http://code.kummerlaender.eu/MetaTerm/commit/?id=4cb435f2a7bbeafb53f067d95ec83e0b3a1a17f8'/>
<id>4cb435f2a7bbeafb53f067d95ec83e0b3a1a17f8</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>Expose component settings as properties</title>
<updated>2015-08-15T14:22:05+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2015-08-15T14:22:05+00:00</published>
<link rel='alternate' type='text/html' href='http://code.kummerlaender.eu/MetaTerm/commit/?id=90da724a56c2ff20617d3e231a6ef877928df482'/>
<id>90da724a56c2ff20617d3e231a6ef877928df482</id>
<content type='text'>
Otherwise they are not accessible to JS commands, i.e. they can not be changed in command mode.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Otherwise they are not accessible to JS commands, i.e. they can not be changed in command mode.
</pre>
</div>
</content>
</entry>
<entry>
<title>Restructure QML and JS sources</title>
<updated>2015-08-15T14:06:00+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2015-08-15T14:06:00+00:00</published>
<link rel='alternate' type='text/html' href='http://code.kummerlaender.eu/MetaTerm/commit/?id=d8431223d34476a17835a05d9508e92447f22479'/>
<id>d8431223d34476a17835a05d9508e92447f22479</id>
<content type='text'>
`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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
`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.
</pre>
</div>
</content>
</entry>
</feed>
