<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Passextract/src, branch v0.3.0</title>
<subtitle>An interface to easily copy login information from Pass</subtitle>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/Passextract/'/>
<entry>
<title>Clear clipboard on quit</title>
<updated>2016-11-14T06:56:15+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2016-11-14T06:56:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/Passextract/commit/?id=5f24d24ab4054dbcaf47b40736604abdabb32d10'/>
<id>5f24d24ab4054dbcaf47b40736604abdabb32d10</id>
<content type='text'>
The last thing copied from Passextract will stick around in your
clipboard, potentially opening up your password to accidental pasting or
a clipboard exploit.

Pass deals with this in a nice way, by restoring your clipboard back to
what was copied before after a set time delay.

Here that same functionality is more difficult to achieve because the
Clipboard crate can only deal with strings. So if for example you've
copied a file, an image, a program's proprietary type, or some other
binary data, it can't be restored with the Clipboard crate. Pass is able
to do this because it uses the OS X `pbcopy`/`pbpaste` commands under
the hood, which do support binary data. We could do that here I suppose,
but it's easier and cross-platform to leverage a library.

My heavy-handed solution to the problem of clipboard insecurity is to
just overwrite the clipboard with an empty string when Passextract
quits. The solution is not ideal because it doesn't preserve your past
clipboard entry, and it forces you to keep the Passextract menu open
until you paste the copied entry, but it's better than nothing when it
comes to keeping the clipboard secure.

If there's an error writing to the clipboard, Passextract will refuse to
quit.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The last thing copied from Passextract will stick around in your
clipboard, potentially opening up your password to accidental pasting or
a clipboard exploit.

Pass deals with this in a nice way, by restoring your clipboard back to
what was copied before after a set time delay.

Here that same functionality is more difficult to achieve because the
Clipboard crate can only deal with strings. So if for example you've
copied a file, an image, a program's proprietary type, or some other
binary data, it can't be restored with the Clipboard crate. Pass is able
to do this because it uses the OS X `pbcopy`/`pbpaste` commands under
the hood, which do support binary data. We could do that here I suppose,
but it's easier and cross-platform to leverage a library.

My heavy-handed solution to the problem of clipboard insecurity is to
just overwrite the clipboard with an empty string when Passextract
quits. The solution is not ideal because it doesn't preserve your past
clipboard entry, and it forces you to keep the Passextract menu open
until you paste the copied entry, but it's better than nothing when it
comes to keeping the clipboard secure.

If there's an error writing to the clipboard, Passextract will refuse to
quit.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add support for `g` and `G` movements</title>
<updated>2016-08-17T23:42:54+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2016-08-17T23:42:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/Passextract/commit/?id=7cdc4aab7d142b83cf85cf42de92971874d53fce'/>
<id>7cdc4aab7d142b83cf85cf42de92971874d53fce</id>
<content type='text'>
`g`: moves the selection to the first option
`G`: moves the selection to the last option

This allows for faster selection if there are more than 2–3 options.

Using `g` still allows `gg` to work since doubling the command doesn't
change its meaning.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
`g`: moves the selection to the first option
`G`: moves the selection to the last option

This allows for faster selection if there are more than 2–3 options.

Using `g` still allows `gg` to work since doubling the command doesn't
change its meaning.
</pre>
</div>
</content>
</entry>
<entry>
<title>strip_key: Fix for values that contain ": "</title>
<updated>2016-08-07T00:43:09+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2016-08-07T00:43:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/Passextract/commit/?id=874d653d420ea98680dd820f3bdd60afb3931747'/>
<id>874d653d420ea98680dd820f3bdd60afb3931747</id>
<content type='text'>
Values that contained ": " would not be parsed correctly for copying to
the clipboard. If, for example, a password contained ": ", those
characters and any following them wouldn't be copied. This change allows
such passwords to be copied correctly.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Values that contained ": " would not be parsed correctly for copying to
the clipboard. If, for example, a password contained ": ", those
characters and any following them wouldn't be copied. This change allows
such passwords to be copied correctly.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add license (GPLv3+)</title>
<updated>2016-08-06T12:43:42+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2016-08-06T12:43:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/Passextract/commit/?id=01ae017a7dc2c66428c7db28dbf38f6efdbe09ab'/>
<id>01ae017a7dc2c66428c7db28dbf38f6efdbe09ab</id>
<content type='text'>
Also include brief notices in the source files. Not a fan of the huge
blocks of text that the FSF recommends.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Also include brief notices in the source files. Not a fan of the huge
blocks of text that the FSF recommends.
</pre>
</div>
</content>
</entry>
<entry>
<title>parse_options: Add a short sentence of documentation</title>
<updated>2016-08-06T12:11:51+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2016-08-06T12:11:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/Passextract/commit/?id=9481309d1d118afe97f161cba00625ac68ab2b62'/>
<id>9481309d1d118afe97f161cba00625ac68ab2b62</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Extract options from both `pass` and STDIN</title>
<updated>2016-08-06T12:06:54+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2016-08-06T12:06:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/Passextract/commit/?id=b9d53190baee46674f01b41f099dfebb85ae22fa'/>
<id>b9d53190baee46674f01b41f099dfebb85ae22fa</id>
<content type='text'>
Get option extraction/parsing working both for STDIN and for calls to
`pass show`.

If no argument is passed to the executable or the first argument is "-",
options are read from STDIN. Otherwise, the first argument is passed to
`pass show`, the output of which is parsed as options.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Get option extraction/parsing working both for STDIN and for calls to
`pass show`.

If no argument is passed to the executable or the first argument is "-",
options are read from STDIN. Otherwise, the first argument is passed to
`pass show`, the output of which is parsed as options.
</pre>
</div>
</content>
</entry>
<entry>
<title>Call `pass show` with the given argument and run Passextract on result</title>
<updated>2016-08-06T11:29:17+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2016-08-06T11:29:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/Passextract/commit/?id=494742673e26628f9b98185321db737b936af954'/>
<id>494742673e26628f9b98185321db737b936af954</id>
<content type='text'>
Temporarily comment out code that deals with STDIN to get this feature
working. It complicated things to leave it in right now.

Given an argument that isn't "-" (STDIN), we pass that argument to `pass
show`. Users correctly get a password prompt from `pass`, and the output
from the command gets sent to the Passextract TUI for display in the
menu and copying.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Temporarily comment out code that deals with STDIN to get this feature
working. It complicated things to leave it in right now.

Given an argument that isn't "-" (STDIN), we pass that argument to `pass
show`. Users correctly get a password prompt from `pass`, and the output
from the command gets sent to the Passextract TUI for display in the
menu and copying.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add documentation for `strip_key`</title>
<updated>2016-08-06T09:58:07+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2016-08-06T09:58:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/Passextract/commit/?id=97feec40b57031156196af7c61ccbc2aba6ec8d7'/>
<id>97feec40b57031156196af7c61ccbc2aba6ec8d7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Make selection arrow movement code DRY</title>
<updated>2016-08-06T09:38:02+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2016-08-06T09:38:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/Passextract/commit/?id=833339151a14866ccf499dd57f1849766c7c3555'/>
<id>833339151a14866ccf499dd57f1849766c7c3555</id>
<content type='text'>
Remove the duplication of these lines for the `j` and `k` commands by
extracting them to a function.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Remove the duplication of these lines for the `j` and `k` commands by
extracting them to a function.
</pre>
</div>
</content>
</entry>
<entry>
<title>Set window title in knockout text</title>
<updated>2016-08-06T09:00:50+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2016-08-06T09:00:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/Passextract/commit/?id=b4e150f01e9d282a6dab318ee7bb0ee9884b2263'/>
<id>b4e150f01e9d282a6dab318ee7bb0ee9884b2263</id>
<content type='text'>
Make the title appear in white-on-black knockout text.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Make the title appear in white-on-black knockout text.
</pre>
</div>
</content>
</entry>
</feed>
