GNOME Bugzilla – Bug 590655
Internal bookmarks in documents would be nice
Last modified: 2011-01-30 12:07:50 UTC
Evince already remembers a special position in a document : if I'm reading a certain page, close and reopen, it will get that page back. I'd like to see that scheme generalized so it's possible to have internal bookmarks in a document : when I'm reading a document, I sometimes have to go back to find a definition, poke around looking for the notation index, or have a look at the bibliography. It would be nice if I could tell evince : this place is "where I should go back", and this other one is "Bibliography"... I have no clue if it's easy or not, but I generally have several bookmarks in any book, and I'm missing this feature in evince.
Same request here, a bookmark feature, as it is with chm documentation would be welcome
Ok, let me try to see : - we know evince is able to memorize places in documents, since it is able to open a document to the last visited place ; - so internally it's basically just a question of replacing a single token of data with a list ; - the problem is how to present it in the gui. I find it unsettling that bugzilla tags me both as the reporter and as a developper : I'm indeed a developper but I have no knowledge of how evince works (though I have a few ideas how that could work). Some evince developper feedback would be nice ;-)
We have been closing bookmark requests as duplicate of bug #169902 (closed as wontfix) or bugs #169903 (history back button) and #315002 (implement annotations). However I've changed my mind a bit. Even though annotations might be used as bookmarks they are not exactly bookmarks and they are only supported by the pdf backend. I think we could implement a really simple bookmark system by using GBookmarkFile which implements the Desktop Bookmark Specification.
Annotations is entirely different from bookmarks : bookmarks are for going quickly to some special places in a book, while annotations are for taking notes within the document. Evince definitely already has primitive bookmark support, since it remembers where a document was read the previous time : this doesn't seem to be backend-specific ; as I said, it should internally be pretty simple to turn that into a list of special places. GBookmarkFile looks pretty complex and from the look of it, is geared toward bookmarking documents themselves -- not what I have in mind at all : I want bookmarks within each document. What I had in mind was in several steps : (1) find where evince stores the currently-read page (probably looks like document->current_page) and seal it in a primitive api (a getter/setter pair) ; (2) instead of a simple gindex current_page in the structure, have a list (should probably be a list of pairs name, pages [gchar* and gindex]) ; (3) add a drop-down in the ui showing the name which when chosen goes to the given page ; (4) add a button "Remember here" or some such, which upon pressing asks under which name ; (5) there should probably be a "Forget here" button too ;-) I'm probably able to code (1) and (2), and (3-5) is probably not beautiful enough.
Snark: I think GBookmarkFile can do the job. AFAIK URIs can be used for bookmarking more than documents, for example pages, using URI queries or fragments.
Exactly, that was my idea: file://path/to/document.pdf#page-number which is already suppoerted by evince.
Yes, evince does support remembering different documents and the positions within. How can we add remembering different positions in those documents? Can you point me to where evince stores "I'm here"?
It uses gio metadata: http://blogs.gnome.org/alexl/2009/06/24/data-about-data/
*** Bug 628755 has been marked as a duplicate of this bug. ***
This is fixed in git master now.
*** Bug 638704 has been marked as a duplicate of this bug. ***