You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
130 lines
5.7 KiB
130 lines
5.7 KiB
# Xournal++ |
|
|
|
[](https://travis-ci.org/xournalpp/xournalpp) |
|
[](https://gitter.im/xournalpp/xournalpp?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) |
|
<a href="https://scan.coverity.com/projects/xournal"> |
|
<img alt="Coverity Scan Build Status" |
|
src="https://scan.coverity.com/projects/17046/badge.svg"/> |
|
</a> |
|
(Currently run manually) |
|
|
|
|
|
## Features |
|
|
|
Xournal++ is a hand note taking software written in C++ with the target of flexibility, functionality and speed. |
|
Stroke recognizer and other parts are based on Xournal Code, which you can find at [sourceforge](http://sourceforge.net/projects/xournal/) |
|
|
|
Xournal++ features: |
|
* Support for Pen preassure, e.g. Wacom Tablet |
|
* Support for annotating PDFs |
|
* Allow to map different tools / colors etc. to stylus buttons / mouse buttons |
|
* Sidebar with Page Previews with advanced page sorting, PDF Bookmarks and Layers (Layers currently not enabled by default) |
|
* enhanced support for image insertion |
|
* Eraser with multipe configurations |
|
* Significantly reduced memory usage and code to detect memory leaks compared to Xournal |
|
* LaTeX support (requires a working LaTeX install) |
|
* bug reporting, autosave, and auto backup tools |
|
* Customizeable toolbar, with multiple configurations, e.g. to optimize toolbar for portrait / landscape |
|
* Page Template definitions |
|
* Shape drawing (line, arrow, circle, rect) |
|
|
|
 |
|
|
|
Hopefully you'll enjoy it! |
|
|
|
## How to use audio record and playback feature: |
|
|
|
- Install `vlc` and make sure `curl` and `arecord` are present on your system |
|
- Make sure you installed xournalpp with `desktop-install` command (see install steps) |
|
- Under `vlc` settings: |
|
- - enable `http interface` (see [this](https://github.com/azrafe7/vlc4youtube/blob/master/instructions/how-to-enable-vlc-web-interface.md) ) with blank username and password "password" |
|
- - tick `Allow only one instance` under `Interface -> Instance` |
|
- set the folder where do you want to store audio recordings under settings -> `audio recording` |
|
- Choose `Toolbar Left` layout under `View->Toolbars->Toolbar Left` |
|
|
|
You're ready to go! |
|
Just press the red button to start/stop recording and use the `Play Object` tool to click on a stroke and listen to the corresponding audio. |
|
|
|
If you need to, you can edit the recording audio gain in the script under `/usr/local/bin/xopp-recording.sh` (an option for this will be availabe through xournalpp's settings in the future) |
|
|
|
## Building |
|
|
|
Aside from legacy releases, this is currently the way to install Xournal++. For complete building documentation refer to wiki page: |
|
[Installation](https://github.com/xournalpp/xournalpp/wiki/Installing). |
|
|
|
There will be some binaries appearing in the future, so ideally you can make use of those as well. |
|
They'll be at [Xournal++ releases](https://github.com/xournalpp/xournalpp/releases). |
|
|
|
Current releases are out of Date, we are searching for Maintainer for PPA etc. |
|
[Issue for Contact](https://github.com/xournalpp/xournalpp/issues/176) |
|
|
|
|
|
### Install dependencies |
|
For Fedora/CentOS/RHEL: |
|
```diff |
|
- Probably not correct for new GTK3 build, create a pull or a Ticket if you have the correct list |
|
``` |
|
````bash |
|
dnf groups install "C Development Tools and Libraries" |
|
dnf install cmake libglade2-devel texlive-scheme-basic texlive-dvipng glibmm24-devel gtk2-devel gtk+-devel boost boost-devel poppler-glib-devel |
|
```` |
|
|
|
For Ubuntu/Debian: |
|
````bash |
|
sudo apt-get install cmake libboost-all-dev libcppunit-dev dvipng texlive \ |
|
liblcms2-dev libjpeg-dev fontconfig librsvg2-dev libgtk-3-dev \ |
|
libpoppler-dev libpoppler-cpp-dev libpoppler-glib-dev libpoppler-private-dev \ |
|
libxml2-dev libopenjpeg-dev |
|
```` |
|
(On Ubuntu 18.04, remove the last `libopenjpeg-dev`, it's not in the repository any more). |
|
|
|
Basic steps are: |
|
````bash |
|
git clone http://github.com/xournalpp/xournalpp.git |
|
cd xournalpp |
|
mkdir build |
|
cd build |
|
cmake .. |
|
make |
|
```` |
|
|
|
On Ubuntu 16.04, `-DBUILD_POPPLER=ON` is automatically added due to #234. |
|
|
|
Use `cmake-gui ..` to see graphically all available options. |
|
|
|
The binary executable will be in `build/src/` subdirectory. |
|
|
|
To install all needed files execute: |
|
```bash |
|
make install |
|
``` |
|
|
|
If you want to install desktop file and thumbnailer execute: |
|
```bash |
|
make desktop-install |
|
``` |
|
|
|
## Fileformat |
|
The fileformat *.xopp is an XML which is .gz compressed. PDFs are not embedded |
|
into the file, so if the PDF is deleted, the background is lost. |
|
*.xopp is basically the same fileformat as *.xoj, which is used by Xournal. |
|
Therefor Xournal++ reads *.xoj files, and can also export *.xoj. |
|
On exporting to *.xoj all Xournal++ specific Extension are lost, like addtional |
|
Background types. |
|
*.xopp can theretically be read by Xournal, as long as you do not use any new |
|
feature, Xournal does not open files at all if there are new attributes or |
|
unknown values, because of this Xournal++ will add the extension .xopp to all |
|
saved files. |
|
All new files will be saved as *.xopp, if an *.xoj file is opened which was |
|
created by Xournal, the Save-As dialog will be displayed on save. If the *.xoj |
|
file was by Xournal++ created, Xournal++ overwrite the file on save, and does |
|
not change the extension. |
|
|
|
## Development |
|
For developping new features, write a Ticket, so others know what you are doing. |
|
For development create a fork, and use the master as base. Create a Pull request for each fix. |
|
Do not create big pull requests, as long as you don't break anything features also can be |
|
merged, even if they are not 100% finished. |
|
|
|
See [GitHub:xournalpp](http://github.com/xournalpp/xournalpp) for current development. You can also join |
|
our Gitter channel via badge on top.
|
|
|