Skip to content
Ri0nPublic

About

Note-taking application written with Qt in mind and able to read tomboy notes

Resources

Stars

20 stars

Watchers

6 watching

Forks

Latest commit

 

History

916 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AnyKeep

CI

It's a Qt app which usually lives in your system tray and allows you to make notes quick way.

AnyKeep was written as a clone of Tomboy with use of Qt. It's not so feature rich as Tomboy but light and fast and usually suits all common needs. Moreover AnyKeep can work with Tomboy notes and it's not so hard add support of other apps.

Some features:

  • Quick access to notes from tray menu
  • Internal notes manager to handle multiple notes at once / search notes
  • Support for Tomboy/Gnote notes
  • Support for markdown
  • Create notes from selection by a hotkey
  • Spell checking (hunspell)
  • Cross-platform (tested on Linux and Windows with gcc and Visual Studio)
  • Other: configurable amount of notes in menu. configurable storage path, print note, save note dialog geometry

Downloads

Check https://anykeep.net page for the latest downloads.

Some older releases could be found at https://yadi.sk/d/HbnqnaTN6fwzN.

Building

AnyKeep requires:

  • a C++20 compiler;
  • CMake 3.25 or newer;
  • Python 3 for build-time generation of dynamic plugin metadata;
  • Qt 6.4 or newer with the Core, Gui, Widgets, PrintSupport, Network, and XML modules;
  • QCA 2 built for Qt 6;
  • QtKeychain built for Qt 6.

The default Linux configuration also uses Qt DBus and Qml. Qt Test is required when configuring with BUILD_TESTING=ON, which is the default.

Optional dependencies enable additional features and plugins:

  • Qt Multimedia for audio recording;
  • Xlib development files for baseintegration and other direct X11 support when ANYKEEP_ENABLE_X11=ON (the default on Linux);
  • Hunspell for spell checking;
  • ECM, KDE Frameworks 6 (Config, CoreAddons, GlobalAccel, Notifications, and WindowSystem), and Plasma 6 development files for KDE integration;
  • QXmpp 1.11 or newer with OMEMO, QCoro, and Qt Network/XML for XMPP PubSub storage. Alternatively, configure with ANYKEEP_BUILD_BUNDLED_QXMPP=ON; the bundled build additionally requires OpenSSL 3 and libomemo-c.

On Plasma 5 systems, use an X11 session with baseintegration. The native KDE integration targets Qt 6, KDE Frameworks 6, and Plasma 6; Qt 5/KF5 builds are not supported.

Configure and build AnyKeep with:

cmake -S . -B build
cmake --build build -j
cmake --install build

For the experimental Qt Quick Android application and Qt Creator kit setup, see Android build.

For automated desktop builds, tests, and the unsigned Windows nightly packaging pipeline, see Continuous integration.

The install step is optional. Its default prefix is normally /usr/local; set another one during configuration with, for example, -DCMAKE_INSTALL_PREFIX=/usr.

To list AnyKeep-specific configuration options after configuring the build directory, run:

cmake -LA -N build | grep ANYKEEP

The principal options are:

  • ANYKEEP_DEVEL — use development resource and plugin search paths;
  • ANYKEEP_ENABLE_X11 — build components which access X11 directly;
  • ANYKEEP_BUILD_BUNDLED_QXMPP — build the bundled QXmpp fallback;
  • ANYKEEP_PLUGIN_ENABLE_<name> — enable or disable an individual plugin. Plugins default to enabled when the platform and their dependencies support them.

Build DEB/RPM

Check ./admin/{deb,rpm}build.sh scripts.

./admin/debbuild.sh qt6

Build on Microsoft Windows

You need conan in your PATH. It's up to you how you install it. Then you need to enable Conan support in Qt Creator plugins. You need cmake and ninja in PATH too because Qt Creator doesn't pass their locations to Conan (just add those installed by Qt Maintenance tool). The remaining magic should work automatically.

Creating Windows packages

To build the MSI/interactive EXE installer, wix.exe from WiX Toolset must be available. The Microsoft Store MSIX target additionally uses MakeAppx.exe from the Windows SDK.

After a Release build:

  1. build package for the canonical AnyKeep.msi;
  2. build burn_installer for AnyKeep.Installer-<version>.exe;
  3. after reserving the Store product name, configure the exact Partner Center identity values ANYKEEP_MSIX_IDENTITY_NAME, ANYKEEP_MSIX_PUBLISHER, and ANYKEEP_MSIX_PUBLISHER_DISPLAY_NAME, then build msix_package.

All three targets create the runtime-only install tree themselves; do not use the generic cmake install deployment step as an installer substitute. The MSIX launches anykeep.exe directly and lets Microsoft Store manage updates.

Internationalization

https://app.transifex.com/rion/anykeep

Architecture documentation

Planned major featues

  1. note encryption (QCA-based)
  2. AI-based classification
  3. more plugins for various popular systems

Credits and Third-Party Assets

About

Note-taking application written with Qt in mind and able to read tomboy notes

Resources

Stars

20 stars

Watchers

6 watching

Forks

Releases

Packages

Contributors

Languages