Bookshelf for Evince

It’s been quite some time since I have posted about my work. Well, I guess its fair time I updated you guys about what I have been working on.

I have got a basic bookshelf working now and hopefully, just a few improvements need to be made before its ready for release. (Yay!)

Screenshot of the bookshelf view

The button to go back to the bookshelf

I think it would be appropriate to describe the usage a bit. So, when you start Evince without any document, you would be greeted with the above view. It looks very similar to the view presented in gnome-documents and some of the code from libgd has also been used. The view presents you with 20 documents you have recently opened with Evince. You can click any one to open it in the current window.

Next, I think you might have noticed the button on the top left. It is for going back to the bookshelf while viewing a document. The current document is not closed, it is just hidden from view, and will be marked in the bookshelf. Now when a user clicks on any other document in the bookshelf, it will open in a new window.

Work Done

  • Bookshelf view of recent documents is ready
  • Stored metadata and thumbnails so that they don’t need to be regenerated every time we need to display the bookshelf.
  • A button to switch between bookshelf and open document


  • Mark the currently open document in the bookshelf
  • Make the loading of documents parallel

For those who want to try it out, checkout the ‘bookshelf’ branch from the repo I have set up here: