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

Reply via email to