Bugs and Known Issues - tomboy-notes/tomboy-ng GitHub Wiki

Bugs-and-Known-Issues

This is the tomboy-ng Known Issues and To-Do list for Github Wiki. Its generated from a note in the tomboy-ng doc dir, don't edit the wiki 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

  • On some older Macs, when using the in note Find tool, a 'shadow highlight' can appear superimposed over the button bar. It does no harm, disappears when you move the mouse over the button but is unsightly. Its a know upstream problem, https://forum.lazarus.freepascal.org/index.php/topic,53055.0.html .

  • 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).

  • Qt versions do not always pick up System Colours, you need to give the app a hint what colour theme to use, see below.

  • Some Linux systems using Wayland to not bring an open note to the foreground when another note's link to it is clicked.

  • Some Linux Desktops using Wayland do not report or set window positions correctly. Turn Wayland off and they work perfectly.

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

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.

Dark Theme

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.

⚠️ **GitHub.com Fallback** ⚠️