Skip to content

Bugs and Known Issues

Davo edited this page Jun 19, 2024 · 32 revisions

This is the tomboy-ng Known Issues and To-Do list for Github Wiki. Its no longer generated from a note, you should edit this md file directly.

Bugs

Bug reports and feature requests should be via Github https://github.com/tomboy-notes/tomboy-ng/issues

There is some advice about DIY debugging further down this document.

Known Issues

  • Switching tomboy-ng to not render links (to notes, websites, files or directories) while a note is open will result in any links in that note remaining as hyperlinks, even if the link is edited so the link is invalid. If you switch off displaying links as hyperlinks, close and reopen any open notes.

  • Do not set your notes directory to be on a network share. Please keep your notes on a local disk and use the sync facility (aimed at the network share) to share them with other machines (or even the same multiboot machine).

MacOS

Linux

Linux Systems using Wayland the Qt5 version of tomboy-ng MUST be started with "-platform xcb" or a number of things don't work. See item 3 below for more details. If you start from the menu system, the default install takes care of this for you. If you start from the command line, you must address it yourself.

There are many different Linux Distributions, many Desktops, three possible Widget Sets, 32bit and 64bit, we do not make packages for each individual combination. So, with some of those combination some extra manual configuration and installation may be required. This table attempts to summarize the situation.

  • The widget set columns refer to that widget sets ability to follow the desktops color theme.
  • Reopen refers to a note window remembering where it was previously and opening in the same place.
  • The numbers refer to the numbered "work-arounds" listed below.
Platform gtk2 Qt5 Qt6 ReOpen SysTray Conclusion
Artix Enlightenment ok ? ? ok x Only the gtk2 version has been tested.
Artix Xfce ok ? ? ok ok Only the gtk2 version has been tested.
Debian Bookworm Gnome x 1, 8 2, 8 3 5 Suggest Qt5 or Qt6, and follow SysTray and either Theme or Colors instructions.
Debian Bookworm Mate ok 2, 8 2, 8 ok ok If the colors concern you, see Colors instructions below.
Debian Bookworm KDE ok ok, 8 ok, 8 ok 6 Just learn to click the Tray Icon with Right Mouse Button. Sorry !
Fedora 39 Gnome ok 1, 8 2, 8 3 ? Use gtk2 or follow SysTray and either Theme or Colors instructions.
Fedora 40 beta Gnome x 1 2 3 5 to be updated.
Mageia 9 KDE ok ok ok ok, 8 ok, 8 It just works.
Mageia 9 Enlightenment ok 2, 8 2, 8 ok 7 Add the SysTray module.
Platform gtk2 Qt5 Qt6 ReOpen SysTray Conclusion
MX Linux 21 Xfce ok ok, 8 2, 8 ok ok If needed, with Qt5, see Colors below.
MX Linux 23 KDE ? ? ok, 8 ok ok All OK probably
MX Linux 23 Xfce ok ? ? ok ok All OK probably
Fedora 39 Xfce ok ok, 8 ok, 8 ok ok All OK
Mint 21.3 Cinn ok ok, 8 2, 8 ok ok If using a Qt5 version, just install qt5ct
PCLinuxOS KDE ok ok, 8 2, 8 ok ok If using a Qt5 version, just install qt5ct
Ubuntu 24.04 Gnome ok 1 2, 8 3 ok Use gtk2 or one of Theme or Colors instructions.
Ubuntu 23.04 Xfce ok 1 ok, 8 ok ok Just follow Theme instructions
Ubuntu 22.04 Gnome ok 4, 8 8 ok ok Suggest gtk2. For Qt5, depending on your distro, Plugins might help. Qt6 not recommended.
Ubuntu 20.04 Gnome ok 4, 8 8 ok ok Suggest gtk2. For Qt5, depending on your distro, Plugins might help. Qt6 not recommended.
Platform gtk2 Qt5 Qt6 ReOpen SysTray Conclusion
  1. Theme To follow theme, install qgnomeplatform-qt5 and set envar QT_QPA_PLATFORMTHEME=gnome. See themes-colors-and-settings for more information.

  2. Colors Does not follow theme but by installing qt5ct or qt6ct you can force 'a' dark theme. Less satisfactory then Theme. See themes-colors-and-settings for more information.

  3. PLATFORM We notice at least three problems often on systems using Wayland. Firstly tomboy-ng is unable to restore a note to the same position on screen it was previously. Second, you cannot copy text out of tomboy-ng to another application. Third, some Wayland using system do not bring an open note window to the foreground when it should. So, set QT_QPA_PLATFORM=xcb or provide a command line switch -platform xcb (yes, single dash). Note that all recent installs of tomboy-ng add -platform xcb to the Desktop file, so, if you launch from the menus (rather than the command line) that settings is already done for you. See setting-that-environment-variable for more information. You can also start tomboy-ng from the command line using gtk-launch because it will look to the desktop file for this settings. $> tomboy-ng -platform xcb [enter] or $> gtk-launch tomboy-ng [enter]

  4. Plugins Older Gnome systems using Wayland require you to install qt5-style-plugins (not qgnomeplatform-qt5) and QT_QPA_PLATFORMTHEME needs to be set to eg gtk2 (not gnome).

  5. SysTray Gnome opposes the use of System Tray, you must install and enable gnome-shell-extension-appindicator if you want to use it. Use your distro package manager (ie sudo apt install gnome-shell-extension-appindicator or sudo dnf install gnome-shell-extension-appindicator ), restart and then start tomboy-ng again. It will ask if it should enable the indicator, click yes. For more information, see System Tray

  6. Right Click Qt5 app only. Some systems using Wayland on KDE pop up the System Tray Menu in random places with a left click. So, for KDE systems using Wayland, we force a right click to use the menu (--allow_leftclick to override if you want to try it yourself).

  7. Module Applies to Enlightenment Desktop only. With systray module enabled and added to a shelf. Note tray icon is red, not yellow ??

  8. Requires an external libqt5pas or libqt6pas. The one in your distribution is NOT recent enough. Please see Qt Libraries

[!NOTE] Both Debian Bookworm Gnome and Fedora 40 Beta Gnome did not get one 'ok' between them. Remarkable !

Thanks to Roy for some of the above testing.

Qt5 and Qt6 libraries

All FPC/Lazarus applications using Qt5 need to use libqt5pas library. A new version of that library was released in late 2023 and it has substantial improvements and is, therefore used with this release of tomboy-ng. Your distribution of Linux will probably not have a suitably up to date library yet (know exceptions : Debian Trixie and Ubuntu 24.04). So, you MUST manually install the library yourself from -

https://github.com/davidbannon/libqt5pas/releases

https://github.com/davidbannon/libqt6pas/releases

Download and save the appropriate library to the same place you downloaded the tomboy-ng package, then install the library first, or quicker, at the same time -

$> sudo apt install ./tomboy-ng_0.40-0_amd64Qt5.deb ./libqt5pas1_2.15-1_amd64.deb

Dark Theme

Establishing colours can be a problem on some Linux Desktops. If you are lucky, your desktop will already have suitable setting for all Qt apps in place, if not, you may need to do it yourself using the QT_QPA_PLATFORMTHEME Environment variable. See the Dark Theme heading below.

Themes, colors and settings.

Ideally, your tomboy-ng should display itself using the color theme you have chosen so all your apps look similar. Its not, however, always perfect and varies by Platform and Widgetset.

Qt5 and Qt6

Generally Qt5 and Qt6 need to be told to follow your desktop theme. That is done by passing the app a setting telling it where to look for a theme, it can be environment variable or a command line switch. Just which one depends your Linux Distribution (ie Debian, Ubuntu, Fedora etc) and Desktop (ie Gnome, KDE Plasma, Xfce etc). Another setting is available if your Desktop uses Wayland and corrects many of its problems.

platformtheme

On recent Gnome Desktops, the setting is 'gnome' and you must install qgnomeplatform-qt5. On most Linux systems, set the platform theme to 'gtk2' and ensure qt5-style-plugins is installed. A setting of 'gtk3' is also possible depending on the theme you use. platformtheme can be set with a system wide environment variable (see below), an environment variable provided on the command line or a command line option. There is also an application, qt5ct, installable on most Linux systems that provides a couple of independent themes rather than using gtk2 or gnome ones, install the app and pass platformtheme a setting of 'qt5ct'. A command line might look like one of the following -

$>  QT_QPA_PLATFORMTHEME=gtk2  /usr/bin/tomboy-ng %f


$>  /usr/bin/tomboy-ng -platformtheme gnome


$>  /usr/bin/tomboy-ng -platformtheme qt5ct

Note the command line option format does not comply with the posix/gnu standard, so if you are also providing command line options to tomboy-ng, put them AFTER the Qt option set.

platform

Systems using Wayland often provide some disappointing results, some can be mitigated telling the app to use the xcb library, a useful trick at least until more of Wayland works as it should. And, obviously, all these setting can be combined. So, maybe -

$>  QT_QPA_PLATFORMTHEME=gtk2 QT_QPA_PLATFORM=xcb /usr/bin/tomboy-ng %f


$>  /usr/bin/tomboy-ng -platformtheme gnome -platform xcb


$>  /usr/bin/tomboy-ng -platformtheme qt5ct -platform xcb
  • I have not found a Wayland using system that did not benefit from bypassing Wayland like this.

  • On the subject of Themes, QT versions of tomboy-ng now read your Qt theme colors but override some for specific Tomboy reasons. You can prevent that override and stick to only themes colors by adding --strict-theme.

  • Generally all Qt apps support https://doc.qt.io/qt-5/qguiapplication.html#supported-command-line-options

Setting that Environment Variable

For Linux: If you choose to set an Environment Variable there are a few ways to do so. Again, examples, use the correct 'setting' for you particular model.

In .xsessionrc

Set everything, eg, make all your Qt5 app have a nice uniform look. Set that var in either /etc/environment (requires root) or, far simpler in a .xsessionrc file in your home dir.

cd ; echo "export QT_QPA_PLATFORMTHEME=qt5ct" >> .xsessionrc

And logging out and back in again.

For a Specific App

Assuming you are opening tomboy-ng from the menu system, the best place to set one or more env vars is in its desktop file. Its usually /usr/share/applications/tomboy-ng.desktop and needs root access to edit it. You will find it has a line that looks like this -

Exec=tomboy-ng %f

You need to make it look like one of these (eg) -

Exec=env QT_PLATFORM=xcb QT_PLATFORMTHEME='gtk2'  tomboy-ng  %f
Exec=tomboy-ng -platformtheme gtk2 -platform xcb %f

That example shows setting both vars, you can, of course, just set one or the other. A Gnome user might do

Exec=env QT_PLATFORMTHEME='gnome' tomboy-ng %f

Using a script

Create a 'bin' directory in your home directory (if its not already there) and put a script like this in there -

#!/usr/bin/bash
QT_QPA_PLATFORM=xcb  QT_QPA_PLATFORMTHEME=gnome  /usr/bin/tomboy-ng %f

Debian nicely adds ~/bin to your PATH (on next login) and the menu system will find the script before it finds the tomboy-ng binary. However, if you have tomboy-ng set to autostart, that happens before the OS fixes up you PATH and autostart will directly try to start the real binary. Solution, edit $HOME/.config/autostart/tomboy-ng.desktop to set an absolute path to the script, the Exec line like this -

Exec=/home/YOURNAME/bin/tomboy-ng %f

Assuming your user name is not "YOURNAME", you should substitute your real user name there.

gtk2

Generally, gtk2 versions of tomboy-ng follows the systems colors pretty well.

Windows, MacOS

Later systems have some Dark oand other themes. tomboy-ng does its best to comply here but it appears Microsoft are still experimenting in this space.

Other Know Issues with Fixes

Cancelled Bullets

When text is bulleted and then converted back to plaintext, it has a small indent that is not removable. It goes away when next the note is loaded and is not show in printed copy but is annoying! Its an upstream issue and its being worked on.

System Tray Issues

Please see https://github.com/tomboy-notes/tomboy-ng/wiki/System-Tray-on-Linux - generally only a problem for people using the Gnome Desktop

Calc separator

In the calculator, many countries use the comma instead of a period as a decimal separator. Quite difficult to fix, my apologies to people from locales where this is an issue. https://forum.lazarus.freepascal.org/index.php/topic,56305.msg418384.html#msg418384

Long term 'maybe' stuff

These are things I have no immediate plans to fix, but they might be addressed some time in the future if there is some demand from end users.

  • On Linux GTK2 based versions, using the Compose Key approach to entering accented characters results in a bad character also being inserted. This is a known, upstream issue, https://bugs.freepascal.org/view.php?id=38454 . Qt5 versions do not have this problem.

  • Lines starting with an '*' should be auto converted to a Bullet.

  • The Tab key now (>=0.40) now cause a one level indent in that paragraph. Its only one level and is unlikely to be further developed. Note that this behaviour is not compatible with old Tomboy, a note saved in Tomboy will not retain a previous indent.

  • Revise controls, at present modelled on Tomboy, we can improve.

Debugging

If you have problems with the application, or wish to make a feature request, please report via the github tomboy-ng issues facility.

If tomboy-ng crashes or does something unexpected, there are a number of command line switches that may reveal whats going on (to either yourself of, if posted to 'issues', the author). Using these command line switches is easy in Linux but Windows or Mac users need to capture the information in a file, see below -

Command Line Switches

  * `--dark-theme`

  * `-l --lang=CCode               Force Language, en, es, uk, fr, nl`

  * `-h --help                     Show this help message and exit.`

  * `--version                     Print version and exit`

  * `--no-splash                   Do not show small status/splash window`

  * `--debug-sync                  Show debug messages during Sync`

  * `--debug-index                 Show debug msgs while indexing notes`

  * `--debug-spell                 Show debug messages while spell setup`

  * `--config-dir=PATH_to_DIR      Create or use an alternative config`

  * `--open-note=PATH_to_NOTE      Open indicated note, switch is optional`

  * `--debug-log=SOME.LOG          Direct debug output to SOME.LOG.`

  * `--import-txt=PATH_to_FILE     Import file into Note Repo  also -t`

  * `--import-md=PATH_to_FILE      Import file into Note Repo  also -m`

  * `--import-note=PATH_to_NOTE    Import file into Note Repo  also -n`

  * `--title-fname                 Use Filename as title for import txt & md`
  • --useappind=[yes|no] Ctrl use of AppInd (ie TrayIcon) on Linux

  • --strict-theme (Qt Only) use only colors found in the Qt theme.

Capturing to a file

Windows and Mac do not, for this purpose, have a console. But they too can be told to capture this log info to a file using another command line switch or by setting an env variable that specifies a file name. Please ensure you have permission to write to the location specified. For example a Linux user would -

   set tomboy-ng_debuglog=c:\%userprofile%\debug.txt

Mac users can do something similar from a terminal :

   open /Applications/tomboy-ng.app --args     "--debug-log=$HOME/tomboy-ng.log"  "--debug-sync"



   Linux users who need a debug log file can also :



   tomboy-ng --debug-sync --debug-log=$HOME/tomboy-ng.log

Windows users should do something like this -

  • Right click the startbutton and select "run". In the field, enter this command line exactly as show (including the inverted commas) -

  • "C:\Program Files\tomboy-ng\tomboy-ng.exe" --debug-index --debug-log=%userprofile%\Desktop\tomboy-log.txt

  • Press enter, tomboy-ng should start up normally. Close it.

  • A file called tomboy-log.txt will have been created on your desktop.

In all cases, you may need to zip that file up to post it on Github. If you do intend to post such a log file to (eg) the Tomboy help system, do please check through it first to ensure there is nothing there you don't want the world to see. It may include things like note Titles for example. Note that a debug file will capture very little data unless of the debug switches is also set.