My “development branch” of xournal
This is my development branch of xournal. It contains several additions to it. They are mainly intended for people who use a tablet, and regularly annotate pdfs.
This branch implements a coloured background for text annotations.
Currently there is one option under Options “Background For Text Annotations”. If enabled, text annotations have a background drawn (configurable via config variables).
This is what I did:
added a field to item called textBg (a canvas item). If not NUL, the annotation has a brackground
added a field to UI called ui.textNoteMode. If true, annotations are drawn with a background.
Currently all annotations have or don’t have a background, but it is possible, by adding a new tool (like “note”) to have some annotations using this. I am not sure how to do it yet.
Cut and paste
Moving (even to other pages)
What does not work yet:
The text annotations do not have any information in the xournal file to indicate they were created with a background (it is actually
a feature too, because you can enable/disable them easily ;)
It does not print or export them to PDF
It does not properly resize the background when the font changes (probably easy to fix)
Summary of features
|Auto save pdf||Every time the xoj file is saved, a pdf is exported|
|Command line options||Several options:|
|jump to page–page=N|
|export to pdf without starting GUI –pdf|
|start in fullscreen mode –fullscreen|
|Hide the interface (except menu) –no-interface|
|Hide the interface in full screen mode –no-interface-fullscreen|
|Hide Interface||Hide the interface in normal and fullscreen mode|
|Add empty pages to pdf||When the background is a PDF, the new pages will be blank, using default paper|
|Use SPACE to scroll||SPACE bar can be used to scroll the document|
|Text font sizing||Use ctrl >/</B to change the font of the text being edited|
|Last page seen||Jump to the last page seen (info stored in the .xoj file)|
|Next-prev file||Quickly go from one file to the next/prev in the current directory|
|Poor man’s bookmarks||Jump quickly to the previous/next annotation|
|Search PDF||Search: finds strings in PDF|
|Move pages||Ability to move a pages one page up or down|
|Config file options||Paper related options|
|- ruling_color: color of lines of graph and ruled paper (RGBA)|
|- ruling_graph_spacing: size of squares in graph paper (in picas)|
|- ruling_margin_color: left margin in ruled paper (in picas)|
|- ruling_ruling_lined_spacing: spacing of lines in ruled paper (in picas)|
|- ruling_top_margin, ruling_bottom_margin, ruling_left_margin: margins for ruled paper (in picas)|
|- ruling_thickness: thickness of lines in graph and ruled paper|
|new_background_from_pdf: create new pages from current background|
|show_interface_fullscreen: do we show the interface in full screen mode?|
|show_interface: do we show the interface by default?|
|touch_screen_as_hand_tool: in tablets that support it, use touch screen as a hand tool and stylus for writing|
|autoexport_pdf: auto export a PDF every time a file is saved|
|pdf_viewer: command line for external pdf viewer|
See patches aplied below
Autosave to PDF
Any time that a .XOJ file is saved, a PDF is exported. This is controlled by an option: “Auto export PDF”
Enable/disable interface menus in full screen mode and default mode
I have added the ability to remove the interface in normal mode and full screen. In fullscreen no interface is shown. In normal mode the menubar is shown (you can remove it too, using the .config file, but that is sort of undocumented feature).
There are now two config options that control it:
Remember, in fullscreen mode you can always exit it with F11.
I have also added a command line option to start xournal in fullscreen mode, and with or without interface in either mode.
–no-interface Do not show interface –no-interface-fullscreen Do not show interface in fullscreen –fullscreen Run xournal in full screen mode
The contents of the interface and their order is controlled by the config variables:
interface_order=menu main_toolbar pen_toolbar drawarea statusbar
interface_fullscreen=main_toolbar pen_toolbar drawarea
Add empty pages to pdf
In the original xournal, during annotation of a PDF, a new page will duplicate the current page. With this patch the new page is empty.
This should be an option, not hardcoded, just in case somebody really wants to do it.
Use SPACE bar to scroll document
Scroll the document using SPACE bar, as if it was page down.
You can easily navigate through files in a directory. If “autoload .pdf.xoj” is FALSE, it will allow you to move through all .xoj files in the same directory, in lexicographical order. If “autoload .pdf.xoj” option is enabled, this option will allow you to navigate PDF and XOJ files in a directory. If the same file exists in .pdf and .pdf.xoj, the .pdf.xoj is loaded.
Search the background PDF. Currently it only supports lowercase matching.
You can move pages one page at a time in both directions. The options in the menu are “Move page before” and “Move page after”
Config file options
There are various new config file options. See above.
Load page seen
Saves the current page number in the xoj file. When you open it again, jumps there
Add next-prev file
Opens the next/pref .xoj file in the current directory
Text font sizing
Use Ctrl-B to bold, Ctrl > and Ctr < to increase size or reduce size of annotation
Patches I’d like to apply
The following are current branches with different experimental features:
- stable: should be safe to use
- master: the main branch with my code and many extra features. Not 100% guaranteed, but it should be fairly reliable.
- upstream: denis code, reflecting his CVS repository
- debian: ubuntu xournal packages
- bookmarks: implements basic bookmarks (needs work)
- images: implements improved image handling (needs testing, needs to be rebased)
- multipage: implements dual page view (buggy, needs work)