After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 590655 - Internal bookmarks in documents would be nice
Internal bookmarks in documents would be nice
Status: RESOLVED FIXED
Product: evince
Classification: Core
Component: general
2.29.x
Other All
: Normal enhancement
: ---
Assigned To: Evince Maintainers
Evince Maintainers
: 628755 638704 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2009-08-03 16:56 UTC by Snark
Modified: 2011-01-30 12:07 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Snark 2009-08-03 16:56:37 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.
Comment 1 nomnex 2010-02-09 22:23:46 UTC
Same request here, a bookmark feature, as it is with chm documentation would be welcome
Comment 2 Snark 2010-03-04 19:22:59 UTC
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 ;-)
Comment 3 Carlos Garcia Campos 2010-03-05 09:48:27 UTC
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.
Comment 4 Snark 2010-03-05 13:05:15 UTC
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.
Comment 5 Juanjo Marín 2010-03-16 23:52:28 UTC
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.
Comment 6 Carlos Garcia Campos 2010-03-17 08:53:18 UTC
Exactly, that was my idea:

file://path/to/document.pdf#page-number

which is already suppoerted by evince.
Comment 7 Snark 2010-04-09 13:46:51 UTC
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"?
Comment 8 Carlos Garcia Campos 2010-04-09 15:25:51 UTC
It uses gio metadata:

http://blogs.gnome.org/alexl/2009/06/24/data-about-data/
Comment 9 Carlos Garcia Campos 2010-11-09 16:40:47 UTC
*** Bug 628755 has been marked as a duplicate of this bug. ***
Comment 10 Carlos Garcia Campos 2010-12-06 17:17:50 UTC
This is fixed in git master now.
Comment 11 Carlos Garcia Campos 2011-01-30 12:07:50 UTC
*** Bug 638704 has been marked as a duplicate of this bug. ***