Giter VIP home page Giter VIP logo

xournalpp.github.io's Introduction

Xournal++

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

Translations

Would you like to see Xournal++ in your own language? Translators are welcome to contribute to Xournal++.

You can contribute translations to the following locations:

Interested in translating a new language? Discuss on Gitter or create a new issue to unlock the language on Crowdin.

Thanks in advance!

Features

Xournal++ (/ˌzɚnl̟ˌplʌsˈplʌs/) 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:

  • Supports pressure-sensitive styluses and digital pen tables (e.g. Wacom, Huion, XP Pen, etc. tablets)
  • Paper backgrounds for note-taking, scratch paper, or whiteboarding
  • Annotate on top of PDFs
  • Select text from the background PDF, copy, highlight or underline it or strike it through
  • Follow links from the background PDF
  • Export to a variety of formats including SVG, PNG and PDF, both from the GUI and command line
  • Different drawing tools (e.g. pen, highlighter) and stroke styles (e.g. solid, dotted)
  • Shape drawing (line, arrow, circle, rectangle, spline)
  • Use the set-square and compass tools for measurements or as a guide for drawing straight lines, circular arcs and radii
  • Fill shape functionality
  • Shape resizing and rotation
  • Rotation and grid snapping for precise alignment of objects
  • Input stabilization for smoother writing/drawing
  • Text tool for adding text in different fonts, colors, and sizes
  • Enhanced support for image insertion
  • Eraser with multiple configurations
  • LaTeX support (requires a working LaTeX installation) with customizable template and a resizable editor with syntax highlighting
  • Sidebar containing page previews with advanced page sorting, PDF bookmarks and layers (can be individually hidden/edited)
  • Allows mapping different tools/colors etc. to stylus/mouse buttons
  • Customizable toolbar with multiple configurations, e.g. to optimize toolbar for portrait/landscape
  • Custom color palette support using the .gpl format
  • Page template definitions
  • Bug reporting, auto-save, and auto backup tools
  • Audio recording and playback alongside with handwritten notes
  • Multi language support (over 20 languages supported)
  • Plugins using Lua scripting

Mobile & web app

From mid 2020 to May 2021, a Flutter-written mobile app for Android, Chrome OS and iOS (unreleased) and the web has been developed, which supports the file format and most of the basic features of Xournal++. Unfortunately development has stalled and we have lost contact to the (single) developer. The web app is no longer available. You can still check out the separate repository on GitLab or Get it on Google Play

GNU/Linux

Windows 10

macOS Catalina

Xournal++ Mobile on Chromium OS

Toolbar / Page Background / Layer

Multiple page background, easy selectable on the toolbar

Layer sidebar and advanced layer selection

Multiple predefined and fully customizable toolbars

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 if 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.15 and newer), and Windows. For other GNU/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 GNU/Linux distros and platforms.

Debian

On Debian bookworm and Debian sid the xournalpp package (stable version) is contained in the official repositories. Simply install via

sudo apt install xournalpp

There are also the official Stable releases and unstable automated nightly releases.

Ubuntu and derivatives

On distros based on Ubuntu 22.04 Jammy Jellyfish (and later) the xournalpp package (stable version) is contained in the official repositories. Simply install via

sudo apt install xournalpp

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 [extra] 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.

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

GNU/Linux Build

Mac Build

Windows Build

Android Build

iOS Build

File format

The file extension .xopp is a gzipped XML file. 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 files can theoretically be read by Xournal, as long as you do not use any new features. 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.

Building

We support building on three operating systems:

Contributing

See CONTRIBUTING.md

xournalpp.github.io's People

Contributors

arjun-krishna1 avatar atticus-sullivan avatar bhennion avatar daholzfeind avatar dieln avatar dioprz avatar fabian-thomas avatar fatih20 avatar idotobi avatar jakubkaczor avatar langfingaz avatar littlehuba avatar mazurel avatar pktiuk avatar rolandlo avatar rubulhoquechoudhury avatar technius avatar willnilges avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

xournalpp.github.io's Issues

Edit link is wrong

The link Edit on GitHub on the website does not work. It should refer to the site branch, not to the master branch.

Better Installation Page

The Installation page is serviceable as of the upcoming color change included in #49 (which isn't included in the mock-up below). But it could be better.

Better Installation Page
Better Installation Page Mac
Better Installation Page Windows

The mock-up for the installation page for Linux is still pending because it's more complex than the other pages. Also note that the MacOS mock-up doesn't include an installation method because the website currently doesn't have detailed explanation, unlike the one in Windows.

All of the pages will not have the table of content provided by Material theme. The reasoning is as follows :

  • It's redundant in the OS selection page
  • The table of content in Windows and MacOS installation page is only useful for changing to another OS's page because there's so little content that you can see all of it in your screen. This function has been replaced by a better, more integrated version in each of the OS installation page. Thus, it's also redundant.
  • Because its replacement is better integrated, they are closer to the content of the page, and so it's more convenient to the user because they don't need to drag their cursor as much as before.

And yes, the table of content in the Linux installation page that shows each of the distro with special installation method will have a replacement that does the same thing.
image

Actual work on this will wait until #49 is merged.

Content to be added

I made some thoughts about what needs to be added content-wise to make the website (more or less) complete. Feel free to add/remove and restructure. The + stands for "has to be added from scratch".

  • Overview (+typical workflow, +overview over content of other sections)
  • Tools & Editing (+text, +font/font size, +images, + tool switching including floating toolbox and tool cycle plugin, + vertical space, +colors, +fill, +opacity, +line width, +pressure sensitivity)
  • Configuration (+preferences, +page default, +toolbar customization, +colors, +setting up device classes, +setting up stylus and mouse buttons)
  • Tips (+some useful tips of how to use Xournal++ efficiently)
  • +Selection & Snapping (rectangle, region and object select, snapping to grid, rotation snapping, modifiers, explain moving, scaling and rotation with snapping turned on)
  • +Pages & Layers (sidebar, inserting, deleting, backgrounds)
  • +Layout, Zoom & Navigation (managing different layouts, zoom modes, zoom steps, navigation with keyboard, hand tool, toolbar, accelerators)
  • +File operations (load, annotate pdf, attached mode, export as pdf, export in various formats, export options)
  • +Audio recording (how to record, playback, pause, select play object, set audio folder and options)
  • +Getting help (website, issues, disussions, gitter)
  • +File structure (+where to find which files on what OS and with what version)

Are the table of contents necessary in the home section?

image

The table of content doesn't seem to be very useful as of right now considering that there's not that many content to justify its existence. But even if there were many contents, you don't see table of content in the home section of most software, because it makes what is supposed to be one's first impression of the software less elegant, feeling more like a documentation page.

Moreover, should there be quite many content in this page, potential new users could see how long the table of content is, and get intimidated.

Documentation for input settings

There is currently no documentation that explains the various configuration options for different input devices. Such documentation would be very helpful.

  • Page/section that explains different device types
  • Page/section for general input options
    • "Merge button events with stylus tip events"
    • Pressure Inference
    • Input stabilization
  • Page/sections for device type-specific configuration options
    • Mouse
    • Pen / stylus
    • Touchscreen
  • Create an "FAQ" of sorts describing common problems and their solutions

Streamlining the installation page.

image
If the installation page consist only of 3 short paragraph and 3 buttons, isn't it better to streamline it by putting these in the home section instead?

The title of Xournal++'s webpage should be clickable, and lead back to the homepage

Is your feature request related to a problem? Please describe.
On the webpage, the logo of Xournal++ is clickable and leads back to the homepage, but the text right beside it that says "Xournal++" is not.

Describe the solution you'd like
Make the full logo and name combo clickable, and lead back to the homepage.

Additional context
This is the part that I am talking about:
image
This is cliackable
image
This is not:
image

Relicense documentation to creative commons

We currently have the website code under MIT license, but the MIT license is generally used for code. For the actual writing content, it would probably be better to use a license like CC-BY-4.0. Since the website is at a very early stage, I'm thinking that it would be easier to make this license change now rather than later.

In particular, I propose:

  • The existing website code, configuration, and supporting technical files are licensed under MIT.
  • Written text files (e.g. markdown files) and images are licensed under some creative commons license.

This license change would require us to get permission from the past contributors.

Thoughts? @rolandlo

Better Home section

I'm interested in making the home section more appealing and more able to sell Xournal++ to new users. It seems that the maintainers, who seems to contribute the most are (rightfully) pre-occupied with engineering the actual software. And so, I'd like to volunteer myself to this. As I also have some ideas such as adding images or an overhaul to how the feature of this software is displayed.

Note on macOs installation

Affects versions :

  • OS: Mac
  • Version of Xournal++: docs

Describe the bug
You suggested to improve the macOs installation guide, so here is a proposed change.

"Just download the archive and run the unzipped executable.”

  1. Download the archive.
  2. Move the unzipped executable to the Apps folder.
  3. Right-click the executable and choose "Open”.
  4. Read the prompt and confirm (if you want to use the program).
  5. Once confirmed, you can run it like other programs.

To Reproduce
If you just double-click the executable the first time, macOs will not run it.

Improvements on LaTeX Guide

On Fedora you will need texlive-standalone and texlive-scontents to make it work.

Maybe on Ubuntu texlive-scontents will be needed too as this bug.

Can't type text in text fields

I'm using up to date manjaro rolling release and installed xournal++. But I can't write type text in any text field. Its like my typing is not registered, just a blinking cursor stay in the field text but no type is registered.

Website style guide

In this issue I would like to share thoughts and ideas on the style in which we want the website to be. Looking through previous issues on the repository website I found issue #1444 where @Technius indicated the general direction:

That's a good point to note. The readme/documentation definitely needs to be updated to be more accommodating to end users and non-technical people, since Xournal++ is meant for the everyday user. We also have plans to set up a website, but the entire team has been low on free time recently. :(

So the goal is to create a website that

  • is accommodating to (and easy understandable for) end users and non-technical people

This means that we should avoid going into too much technical details or at least move those details to specialized sections. Sometimes things need to be simplified a bit. Non-technical people should not need to visit the github pages to find basic infos. I would add, that the website ideally

  • makes it easy to find information quickly

For this purpose we benefit from the search utility provided by mkdocs and from the clear design with clickable titles and subtitles. That is not enough, though. According to mrnwebdesigns.com

You only have 10 seconds to make an impression on a visitor and to let them know what they’ll get out of visiting your page. If they aren’t impressed within that time, they’ll leave.

So the website ideally also

  • looks visually appealing and gives a visual impression how working with Xournal++ looks like

For a positive example see how our competitor Openboard.de presents their features. From just the image on the top you already know pretty much how working in Openboard looks like and what it is designed for. An example of a website partially created with mkdocs that has similar visual appeal is the retropie website.

From perspective of creating the website one more point seems important, namely that the website

  • has a simple enough design, so that it is easy to contribute

By using mkdocs as website creator this should not be the most difficult point to achieve.

So these are the four most important points that came to my mind. Do you agree with all of them? What are your ideas about what we should aim for with the website?

Home page pictures and gallery

It would be nice to have some pictures on the front page to show what Xournal++ looks like.

We should also add a gallery demonstrating various features of Xournal++.

I'm not sure about file hosting though. I don't think it would be a good idea to put images on this repo, so it would be better if we could find some free open-source-friendly file hosting service.

Improvement on background text selection in nightly verison.

Currently, I can set the right mouse button to use "Select Linear PDF Text" tool, and then highlight it.
The problem is, this tool itself has a "color property" that I can decide to highlight the selected text but when I released the right mouse button, the tool just changed to the previous tool before I pressed the right mouse button. So, the color is not the one I set for the text highlighter, but the color of the previous tool.
image

My suggestion is keep the "Select Text" tool alive until the popped up dialog
image
is destroyed so that I can use the highlighter's color.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.