Xournal++ 1.3.0 bringt neue Features

  Roland Lötscher   Lesezeit: 7 Minuten Auf Mastodon ansehen

Der Autor berichtet über das Xournal++ 1.3.0 Release und stellt einige neue Features vor.

xournal++ 1.3.0 bringt neue features

Xournal++ Update

Mit Version 1.3.0 hat das Xournal++ Entwicklerteam, zu welchem der Autor gehört, ein grösseres Update der Notizen-App veröffentlicht, welches mit einigen neuen Features aufwartet. In diesem Artikel wird eine kleine, aber feine Auswahl davon präsentiert. Regelmässige Leser:innen werden bereits mit Xournal++ bekannt sein. Siehe dazu diese Übersicht.

Das Lasertool

Ganz neu gibt es in Xournal++ 1.3.0 ein Lasertool. Es gibt dieses Tool als Stift oder Textmarker.

Mit diesem Tool können sich verflüchtigende Annotationen erstellt werden, etwa um temporär etwas zu beschriften oder hervorzuheben. Es eignet sich besonders bei Präsentationen von bereits erstellten Inhalten, um den Fokus des Publikums zu lenken.

Die Ausblendungsverzögerung lässt sich dabei in den Einstellungen (im Tools-Tab) konfigurieren.

Farbe und Dicke können wie bei gewöhnlichen Annotationen eingestellt werden.

Verbesserter PDF-Export

Wer früher PDFs mit Formulardaten oder Hyperlinks (wie im Bild unten) mithilfe von Xournal++ annotiert hat, stiess beim Exportieren des annotierten PDFs auf das Problem, dass sich im exportierten PDF die Formulardaten nicht weiter bearbeiten und Hyperlinks nicht mehr durch Anklicken öffnen liessen.

Dieses Problem wurde dadurch verursacht, dass das verwendete PDF-Backend das PDF in Cairo-Zeichenbefehle übersetzte, was einen Verlust der inneren Struktur des PDFs zur Folge hatte. In Xournal++ 1.3.0 wird neu standardmässig QPDF für den PDF-Export eingesetzt. Damit wird die innere Struktur des PDFs bewahrt und die Annotationen in Xournal++ werden als XObjekt zum originalen PDF hinzugefügt. Wer dennoch das frühere Backend (Cairo) verwenden möchte, kann dies immer noch tun, indem anstatt "Exportieren als PDF" der Menüeintrag "Exportieren als ... " und dann in den erscheinenden Auswahl-Optionen das Cairo-Backend gewählt wird.

 

Die Übersetzung in Cairo-Zeichenbefehle hat in gewissen Fällen auch Vorteile. Zum Beispiel wird erfahrungsgemäss nicht jedes PDF am Drucker korrekt ausgedruckt. Wird das PDF aber in Cairo-Zeichenbefehle übersetzt, was in aller Regel ein identisch aussehendes Exemplar erzeugt, so hat der Drucker kein Problem mehr bei der Interpretation des PDFs. Ein anderer Benutzer hat auch berichtet, dass in exotischen Fällen die Dateigrösse bei dieser Übersetzung stark sinken kann, was ebenfalls Vorteile hat.

Neu-Einfärbung

Bereits früher hat Xournal++ einen Dunkel-Modus gekannt. Dabei wurde allerdings nur die grafische Benutzeroberfläche angepasst, nicht das angezeigte PDF und die Annotationen. Nun ist auch Letzteres möglich und das ganze Dokument wird neu eingefärbt. Hier ist etwa ein Original-Ausschnitt aus einem annotierten PDF und ein zugehöriges neu eingefärbtes Abbild:

Im Modus mit neuer Einfärbung wird dabei in der Farbpalette im Werkzeugkasten nebst der angezeigten Farbe auch die Originalfarbe angezeigt:

In den Einstellungen (im Ansicht Tab) kann zudem eine helle Farbe (für original Schwarz) und eine dunkle Farbe (für original Weiss) ausgewählt werden.

Damit kann ein Weiss-Schwarz-Spektrum auch in ein Spektrum mit geringeren Helligkeitsunterschieden umgewandelt werden, was angenehmer für die Augen sein kann.

Wahl der Farbpalette

Bereits in Version 1.2.0 konnte eine benutzerdefinierte Farbpalette im .gpl-Format (GIMP-Palette) verwendet werden. Jedoch war das nur versteckt möglich, da die Palette als `palette.gpl` in einem bestimmten Ordner abgelegt werden musste und dies in der grafischen Benutzeroberfläche nicht ersichtlich war. Neu gibt es dafür einen neuen Tab "Palette" in den Einstellungen:

Dabei werden die Farben der Paletten, sowie Namen und Pfad direkt angezeigt. Es gibt zwei eingebaute Paletten in einem Systemordner (auf Linux: /usr/share/xournalpp/palettes) sowie einen Ordner für Benutzerpaletten (auf Linux: ~/.config/xournalpp/palettes). Eigene Paletten müssen in letzterem Ordner abgelegt werden, einerseits wegen der Schreibrechte, andererseits auch, weil sie so bei einem Upgrade der Xournal++-Version nicht verloren gehen. Das .gpl-Format ist ziemlich selbsterklärend, wie ein Blick in eine eingebaute Palette zeigt:

GIMP Palette
Name: Xournal++ Palette
#
255 225 107 Yellow
255 161  84 Orange
205 158 247 Purple
155 219  77 Light Green
100 186 255 Light Blue
128 128 128 Gray
 58 145   4 Dark Green
237  83  83 Red
  0  46 153 Dark Blue
  0   0   0 Black
255 255 255 White

Nebst den RGB-Werten (Rot-, Grün-, Blau-Komponenten im Bereich 0 bis 255) werden die Namen der Farben abgespeichert, die als Tooltips beim Schweben über den Paletten-Farben in der Werkzeugliste angezeigt werden.

Verbesserte Einrastung

Bereits bisher konnten mithilfe der Einraste-Funktion einfach Figuren gemalt werden, die an den Hintergrund "kariert" angepasst waren. Das Einrasten kommt auch etwa beim Verschieben und Skalieren zur Anwendung. 

Neu passt sich die Einrastung dem Hintergrund an. So lassen sich z. B. auch mit einem isometrisch punktierten Hintergrund oder einem Hintergrund mit Rand leicht Elemente passend zum Hintergrund erstellen.

Neu in Version 1.3.0 ist übrigens auch der karierte Hintergrund (mit oder ohne Rand), bei welchem jede n-te horizontale oder vertikale Linie fett dargestellt wird (standardmässig wie im Bild mit n=5):

Änderungen unter der Haube

Es gab in Version 1.3.0 auch viele Änderungen, die dem Betrachter nicht direkt auffallen werden. Insbesondere erwähnen möchte ich die beiden folgenden:

Vorbereitungen auf Gtk 4

Xournal++ verwendet GTK in Version 3 für die grafische Benutzeroberfläche. Seit einiger Zeit ist GTK 4 da. Die GNOME 49 Desktop-Umgebung setzt mittlerweile fast vollständig auf die neue Version. In Xournal++ 1.3.0 stecken viele Anpassungen, welche von der Migration auf GTK 4 erfordert werden. So mussten etwa alle Dialoge überarbeitet werden, da Dialoge in GTK 4 den Programmfluss nicht mehr blockieren dürfen. Veraltete APIs aus GTK 3 mussten an GTK 4 angepasst werden, das ganze Menü-System musste neu geschrieben und ein Aktionen-System eingebaut werden, welches flexibel über den Code, xml-Dateien und Lua-Plug-ins angesteuert werden kann.

Es gibt auch bereits einen Zweig von Xournal++, der mit GTK 4 läuft, wenn auch noch mit ein paar Abstrichen. Die Verwendung von GTK 4 soll dann in Xournal++ 2.0.0 erfolgen, was noch eine Weile dauern wird. 

Schnelleres Rendern von Zeichenelementen

Was in Xournal++ gezeichnet oder handschriftlich geschrieben wird, muss wiederholt auf dem Bildschirm gerendert werden. Dies konnte stark verschnellert werden, was insbesondere für Dokumente mit vielen handschriftlichen Annotationen auf einem älteren Rechner zu einer spürbar flüssigeren Erfahrung beim Zeichnen und Schreiben führt. Der Performance-Gewinn wurde auf verschiedenen Plattformen in einem Benchmark-Test gemessen:

old new old-dashed new-dashed
Linux (Wayland) 10 30 17 17
Linux (x11) 3 37 5 17
MacOS ARM (Quartz) 11 29 20 20
MacOS Intel (Quartz) 6 20 7 12
Windows (Win32) 11 39 15 25

Die Performance wird also für den gewöhnlichen Linienstil (2. zu 3. Spalte) in den meisten Fällen um gut den Faktor 3 gesteigert. Für gestrichelten Linienstil (3. zu 4. Spalte) ist die Steigerung weniger markant. Es ist zu beachten, dass die Zahlen auf verschiedenen Plattformen nicht direkt miteinander vergleichbar sind, da verschiedene Geräte zum Einsatz kamen.

Ergänzungen und Anpassungen im Plug-in-System

Xournal++ lässt sich über Lua-Plug-ins erweitern. In einem Lua-Plug-in kann Lua-Code mit von Xournal++ bereitgestellten Befehlen kombiniert werden. Letztere erlauben es, mit der grafischen Benutzeroberfläche und dem Dokument zu interagieren. 

Insbesondere ist es nun möglich, mit Bildern und mit gezeichneten Elementen zu interagieren. Möchte man etwa alle Bilder einer Auswahl um 90° drehen oder durch komprimierte Versionen ersetzen oder den weissen Hintergrund transparent machen, so ist dies jetzt alles über das mitgelieferte ImageActionsPlug-in möglich.

Eine nützliche Funktion bietet dieses Plug-in übrigens auch, die in Standard-Software wohl kaum zu finden ist und für mich im Unterricht immer wieder nützlich ist. Diese besteht darin, Bilder horizontal oder vertikal entlang des grössten Weissblocks aufzutrennen. Wenn ich also aus einem gescannten Buch z. B. zwei Aufgaben mit einem einzelnen Screenshot kopiere und diesen Screenshot in mein Dokument einfüge (wie im Bild unten),

dann kann ich im Nachhinein via Plug-in-Funktion die beiden Aufgaben voneinander trennen und unabhängig voneinander platzieren.

Wer das gleich ausprobieren möchte, dem sei bereits hier verraten, dass das ImageActions-Plug-in die Installation von libvips und ihrer Lua-Anbindung lua-vips erfordert, welche die eigentliche Arbeit mit den Bildern übernimmt. Auf Ubuntu geht das z. B. mittels

sudo apt install libvips-dev luarocks

sudo luarocks install --lua_version=5.3 lua-vips

Durch die Erweiterungen der Plug-in-API lassen sich auch noch viele andere tolle Dinge bewerkstelligen. Insbesondere das Abfragen und Einfügen von Strichen (Zeichnungen/Handschrift) lässt sich vielfältig nutzen. So sind etwa ein Funktionsplotter und eine Formen-Bibliothek in Arbeit. Diese werden wohl mit Version 1.4.0 im nächsten Jahr ausgeliefert, können aber bereits jetzt ausprobiert werden, da nur der Plug-in-Code ins entsprechende Verzeichnis (auf Linux: ~/.config/xournalpp/plugins/) kopiert werden muss.

Fazit

Xournal++ bietet interessante neue Features und bereitet auch zukünftige Ergänzungen und Umstellungen vor. Das Entwicklerteam bleibt den Grundsätzen von Xournal++ treu:

Xournal++ is a hand note-taking software written in C++ with the target of
 flexibility, functionality and speed

Wo gehobelt wird, fallen auch Späne, und wo neue Features eingebaut werden, gibt es auch neue Bugs, die erst durch die grössere Benutzerzahl nach der Veröffentlichung auffallen. So gibt es z. B. einen ärgerlichen Fehler beim Einfügen von Bildern, wenn die (neu eingebaute) automatische Bildschirm-DPI-Erkennung aktiviert ist. Wer damit Probleme hat, kann aber einfach diese automatische Erkennung in den Einstellungen (Zoom Tab) ausschalten. Unter Windows können aktuell keine Bilder im PNG-Format eingefügt werden, da es einen Fehler (nur auf Windows) beim Lesen der Bilddateien gibt. Diese beiden Probleme sind mittlerweile gefunden und behoben. In einer baldigen Version 1.3.1 (Update: am 21.12. erschienen) werden sie nicht mehr zu finden sein.

Euch alles Gute und schöne Festtage!

Quellen:

- Release Seite

- Changelog

Tags

FediLZ, Unterricht, Xournal++

Es wurden noch keine Kommentare verfasst, sei der erste!