Yes, I did compile LyX successfully,
Great!
Be aware of its embedded debugging feature:
lyx -dbg this,that,whatever
will enable debugging on the terminal of those comma-separated list of components. This is one or more of [1] (need to enter the symbolic name, not the number, e.g., lyx -dbg gui).
I ported the patch to the latest code base, by ported I mean just copied the relevant code and updated the corresponding files.
It compiled! it ran!
Good!
but it is having trouble connecting. "binding" works properly but "connecting" says command blocked!
I was expected some glitch :-)...
Also there are many things in the patch of which I understood the working logically, but didn't understand programmatically.
feel free to post specific questions, I should still remember :-)...
ex. what does the "d" pointer stand for in BufferView!
That's a design pattern to encapsulate the implementation of a class from its interface.
In C++, you would encapsulate by making private fields of the class private, e.g.,
class A {
private:
int x; // x cannot be access from outside methods of A
};
However, still whenever I change the implementation, e.g., rename x to xx, it will cause a re-compilation of all the modules depending on this header file, which is a great burden in a large project such as LyX, especially with header files used widely across many modules (how long does it take for you to recompile LyX ?)
With the private pattern, you have ideally smth like:
a.h:
class A {
class Private;
private:
Private *d;
};
a.cpp:
class A::Private {
int x;
};
Now I can change whatever in A::Private, but the a.h header file won't change at all :-)!
Drawback is that now all the methods of A will need to do:
d->x
to access x.
Is that clear?
I will try going through it again! and list out all the difficulties I face and ask it on the mailing list or to you.
the more you ask, the more you'll likely get explanations :-)...
I am little bit comfortable now with git. I am working on separate branch locally, How do I make this branch remote?
are you accessing the repo in read-only / anonymous mode, or did you clone with your own R/W access to the gsoc repo ? (Vincent should have granted you R/W access, right?)
Btw I have updated the wiki page with my proposal contents.
Great, thanks!
As for the insert image scenario, we can safely assume that, for now, we won't need to transfer the image at all. When user inserts an image, she dispatches an LFUN that creates an Inset containing the path to the image. If we dispatch that on the other side, the image will be displayed correctly only if on that same side the file is already in-place. For now, we don't care about this, and user will have to copy the file by other means. Of course, that's among the add-ons we can think of later, *after* the main concurrent editing is done, if there's time.
T.
[1]
$ lyx -dbg
List of supported debug flags:
0 none No debugging messages
1 info General information
2 init Program initialisation
4 key Keyboard events handling
8 gui GUI handling
16 parser Lyxlex grammar parser
32 lyxrc Configuration files reading
64 kbmap Custom keyboard definition
128 latex LaTeX generation/execution
256 mathed Math editor
512 font Font handling
1024 tclass Textclass files reading
2048 lyxvc Version control
4096 lyxserver External control interface
8192 undo Undo/Redo mechanism
16384 action User commands
32768 lyxlex The LyX Lexer
65536 depend Dependency information
131072 insets LyX Insets
262144 files Files used by LyX
524288 workarea Workarea events
1048576 insettext Insettext/tabular messages
2097152 graphics Graphics conversion and loading
4194304 changes Change tracking
8388608 external External template/inset messages
16777216 painting RowPainter profiling
33554432 scrolling Scrolling debugging
67108864 macros Math macros
134217728 rtl RTL/Bidi
268435456 locale Locale/Internationalisation
536870912 selection Selection copy/paste mechanism
1073741824 find Find and replace mechanism
2147483648 debug Developers' general debug messages
4294967295 any All debugging messages