Hello everyone, As suggested I was trying to get familiar with the code. I generated the Makefile by running "autogen.sh" followed by "make" and "make install". If I am not wrong this installed evince in my "/usr/bin". Now when I run evince form terminal (not from /usr/bin) I get "evince: error while loading shared libraries: libgnome-desktop-3.so.12: cannot open shared object file: No such file or directory". But I am able to run evince from "/usr/bin". Any Idea what I did wrong?
On Fri, Dec 4, 2015 at 12:01 PM, Giselle Reis <[email protected]> wrote: > Hi Sitaram, > > In the beginning the following directives helped me find my way around the > code: > > - shell: user interface > - backend: supported formats (pdf, ps, dvi, comicz, …) > - libdocument: abstractions of a document > - libview: how a document/page is shown, navigated, etc. (libview provides > widgets) > > There is also nemiver (https://wiki.gnome.org/Apps/Nemiver), a debugging > tool which you could use to set breakpoints and see what parts of the code > are reached. I never managed to configure it correctly on my machine, so I > was just using the good old printf... but this is less than ideal. > > At this point I guess you need to explore the files and functions, they have > usually quite intuitive names. For instance, there is a > ev_document_annotations_add_annotation function in > libdocument/ev-document-annotations.c. This is of course the function called > to add annotations. If you search where this function is called, you'll > eventually find the commands used to trigger the action (at the moment, > clicking a button in the menu). If you want to add a keyboard shortcut, find > an action which can be triggered by this and follow its way in the code as > well. This will give you a good idea of the information flow. > Once you are familiar with the structure of evince, it becomes easy to find > the way around it :) > > Good luck! > > Cheers, > Giselle. > > On Fri, Dec 4, 2015 at 6:04 AM Sitaram Shelke <[email protected]> > wrote: >> >> Hi everyone, >> As Germán Poo-Caamaño suggested, >> I built evince master from Github source and also looked at >> https://bugzilla.gnome.org/show_bug.cgi?id=758329, tried to find the >> most common key bindings for document viewers on OS X and Adobe.But >> after that I found it difficult to understand the flow of code as this >> is the first time I am trying to work with a large code base. Is there >> any way to better understand the code? >> >> On Wed, Dec 2, 2015 at 12:59 PM, Germán Poo-Caamaño <[email protected]> >> wrote: >> > On Wed, 2015-12-02 at 10:51 +0530, Sitaram Shelke wrote: >> >> Hi everyone, >> >> So I was able to build evince 3.18.2 successfully. Got some issues >> >> like the previous one (autopoint, thank you @Germán Poo-Caamaño for >> >> the tips.) but fixed them by downloading the required packages and >> >> libraries. So what should I try to do next? any suggestions? >> > >> > Great! I would recommend to build evince master instead of 3.18.2. It >> > is only a bunch of commits more. >> > >> > Something like: >> > $ jhbuild shell >> > $ cd /path/to/evince/checkout >> > $ git checkout master >> > $ make >> > $ make install >> > >> > That should do the trick. No need to re-compile anything else so far. >> > >> > For getting busy, you can take a look at the Evince's bugzilla summary: >> > https://bugzilla.gnome.org/page.cgi?id=browse.html&product=evince >> > >> > On the right, there is a link to "GNOME Love" bugs, that "should" be >> > focused on a specific part to be completed. >> > >> > Start small, to get familiar with the code base. For example, try to >> > fix: >> > https://bugzilla.gnome.org/show_bug.cgi?id=758329 >> > >> > It consists in assign key accelerators for the annotation actions. >> > Possibly a couple of lines of code (in the directory shell/). >> > >> > Try to do some research, and see what keybindings are used (if any) in >> > other applications (for example, in online manuals of Adobe Acrobat, >> > Mac Preview, ...). Check if they are consistent. If so, we could try to >> > adopt it if it is not already in use for something else. Otherwise, >> > choose a sensible one (easy to associate hopefully). >> > >> > You will need to create an account in bugzilla to add comments (like >> > specific questions about the issue), add patches, etc. >> > >> > Good luck! >> > >> > -- >> > Germán Poo-Caamaño >> > http://calcifer.org/ >> > >> > >> >> >> >> -- >> -sitaram >> _______________________________________________ >> evince-list mailing list >> [email protected] >> https://mail.gnome.org/mailman/listinfo/evince-list -- -sitaram _______________________________________________ evince-list mailing list [email protected] https://mail.gnome.org/mailman/listinfo/evince-list
