Xournal++ is a handwriting notetaking software with PDF annotation support. Written in C++ with GTK3, supporting Linux (e.g. Ubuntu, Debian, Arch, SUSE), macOS and Windows 10. Supports pen input from devices such as Wacom Tablets.

Overview

Xournal++

Build Status Join the chat at https://gitter.im/xournalpp/xournalpp

Shout out - Translators Needed!

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.

Partial translations, which need to be updated:

  • Czech
  • Polish
  • Chinese

Full translations for all languages not mentioned previously except:

  • English
  • German
  • Italian

If you would like to help us improve the localization of Xournal++, take a look at our Crowdin project. If you are interested in translating a new language, contact us on Gitter or create a new issue and we will unlock the language on Crowdin.

Thanks in advance!

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

Xournal++ features:

  • Support for pen pressure, e.g. Wacom Tablet
  • Support for annotating PDFs
  • Fill shape functionality
  • PDF Export (with and without paper style)
  • PNG Export (with and without transparent background)
  • Allows mapping different tools / colors etc. to stylus buttons / mouse buttons
  • Sidebar with Page Previews with advanced page sorting, PDF Bookmarks and Layers (can be individually hidden, editing layer can be selected)
  • Enhanced support for image insertion
  • Eraser with multiple configurations
  • Significantly reduced memory usage and code to detect memory leaks compared to Xournal
  • LaTeX support (requires a working LaTeX installation)
  • bug reporting, auto-save, and auto backup tools
  • Customizable toolbar with multiple configurations, e.g. to optimize toolbar for portrait / landscape
  • Page Template definitions
  • Shape drawing (line, arrow, circle, rect, splines)
  • Shape resizing and rotation
  • Rotation snapping every 15 degrees
  • 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

Mobile & web app

Since mid 2020, there is a Flutter-written mobile app for Android, Chrome OS and iOS (coming soon) as well as a web app available. Even though it is not perfectly stable nor are all of Xournal++'s features fully supported yet, you may check it out and open your Xournal++ notebooks on your mobile devices. You can get in touch in it's separate repository on GitLab.

Get it on Google Play

The web app is available at xournal.online.

Why is the iOS app not published yet?

According to the Apple App Store guidelines, it is prohibited to publish unstable or beta apps. Hence we wait until Xournal++ Mobile works more stable and offers more complete feature compatibility to Xournal++.

Linux

Windows 10

macOS High Sierra

Xournal++ Mobile

Toolbar / Page Background / Layer

Multiple page background, easy selectable on the toolbar

Layer sidebar and advance Layer selection.

Multiple predefined and fully customizable Toolbar.

User Manual and FAQ

For general usage, consult the User Manual. Answers to some common questions can be found in the FAQ.

Experimental Features:

Sometimes a feature is added that might not be rock solid, or the developers aren't sure it is useful. Try these out and give us some feedback.

Here are a few under development that you can play with now.

  • Assign a mouse button or stylus button to bring up a toolbox of toolbars right under the cursor. You can also modify what is in the toolbox through the usual View->Toolbars->Customize although it won't appear unless you've assigned a button in preferences: mouse or stylus ( or selected a toolbar configuration that uses it).

    • This is an experimental feature because not everything you can put in the toolbox behaves. So be aware.

  • Keep your eyes out for other experimental features in preferences as seen here:

    DrawingTools: When drawing a box, circle etc simulate ctrl or shift modifiers by the initial direction you move the mouse.

    Action on Tool Tap: Allow a brief tap on the screen to bring up the floating toolbox and/or select an object. May work with pen and highlighter only.

Installing

The official releases of Xournal++ can be found on the Releases page. We provide binaries for Debian (Buster), Ubuntu (16.04), MacOS (10.13 and newer), and Windows. For other Linux distributions (or older/newer ones), we also provide an AppImage that is binary compatible with any distribution released around or after Ubuntu 16.04. For installing Xournal++ Mobile on handheld devices, please check out Xournal++ Mobile's instructions

A note for Ubuntu/Debian users: The official binaries that we provide are only compatible with the specific version of Debian or Ubuntu indicated by the file name. For example, if you are on Ubuntu 20.04, the binary whose name contains Ubuntu-bionic is only compatible with Ubuntu 18.04. If your system is not one of the specific Debian or Ubuntu versions that are supported by the official binaries, we recommend you use either the PPA (Ubuntu only), the Flatpak, or the AppImage.

There is also an unstable, automated nightly release that includes the very latest features and bug fixes.

With the help of the community, Xournal++ is also available on official repositories of some popular Linux distros and platforms.

Debian

There are Stable releases and unstable automated nightly releases for Debian.

Ubuntu and derivatives

Stable PPA

The latest stable version is available via the following unofficial PPA:

sudo add-apt-repository ppa:apandada1/xournalpp-stable
sudo apt update
sudo apt install xournalpp

Unstable PPA

An unstable, nightly release is available for Ubuntu-based distributions via the following PPA:

sudo add-apt-repository ppa:andreasbutti/xournalpp-master
sudo apt update
sudo apt install xournalpp

This PPA is provided by the Xournal++ team. While it has the latest features and bug fixes, it has also not been tested thoroughly and may break periodically (we try our best not to break things, though).

Fedora

The released version of xournalpp is available in the main repository via Software application or the following command:

sudo dnf install xournalpp

or

pkcon install xournalpp

The bleeding edge packages synced to xournalpp git master on a daily basis are available from COPR luya/xournalpp. Copr build status

openSUSE

On openSUSE Tumbleweed, the released version of Xournal++ is available from the main repository:

sudo zypper in xournalpp

For openSUSE Leap 15.0 and earlier, use the install link from X11:Utilities.

For all versions of openSUSE, bleeding edge packages synced to xournalpp git master on a weekly basis are available from home:badshah400:Staging.

Arch Linux

The latest stable release is available in the [community] repository.

To build the latest state of the master branch yourself, use this AUR package.

Solus

The latest stable release is available in the main repository:

sudo eopkg it xournalpp

Flatpak

The Xournal++ team officially supports a FlatHub release, which can be installed with

flatpak install flathub com.github.xournalpp.xournalpp

Note that for Xournal++ to work properly, you must have at least one GTK theme and one icon theme installed on Flatpak. To enable LaTeX support, you will also need to install the TeX Live extension:

flatpak install flathub org.freedesktop.Sdk.Extension.texlive

The Flatpak manifest can be found at the Xournal++ Flatpak packaging repository, and all Flatpak-related packaging issues should be reported there.

Android and Chrome OS

Android is supported by Xournal++ Mobile. It can be downloaded either on the Tags page or from Google Play.

iOS

Unfortunately, the iOS app is not published yet in the Apple App Store. See here to learn, why. Anyway, in the Building section you can learn how to build an early preview.

Windows

Official Windows releases are provided on the Releases page.

Notes:

  • Currently, only WinTab drivers are supported. This is due to a limitation with the underlying library that we use, GTK.
  • There is a GTK bug that prevents stylus input from working correctly. Please start Xournal++, touch with the stylus, quit Xournal++ and start again. Then stylus input will be working, until you restart Windows. See #659.

Mac OS X

Mac OS X releases are provided on the Releases page.

Notes:

  • There have been compatibility problems with Mac OS X Catalina regarding both file permissions and stylus support (#1772 and #1757). Unfortunately, we don't have the resources to adequately support Catalina at this time. Help would be appreciated!
  • Xournal++ will be delivered with a patched GTK. Else pressure sensitivity will not work on Mac #569.

Building

Linux Build

Mac Build

Windows Build

Android Build

iOS Build

File format

The file format _.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 file format as _.xoj, which is used by Xournal. Therefore Xournal++ is able to read _.xoj files, and can also export to _.xoj. As soon as notes are exported to a _.xoj-file, all Xournal++ specific extensions, like additional background types, are lost.

*.xopp can theoretically be read by Xournal, as long as you do not use any new feature. Xournal does not open files that contain new attributes or unknown values, so Xournal++ will add the extension .xopp to all saved files to indicate the potential presence of Xournal++-only features.

All new files will be saved as _.xopp. If an _.xoj file that was created by Xournal is opened, the Save-As dialog will be displayed on save. If the *.xoj file was created by Xournal++, the file will be overwritten on save and the file extension will not change.

We are currently introducing a new file format that can efficiently store attached PDF files and other attachments internally. We will still allow for attachments that are linked to external files. Please refer to #937 for further details.

Development

For developing new features, create an issue or comment on an existing issue to let 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 for current development. You can also join our Gitter channel via the badge on top.

Also take a look at our Coding Conventions

Code documentation

The code documentation is generated using Doxygen.

In order to generate the documentation yourself, first install Doxygen and graphviz, i.e.

sudo apt install doxygen
sudo apt install graphviz

on Debian or Ubuntu. Finally, type in doxygen in the root directory of the repository. 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.

Comments
  • Merge in new action icons

    Merge in new action icons

    This is #1735 rebased on master, with the accompanying code changes. Huge thanks to @Fatih20 for the icon redesign, who contributed the new icons.

    TODO: ~* [ ] Adjust icon license metadata to indicate they're under GPLv2~

    • [x] Add option to set whether monochrome icons or colored icons are preferred
    • [x] Check if the rebase selected the correct icons
    • [x] Address feedback from comments below
    • [ ] squash and rebase on current master
    do not merge 
    opened by Technius 179
  • [WIP]: PDF Text Selection Util

    [WIP]: PDF Text Selection Util

    Following @Technius's suggestion, I decided to open a draft pull request.

    As the title says, this pull request is to add interaction with the PDF text, like copying text, highlighting text, etc.

    This PR is going to close this issue: #1745

    Preview:

    https://user-images.githubusercontent.com/51843252/128634365-ddc3e7fd-255a-4ea9-933e-4a1c1257afaf.mp4

    As the video shows, I added the following features

    1. select text and draw text area in real time
    2. pop-up menu after the selection is done, supporting respectively
      • Copy text directly
      • Highlighting the selection area
      • Add underline to the selection area
      • Adding strikethrough to the selection area
    3. After selecting the area, you can select another color if you change your mind

    And the last three are new elements added directly, with a direct call to strokeHandler, and each line is a separate object. Because it seems to me that these three markup tools are designed to help people using computers to mark up quickly and should be on the same level as other manual markup tools. Of course this can be discussed and replaced by a better solution.

    But this does not have all the features yet.

    I'm now thinking of adding the ability to select text in a region, which could be useful when we select part of the text from a table. Final result should like be

    https://user-images.githubusercontent.com/51843252/129444907-e2e2516a-7404-4caa-8ea8-4d3e6255e42f.mp4

    Thanks to the help of @Technius, I could clean the previous selection, but I find there is another problem is how to determine when the re-rendering work is done. To get the demo above, I let the thread sleep for 20 ms, the method is

    void PDFTextSelectControl::reselect() {
        // invoke view->rerenderRect();
        this->rerenderBox(this->selectTextRecs);
        // invoke view->repaintPage();
        this->repaintPage();
    
        // FIXME It should happen after rerender job
        std::chrono::milliseconds dur(20);
        std::this_thread::sleep_for(dur);
    
        this->paint(this->cr, this->zoom, this->zoom);
        this->selectPdfText();
    }
    

    but I know this is not allowed, so I hope you can give some hints. Thanks in advance!

    opened by aeghn 96
  • Action Icons Redesign

    Action Icons Redesign

    I'm a user of this cool app on Linux and upon using it I found that the icons here are very unpleasant. I'm no professional by any means but I have spent the last few months contributing icons for other open source projects.

    This is certainly not my final proposal, I wanted to listen to feedback first before continuing the redesign of all the action icon. There are some icon that haven't been redesigned because of that.

    Feel free to ask me why I made certain icon the way they are if you'd like to gain some insight.

    enhancement 
    opened by Fatih20 85
  • Zooming via pinch to zoom causes graphical glitches

    Zooming via pinch to zoom causes graphical glitches

    When zooming via mulittouch pinch to zoom gestures, the page "glitches" it zooms correctly but it also shows the fullscreen view every few moments, which makes zooming really hard. Also zooming in general causes the view to scroll quite often so even if I'm using the handle in the menu I end up on the last page even if I started in the middle or somewhere.

    bug priority::high Zoom difficulty::medium 
    opened by taaem 83
  • LaTeX Dialog: Use GtkSourceView and autoresize preview

    LaTeX Dialog: Use GtkSourceView and autoresize preview

    The LaTeX dialog now has a command output tab and can use a GtkSourceView if compiled in

    Summary

    • If either of thegtksourceview-3 or gtksourceview-4 libraries are available at build time, a GtkSourceView is used to provide syntax highlighting for LaTeX a user has entered.
      • Introduces settings (line numbers, syntax highlight, etc.) for this.
        • Settings are added to Settings Dialog/LaTeX
    • ~~Allows multi-line LaTeX entry.~~ Changes OK shortcut to Ctrl+Enter.
    • Wraps the GtkTextView and the TeX preview in a GtkPaned and resizes the preview, as appropriate.
      • This is very useful for writing large paragraphs of formatted text.
      • This is very useful for writing long pieces of formatted text
    • Adds a "Command Output" tab to the LaTeX dialog.
    • Changes the TeX preview background to black when the default TeX color is light (this is, and was, before this PR, based on the color of the text tool).
      • Light TeX is now visible in the TeX preview.

    To-do

    • [x] Move dependency changes to a separate commit.
    • [x] Update Linux installation readme (new (optional) dependency).
    • [x] Update Debian/RPM package configuration.
    • [x] Move SourceView theme setting to LatexSettings.h/.cpp from global settings.
    • [x] Separate section in Linux build README for CentOS (and RHEL?) with libgtksourceview3-devel dependency.
    • [x] Change gtksourceview4 dependency for OpenSUSE to gtksourceview4-devel

    Need review

    • [x] 46dda4e507e74ee499f2708797b3e94478dc21e4 needs verification
      • [x] changes to deb
      • [x] and rpm dependencies
    • [x] af342f17346e252817f17c3021d6d228234b7d26 may have errors
      • [x] Check Fedoragtksourceview4-devel dependency
      • [x] Check CentOS gtksourceview3-devel dependency.
      • [x] Check RHEL gtksourceview3-devel dependency (should be the same as CentOS)
      • [x] Check Arch gtksourceview4 dependency
      • [x] Check Ubuntu/Debian libgtksourceview-4-dev dependency
      • [x] Check Raspberry Pi OS libgtksourceview-4-dev dependency
      • [x] Check openSUSE gtksourceview dependency
      • [x] Check Solus libgtksourceview-devel dependency

    I think the above changes are correct (and, as such, marked as resolved), but a tripple-check might be worth while!

    When built with GtkSourceView, this should fix #2542.

    merge proposed 
    opened by personalizedrefrigerator 82
  • not smooth input with MacOS - Wacom Pen not detected as Input System

    not smooth input with MacOS - Wacom Pen not detected as Input System

    Setup:

    • tablet/pen: Wacom Intuos M BT
    • OS: MacOX Catalina 1.15.7 (MacBook Pro 2020)
    • Version of Xournal++: 1.0.18
    • Installation method: downloaded the ``xournalpp-1.0.18-macos.zip'' (from https://github.com/xournalpp/xournalpp/releases), the system automatically recognise it as an .app which runs. No need to unzip or install at all.

    Description of the problem: The strokes are ugly (not smooth, with ''edges'') and there is a notable lag. If I run the app and open: Edit->Preferences->InputSystems I see the message: ''No devices were found. This seems wrong - maybe file a bug report?''

    Remark 1) The same Wacom pen on the same laptop writes smoothly on OneNote (terrible software, though). Remark 2)I have Xournal++ on fedora in my office and with the same tablet it is 10times smoother with a machine which is half as powerful as the MacBook. So I think there is a real issue. Remark 3) it looks exactly as this issue: (https://github.com/xournalpp/xournalpp/issues/1531). Also the pictures are the same. The links to the ''these/those'' are broken.

    Attempted solution: Download the full ''source code tar.gz'' and try a manual build following this guide: https://github.com/xournalpp/xournalpp/blob/master/readme/MacBuild.md (I did not have installed Homebrew - whatever that is). Took a lot of time, got around 5 errors which are very far from my level of expertise. Most of the commands ended up with ''correct'' or something like that. The following commands did not ended up with ``correct'': ./build-poppler.sh and ./build-portaudio.sh.

    Excpeted behaviour: I expect the Xournal++ for Mac to run as smoothly as the Xournal++ I have in the Fedora in the office.

    Screenshots of Problem The same screenshots as https://github.com/xournalpp/xournalpp/issues/1531.

    bug os::mac 
    opened by birba 70
  • "BAD status: invalid tag name, attributes, or nesting"

    First, thanks so much for Xournal++! What a neat project, and so needed in the open source world.

    Affects versions :

    • OS: Ubuntu 20.04
    • (Linux only) Desktop environment: - X11
    • Which version of libgtk do you use: 3.24.20
    • Version of Xournal++: 1.1.0 / 9d1277de
    • Installation method: .deb from main site

    Describe the bug When I export a big 1257 page PDF, with annotations and annotations from Okular, I get "BAD status: invalid tag name, attributes, or nesting" and a 4029 byte result file (should be ~3.3 MB).

    To Reproduce Steps to reproduce the behavior:

    1. File->Export as PDF

    Unfortunately, it's a copyrighted work, so I cannot ethically send it on. Here's the resulting file though

    Expected behavior A complete exported PDF.

    Screenshots of Problem

    Additional context I've tried to reproduce it with two other PDFs, and by paring down my huge PDF. Cannot reproduce. Hopefully the error message is enough.

    bug 
    opened by bitwombat 66
  • A complete overhaul of the cmake-scripts and the project structure

    A complete overhaul of the cmake-scripts and the project structure

    The current cmake scrips have a huge problem, they grew since the beginning of the project and both old cmake 2.x configurations as cmake 3.x configurations were used.

    A lot of good things have accumulated over time. However, some old / deprecated or wrong configurations have remained, which now cause problems. For example, all sources are added manually to the targets instead of collecting them in a target and linking them against it. This affects utilities that work on the targets. Explicitly clang-tidy currently processes files twice, so fixes are applied 2 times. Also, the CMake scripts contain hardcoded configurations which should be defined by the caller of CMake.

    This PR addresses this and tidies up everything.

    Another thing is, that there are 2 main targets: util and xournalpp-core but both require files from each other. All files in util, depending on xournalpp-core were moved to the corresponding target. Also, those targets are splitted strictly.

    To make this separation more clear to others, the filesystem structure has been reordered too. It looks like:

    xournalpp
        ┝ ...
        ┝ src
            ┝ CMakeLists.txt
            ┝ [some CMake generator files]
            ┝ core
                ┝ CMakeLists.txt 
                ┝ <core-modules>
            ┝ util
                ┝ CMakeLists.txt
                ┝ include
                    ┖ util
                        ┖ <public-includes>
                ┝ [sources]
        ┝ CMakeLists.txt
    
    refactoring 
    opened by Febbe 64
  • Text from old xopp file does not show up in new XOPP v1.1.0

    Text from old xopp file does not show up in new XOPP v1.1.0

    Affects versions :

    • OS: Windows 10
    • libgtk 3.24.29
    • Version of Xournal++: 1.10 9d1277de
    • Official release

    Describe the bug I save a file with Xounalpp in Jan 2021. I installed the latest version of xopp. Now, the text looks like little boxes.

    To Reproduce Steps to reproduce the behavior:

    1. Save with old version of Xounalpp
    2. Install new version of Xournalpp
    3. Open the old file

    Expected behavior There text should render properly, and be editable.

    Screenshots of Problem Side by side, an old pdf export, and the current file

    Additional context Add any other information or context about the problem here.

    bug 
    opened by axsvl77 61
  • Building Xournal++ and GTK+ to fix Windows 10 N-Trig Input Issue

    Building Xournal++ and GTK+ to fix Windows 10 N-Trig Input Issue

    Hey All!

    Question My N-trig Windows 10 laptop cannot detect input devices due to a GTK+ bug which has an unmerged solution. I see there are documents on how to build Xournal++ with GTK+, but I am having a lot more trouble figuring out how to build GTK+ and I see no forums or ways to contact GTK+ for help. Could anyone help me build a copy of Xournal++ with the unmerged GTK+ changes so that I can use Xournal++ on my Windows 10 laptop?

    Background I am using Xournal++ 1.0.18 with Windows 10 on a Sony Vaio Flip. The Sony Vaio uses N-trig Active pen technology.

    The issue I am having is that my pen is not recognized as an input device, and does not work properly. I can use the eraser button on my pen, and it will show the eraser icon. However, once I have erased something and unclicked the button, I can no longer erase anything more unless I restart the program. This is with the new input system. Without the new input system my eraser button is not recognized at all. In both cases the pen or touchscreen does not show up as an input device. I dual boot with Arch Linux, and the inputs are all detected and work through Arch.

    Many examples of this same issue with Windows 10 and N-trig input devices can be seen in issue #1751. Issue #1751 references an earlier issue #1346 which goes into more detail and links it to a GTK+ bug #262.

    The conclusion from these two issues seems to be that to fix the Windows 10 N-trig input issue, we should wait for GTK+ to fix its bug. The GTK+ bug #262 has been inactive for a very long time, but recently Bacci has started working on it.

    I have already attempted the process, but got confused on how to build GTK+. Recently I saw that another user, Trescott from GTK+, had successfully built the change with Xournal++ 1.0.18, and pointed out some issues that Baccai had fixed. This makes me think that if I were to build Xournal++ with it now, my input issues would be resolved.

    Perhaps I should post this on the GTK+ merge request as well, but I need to make an account for it first.

    Thanks for the help!

    os::windows 
    opened by Phabbits 61
  • Customizable color palette using .gpl config file

    Customizable color palette using .gpl config file

    Currently this is a draft to eventually resolve #1812 . If you're really curious about this you can already try it out. The main functionality is working. In particular on first start of xournalpp a palette.gpl file is created in your respective .config folder. This you can either replace or adjust to your desired palette.

    However, note:

    • the parsing might still cause errors
    • there might still be memory leaks
    • if you're palette has less colors than you have colorToolItems in your Toolbar xournalpp will show a warning and cycle through the palette as often as required
    • the behaviour in combination with the customize toolbar dialog is not yet consistent
    enhancement difficulty::medium 
    opened by idotobi 59
  • Copy paste not working

    Copy paste not working

    Hi, I use Xournalpp 1.1.2 on MacOs Catalina Copy paste not working; It may work randomly after autosave. I cannot copy and paste selections with command C What I expect: Self-explanatory

    Affects versions : 1.1.2 Mac

    To Reproduce Open Xournal++ , draw stuff, and try copying and pasting. Try selecting many things and copy pasting

    bug 
    opened by Lolol4572 0
  • WIP: Add paper format selection in 'new page'-popover

    WIP: Add paper format selection in 'new page'-popover

    This PR aims to resolve #2239 and resolve #4471 by adding a paper format selector (a combo box) and an orientation selector (two GtkToggleButtons) to the 'new page'-popover to enable switching the paper format for new pages more quickly. This is currently based on the development branch of #4508. After #4508 is merged, this PR can be rebased onto master and finally be merged. The first commit is de7da8f.

    The current process:

    • [x] Helper class PaperSize
    • [x] Orientation buttons
      • [x] Set starting value for orientation
      • [x] Orientation changing implementation
      • [x] Add icons
      • [x] Don't allow orientation buttons to be 'unpressed'
    • [x] Paper format combo box
      • [x] Set starting value for paper format
      • [x] Set format when changed from PageTemplateDlg
      • [x] Paper format selection implementation
      • [x] Custom paper format using FormatDialog
    • [ ] Apply buttons
      • [ ] Implement apply buttons setting paper size
      • [ ] Always set apply button sensitivity correctly
    • [ ] Share code with FormatDialog
      • [x] Create PaperFormatUtils namespace for shared code
      • [ ] Use PaperFormatUtils in FormatDialog
    • [ ] Show miniatures with selected paper format aspect ratio

    Current UI:

    opened by Chrisimx 2
  • Refactor SidebarPreviewBase to use std::unique_ptr

    Refactor SidebarPreviewBase to use std::unique_ptr

    SidebarPreviewBase attribute preiews (vector of SidebarPreviewBaseEntry pointers) has been refactored to a vector of unique_ptr of SidebarPreviewBaseEntry

    opened by jhilmer 0
  • parts of LaTeX equations not resizing

    parts of LaTeX equations not resizing

    Affects versions :

    • OS: Linux Mint 20.3 x86_64
    • Version of Xournal++: 1.1.3

    Describe the bug Equations containing square roots, fractions or boxes don't resize correctly

    To Reproduce Steps to reproduce the behavior:

    1. Open the LaTeX tool
    2. Type an equation containing square roots, fractions or boxes, e. g. $\boxed{\sqrt{\frac{x^2}{4}}}$
    3. Press ok
    4. Resize the equation to ~0.5 or less of its original size
    5. Deselect the equation

    Expected behavior The equation should not change in appearance after deselecting

    Video of Problem image

    Additional context After exporting to .pdf resized equations look ugly.

    bug 
    opened by SaVoAMP 8
  • chore: Improvements to `.gitignore`

    chore: Improvements to `.gitignore`

    • .*DS_Store can be .DS_STORE and isn't autotools specific
    • *~ isn't autotools specific
    • */.vscode/ is redundant
    • .idea can have a trailing slash
    • src/**/.DS_Store entries are redundant

    cc @Febbe wanted to get your OK since you authored e16faa7bcdbceb49d8a4d15e07df3fd963552c85 - in theory both VSCode entries should behave the same, but maybe there was a Git bug or troubles with cached untracked files? Maybe it's fixed by now

    opened by hyperupcall 4
Releases(nightly)
  • nightly(Jul 18, 2021)

    Automated nightly build for Xournal++ 1.1.3+dev

    Changes:

    • 23eaf334ad332a6c7d0350fe18ac20020103a370 [skip ci] Update translation template
    • d894fcd6e1f1810a552d455fe4f7b582f53cbd4a Ensure layers are always in a valid state (#4439)
    • ff8a505ab01aa01859364d051caa9b19ed2d8cf9 Fix leaks, surface and pango attr lists
    • be01b216fac9495d143bc857a9b1967a45360c73 [skip ci] Update translation template
    • 2459548116d4d7d713d22f45da92d19da721d523 Deleted old icons from iconsColor-light
    • 7062ea67617da57163d554cb934b0947ec5c0b6f Added copyright
    • a91ad724a9fcace6f93f641cd676997c16b8b5eb Added icons for set square and compass
    • e3404992e3561e4aa4f8d9c711484bbd595cf104 fix: Removing passing StrokeTool as int to g_warning
    • 16e36b8012aaf04931f63a86b28e50c93dac3145 Use ostringstream to generate id string
    • 79bde3aaaad41839d32fdc09f5369297484af5f1 Remove 'ColorToolItem::freeIcons' dead code
    See More
    • 9c8f4a440a5f6515e356e529721b6eee81fe62f4 'ColorToolItem::parent' was not initialized
    • 0190dd21dfce1bf5f22aba24630e0ad2c8eeddf5 Write version to uninstall entry
    • cf0019ef700896a5879f2d4f15fe35ce21fc8012 [skip ci] Update translation template
    • ebc889ef31ff4e1774af39ceecbfcde20a34efc5 Allow drawing on marked radius
    • cc1ee984a79460ceff21ae52add6ab92101c4783 Improve compass rendering when small
    • c826970f1968d927317ee63e68eb370b2157b90a Integrate compass in app
    • 5f887285eb95ded66d628cb43ca7c673c572e3cf Add compass related classes
    • a5874151f585ffdb8299f7ab63e1e795d071244e [skip ci] Update translation template
    • ca5c595ac656aedfcfd519c3707ce4b667dc9a27 fix: Apply suggestions
    • 2f2e7c66139438a71d1bb375ebaf4484815a835e feat: Add various options to create empty last page
    • 70d7c62066fd0243264b904910c7935e018ab2a4 [skip ci] Update translation template
    • b527a7c723570db5076cd98d806a1ae7abc383d7 Do not show Git commit info in about dialog if it could not be found
    • cf22e98fa02bf11f499aeea8f1b6fb865466639b Replace deprecated stock icons by named icons
    • bd7e09d42fe1c729bc20eb99be109c8dca84f786 Fix crash when dragging color select to sidebar [ #4505 ]
    • a575bfa63acea36b7eb76f306be18e5f6b770f99 fix: Color diagnostics now properly show with Ninja
    • 2d3405168e8de66cdad4ec4d87be3419fdd74045 Lock document's mutex upon adding stroke to layer in BaseShapeHandler
    • bec344918bd5c29f5dd2a7e4fd5db6db9e3b7f27 [skip ci] Update translation template
    • 30fbe1244044453ce333f6f15369c1d847d15e2b fixup! Fix error handling in "Annotate PDF" menu option
    • 239c42fbb3b1c8302606f4080aa3de43c8cdbc7d Fix error handling in "Annotate PDF" menu option
    • a31b98d68c831be0e8402f54e9a6cf6516e5ad19 [skip ci] Update translation template
    • d6732978d29220bbdf42fbef824132851843b682 Apply reviewer suggestions
    • 42313bdded6b415a9e0b2bd205bccc9637614976 Use template for makeGeometryTool
    • dad47a1633c2b852bcc56abdb646219ee4c96a8b Fix padding in Setsquare::getToolRange
    • 8913709cbddaaf3c5a6f72490c30aa07a728abac Minor refactoring in SetsquareView
    • 9fa7e7697326e0c79c56b06944b82842663fc2b0 Fix setsquare activation and deactivation
    • ce1c66cb6d78f3332714ca21d279cf20548d7c06 Repaint only areas instead of the entire widget
    • 2e759321b4d3d7a2ca5b1ebd1020b4049a25f8ba Fix Graph background with border artefacts when writing close to the edge
    • d3cd981aa94843ea6d32f532659970eaa1568988 Fix build failure on Ubuntu 18.04 and 20.04
    • 678ba40abb0ff216f3a6aa1f4b17f64f1bd6b5f2 Remove unused CMake files
    • 6c203317da1967a1281a4c2492936ddfbd201c85 [skip ci] Update translation template
    • 5462a01281c95552a7fd17b700d2c40408d86730 Fix ODR violations in util/gtk4_helper.h
    • 5f645a3884b64e86e3484d70aee9c9a9e7f45323 apply IWYU
    • 09bd72d4fe5c177c2ae53352bd8b9e6697e3878b Change PDF link popup to show when using PDF selection tools
    • 412badbb7c81afd9d4f6594a4178a250fd16c3cf Code cleanup in Sidebar::askInsertPdfPage
    • 82095705b6ae3e21acf95f632e9f298d0121f0dd Support relative document links
    • 598412db295d334311bce0b693fa61e98f33cb09 Follow PDF links with Alt+click
    • a8a1e919c415051872d9cc3ae04cccd20b7d354c [skip ci] Update translation template
    • 1c18faf47b9c2f48d711f678d92de2217e7d9ad6 Apply more reviewer suggestions
    • 76887835448d2a6b98c179b89ed1748f423dce6b Account for line width in tool range
    • 72cbf41c138e1571bd31b8bc68d8d797a309f512 let Control own geometryTool
    • ca1c4f2188640b2b4a126e741652683686ae977d let InputContext own geometryToolInputHandler
    • 2ea892a5da89eda6e9e492c7ede6c56ed01dc921 let Control own geometryToolController
    • 8860af1ca456879d95ea75967b18f52ba2b7c6b7 Lock mutex in addStrokeToLayer
    • 89495a936d383c498eb9cd8700c88b97530c3a21 use unique_ptr for geometry tool related classes
    • 2848ae55fccb9c8c0b3329aeaedb3798d0111623 Use RadialStroke and EdgeStroke
    • 902a68ed0b77755ff366c5542e9c714b3d2863df GeometryToolHandler -> GeometryToolInputHandler
    • 36435d7aaa9d20fa817a77cdbab488c3ac7d0bd9 Apply reviewer suggestions
    • c685fdec4a18218ba3f32c78b9a238e417e9daa1 remove undefined updateValues method
    • 56256ee6e3b01f55942ba929be5cd52cad0a3902 mark origin
    • b037f64e3a699610b8977406cca565ebf032a97b Cache geometry tool drawing into a mask
    • 0df03bc2ef0776f678756aa774d5cb9383d9d8cf Fix scrolling in GeometryToolHandler
    • 1b2a17347f92fa301dcb268bb116f4dfb1536524 Fix radius locking for setsquare
    • 551ec16521366dc0cb8afebe725e1b63474181ec Compute repaint range in GeometryTool class
    • 99d9e2b1fa997851d31e80b8cd9afc4b38ca7fbe Apply reviewer suggestions
    • a701fca10fa32ca6400be433ae9b56daf79cc457 Refactor getMatrix
    • 66f2d0084d199f1aa10454963393932cb5866d45 Use CairoSaveGuards
    • de5363381bc035c085f470a9a02e2b64af370d2e Fix highlighter and eraser strokes near geometry tool
    • 9af6e33dd2188658525740fb6ea2256665e832f3 Minor simplification
    • d50a50b839c3f29acde37c3a785dd3f8bc4c2659 Derive setsquare classes from geometryTool classes
    • 5259dacf504c22aaf83409f339fe26f157beb528 Minor formatting changes
    • 70f8e6d5c99ac47f1797affc4b5cd92426ceb11b Refactor setsquare using the MVC pattern
    • bcb5aa6d5fdcae8131fe81d904375e9252373c67 Update Ninja version to >= 1.11.1 on MacOS
    • 8e92a9ba858a06d99cbd387259ce0d789df103ff Remove disabled libxml unpacking step for MacOS
    • dfa9f24db0b453b18b757d55bd998fac21893a7e remove Lua build step from MacOS
    • 81ca4db4aabbb19c5c3ecd771f9d9185d20f3bb9 docs: Fix whitespace, heading level issues
    • 4c1ed4c0632b95884a39d7a5c5b8bb3bb416a4b0 [skip ci] Update translation template
    • 939576475edec551cca54b2c8dffa7611e3b2c46 Add ACTION_TOGGLE_PAIRS_PARITY
    • 62b0f5540477bf276f65aaafd33879467b9a4271 [skip ci] Update translation template
    • be8348cab9e46ed7efa6b8ff4ab32fae8ccb8398 Fixup crash when TeX is not found [ #4345 ]
    • 09ab14220b79a3f1e885fc1e4d7ab65d8793360e Fix clipboard pasting on MacOS and X11
    • aa2cbc79198f57bc65806d3b0ef18113034f538a Fix crash when pixbuf is null while pasting image
    • c9ac931bb24a53c332d3bda0f61ce768936d683d Merge Crowdin updates
    • 1fe3f8b3b655925de230f04a82199889aec582d9 [skip ci] Update translation template
    • d57f7915e2224e90cfe2ef5896e156ee9e7fb956 Implemented color switching by number hotkeys
    • 43f34e26361a5be82f7b6831a33598c90295f3aa Implemented clear function for recent files list
    • 2c0f631b6632f093a7572ac339db084282682e1b [skip ci] Update translation template
    • 4b97adde4afcb713d47fda65cbf9d8f5306e7b91 fix color of pasted text
    • df36a0afa67405a47bbfec8d060c6ff58eb2877d formatting changes
    • 922dc42c2a4de88118fe702c968a7904df1a4fea fix copying images into clipboard
    • 45a9c7d0f98c6a142f162045a1183afb6ef59e34 [skip ci] Update translation template
    • c99b0fe5d3cebe7c7eb1534f66297b5f46b774a4 Use smart pointer in MainWindow
    • a73f295d0ab752b8496e5b0ae78f5a0365c2aa01 Fix const-correctness in some GUI files
    • cd46e4366e9723c7177bbe96e5a19fb3560d9bc3 Remove unused variables in Toolbar item related functions
    • 4663da10ce2b3ccb0b373f69b5deb750d175c654 raii/CLibrariesSPtr.h: add conversion from nullptr_t
    • 754351206f5c70d07729957d189fc4cd409a3651 Removed the anchors if the hand tool is selected.
    • 16f30b9bf27f4d3d871f34708522bc4dd704cb29 Removed the "DeleteRect" if the hand tool is selected
    • fdd04bbe73b6077d906c992a0954d1eae171204e [skip ci] Update translation template
    • f20675c7d622c88f2448af81a6bfe2a350e7bb7c Merge back Release 1.1.3
    • 9ec3aa86604879efeca0147ef695b5b4b9675937 Do not define in XML_VERSION_STR variable InputStreamException.cpp file
    • 311b5fecd8be8dae7b1d1c80a27aaa43ee1f0a04 [skip ci] Update translation template
    • 4cc132e0c6eb6d40db2168b45d9ba1f849477c77 Split PdfElemSelection into View+Controller (#4338)
    • add80301c351345c9dfbd74231c96e537fc268cc Fixed typo in method name
    • 52e6a7954950cfef1e871cde894e1b4bd7d2a42e Use RAII wrapper for blink callback g_source in gui/TextEditor
    • e2430638e0ced45ddc1e8855a0d53a86f31c49b9 Add util::OwnedCString wrapper and use it in TextEditor.cpp
    • 15cbd00440c409b3c6fb7312b3a8b71277f0b25d Use smart pointers for gui/TextEditor's GObjects
    • 72f14ac4c45a7fa0d263ac8dc76499adc788b045 gui/TextEditor: Font changes
    • fb2212601e154c9d04fdaffb95334050ce9bcc96 Use uppercase for enum constants on TextEditor::SelectType
    • 094bd325e466265bb6b0594c0a73c306ef215761 Rename Control::setCopyPasteEnabled to Control::setCopyCutEnabled
    • 44ef0959940c992ba357c41a41bdc4b7878d3d03 [skip ci] Update translation template
    • 46675f241b928032ce4b0302a53b2f49281d9ae4 Fix unwanted position change after editing LaTex elements (#4430)
    • 186ecb17d54e92bc5922d5599c1a6f84c2280019 remove dead copy selection code
    • 0612bf5fbdb8bbb63a43e20ea9b35223b8bbbc0c Override std::exception::what rather than hiding virtual overload
    • 6dc7abaecbc0519b002a8bf31f5ea69f31c0ca54 Switch to macos-11 vmImage on dev Azure
    • 5893b50a8970fb6eacc804cadfdf32c5fcbc73dc [skip ci] Update translation template
    • 53ff9542840a27f7ab3c3fda28cc57072e737f07 Avoid "nan" pressure in stroke finalizer
    • 2437107debafeb8b4d7fc027b2766e11e051ebd1 Add unit test for "nan" pressure values
    • c4ef2db24f3049940ce7a1609cbdbaa07c46c460 Fix "nan"s as pressure values in LoadHandler
    • 27185db9a28e86f4a5846470b45b66c75bd69710 add Lua API app.openFile for opening PDF and xopp-files
    • bc2776740082b37fdb5c416743faa5d51994a73f [skip ci] Update translation template
    • 70addc56146ad071b3dae7d73ffaeeafad6f71cb color-names: Script to decide color names
    • 8c65f360e1aa75b80988be1a40a692140e154a05 More hardcoded colors refactored, minor syntactic changes
    • 0ce9b50ee15ccba28e19da26da8fafa9750bfac5 Refactor hardcoded colors [ #3625 ]
    • 0479562cbe839e07514d072a20d3f671b2112fba docs: Apply suggestions
    • d1806f8a8b7de0c015de9461c175f48828959ca3 docs: Apply feedback
    • 78e9b0c03dd165f131c622b012d2d4df82386084 docs: Organize docs
    • c9bf403d78f5e8621c7fa6efdd1d967a5b08ee05 Remove implicit adoption in raii/CLibrariesSPtr::reset and contructors
    • 3e075415363e9878148e22ab4a6d84a970e031d9 Fix raii/CLibrariesSPtr::reset(T*, Adopt) not calling adoption routine +
    • 8fadfc8bb6615993741ddc95cdf747efea2aabb5 [skip ci] Update translation template
    • 174a79aa732bdb3d7a7a5e08c748a96372f04528 Add "selection" argument to getToolInfo
    • 7163b5dfcd2bdf997cc3f5067f6c213bbd6e5ac6 Add getStrokes() as an inverse function of addStrokes()
    • 36f092605163fb9def25b68a69aae275499059df [skip ci] Update translation template
    • 60bad18d80de45293281cd84daa61ee052ba71a5 Split VerticalToolHandler into controller and view (#4306)
    • 56b14e00f59cdc51dbb0717af231f9de15c8d2b9 changes button id for MoveSelectionToLayer to fit menu
    • f7f4370882a40cff55cab5348bd797161ccdeb21 [skip ci] Update translation template
    • 861c5c3c466b91f0b8de28c8c9d87ae29fbb6c60 Adds feature to change layer of an object (#4352)
    • c632393e61b24804fb2f56b3fd91bd2b450015e8 [skip ci] Update translation template
    • 8a0f16b5504725f09cc25129c96fd5a268105e9c restructure: Call duplicatePage to remove duplicate code
    • 5aca1a7b738f275aa26227b40966b212d1d001c2 feat: Add Duplicate Page option under Journal menu
    • fd0faa470025dcff064632663cd0b10545290a9d [skip ci] Update translation template
    • 1e833503496afb4638ba189d66f977c13ec9d388 Fix assertion on selection existence
    • b7ae76276c15fa4b3ea3751641d3d47673e6c300 [skip ci] Update translation template
    • 401e2d8bc98829a00551c4d63d9c76ae30ef9077 Fix PDF toolbox showing at the wrong position on Wayland
    • 4fbea8c4c3129a9ab1e5ed3f106730d18e364f8c [skip ci] Update translation template
    • 13dc66ce390a120d67af48f83c3db6c68ad3967d Add LoadHandler::fixNullPressureValues (#4354)
    • 811ab29cec4ae1033a48047f0e01c8fa46d6dec0 [skip ci] Update translation template
    • 3613fb6b7703a323c45bb56e4c799a88ce495a01 Minimum size for shape recognizer now customizable (#4283)
    • 5471633f89bf316c3c86d2adbb6171f2321d7817 [skip ci] Update translation template
    • fc13b5c91751e0cf04501916f13f89171c67f0d9 Split control/tools/Selection into a view and a controller
    • bfb508e0c3267a37c8f069d059fdb7a79941252d Rename view/SelectionView to view/ElementContainerView
    • c766bc8cd8a28acf39d7faecbebc4c1e1f8b70e7 [skip ci] Update translation template
    • 204602e7732ba1373441950ff50d33447c8e1ae2 Fix segfault when switching from text to selection tool
    • fa710e5dcb4c3f2900638a87d011243df63f327a Fix problems when drawing an ellipse (#4320)
    • 024c3419f1194adefa72e37e7fcdf408065d5f2b [skip ci] Update translation template
    • 73c7326cef7e70db9c67e38650851491e54357a7 Merge branch 'release-1.1'
    • 96ebedec74a2dd62604723524fbadc71549e3b52 [skip ci] Update translation template
    • a08c58270d6a47d45f5a3284fda6690c2c51066f Auto-select edited text object when switching from text- to select-tool (#4315) [ #1169 ]
    • 6e7d54ceeb79d787dece6d7f83583a47641ffc28 fix: Declare a default virtual destructor in XmlNode
    • 835f6f957b847b64e91e4bd2bab9c5da062b1e30 [skip ci] Update translation template
    • be6cb971de02163fbcb94951933066799709da1c Added the "Fill Opacity" feature to the available toolbar items and created an icon for this feature. (#4263)
    • 6eb24143dac85310493390abc9a1ca9b3d4ac012 Update README.md (#4278)
    • 1b52a13ba18d8c19f10cc7f9a4214e8f30819652 [skip ci] New Crowdin updates (#4060)
    • f3123a852bb5ce21d74da2f3855b093503db58cb [skip ci] Update translation template
    • 34f8bd77016ca90b9842530ef3fe6aef32d8be46 Refactor SearchBar::searchNext and searchPrevious to remove code duplication
    • e70cda2127e2cbeb9e0feee093a1c29253ce0eb7 Split control/SearchControl into view and controller
    • fdc11a33717c0f9685888c24849dd35ecc209bbf SearchControl refactor: Preliminary code cleanup
    • c8f8a684615abc5926c4b0c62c0394f13d9113dd Set BaseShapeHandler::currPoint upon MousePress event
    • 1b4a0351cf14e7bba711b51585e1ee6b1c639548 Fix SegFault for BaseShapeHandler when clicking without moving
    • b2dd9512b21342bd7aa4c5edfde3381f34703276 Make StrokeView a class with property tests functions
    • ef2488b3b45725f3c11fba5f7789eaaef8c71de6 Fix stroke stabilizer's 'stroke finisher' failing assertion with highligher strokes (issue 4301)
    • 6f4c6f9ab90c294269a50a5e45982e968199d05b meta: Add EditorConfig file
    • 7e6b0174941028e3f379c888fa3feed64d0b4add Fix PDF toolbox stroke actions when PDF page num is not current page
    • bd5cfe2e7e3b07a8c87b2989dc51c1189c06fd19 fix: Properly validate version
    • f4e5d6b37ff81a6e28579bf45c2cc92646bc4f92 fix: Run release script through shellcheck
    • 454424511cabe48ce4cb19015f3c23f7b0d73558 [skip ci] Update translation template
    • 5e439f58002058041fd8fa936b747b954a79b096 Merge branch 'release-1.1'
    • 2809cb4fd1ce20723be688421f54223602ed22bf [skip ci] Update translation template
    • 3ac6d4d770a5193e9e73a7ff5dd50961b0a2bb1c chore: clang-format
    • 15ef5d368df65c1ea79273528b139c57ec47ce9c lint: Remove unused function ObjectOutputStream::cairoWriteFunction
    • 1516dd9032c7a8b17e69048bb2fa56b5ab62e715 lint: Remove unused variables and members
    • e8ccc288da05a712541c9ba19abda949ac613da9 lint: Fix constructor order and other low-hanging fruit
    • 9bff0dc5f9f5c1483aa6a4da54b77c835be8c6f4 [skip ci] Update translation template
    • 6303fac0fdb26aaadecb041546bb55412da54092 fix: Bind Ctrl+Shift+Z to redo
    • dc2af9237d6fa190f82b022af6ce93534aec3883 [skip ci] Update translation template
    • b36d9c54ec88133a2ca8a54cabe9e49f2c975787 Add blink-free transition mechanism to shape tools handlers
    • 24af39a906319e3e2e6d530c1594f7ea1bbd4c7a Remove mutex from shape handler controller/view interactions - same
    • 31d7dad7ba8d566a17cc6480bd62df7b17870489 Split shape tool handlers into view/controller
    • d69c2eabe710d818a6a8121dcc3a8fc27dd186ed Implement a Mask helper class for cairo surfaces
    • 553588a4cf858d76b357322e40f50f750ca69794 Split away helper functions from view/StrokeView
    • d1888cf445c71b1e7a8e70dd7b63b7e5a1ff8b94 Implement generic DispatchPool and Listener classes
    • da2b2f70d52937353675c03e22e60b5454684107 Add Util::cairo_set_color_rgba taking Color::alpha into account
    • 50fd2b7a87918bbe8b18b4aae465811e6939fd84 Extend util/Range + add test unit
    • 00c4bd03aaefbf5ffd8fdb31ba093db85c646269 Rename BaseStrokeHandler to BaseShapeHandler
    • 1531a444a7b7c205f6d3e867abf420f98c1dc276 fix: Ensure zsync artifact is published
    • 36ef885a42a85557425d40fd768ee43b1a2fedac infra: Support AppImageUpdate
    • 0d1c47f5d4d9fa311c6c5440ce1c2ee557d84421 Add regression test for checking new stroke float format
    • d370b6f94b284a6b6dfd10a46cfdf5b9220cb421 Change float format string to use g specifier
    • 449cb255b2b0ed58b51c2dcac2bce6c7804bb099 docs: Correct minimum CMake version (#4281)
    • b6de696981e9a12c34b1db9e6f893b81db625555 [skip ci] Update translation template
    • aef62050352864716b81327a2ffc1b0d0f6590d4 feat: Default LaTeX text now configurable (#4264)
    • 5fc8d2f96218974055c01a0375be05115097ac8d [skip ci] Update translation template
    • f4bbbde81a4f448f5ec58ebcdee9c81839d92ca4 Remove unnecessary audio includes
    • af38052364b7478e50673ea3bf4d1130d3f9844a Const-correctness in control/ToolHandler
    • 0a7714e9263a5d43fbd00d847871f1732eca5722 build: Properly obtain origin url from git (#4260)
    • 449b0ebe80d2f8ee6df55c83d444342d43fa8965 [skip ci] Update translation template
    • e0db738850baaf4eae9e86fb8d90188fb6707f73 propose pdf only when not in attach mode and check if proposed path is not a directory
    • b80833024b420cd1987f184007e6f43b8e2ab6fb This pr fixes a issue in #4165, where in every file attach mode is enabled. [ #4228 ]
    • 55e3983d3da288b55100411ef054352b1875ec73 [skip ci] Update translation template
    • bdfeee42599afc29e3dbf5515860e974aea2ad80 Fix corrupting pdf background when saving
    • be92ea94498ee45293213079aeaa4b1bfe4b03e9 Fix attach information getting lost on load
    • 76e9aa7c9d905da35d1812dfd271cf346ede1750 PluginController: Only include tuple and utility when we have plugins enabled
    • dc0b3e49d26501dea4a64e3138d0d2742385124e PluginController: Fix compilation when plugins are not being build
    • c213b0802324f99245c9373553f76d9675fa2146 luapi_application.h: add implicit includes
    • cadb908e297c222acdea457cad6961896065cf05 fix cairo includes for macos homebrew install
    • e76862e60f344b175bd40376af3da2971adf0410 [skip ci] Update translation template
    • 089c6202c941a544c901ebb574bb61388bacfaab add optional mode for plugin callback functions
    • 11e32305d8eb3032f3f3238954308a8f58d18abd fix bug for setsquare translation via arrow keys
    • 7b6d84956d6bbe8615b2123c64dd0cac80afb81a Fix StrokeView mask creation (#4164)
    • 038daf33921dbcf5d50d8b7d090e886f21b97a5b Merge branch 'release-1.1' into pr/merge-release
    • d3dbf42faf2b66083fd3fb87d8926817c7363ac6 [skip ci] Update translation template
    • d50bc6b1c2102653ebfd3d1fa0b48ed3c47a4cec Added functionality to the missing PDF background dialog to propose a replacement file (#4165)
    • 383c5c4b998b18389b320039d8137d00922346e8 [skip ci] Update translation template
    • d513e51b8b05a38f38c9b6c9e4b55b5dd93acddc Fix SelectionTools not considering LineStyle (#4089)
    • b5da66c912e1de4d05b518b60e10e4827ee40e22 Enable PairView on const qualified container
    • e6cb4d721e8cb8c58baef5d5a1eb4af198a153f5 Some const-correctness in gui/
    • 3a83def61a8971f66cdcda973af372410f975c03 Bump gcc version from 8 to 10 in CI
    • d6c496700972931731926dc18a6b64b29660af85 [skip ci] Update translation template
    • 1d9699f95d583db95148595191065fe78b03bb5f Make version text selectable and print commit number
    • d0a1da3743041485e0f5fd7bd03ebabff42fde03 Add options to disable or force X11 linking
    • 82ab6e3b7ea7297527b549bcc1a80ca3db791d93 Drop old mimelnk MIME types (#4130)
    • 573502447cc9eb3e51e611e7c7eed246411fc577 [skip ci] Update translation template
    • 13d786fee09554ca3ab199981bce1bc23cc63f2b Add support for layer selection on CLI exports (#4143)
    • 482534349ea9a59b1ca0e2950bfa7aa3856070f3 [skip ci] Update translation template
    • 7596c7e38d1bd9fce4848e023f8cfbe93f895607 Add legacy snippet to read corrupted files with PageTypeFormat::Copy as page styles (#4139)
    • 2c8c1662e9827e26556296e21358d3ed8854a799 Update clang-format check
    • 9ae2429bffd9906ee3e132242b3a35df3ff7b7c4 [skip ci] Update translation template
    • d1d300ba975c65347afab28d0928888d8379f370 Bugfixes in LatexGenerator:
    • 69ebb65dff6feb0912d8c8699a6ae4b5118bba73 Forward-declare XojPage in PageRef and protect headers
    • bea2dc46bf8c4eff33c561a3f6d4d369579bf968 [skip ci] Update translation template
    • fc17f8555790689dc2e4d2f8ea5bd5a2c2216ca0 Use Cairo RAII wrappers in gui/PageView & jobs/RenderJob
    • 05f1c174dcb034e3e98826362582b6a9edc09a18 Create RAII wrappers for C libraries
    • faa0888c482d131171ed72ca98d66037cef71e6a remove macos-launcher and simplify build-app.sh
    • b196130f72ecaa36d2ffd64ba865e6f44f5fb673 [skip ci] Update translation template
    • bc2b30d128582e9afcb6cb558cf4e007bb6ae6a0 Fix low quality rendering of vector graphics embedded in PDF files
    • 0d471f2e709bb5db23943056f0745e953fcdf00b Update LinuxBuild.md [ #4094 ]
    • f3ded0aa9ab51ece06b4eb1f1c4ada294014fff7 copy gtk-sourceview shared data
    • e7c350856a7a07bb25e7d97de1802ec7a7d99f10 [skip ci] Update translation template
    • c27296706d6da92154d250442097ce6bc12083c7 Move initialisation from header to source file for AudioRecorder,
    • 0ed5ed1f2da7a17a7a6371c95e57acbffeffba05 Apply include-what-you-use to reduce (re)build time
    • 998cf58ecf4d62dcdf87c4ac9d846bc5f61c3b22 Fix filesystem includes
    • 56e5b29cc79c873aabce1aa3e11a67af557d9189 Fix includes in view/

    This list of changes was auto generated.

    Source code(tar.gz)
    Source code(zip)
    xournalpp-1.1.3+dev-nightly.20230105-Debian-bullseye-x86_64.deb(2.00 MB)
    xournalpp-1.1.3+dev-nightly.20230105-Debian-bullseye-x86_64.tar.gz(2.00 MB)
    xournalpp-1.1.3+dev-nightly.20230105-macos.zip(31.71 MB)
    xournalpp-1.1.3+dev-nightly.20230105-Ubuntu-bionic-x86_64.deb(2.12 MB)
    xournalpp-1.1.3+dev-nightly.20230105-Ubuntu-bionic-x86_64.tar.gz(2.11 MB)
    xournalpp-1.1.3+dev-nightly.20230105-Ubuntu-focal-x86_64.deb(2.13 MB)
    xournalpp-1.1.3+dev-nightly.20230105-Ubuntu-focal-x86_64.tar.gz(2.12 MB)
    xournalpp-1.1.3+dev-nightly.20230105-Ubuntu-jammy-x86_64.deb(2.03 MB)
    xournalpp-1.1.3+dev-nightly.20230105-Ubuntu-jammy-x86_64.tar.gz(2.02 MB)
    xournalpp-1.1.3+dev-nightly.20230105-windows-portable.zip(75.99 MB)
    xournalpp-1.1.3+dev-nightly.20230105-windows.zip(70.03 MB)
    xournalpp-1.1.3+dev-nightly.20230105-x86_64.AppImage(31.48 MB)
    xournalpp-1.1.3+dev-nightly.20230105-x86_64.AppImage.zsync(110.45 KB)
  • v1.1.3(Nov 27, 2022)

    This is a new minor version of Xournal++ with bug fixes and improvements from the community. This will be the last release in the 1.1.x series; the next major version of Xournal++ (series 1.2.x) is scheduled for release in the next few months.

    See the changelog for a full list of the changes.

    Some notable changes:

    • Fixed several crashes.
    • Fixed a bug that closed text fields immediately after creating them with a secondary mouse or stylus button.
    • Added a setting to disable GTK inertial scrolling to work around scrolling issues on some devices.
    Detailed commit log
    • 2dbd16d2a3aed517f44274d566fb282aef0feaff Release 1.1.3
    • 0e3b5328896897546580514f2fa3fcf8eaa23c0d Update changelog for 1.1.3
    • 2c9e5f7278ebd21867132f9702b94909e1f441da Only fireZoomChanged when zoom has changed
    • dcae0c4c0062b72f0c4302ba8f8fde96655a72b5 Remove now-unused getGtkTouchScrollingEnabled
    • 3c43dc6236c52202fb020ed388a9320debe322f3 Fix touch zooming when inertial scroll is disabled
    • 3ba1794fdaa685aff3962bcf85c4e658bb8409a6 Apply suggestions from code review
    • 885b4e70c2c72262b520690761a576012617267a Apply changes from code review
    • 26122a74d89c9b772ffb82d27e59e3d51870a75d Settings: Allow disabling GTK inertial touch scrolling.
    • c0a2ec553c0f769da28dc7ab4c8904b3a2a4152c Use gcc-10 on Ubuntu 22.04
    • 01e24134f554bbc94c4ff817a33ff7dd0bf940ac Add Ubuntu 22.04 build
    • acf46ad2f3ad9c893d5fcce10a642fafe67ce0d6 Fix formatting issue
    • 37ff24f084546735ec7fda6e30c6bdbc5d47a870 Fixed bug that closed text fields
    • 489b814b6024a8413f78642ce348a82b08490d3b No timeouts with touch disabling turned off
    • e2760809c53dec4772656abf011896e0505b95ba remove HandRecognition::event(GdkDevice*)
    • 26b93227c8b829dedbd4ff87e1c32d2ddb78af2a Remove TouchDisableGdk (dead code)
    • d5748557a3d0ffd0117105c9766c124dafd87275 make enum values consistent
    • 77751f08823e8121172434d0fcfdb0eff6d9ddc0 fix app freeze on quitting the app
    • e8893fd82954e72d6e25d60654c7daaf3e09d18b fix g_error freeing when err is nullptr
    • 176dfcd0bc5b0c44a4014a86db5df46d2c913ad9 fix crash when latex generator is not found
    • 4dfe5c7dbdee366fe264bf1fd7de687189769ee9 Automated version bump to 1.1.3~dev

    This list of changes was auto generated.

    Source code(tar.gz)
    Source code(zip)
    xournalpp-1.1.3-Debian-bullseye-x86_64.deb(1.61 MB)
    xournalpp-1.1.3-Debian-bullseye-x86_64.tar.gz(1.61 MB)
    xournalpp-1.1.3-macos.zip(30.56 MB)
    xournalpp-1.1.3-Ubuntu-bionic-x86_64.deb(1.74 MB)
    xournalpp-1.1.3-Ubuntu-bionic-x86_64.tar.gz(1.74 MB)
    xournalpp-1.1.3-Ubuntu-focal-x86_64.deb(1.75 MB)
    xournalpp-1.1.3-Ubuntu-focal-x86_64.tar.gz(1.75 MB)
    xournalpp-1.1.3-Ubuntu-jammy-x86_64.deb(1.64 MB)
    xournalpp-1.1.3-Ubuntu-jammy-x86_64.tar.gz(1.64 MB)
    xournalpp-1.1.3-windows-portable.zip(70.25 MB)
    xournalpp-1.1.3-windows.zip(64.69 MB)
    xournalpp-1.1.3-x86_64.AppImage(31.11 MB)
  • v1.1.2(Oct 16, 2022)

    This is a new minor version of Xournal++ with many bug fixes and improvements from the community.

    See the changelog for a full list of the changes.

    Some notable changes:

    • Fixed several UX problems.
    • Fixed several crashes.
    • Fixed PDF Attach Mode not being loaded correctly.
    • Improved the performance of the text tool.
    • Windows: fixed some crashes in the installer and uninstaller.
    • macOS: changed the way Xournal++ is launched to avoid file permission issues

    Known serious issues:

    • A crash occurs when trying to test or use the LaTeX tool when LaTeX is not installed. This issue does not occur in 1.1.1, and will be fixed for 1.1.3.
    Detailed commit log
    • 3fe37c1dd63f4b26fef608817fa79e488d3a4f7a Release 1.1.2
    • 4c9c455ef9c5fd42cee13e2e921979c6971d08d3 Update changelog for 1.1.2
    • ec183123d4692d9a4d07afd8d9ecc2cb07926622 ci: portable Windows installation in release build
    • 4b23e88a7c0edde489c8541b735f084c92a5b4eb Fix corrupting pdf background when saving
    • 0dce5801fd929b53e6088205300b95a3dcf1ec86 Fix attach information getting lost on load
    • e37b90a551a69a9c7b8ce19e1995a57dc43d765c mac: fix potential crash if locale has no dash
    • e2f7f0f562645f4c971b43b6e44dd2dc39c61763 Fix crash when GroupUndoAction is removed from undo/redo
    • c6bd41e31d94af77c51e069842ceb03066b4ce4a fix: Prevent segfault when calling g_object_get (#4293)
    • 5b3e44d341bf1034af2d6f68850839fdc2ce9acb explicitly focus out im context [ #4279 ]
    • f90c4783a94162a298b1ebbad8e0328170f35a14 Plug leaking Stroke in StrokeHandler::strokeRecognizerDetected (#4258)
    • e70602a17c03a2f27864e3824cbed756435b16c5 Improve cannot find pdflatex error in Flatpak (#4259)
    • 746310ef2aad9563aab994aade6b925fe8e7239e fix applib_get_Document_Structure layer name
    • b3a818400c87f309f950bace01c318c4f8b1c931 Fix: move events were being processed twice when using a tool such that isSinglePageTool == true
    • ec9307aa3216335dbf07d0ae4ff7864ebc740ea7 Fix text edition display bug when an IM is used (#4136)
    • f076c1676a9ffc17acb93f6e5e7a280b59dadfff adjust src/CMakeLists.txt for use in release-1.1
    • 6f1d90d9d7f259b7beeead9ed8eb2bf318f741cb remove macos-launcher and simplify build-app.sh
    • 951cc92bd40a752f5cfffc4babe2f82af8d76840 Optimize TextEditor calls for rerendering (#4074)
    • a394f85395f3c70d43a880a4de4354b2d9378fb1 Revert "Optimize TextEditor calls for rerendering"
    • eddc80620cd2d5ce2851fcb831a755336c507601 Optimize TextEditor calls for rerendering
    • d22d605021ef99d6a3e2279513dd0d171626ae34 windows: fix installer crash
    • 9ccfea39075af85afe8b5deed37d96029525328d ci: update Windows VM image to windows-2019
    • 4883c49819dc6df176c9ecd3751230e7c46cfdec Unfocus text boxes after the selected page changes (#4027)
    • 363bbbca72a16eab35152e6282c0f836ba3a0060 Fix TextEditor render delay regression
    • 0091b48fe691b95d186f60b67ca762b0f5624063 Select correct tool when selecting default tool
    • 103bfd1dca3d68baf4edca66ba0d6167b088d2eb Initialize locales for commandline exports
    • 034deb55fec17e39bdbef36e956a9865bbe31922 Fix backtrace linker flags
    • 8e7810428bbe5a699846274471ca9f1b4f1299a7 make toolbar and menubar not react to dragging
    • 38258a498f9edfc8cea0e842da745dcaa0fa7505 Fix TextEditor repaint bounds
    • e409fb6f92a76c19b30b47a8b3f93f431f43d10b Automated version bump to 1.1.2~dev

    This list of changes was auto generated.

    Source code(tar.gz)
    Source code(zip)
    xournalpp-1.1.2-Debian-bullseye-x86_64.deb(1.61 MB)
    xournalpp-1.1.2-Debian-bullseye-x86_64.tar.gz(1.61 MB)
    xournalpp-1.1.2-macos.zip(30.56 MB)
    xournalpp-1.1.2-Ubuntu-bionic-x86_64.deb(1.74 MB)
    xournalpp-1.1.2-Ubuntu-bionic-x86_64.tar.gz(1.74 MB)
    xournalpp-1.1.2-Ubuntu-focal-x86_64.deb(1.75 MB)
    xournalpp-1.1.2-Ubuntu-focal-x86_64.tar.gz(1.75 MB)
    xournalpp-1.1.2-windows-portable.zip(67.57 MB)
    xournalpp-1.1.2-windows.zip(62.03 MB)
    xournalpp-1.1.2-x86_64.AppImage(31.11 MB)
  • v1.1.1(Feb 13, 2022)

    This is a new minor version of Xournal++ with many bug fixes and improvements from the community.

    See the changelog for a full list of the changes.

    Some notable changes:

    • Change the edge panning behavior when an element is selected, fixing the absurdly fast edge pan speed bug.
    • Fixed several crashing/freezing issues.
    • Fixed several bugs involving stroke input and rendering.
    • Fixed several bugs involving PDF rendering (in application) and export.
    • Windows: fixed several bugs with fonts and the text tool.
    • MacOS: Updated Gtk to make Xournal++ run on Monterey.
    Detailed commit log
    • 4f113e9478a1908f3d1534f7a5b9763f7834d4d9 Release 1.1.1
    • 10c189d39c29176f767d91bbf8fabde72d663a27 Update changelog in preparation for 1.1.1
    • 7258d0bec14c4414eb20032dc295b9d561534be8 Fix issues with release script
    • 773d063251b06570a10e9a681f00ec060fac16a0 Refactor BackgroundSelectDialogBase::layout
    • e4e3ca56c77690d07fe33a579ef40a48ecb710e4 BackgroundSelectDialogBase: Fix layout logic
    • 87ed1c39a74271665e1b0debdcdeaf90242ae377 Fix possible bug in edge pan timer destruction
    • 3b1a2d7939f832328d17646644f5d826514b7d93 Update Authors lists
    • c80e64bd3b84101084f0d13adb5fc5216a11596d Fix deadlock in SidebarPreviewPages
    • 91ebfab120d35636bed554c926eaadeef3be55a9 Remove the .xopp~ backup file after a successful save [ #3399, #1498 ]
    • 9f66a83e0063f3ffd5ba89d8eee7e862de4fbb3c fix indentation in build mac script
    • 524f8a96c03fc9fc2153047bd8b760988d5f4feb Include cppunit for MacOs on Azure Pipelines
    • ba0a547de7d29f6a5bbebaa82fa9907910b80089 Fixup GDK_PIXBUF_MODULE_FILE string replacement
    • 1b03098e3c4944af84a272ce3b49cf2c5993389c Update macos blob and adapt loaders cache location
    • 57654c0105ba058699c7869d485f095940d17e3e fix: Crash on startup with no recent files [ #3734 ]
    • f961b04b42d7c5d0ddbb1e8f0b5785da0e9ffbdf Fix tool activation
    • c1ae6c31268d828c8c827fcedae749099e630c3c Fix wrong version suffix in relevant files
    • db7a16eec03b8c2b2fcb0db3cf193ff336cd99ba Update release helper script to set correct versions for Fedora and MacOS
    • 95c50affabb682b91a8b214a34e21ebf8185ae74 Add version info in MacOS bundle information file
    • be1dab569ef82a50960db2e3988f64d36f783be4 Update version info in Fedora build recipe
    • 01737d1d47b3854c317b821410b84323a4502a63 Fix #3651 - remove pressure value on Highlighter strokes first point
    • 29bee34dfee35d1a532cf90e0d069a6924c7b606 Fix .PDF detected as pdf
    • 2780815e821cd8094f382f6a66e5055afb7e8382 fix sidebar page preview stuck
    • e2a1f97327d94818cdecb19795308f8aed3177eb Set classic locale for PDF export link attributes (#3551)
    • d88fb379473b582f32ee7565434f525413db1da9 Fixing typo (#3518)
    • 0d8d375a1371ba3bdecf02de11e9cb39525ba8ff Update Debian Pipeline to Bullseye (#3547)
    • 2ed7f70db8b1368a2f0023c4781c553b0f0ee555 Switch to FontConfig Backend for Cairo-Pango on Windows (#3534)
    • c07d399b8be2f2c38e95b81f608c566d4ac44ad4 Add null check to device in InputEvent's handler (#3511)
    • f76a2630f89d90801d7f3b3d31b63bc058278d00 Unreliable internationalization on Windows (#3426)
    • 08923a32661cc0bee88c43939d64f666e9d47a9b Change Tool internals, increase static analysis. (#3465)
    • 7bf1c91590cf1d8124323459d195b31441b0b33d Add unit tests for serialization in ToolEnum. (#3462)
    • a81fe84a320bcbdf03d8b1591009cfb81c04156f Add const qualifier in serialization methods.
    • 32a9ec402a6b45ab24bec66ee0cbef83a7dbc1ee Add const version of getter getElements().
    • 9fa58be4c0cfde7882cbd53ec6dc1ae1a11936ce Add shared data of Poppler to Windows installer (#3477)
    • a02baf53ed45f96a4b41506031390d44607c0a29 Disable CI triggers for installer pipeline
    • 15dc736840e3b260c731844ff2a3a5ef7b2b40f9 Create pipeline for releases via comments
    • 07264b02a89dbbad6fa6d26059adbed3cbb1495f Fix ToolType serialization bug. (#3467)
    • c8d690c2d3eb1ebea008f433f6d7b0ba9968424c Switch from GMutex to std::mutex. (#3382)
    • 412fc8e188a3f49a182feb472527278ad260cc7c ensure lgi loads Gtk 3
    • 98808ff8a919b725ba5404574100ffa6da4c85e0 Fix memory leak in ExportDialog. (#3420)
    • ccd9e9f95909b1b352dbc85d7af28b1aea249ce9 Enable pressure sensitivity of single dot strokes (#3344)
    • f3f596bf5564516d324c34f72af9bd4ac248c3de Close dangling file handlers. (#3392)
    • cbc29af9e8a9a38614f08438405dc3a61e653887 Bump development version to 1.1.1~dev
    • cd72446d0eb9845c627e79cc4149b44f0ab724b7 Update tag trigger for release pipeline
    • 71fe1f1680fb104d919385b3e070527a83958123 [skip ci] Update translation template
    • 3742b7d1bb8b4af00a4f611ec70afe000996dd72 Release Helper Scripts (#3299)
    • 3a77573cb62b481074a54a8d5f5a5adb555a7185 New Crowdin updates (#3301)
    • 623d8654bacbc8db264f2cf9a76aead20be26889 Fix some non-English IMEs not working on Windows
    • f59c3c4a400c9117aba719ee0011b952c532aa1d (Minor) Fix format specifiers to match types
    • 466082db423f8a5abeb9bf1f46f2e52cf1a7c5ba Fix typo from 'orignal' to 'original'
    • ab57ddda2489182039b4f267fc194dfe42bdccf8 Remove horizontal and vertical space compensation
    • 9ceed9f0a8b34793ec456bfb813a07a82c0e9fc2 Remove console window flash at program startup on Windows
    • ff4936e90f1d82784d68862033efd418ca6313dc Hide, not disable, contents tab when unavailable
    • 82ade68b356e03f206edab8465e658cd715f3749 More natural zooming via ctrl+scroll and stepping.
    • aaed673b72943d44f3ffce53cb8cf2231640f01f [skip ci] Update translation template
    • d690146d1ebc63d996f080c618255c02176b4519 Fixed #3330: Allow characters after dot in filename (#3333)
    • dad1ef7e93a6a0d337789d54bf93557711ecaac9 [skip ci] Update translation template
    • e6bb8b797fa5ca66c55724bed5017863b7a0f36c Extend input method check for gcin (#3315)
    • bd3ca75fe33ca1b4c02375e85f3976429fd2fc91 Fix inconsistent display of filled highlighter strokes
    • 60ffda1d6c92ec16a1ceae56746139dff82baf5e Fix text placement snapping issue
    • f41f7e3dfdec1659e16d227c2fb75819b061cfff Fixed 'PDF background missing' text showing (#3350)
    • aca20186860d941195efd63cb3cd62068ae37907 Apply svgo to ui/pixmaps/*.svg
    • 4192b838afe62184faec016508e8d47bd6537242 Replace masks by fill-opacity in ui/pixmaps/com.github.xournalpp.xournalpp.svg without altering the appearence
    • 3fe13126e893f88f461cf48cf891f74654b73b63 [skip ci] Update translation template
    • 76199be22c14040991129d70f915b939d48622cd Remove Placeholder ToolbarItem and fix drop index
    • ca1c9da41c86ac72869f8b203352bee2324ac99a Fix off-by-one error in toolbar customization
    • 4f8240210734e36df02d1e129dedbbe2ea30b1c3 [skip ci] Update translation template
    • 7448364209f6399ad22eaa1cbddee496e8148324 Request dark theme from GTK when dark mode is requested in settings
    • fffaa72e432a529cee7d343f0e337f491d98b431 [skip ci] Update translation template
    • c09e9e389a4abc3fb30cd7d2b1c90c084a826102 Add preference settings for edge panning
    • a10353dabeb8578f24376293727c5380f11c3cc5 Update settings.glade with new Glade version
    • 51c98df1193e2bb3d1b9774bbfa6c9a788469556 Change selection panning behavior to use a timer
    • 099b555c4688ad01867168720bc2f725932e1e7a Refactor EditSelection bounding box calculation
    • 31a5164f76f3e3ba38281b3233e2ff52fa38a498 Simplify KeyboardInputHandler logic
    • 18e18ddeb116ab77b596bd772e28006cb998bb20 Fix implicit type conversions in EditSelection
    • e13cfbc3ca74e7f87041cd5b4ec1518f4f01137d Optimize GdkEventGuard
    • c1adc54fad5dbd52971422f5dd90bd4a17675592 New Crowdin updates (#3300)
    • f80f08b7af77ab4413036e42459413e561f4b4f7 Add Xournal++ pronunciation (#3231)
    • 5b4bc64d849f02e13f5493035b6fb3af9cfa11a9 Update stroke recognizer to preserve line endpoints. (#3285)
    • b20500b675349982ef64055cab4f22a2e46d6191 New Crowdin updates (#3244)
    • c420c53c8cbf21819764802511494d869c0651c7 Remove using std::map from header (#3287)
    • b030b67a2accd59e0e8ffa51534394ae0899c7df [skip ci] Update translation template
    • f4102878f7ac7655ff7dde72c8a7dee63764544a Rebuild layer menu after un-/redone rename
    • 77254ce25150981c21e3e283554f3670cf24a6c4 Remove unnecessary (erroneous) renames
    • 0ab81f7fe078ad57d4e2951156e3f935f6d0e599 Remove X11 callback to flush the X11 context, which happens way too often.
    • 1e39b2392c3c5fef43879d07b1943943fec6562e Optimized the calculation of stroke sizes
    • 4b2d2dbdb543236c815cc8fc2e1e53234252ae7f Remove std::unordered_map to reduce caching issues / increase performance
    • 97c20f62c5a5c16ce6dbb21ffd19240f4fe55961 Add Minimal Top toolbar
    • d04020b9646a8878bce82407f6e16dcf5a46dbfc Add text tool, zoom slider and rename
    • ef9983c2591d96f94267acbc2acecf20c937cdc4 Add minimal toolbar
    • 5e454faf2ccdfc737bd1908b80dd793346e8a78c Update Portaudio to version 19.7 on MS Windows
    • 949b20561a1291aae89046016e8b2f450c429f49 Remove outdated flags from Readme
    • 4edec25954b1c610071e273c278ed8cd7ea45ba3 fixup compiler errors hiding behind flags
    • 4abc8dfda2f573e29af7bd81f1e029e021facc58 generateConvert script: Change «, » to \". (#3271)
    • 976cdce384b04f0f8aea130b320b6f84620ac3d5 Add full stroke repaint when using highligher and Fill
    • 58d8534a45680fa353c46a2b0e0a58f1e2033058 Minimize the area repainted at each Stroke::drawSegmentTo
    • 4ae824d96366fa6b20a962ca8afb718f952e8d13 [skip ci] Update translation template
    • 55cbf477e82847f517f3617501b2d939ab44180e Fixed typos in Stabilizer's settings
    • 5abfd934bfd24f3d0fa01e46c0f284bfb8fa521b [skip ci] Update translation template
    • 3b10bb195d918cd280539312af17bd415155f78e Use npos instead of -1
    • a5bc52f93e424073ba63f6424445e5e0b69564a5 Fix simple implicit type conversions
    • b245355419b359f27268cd450e24348f659614c5 [skip ci] Update translation template
    • cb9594d8419b39b3e6ed2be1fe23d327519edb36 Remove using std::* statements in header files
    • 97b7460cee92744f0807116ab489e65279837b15 Avoid deprecated mimetypes tag
    • ce1299e35e4d9340a6b4b8ed8254426b5a3974bd Update appdata screenshots

    This list of changes was auto generated.

    Note to distro maintainers (Feb 14, 2022)
    • We have permanently switched the git tag format for releases from X.Y.Z to vX.Y.Z. Apologies for the inconvenience.
    • -lbacktrace may need to be added to the linker flags for xournalpp-thumbnailer. See #3817.
    Source code(tar.gz)
    Source code(zip)
    xournalpp-1.1.1-Debian-bullseye-x86_64.deb(1.61 MB)
    xournalpp-1.1.1-Debian-bullseye-x86_64.tar.gz(1.61 MB)
    xournalpp-1.1.1-macos.zip(36.12 MB)
    xournalpp-1.1.1-Ubuntu-bionic-x86_64.deb(1.74 MB)
    xournalpp-1.1.1-Ubuntu-bionic-x86_64.tar.gz(1.74 MB)
    xournalpp-1.1.1-Ubuntu-focal-x86_64.deb(1.75 MB)
    xournalpp-1.1.1-Ubuntu-focal-x86_64.tar.gz(1.75 MB)
    xournalpp-1.1.1-windows.zip(68.37 MB)
    xournalpp-1.1.1-x86_64.AppImage(30.13 MB)
  • 1.1.0-hotfix.1(Jul 22, 2021)

  • 1.1.0(Jul 18, 2021)

    This is a new major version of Xournal++ with many new features, improvements, and bug fixes thanks to over one year's worth of contributions from the community.

    See the full changelog for more information. In particular, please check to see if you are affected by the breaking changes.

    Windows Users: Please use the follow-up release which includes the updated version of GTK+ 3.24.30.


    Known serious issues:

    • Moving selected objects may cause rapid scrolling (#2889).
    • MacOS
      • Catalina and newer may experience issues related to permissions (#1757).
      • BigSur (and to lesser degree, Catalina) may suffer from serious lag (#2302)
      • Audio recording may not work.
    • Windows
      • There may be problems with input handling ( #3176, #3124, #2894, #2628, #1976, #3205). This will mostly be resolved when GTK+ is updated to version 3.24.30. ~We plan to make a follow-up release then. Alternatively, you can update your gtk/gdk libraries manually following this advice.~ Please use the follow-up release which includes the updated version of GTK+ 3.24.30.
      • On some Gaomon tablets, Xournal++ crashes immediately due to some gtk/gdk bug (#3117). This may also be fixed in GTK+ 3.24.30, so you may follow the advice above. Please use the follow-up release which includes the updated version of GTK+ 3.24.30.
      • Localizations to other languages than English only work when Xournal++ is executed from the Start menu or from the bin folder in which the executable is located (#3215).
    • On some Linux distributions, Xournal++ crashes when the image-missing icon is not present in the icon theme. The Breeze theme was lacking of this icon in earlier versions(#2248, #2311). Installing that icon manually or installing adwaita-icon-theme-full solves this problem.
    • Dark mode icons and light mode icons are switched when using an older GTK version. This happens in particular for Ubuntu 18.04 and for the AppImage (#3190).
    • Text spacing slightly changes on export to PDF when using a Pango version prior to 1.48.5. (#2182, #1390)

    Note: ~we are currently experiencing some issues with our build infrastructure. Please be patient while we fix these issues and upload the binaries.~ The binaries are now available to download.

    Windows Users: Please use the follow-up release which includes the updated version of GTK+ 3.24.30.

    Source code(tar.gz)
    Source code(zip)
    xournalpp-1.1.0-Debian-buster-x86_64.deb(1.70 MB)
    xournalpp-1.1.0-Debian-buster-x86_64.tar.gz(1.69 MB)
    xournalpp-1.1.0-macos.zip(35.98 MB)
    xournalpp-1.1.0-Ubuntu-bionic-x86_64.deb(1.71 MB)
    xournalpp-1.1.0-Ubuntu-bionic-x86_64.tar.gz(1.71 MB)
    xournalpp-1.1.0-Ubuntu-focal-x86_64.deb(1.72 MB)
    xournalpp-1.1.0-Ubuntu-focal-x86_64.tar.gz(1.72 MB)
    xournalpp-1.1.0-windows.zip(63.77 MB)
    xournalpp-1.1.0-x86_64.AppImage(30.10 MB)
  • 1.0.20(Dec 17, 2020)

    This is a new minor release of Xournal++ with some bugfixes.

    We recommend to activate the new input system. The old input system has some issues and will be removed in future versions.

    Presumably this is the last release in the 1.0.x series. After this release we plan to take the current 1.1.0+dev version as basis for all future releases.

    The following bugs have been fixed:

    • Fixed a regression with pdf files that could not be overwritten (#2355)
    • Fixed page layout update after inserting or deleting a page, changing the page layout or zooming (#1777, #2346, #2442)
    • Fixed incorrect rendering of pages after changing the page format (#2457)
    • Fixed blocked scrolling after saving a file (#2062)
    • Fixed presentation mode after startup (#2413)
    Source code(tar.gz)
    Source code(zip)
    xournalpp-1.0.20-Debian-buster-x86_64.deb(12.97 MB)
    xournalpp-1.0.20-Debian-buster-x86_64.tar.gz(12.97 MB)
    xournalpp-1.0.20-macos.zip(31.12 MB)
    xournalpp-1.0.20-Ubuntu-bionic-x86_64.deb(10.03 MB)
    xournalpp-1.0.20-Ubuntu-bionic-x86_64.tar.gz(10.03 MB)
    xournalpp-1.0.20-Ubuntu-focal-x86_64.deb(13.14 MB)
    xournalpp-1.0.20-Ubuntu-focal-x86_64.tar.gz(13.14 MB)
    xournalpp-1.0.20-Ubuntu-xenial-x86_64.deb(9.09 MB)
    xournalpp-1.0.20-Ubuntu-xenial-x86_64.tar.gz(9.09 MB)
    xournalpp-1.0.20-windows.zip(31.35 MB)
    xournalpp-1.0.20-x86_64.AppImage(35.78 MB)
  • 1.0.19(Oct 21, 2020)

    This is a new minor release of Xournal++ with many bugfixes thanks to help from our community contributors.

    Debian users: due to some unexpected issues, we were not able to build a stable package for Debian. Please use the Flatpak build or compile the program manually.

    • Changed select object algorithm to be more intuitive
    • Added ability for taps with Select Rectangle and Select Region to act like Select Object (#1980)
    • Improved document loading speed (#2002)
    • Added a --version command to print the Xournal++ version
    • Added a libgtk version display to the About dialog
    • Added a 16kHz sample rate to audio settings and fixed the 91kHz sample rate (#2092)
    • Added file version check for future compatibility (#1991)
    • Changed wording of new page template dialog to be less confusing (#1524)
    • Fixed behavior of "Attach file to the journal" option when choosing "Annotate PDF" (#1725, #2106). This now allows the background PDF and the annotation files to be renamed and moved as long as they 1) share the same file prefix; and 2) share the same relative path.
    • Fixed an issue where clicking the X on the replace file dialog would overwrite the file (#1983)
    • (libcairo >= 1.16 only): Fixed PDF export crashing when the table of contents is empty (#2236).
    • Fixed a bug where the PDF background would not update when loading a new document (#1964)
    • Fixed plugin window causing a crash on Ubuntu 16.04
    • Fixed a bug where the icon would not appear correctly on some desktop environments (#1892)
    • Fixed inconsistent ordering of button keybindings (#1961)
    • Fixed the Enter key not confirming PDF export settings (#1977)
    • Fixed exported PDF title (#2039)
    • Fixed a bug where different page backgrounds can cause PDFs to be exported with the wrong backgrounds (#2119)
    • Fixed a bug where the page number count would not be updated after deleting a page (#2134)
    • Fixed selection object tool not working correctly (#2081) / crashing (#2133) when there are multiple layers
    Source code(tar.gz)
    Source code(zip)
    xournalpp-1.0.19-macos.zip(31.13 MB)
    xournalpp-1.0.19-Ubuntu-bionic-x86_64.deb(10.03 MB)
    xournalpp-1.0.19-Ubuntu-bionic-x86_64.tar.gz(10.03 MB)
    xournalpp-1.0.19-Ubuntu-focal-x86_64.deb(13.32 MB)
    xournalpp-1.0.19-Ubuntu-focal-x86_64.tar.gz(13.33 MB)
    xournalpp-1.0.19-Ubuntu-xenial-x86_64.deb(9.09 MB)
    xournalpp-1.0.19-Ubuntu-xenial-x86_64.tar.gz(9.10 MB)
    xournalpp-1.0.19-windows.zip(32.90 MB)
    xournalpp-1.0.19-x86_64.AppImage(35.78 MB)
  • 1.0.18(Apr 15, 2020)

    This is a new minor release of Xournal++ with many bugfixes.

    We now provide an AppImage build for Linux distros. The AppImage is compatible with distros that have been released after or roughly around the time of Ubuntu 16.04 LTS.

    • Fixed a crash occurring when recent file entries are invalid (#1730, thanks to @iczero)
    • Fixed translations not being built correctly, causing packaging issues (#1596)
    • Fixed background PDF outlines not being saved in exported PDF (only available when compiled with Cairo 1.16 or newer)
    • Fixed a deadlock occurring when a second PDF with an outline is opened (#1582).
    • Fixed the settings file being written to when it is parsed (#1074, thanks to @Guldoman)
    • Fixed dark mode icons not loading properly (#1767, thanks to @badshah400)
    • Added missing dark mode icons (#1765, thanks to @badshah400)
    • Fixed crash in Export As ... on some page range options (#1790)
    • Fixed crash caused by custom colors in toolbar being "too close" (#1659)
    • Windows: Fixed the LaTeX tool always failing to find kpsewhich (#1738). Note that to make this work properly, a console window will now flash briefly before Xournal++ starts.

    Known serious issues:

    • AppImage: Choosing Plugin > Plugin Manager causes a crash.
    Source code(tar.gz)
    Source code(zip)
    xournalpp-1.0.18-Debian-buster-x86_64.deb(12.88 MB)
    xournalpp-1.0.18-Debian-buster-x86_64.tar.gz(12.88 MB)
    xournalpp-1.0.18-macos.zip(31.12 MB)
    xournalpp-1.0.18-Ubuntu-xenial-x86_64.deb(8.96 MB)
    xournalpp-1.0.18-Ubuntu-xenial-x86_64.tar.gz(8.97 MB)
    xournalpp-1.0.18-windows.zip(31.10 MB)
    xournalpp-1.0.18-x86_64.AppImage(34.59 MB)
  • 1.0.17(Feb 3, 2020)

    This is a new minor release of Xournal++.

    Note: Some changes have been made to the compilation instructions (particularly for generating packages). Please see readme/LinuxBuild.md.

    • Fixed arrow tip scaling: now scales with thickness instead of length (#967, thanks to @redweasel)
    • Changed coordinate draw direction (thanks to @redweasel)
    • Fixed audio playback failures not showing error messages to the user (#1573)
    • Fixed text tool bold shortcut not working when capslock is enabled (#1583, thanks to @matepak)
    • Fixed sidebar preview context menu "Move Page Up" and "Move Page Down" buttons not being disabled on the first and last page, respectively (#1637)
    • Fixed Enter keypress on the "Goto Page" (Ctrl-G) dialog not changing the page (#975, thanks to @MrMallIronmaker)
    • Fixed missing Xournal++ icon errors on most of the dialog windows (#1667)
    • (Windows) Fixed missing libssl/libcrypto errors in the official installation (#1660).
    Source code(tar.gz)
    Source code(zip)
    xournalpp-1.0.17-Debian-buster-x86_64.deb(12.84 MB)
    xournalpp-1.0.17-Debian-buster-x86_64.tar.gz(12.84 MB)
    xournalpp-1.0.17-macos.zip(31.12 MB)
    xournalpp-1.0.17-Ubuntu-xenial-x86_64.deb(8.96 MB)
    xournalpp-1.0.17-Ubuntu-xenial-x86_64.tar.gz(8.95 MB)
    xournalpp-1.0.17-windows.zip(31.07 MB)
  • 1.0.16(Nov 11, 2019)

    This is a new minor release of Xournal++.

    Important notice: From this release onward, the 1.0.x series will be in maintenance mode and will only receive bugfixes. For new features (but potentially breaking changes), use the master branch.

    Windows users: the installer provided below may not work correctly (see #1600). We are currently looking into a fix.

    • Fixed currently editing textboxes not exporting to PDF.
    • Fixed line tool breaking when snap-to-grid is disabled.
    Source code(tar.gz)
    Source code(zip)
    xournalpp-1.0.16-Debian-buster-x86_64.deb(12.82 MB)
    xournalpp-1.0.16-Debian-buster-x86_64.tar.gz(12.83 MB)
    xournalpp-1.0.16-macos.zip(31.12 MB)
    xournalpp-1.0.16-Ubuntu-xenial-x86_64.deb(8.95 MB)
    xournalpp-1.0.16-Ubuntu-xenial-x86_64.tar.gz(8.95 MB)
    xournalpp-1.0.16-windows.zip(29.65 MB)
  • 1.0.15(Oct 15, 2019)

    This is a new minor release of Xournal++ that fixes a serious bug in version 1.0.14.

    Attention: Please see the 1.0.14 patch notes before installing this version.

    Known serious bugs: The line tool with grid snap disabled does not render correctly (#1580).

    • Fixed an issue where copying and pasting strokes would crash the program.
    Source code(tar.gz)
    Source code(zip)
    xournalpp-1.0.15-Debian-buster-x86_64.deb(12.82 MB)
    xournalpp-1.0.15-Debian-buster-x86_64.tar.gz(12.83 MB)
    xournalpp-1.0.15-macos.zip(31.12 MB)
    xournalpp-1.0.15-Ubuntu-xenial-x86_64.deb(8.95 MB)
    xournalpp-1.0.15-Ubuntu-xenial-x86_64.tar.gz(8.95 MB)
    xournalpp-1.0.15-windows.zip(30.85 MB)
  • 1.0.14(Oct 12, 2019)

    This is a new minor release of Xournal++ that includes many bugfixes as well as some quality-of-life enhancements and new experimental features.

    Attention: users who installed with make install will need to follow special instructions to update. See the "Breaking change" section of CHANGELOG.md.

    Known serious bugs: Pasting strokes will cause a crash. A new minor release will fix this bug shortly.

    The summary of changes is listed below. For the full changelog, see CHANGELOG.md. For a list of all issues and PRs related to 1.0.14, see the 1.0.14 milestone.

    • Text field bugfixes
    • Latex tool enhancements
    • Image tool bugfixes
    • Misc quality-of-life enhancements
    • New experimental floating toolbox
    • Improved input handling, bugfixes
    • Updated preferences window
    • Fixed some crashing issues
    • Refactoring and other non-user visible changes
    • Other misc features and bugfixes
    Source code(tar.gz)
    Source code(zip)
    xournalpp-1.0.14-macos.zip(31.12 MB)
    xournalpp-1.0.14-Ubuntu-xenial-x86_64.deb(8.95 MB)
    xournalpp-1.0.14-windows-setup.exe(31.25 MB)
  • 1.0.12(May 26, 2019)

    This is a new minor release of Xournal++ and includes many bugfixes, as well as a few new features. Summary:

    • Added new experimental input system that should fix a lot of issues related to input handling (can be enabled from Preferences > Input System).
    • Added experimental stroke filter (can be enabled in Preferences > Drawing Area) to allow selections using drawing tool
    • Added ability to double click on selected objects (e.g. text fields and LaTeX) to begin editing them (only available with the new input system enabled)
    • Fixed some issues with selections
    • Fixed some issues involving autosaving
    • Improved LaTeX editor experience, as well as bug fixes
    • Fixed text editor copying and pasting to the wrong clipboard
    • Fixed many zoom issues while in presentation mode
    • Fixed some other miscellaneous issues

    The full change log can be found here.

    Source code(tar.gz)
    Source code(zip)
    Xournal++-1.0.12-mac.zip(37.75 MB)
    xournalpp-setup-1.0.12-win.exe(29.92 MB)
  • 1.0.10(Apr 2, 2019)

  • 1.0.8(Feb 16, 2019)

  • 1.0.7(Jan 19, 2019)

  • 1.0.6-macOS-alpha1(Jan 5, 2019)

  • 1.0.6-macOS-Test(Jan 4, 2019)

    There is now a new script which creates an .app for macOS.

    This is the first build which seems to be working. I'll upload it for testing purpose, this is not a release for all day work.

    • Pressure Sensitivity is not working #569
    • Translation seems to be missing
    • Menubar should be on top #680
    • HighDPI is not really supported #172

    Use only for testing

    Source code(tar.gz)
    Source code(zip)
    Xournal++-test1.zip(36.89 MB)
  • 1.0.5(Dec 30, 2018)

    • New Layer Sidebar
    • Fill support
    • Multiple fixes and improvements

    Windows

    Feedback welcome: None of the main developer is working on Windows. For feedback or bugs create an Issue here on Github. Known Bugs:

    • After each Windows Restart you have to start Xournal++ once, write a stroke with the pen, close Xournal++ and start again. Then pressure sensitivity is available, else not. #659
    • GTK Translation are not loaded, therefore the base menu entries etc. are not translated, like "save". #660

    Developer working on Windows are welcome! Contact us over issues if you would like to help.

    macOS

    Working, but no pressure support because of GTK, see #569 Currently there is no .app available

    Developer working on macOS are welcome! Contact us over issues if you would like to help.

    Source code(tar.gz)
    Source code(zip)
    xournalpp-setup-1.0.5-win.exe(28.07 MB)
  • 1.0.4-win-beta-01(Dec 22, 2018)

  • 1.0.3-win-alpha-02(Dec 17, 2018)

  • 1.0.3-win-alpha-01(Dec 16, 2018)

    This is the first release which is working for Windows. For Ubuntu use the PPA which is automatically built daily.

    This is an alpha build, which may contains errors If you find errors, please create a ticked.

    If you are a developer, working on windows, please contact us, e.g. over a new Issue.

    If you want to install it to the Program Files folder, run the Setup as Administrator (it does not request it automatically at the moment)

    Source code(tar.gz)
    Source code(zip)
    xournalpp-setup-1.0.3-win-alpha-01.exe(50.98 MB)
  • v1.0.0-glib(Feb 9, 2014)

    The first release of Xournalpp. Versions with mathtex support require a latex package (e.g. texlive) installed in your path (these versions contain -mathtex_ in their filename). For the Fedora releases, just copy the /usr directory contained into your /usr directory!

    Source code(tar.gz)
    Source code(zip)
    xournalpp-jessie-mathtex_1.0.0-1_i386.deb(1.22 MB)
    xournalpp-precise-mathtex_1.0.0-1_i386.deb(2.34 MB)
    xournalpp-saucy-mathtex_1.0.0-1_amd64.deb(1.22 MB)
    xournalpp-saucy-mathtex_1.0.0-1_i386.deb(1.23 MB)
    xournalpp-wheezy-mathtex_1.0.0-1_i386.deb(1.26 MB)
    xournalpp-wheezy_1.0.0-1_i386.deb(1.20 MB)
    xournalpp_fc19_i686_mathtex.tar.gz(4.89 MB)
  • v1.0.0(Feb 9, 2014)

  • 20131011-alpha(Oct 11, 2013)

Provide building blocks (software, hardware and algorithms) for implementing SLAM using small sensors

RemoteSLAM The purpose of this repo is to provide the building blocks (software drivers, hardware and algorithms) for implementing SLAM systems using

Autonomous Drones Lab, Tel Aviv University 38 Jan 20, 2022
A library of common data structures and algorithms written in C.

C Algorithms The C programming language includes a very limited standard library in comparison to other modern programming languages. This is a coll

Simon Howard 2.9k Jan 9, 2023
Two priority queue implemenations for R. One written in pure R, the other C

priorityqueue priorityqueue is a package with two priority queue implementations for R: one written in C, and the other written in plain R. Both of th

mikefc 6 Jan 23, 2022
C++ fundamentals and questions for beginners and intermediates. Welcoming developers, content writers, and programming enthusiasts.

Rules To Contribute To This Repo You can write solutions only in C++ for Data Structure and Algorithms (if you dont know C++ you can submit only algor

Sushree Satarupa 210 Dec 11, 2022
Collection of algorithms and data structures in C++ and Java

Collection of algorithms and data structures in C++ and Java

Andrei Navumenka 1.7k Jan 2, 2023
Organic Maps is a better fork of MAPS.ME, an Android & iOS offline maps app for travelers, tourists, hikers, and cyclists based on top of crowd-sourced OpenStreetMap data and curated with love by MAPS.ME founders.

?? Organic Maps is a better fork of MAPS.ME, an Android & iOS offline maps app for travelers, tourists, hikers, and cyclists based on top of crowd-sourced OpenStreetMap data and curated with love by MAPS.ME founders. No ads, no tracking, no data collection, no crapware.

Organic Maps 4.4k Jan 2, 2023
WasmEdge Runtime is a high-performance, extensible, and hardware optimized WebAssembly Virtual Machine for automotive, cloud, AI, and blockchain applications.

WasmEdge Runtime is a high-performance, extensible, and hardware optimized WebAssembly Virtual Machine for automotive, cloud, AI, and blockchain applications.

null 5.1k Jan 5, 2023
Emusicchain is a blockchain built using Cosmos SDK and Tendermint and created with Starport.

emusicchain emusicchain is a blockchain built using Cosmos SDK and Tendermint and created with Starport. Get started starport chain serve serve comma

null 2 May 13, 2022
Several algorithms and data structures implemented in C++ by me (credited to others where necessary).

Algorithms This repository contains my implementations of several algorithms and data structures in C++ (credited to others where necessary). It has i

Petar Veličković 589 Dec 19, 2022
Rufus is a utility that helps format and create bootable USB flash drives.

Rufus is a utility that helps format and create bootable USB flash drives.

Pete Batard 21.3k Jan 9, 2023
Pseudofermion functional renormalization group solver for (frustrated) quantum magnets in two and three spatial dimensions.

SpinParser SpinParser ("Spin Pseudofermion Algorithms for Research on Spin Ensembles via Renormalization") is a software platform to perform pseudofer

Finn Lasse Buessen 19 Sep 5, 2022
Fundamentals of Data structures and algorithms in c++

Data Structures & Algorithms About the repository: Contains theories and programming questions related to fundamentals of data structures and algorith

fifu 46 Dec 1, 2022
CXXGraph is a Header-Only C++ Library for Graph Representation and Algorithms

CXXGraph is a small library, header only, that manages the Graph and it's algorithms in C++. In other words a "Comprehensive C++ Graph Library".

ZigRazor 186 Dec 29, 2022
Official ACM CSS PEC repository for resources and all things Open source

Contributing Guidelines Ahoy there! Welcome to the PEC-ACM Open Source Repository. We request you to read the whole guidelines before making any pull

PEC CSS 78 Dec 25, 2022
Header-only C++ library for robotics, control, and path planning algorithms.

Header-only C++ library for robotics, control, and path planning algorithms.

null 360 Dec 13, 2022
c++ library including few algorithms and datastructures

c++ library including few algorithms and datastructures

null 2 Dec 25, 2021
A simple single header C/C++ Library for AABB Collision detection and resolution.

A simple single header C/C++ Library for AABB Collision detection and resolution

Siddharth Roy 8 Dec 31, 2022
My attempt at implementing the fast voxel traversal algorithm by Amanatides and Woo using OpenGL

Attempt at implementing the fast voxel traversal algorithm Works on both Linux and Windows. Recommended software: Linux: Visual Studio Code / Windows:

Niklas Mäckle 2 Sep 24, 2021
Quick sort is a highly efficient sorting algorithm and is based on partitioning of array of data into smaller arrays.

Quick sort is a highly efficient sorting algorithm and is based on partitioning of array of data into smaller arrays. A large array is partitioned into two arrays one of which holds values smaller than the specified value, say pivot, based on which the partition is made and another array holds values greater than the pivot value.

Lakshan Sandanayaka 4 Jan 2, 2023