diff --git a/README.md b/README.md index 8ad01cdc..86be1041 100644 --- a/README.md +++ b/README.md @@ -4,9 +4,9 @@ [![Join the chat at https://gitter.im/xournalpp/xournalpp](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/xournalpp/xournalpp?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) ## Shout out -Recently we revisited the settings dialog to improve the feeling and usability. -While doing that we also added better descriptions, for which we require -new translations. If you would like to help us, please contact us by creating an issue +Recently we revisited the settings dialog to improve the feeling and usability. +While doing that we also added better descriptions, for which we require +new translations. If you would like to help us, please contact us by creating an issue or write us on [Gitter](https://gitter.im/xournalpp/xournalpp)! Partial translations, which need to be updated: @@ -47,7 +47,7 @@ Xournal++ features: * Shape drawing (line, arrow, circle, rect) * Shape resizing and rotation * Rotation snapping every 45 degrees -* Rect snapping to grid +* Rect snapping to grid * Audio recording and playback alongside with handwritten notes * Multi Language Support, Like English, German (Deutsch), Italian (Italiano)... * Plugins using LUA Scripting @@ -115,7 +115,7 @@ Then Pen input will be working, until you restart Windows. [#659](https://github https://github.com/xournalpp/xournalpp/releases ### Mac OS X -Pressure sensitivity is not working on Mac [#569](https://github.com/xournalpp/xournalpp/issues/569). (GTK-Issue) +Xournal++ will be deliverd with a patched GTK. Else pressure sensitivity is not working on Mac [#569](https://github.com/xournalpp/xournalpp/issues/569). (GTK-Issue) https://github.com/xournalpp/xournalpp/releases @@ -145,11 +145,11 @@ 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 the badge on top. -Also take a look at our [Coding Conventions](https://github.com/xournalpp/xournalpp/wiki/Coding-conventions) +Also take a look at our [Coding Conventions](https://github.com/xournalpp/xournalpp/wiki/Coding-conventions) ## FAQ ### Q: Secondary stylus button only works when there is no contact -This is due to a driver setting, which you can configure with `TPCButton` or `TabletPCButton` directive if using `Wacom` driver (but other drivers might have this setting too). +This is due to a driver setting, which you can configure with `TPCButton` or `TabletPCButton` directive if using `Wacom` driver (but other drivers might have this setting too). Here's a `/usr/share/X11/xorg.conf.d/30-wacom.conf` example snippet: ``` @@ -180,4 +180,3 @@ on Debian or Ubuntu. Finally, type in `doxygen` in the root directory of the rep The documentation can be found in `doc/html` and `doc/latex`. Conveniently display the documentation with `python3 -m http.server 8000` and visit the shown URL to view the documentation. - diff --git a/mac-setup/README.md b/mac-setup/README.md index ca1214a3..519e8529 100644 --- a/mac-setup/README.md +++ b/mac-setup/README.md @@ -56,6 +56,12 @@ Execute in this folder. ./build-portaudio.sh ```` +#### 5. LibZip + +````bash +./build-libzip.sh +```` + If there is an error like: xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance diff --git a/mac-setup/build-libzip.sh b/mac-setup/build-libzip.sh new file mode 100755 index 00000000..86ba092f --- /dev/null +++ b/mac-setup/build-libzip.sh @@ -0,0 +1,14 @@ +export PATH="$HOME/.local/bin:$PATH" + +curl -L https://libzip.org/download/libzip-1.5.2.tar.gz -o libzip.tar.gz +tar xf libzip.tar.gz +cd libzip-* +mkdir build +cd build +echo "Build LibZip" +pwd +$HOME/gtk/inst/bin/cmake -DCMAKE_INSTALL_PREFIX:PATH=$HOME/gtk/inst .. +make -j8 +make install +cd .. +cd .. diff --git a/mac-setup/libzip-1.5.2/.clang-format b/mac-setup/libzip-1.5.2/.clang-format new file mode 100644 index 00000000..55909c02 --- /dev/null +++ b/mac-setup/libzip-1.5.2/.clang-format @@ -0,0 +1,12 @@ +BasedOnStyle: LLVM +IndentWidth: 4 +ColumnLimit: 2000 +AlwaysBreakAfterReturnType: TopLevelDefinitions +KeepEmptyLinesAtTheStartOfBlocks: false +MaxEmptyLinesToKeep: 2 +BreakBeforeBraces: Custom +BraceWrapping: + BeforeElse: true +AlignEscapedNewlines: Left +UseTab: ForContinuationAndIndentation +#PPDirectiveIndentStyle: AfterHash diff --git a/mac-setup/libzip-1.5.2/API-CHANGES.md b/mac-setup/libzip-1.5.2/API-CHANGES.md new file mode 100644 index 00000000..24e3d8e1 --- /dev/null +++ b/mac-setup/libzip-1.5.2/API-CHANGES.md @@ -0,0 +1,162 @@ +# libzip API changes + +This file describes changes in the libzip API and how to adapt your +code for them. + +You can define `ZIP_DISABLE_DEPRECATED` before including `` to hide +prototypes for deprecated functions, to find out about functions that +might be removed at some point. + +## Changed in libzip-1.0 + +### new type `zip_error_t` + +Error information is stored in the newly public type `zip_error_t`. Use +this to access information about an error, instead of the deprecated +functions that operated on two ints. + +deprecated functions: +- `zip_error_get_sys_type()` +- `zip_error_get()` +- `zip_error_to_str()` +- `zip_file_error_get()` + +See their man pages for instructions on how to replace them. + +The most common affected use is `zip_open`. The new recommended usage +is: + +```c +int err; +if ((za = zip_open(archive, flags, &err)) == NULL) { + zip_error_t error; + zip_error_init_with_code(&error, err); + fprintf(stderr, "can't open zip archive '%s': %s\n", archive, zip_error_strerror(&error)); + zip_error_fini(&error); +} +``` + +### more typedefs + +The following typedefs have been added for better readability: + +```c +typedef struct zip zip_t; +typedef struct zip_file zip_file_t; +typedef struct zip_source zip_source_t; +typedef struct zip_stat zip_stat_t; +``` + +This means you can use "`zip_t`" instead of "`struct zip`", etc. + + +### torrentzip support removed + +torrentzip depends on a particular zlib version which is by now quite +old. + +## Changed in libzip-0.11 + +### new type `zip_flags_t` + +The functions which have flags now use the `zip_flags_t` type for this. +All old flags fit; you need only to adapt code if you were saving flags in a +local variable. Use `zip_flags_t` for such a variable. +This affects: +- `zip_fopen()` +- `zip_fopen_encrypted()` +- `zip_fopen_index()` +- `zip_fopen_index_encrypted()` +- `zip_get_archive_comment()` +- `zip_get_archive_flag()` +- `zip_get_num_entries()` +- `zip_get_name()` +- `zip_name_locate()` +- `zip_set_archive_flag()` +- `zip_source_zip()` +- `zip_stat()` +- `zip_stat_index()` + +#### `ZIP_FL_*`, `ZIP_AFL_*`, `ZIP_STAT_*` are now unsigned constants + +To match the new `zip_flags_t` type. + +#### `zip_add()`, `zip_add_dir()` + +These functions were replaced with `zip_file_add()` and `zip_dir_add()`, respectively, +to add a flags argument. + +#### `zip_rename()`, `zip_replace()` + +These functions were replaced with `zip_file_rename()` and `zip_file_replace()`, +respectively, to add a flags argument. + +#### `zip_get_file_comment()` + +This function was replaced with `zip_file_get_comment()`; one argument was promoted from +`int` to `zip_uint32_t`, the other is now a `zip_flags_t`. + +#### `zip_set_file_comment()` + +This function was replaced with `zip_file_set_comment()`; an argument was promoted from +`int` to `zip_uint16_t`, and a `zip_flags_t` argument was added. + +### integer type size changes + +Some argument and return values were not the right size or sign. + +#### `zip_name_locate()` + +The return value was `int`, which can be too small. The function now returns `zip_int64_t`. + + +#### `zip_get_num_entries()` + +The return type is now signed, to allow signaling errors. + +#### `zip_set_archive_comment()` + +The last argument changed from `int` to `zip_uint16_t`. + +### extra field handling rewritten + +The `zip_get_file_extra()` and `zip_set_file_extra()` functions were removed. +They only worked on the whole extra field set. + +Instead, you can now set, get, count, and delete each extra field separately, +using the functions: +- `zip_file_extra_field_delete()` +- `zip_file_extra_field_delete_by_id()` +- `zip_file_extra_field_get()` +- `zip_file_extra_field_get_by_id()` +- `zip_file_extra_fields_count()` +- `zip_file_extra_fields_count_by_id()` +- `zip_file_extra_field_set()` + +Please read the corresponding man pages for details. + +### new functions + +#### `zip_discard()` + +The new `zip_discard()` function closes an archive without committing the +scheduled changes. + +#### `zip_set_file_compression()` + +The new `zip_set_file_compression()` function allows setting compression +levels for files. + +### argument changes + +#### file names + +File names arguments are now allowed to be `NULL` to have an empty file name. +This mostly affects `zip_file_add()`, `zip_dir_add()`, and `zip_file_rename()`. + +For `zip_get_name()`, `zip_file_get_comment()`, and `zip_get_archive_comment()`, if +the file name or comment is empty, a string of length 0 is returned. +`NULL` is returned for errors only. + +Previously, `NULL` was returned for empty/unset file names and comments and +errors, leaving no way to differentiate between the two.