<feed xmlns='http://www.w3.org/2005/Atom'>
<title>aerc/lib/ui, branch 0.3.0</title>
<subtitle>Mirror of https://git.sr.ht/~sircmpwn/aerc
</subtitle>
<link rel='alternate' type='text/html' href='https://git.benburwell.com/mirrors/aerc/'/>
<entry>
<title>Add UI options to save/pipe messages with unsupported mimetypes</title>
<updated>2019-11-17T18:19:13+00:00</updated>
<author>
<name>Greg Anders</name>
<email>greg@gpanders.com</email>
</author>
<published>2019-11-15T20:28:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benburwell.com/mirrors/aerc/commit/?id=4bdef7d8609aa2d382fa74018e28ccb176276615'/>
<id>4bdef7d8609aa2d382fa74018e28ccb176276615</id>
<content type='text'>
Adds a message indicating the user's ability to :save or :pipe a message
with an unsupported mimetype and also adds a selector widget (similar to
the tutorial).

The selector widget was previously defined in the account wizard module,
so this commit breaks it out into its own module to allow for re-use.

Further, modify the BeginExLine() function to take an argument that
pre-populates the command line, allowing functions to initiate an ex
command without executing it.

Closes #95.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Adds a message indicating the user's ability to :save or :pipe a message
with an unsupported mimetype and also adds a selector widget (similar to
the tutorial).

The selector widget was previously defined in the account wizard module,
so this commit breaks it out into its own module to allow for re-use.

Further, modify the BeginExLine() function to take an argument that
pre-populates the command line, allowing functions to initiate an ex
command without executing it.

Closes #95.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix tab refocus on remove</title>
<updated>2019-10-14T14:38:04+00:00</updated>
<author>
<name>Jeffas</name>
<email>dev@jeffas.io</email>
</author>
<published>2019-10-10T12:24:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benburwell.com/mirrors/aerc/commit/?id=03d182ca88329db778e6d271e44b480223f31807'/>
<id>03d182ca88329db778e6d271e44b480223f31807</id>
<content type='text'>
Previously removing a tab would always pop from the history of tabs.
This checks to see if the closing tab is the one selected, if it is then
we use the history, otherwise we only need to change the selected tab if
it was after (to the right of) the closing tab, in which case we just
decrement the selected index.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously removing a tab would always pop from the history of tabs.
This checks to see if the closing tab is the one selected, if it is then
we use the history, otherwise we only need to change the selected tab if
it was after (to the right of) the closing tab, in which case we just
decrement the selected index.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix pushing invalid tabs to history</title>
<updated>2019-10-14T14:38:02+00:00</updated>
<author>
<name>Jeffas</name>
<email>dev@jeffas.io</email>
</author>
<published>2019-10-10T12:09:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benburwell.com/mirrors/aerc/commit/?id=2542c65af2c24c94d70e8ab51cc590fe8fc3bd28'/>
<id>2542c65af2c24c94d70e8ab51cc590fe8fc3bd28</id>
<content type='text'>
A tab can now only be pushed onto the history if it is a selectable tab.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A tab can now only be pushed onto the history if it is a selectable tab.
</pre>
</div>
</content>
</entry>
<entry>
<title>Focus new tab after remove</title>
<updated>2019-09-18T23:20:49+00:00</updated>
<author>
<name>Jeffas</name>
<email>dev@jeffas.io</email>
</author>
<published>2019-09-16T16:39:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benburwell.com/mirrors/aerc/commit/?id=0ce1d42bda406a1d7c83df462206f435a841a809'/>
<id>0ce1d42bda406a1d7c83df462206f435a841a809</id>
<content type='text'>
After removing a tab we should focus the newly selected tab if it is
Interactive. This ensures things like the terminal get drawn properly.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
After removing a tab we should focus the newly selected tab if it is
Interactive. This ensures things like the terminal get drawn properly.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add Mouseable</title>
<updated>2019-09-11T15:41:34+00:00</updated>
<author>
<name>Jeffas</name>
<email>dev@jeffas.io</email>
</author>
<published>2019-09-05T22:32:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benburwell.com/mirrors/aerc/commit/?id=f6216bb6213a15cdcdf50089f3c4a8e9a30d9337'/>
<id>f6216bb6213a15cdcdf50089f3c4a8e9a30d9337</id>
<content type='text'>
This adds the Mouseable interface. When this is implemented for a
component that item can accept and process mouseevents.

At the top level when a mouse event is received it is passed to the
grid's handler and then it trickles down until it reaches a component
that can actually handle it, such as the tablist, dirlist or msglist.

A mouse event is passed so that components can handle other things such
as scrolling with the mousewheel. The components themselves then perform
the necessary actions.

Clicking emails in the messagelist opens them in a new tab.

Textinputs can be clicked to position the cursor inside them.

Mouseevents are not forwarded to the terminal at the moment.

Elements which do not handle mouse events are not required to implement
the Mouseable interface.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This adds the Mouseable interface. When this is implemented for a
component that item can accept and process mouseevents.

At the top level when a mouse event is received it is passed to the
grid's handler and then it trickles down until it reaches a component
that can actually handle it, such as the tablist, dirlist or msglist.

A mouse event is passed so that components can handle other things such
as scrolling with the mousewheel. The components themselves then perform
the necessary actions.

Clicking emails in the messagelist opens them in a new tab.

Textinputs can be clicked to position the cursor inside them.

Mouseevents are not forwarded to the terminal at the moment.

Elements which do not handle mouse events are not required to implement
the Mouseable interface.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add delete forward &lt;C-k&gt; and backward &lt;C-u&gt;</title>
<updated>2019-08-12T00:27:48+00:00</updated>
<author>
<name>Christopher Vittal</name>
<email>christopher.vittal@gmail.com</email>
</author>
<published>2019-08-10T14:26:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benburwell.com/mirrors/aerc/commit/?id=2b6ec504e536885a47db1e472c5f0de6388fb0ce'/>
<id>2b6ec504e536885a47db1e472c5f0de6388fb0ce</id>
<content type='text'>
Choose the readline defaults for the behavior of these two
functions/keybindings. Depending on the program, either of these can
delete the whole line.

Note that by default in [compose], &lt;C-k&gt; is bound to :prev-field&lt;Enter&gt;.
Leave it up to the user whether or not they want to rebind the key in
[compose].
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Choose the readline defaults for the behavior of these two
functions/keybindings. Depending on the program, either of these can
delete the whole line.

Note that by default in [compose], &lt;C-k&gt; is bound to :prev-field&lt;Enter&gt;.
Leave it up to the user whether or not they want to rebind the key in
[compose].
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove aerc specific code from the ui</title>
<updated>2019-08-03T20:50:49+00:00</updated>
<author>
<name>Nicolai Dagestad</name>
<email>nicolai@dagestad.fr</email>
</author>
<published>2019-08-03T15:17:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benburwell.com/mirrors/aerc/commit/?id=0847464da1da5c2df19e107ee3884ab7996c1756'/>
<id>0847464da1da5c2df19e107ee3884ab7996c1756</id>
<content type='text'>
Separatiing the ui code from aerc makes it usable as a library in
other projects.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Separatiing the ui code from aerc makes it usable as a library in
other projects.
</pre>
</div>
</content>
</entry>
<entry>
<title>Ring bell when new messages arrive</title>
<updated>2019-07-29T19:01:49+00:00</updated>
<author>
<name>Ben Burwell</name>
<email>ben@benburwell.com</email>
</author>
<published>2019-07-29T14:50:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benburwell.com/mirrors/aerc/commit/?id=152f8c9519ac1b7b35c3789b03f3d1cc3b1e8881'/>
<id>152f8c9519ac1b7b35c3789b03f3d1cc3b1e8881</id>
<content type='text'>
Add a "new-message-bell" option to the UI section of aerc.conf. A new
hook into the message store allows the msglist widget to detect new
messages being added to the displayed list. When new messages are
delivered, and the new-message-bell option is enabled (as it is by
default), the terminal will beep.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add a "new-message-bell" option to the UI section of aerc.conf. A new
hook into the message store allows the msglist widget to detect new
messages being added to the displayed list. When new messages are
delivered, and the new-message-bell option is enabled (as it is by
default), the terminal will beep.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix tabstrip over-drawing when not enough space</title>
<updated>2019-07-26T19:12:24+00:00</updated>
<author>
<name>Jeffas</name>
<email>dev@jeffas.io</email>
</author>
<published>2019-07-26T08:46:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benburwell.com/mirrors/aerc/commit/?id=7a3765a36bfa1c54f8bc77c761a741d5529addcf'/>
<id>7a3765a36bfa1c54f8bc77c761a741d5529addcf</id>
<content type='text'>
Tabstrip didn't take into account the width of the context. Now, it just
shows as many tabs as can fit and truncates the last one if necessary.

In future it probably would be best to ensure that the selected tab is
rendered on the screen.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Tabstrip didn't take into account the width of the context. Now, it just
shows as many tabs as can fit and truncates the last one if necessary.

In future it probably would be best to ensure that the selected tab is
rendered on the screen.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add tab completion to textinputs</title>
<updated>2019-07-26T18:39:42+00:00</updated>
<author>
<name>Jeffas</name>
<email>dev@jeffas.io</email>
</author>
<published>2019-07-26T13:29:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benburwell.com/mirrors/aerc/commit/?id=cded067bc3919a77b17feedd877e4590e7c95f4a'/>
<id>cded067bc3919a77b17feedd877e4590e7c95f4a</id>
<content type='text'>
This adds tab completion to textinput components. They can be configured
with a completion function. This function is called when the user
presses &lt;tab&gt;. The first completion is initially shown to the user
inserted into the text. Repeated presses of &lt;tab&gt; or &lt;backtab&gt; cycle
through the completions list. The completions list is invalidated when
any other non-tab-like key is pressed.

Also changed is some logic for current completion generation so that
all available commands are returned when &lt;tab&gt; is pressed with no
current text and similarly for arguments of commands.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This adds tab completion to textinput components. They can be configured
with a completion function. This function is called when the user
presses &lt;tab&gt;. The first completion is initially shown to the user
inserted into the text. Repeated presses of &lt;tab&gt; or &lt;backtab&gt; cycle
through the completions list. The completions list is invalidated when
any other non-tab-like key is pressed.

Also changed is some logic for current completion generation so that
all available commands are returned when &lt;tab&gt; is pressed with no
current text and similarly for arguments of commands.
</pre>
</div>
</content>
</entry>
</feed>
