<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/">
  <channel>
    <title>#scanbook posts — Ben Crowder</title>
    <link>https://bencrowder.net/blog/tag/scanbook/</link>
    <atom:link href="https://bencrowder.net/blog/tag/scanbook/feed/" rel="self" />
    <description>Feed for blog posts tagged with #scanbook.</description>
    <lastBuildDate>Fri, 17 Apr 2026 23:19:59 GMT</lastBuildDate>
    <language>en-US</language>
    <generator>https://bencrowder.net/</generator>

    <item>
      <title>Lector intro</title>
      <link>https://bencrowder.net/blog/2020/lector-intro/</link>
      <guid isPermaLink="true">https://bencrowder.net/blog/2020/lector-intro/</guid>
      <pubDate>Thu, 13 Aug 2020 12:00:00 GMT</pubDate>
      <dc:creator><![CDATA[Ben Crowder]]></dc:creator>
      <description><![CDATA[<p><em>Yet another entry in the <a href="https://bencrowder.net/blog/2020/910/">ignominious series</a> talking about my personal productivity tools.</em></p>
<p>Lector is a reading app for macOS. It’s an Electron app for now. The name comes from the Latin (for someone who reads), with a homophonic hat tip to Hannibal. It came about from wanting a minimalist app that would let me read PDFs and scanned books in dark mode and keep track of my spot across multiple books.</p>
<h2 id="overview">Overview</h2>
<p>A Lector book is just a directory full of images. (PDFs have to be split up into image files first, so I have a small script to do that.) When the app starts up, it looks at the book list directory to see what books are available. It also has a JSON file to track where I’m at on each book (which page and which part of the page), what size the window is, which book I last had open, etc.</p>
<p>The app itself looks like this, on an empty desktop to show how I usually use it:</p>
<p><figure>
        <img src="https://cdn.bencrowder.net/blog/2020/08/lector.png" alt="lector.png" title="lector.png" />
        
      </figure></p>
<p>No title bar, since I find that distracting. And the page images are scaled by default to fit the window width.</p>
<p>Hitting <code>g /</code> brings up a brief panel showing the books that are in the system, with alphabetized keys to get to them (so <code>g a</code> to go to the first, <code>g b</code> for the second, etc.). When I’m done reading a book, I delete its directory, so these mappings change fairly regularly.</p>
<p><code>j</code> and <code>f</code> and double-clicking all go to the next page; <code>k</code> and <code>d</code> both go back to the previous page. <code>J</code> and <code>K</code> move up and down the page (in larger jumps), and the mouse can also be used to scroll. (I find that I mostly use the mouse for scrolling and <code>f</code>/<code>d</code> for page navigation, but every once in a while I’ll use the other keys.)</p>
<p>As you can see in the screenshot, it defaults to dark mode, with slightly lowered contrast for easier reading. <code>i</code> inverts the colors and <code>s</code> toggles the higher contrast view.</p>
<h2 id="howiuselector">How I use Lector</h2>
<p>I use it when I want to read a book I’ve scanned (usually with <a href="https://bencrowder.net/scanbook/">Scanbook</a>). I haven’t used it as often lately, but I fully expect that to change soon. (It’s been very handy for reading textbooks.)</p>
<p>I’ve found that I prefer the window size shown in the screenshot, wide (so that the text is large enough) with just enough vertical room for a paragraph or so (since reading in smaller chunks is easier).</p>
<h2 id="thefuture">The future</h2>
<p>I’d like to move off Electron at some point, probably to a native Swift app. Having it support PDFs directly (or splitting them up itself) would be nice, and having a way within the app to remove books would also be good.</p>
<p>Finally, I’d love to add EPUB support at some point. (I haven’t yet found a desktop EPUB reader I like. Marvin’s great on iOS, though.)</p><hr class="feed-extra" style="margin-top: 48pt;" /><p class="feed-extra feed-mail"><a href="mailto:ben.crowder@gmail.com?subject=Re%3A%20Lector intro">Reply via email</a></p>]]></description>
    </item>
    <item>
      <title>Scanbook 0.1.0</title>
      <link>https://bencrowder.net/blog/2019/scanbook-010/</link>
      <guid isPermaLink="true">https://bencrowder.net/blog/2019/scanbook-010/</guid>
      <pubDate>Sat, 31 Aug 2019 12:00:00 GMT</pubDate>
      <dc:creator><![CDATA[Ben Crowder]]></dc:creator>
      <description><![CDATA[<p><a href="https://bencrowder.net/coding/scanbook/">Scanbook</a> is a Python script I wrote to take page image scans and turn them into a nice black-and-white PDF for reading on my phone. I used to use Scanner Pro for this, but I’d rather do the processing on my laptop, and Scanbook happens to produce smaller PDFs. I’ve used it to scan a dozen or so of my journals; it works well enough for me.</p>
<p>This is, by the way, my first time publishing anything on PyPI. (Which means people can install Scanbook with a simple <code>pip install scanbook</code>.)</p><hr class="feed-extra" style="margin-top: 48pt;" /><p class="feed-extra feed-mail"><a href="mailto:ben.crowder@gmail.com?subject=Re%3A%20Scanbook 0.1.0">Reply via email</a></p>]]></description>
    </item>
    
  </channel>
</rss>
