tomboy-ng

NAME
tomboy-ng - manage a collection of notes using a simple GUI markup

SYNOPSIS
tomboy-ng [-h --help] [--dark-theme] [--debug-sync] [--debug-index] [--debug-log=LOGFILE] [-l --lang=CC] [--config-dir=PATH_to_DIR] [-o PATH_to_NOTE] [--open-note=PATH_to_NOTE] [PATH_to_NOTE] [-t --import-txt=PATH_to_FILE] [-m --import-md=PATH_to_FILE] [-n --import-note=PATH_to_NOTE] [--title-fname]

DESCRIPTION
tomboy-ng is a rewrite of the much loved Tomboy Notes. It runs on Linux, Windows and MacOS. It is file compatible with Tomdroid and GNote (>=v0.30). Tomboy-ng notes support Bold, Italic, Strikethrough, Highlight and Underline in four sizes. It will sync notes with other systems using Tomboy's File Sync model and to remote servers using sshfs. It will Sync with a Github account, either all your notes or just ones in the SyncGithub notebook. On Github, you can edit notes, from almost any device with a browser in markdown format.

New in v0.40, embed links to any file or directory that your OS knows how to open.

tomboy-ng has built in systems to take snapshots of your notes for safe keeping, to import and export notes in different formats, spell checking means to group your notes into "notebooks" for easy management.

Many users will want to have tomboy-ng start at logon time and leave it running indefinitly. When running, it will put an Icon in the System Tray and you can interact with it via that Icon. However, some Gnome 3 based Linux distros have problems initially with the System Tray Icon, on such limited systems, see the project wiki page mentioned below.

On Windows and Mac tomboy-ng uses native libraries, on Linux, tomboy-ng comes in both GTK2, Qt5 and Qt6 versions and many systems have almost all the necessary libraries pre installed.

While options below are familiar to Linux users, Mac and Windows users may like to look at some examples further down to see how to use them.

COLORS and DARK THEME
The GTK2 version follows the system colour theme.

However, the Qt5 version (eg Bookworm and later) requires some instruction from the user. Using the --dark-theme is the simplest and probably the least satisfactory approach, the note edit screen is a dark theme, other windows vary. Qt5 (and Qt6) versions after 0.36c work well with qt5ct (or qt6ct) and then require an environment variable to tell tomboy-ng to consult qt5ct or qt6ct. Older Linux systems may work better with qt5-style-plugins package. If you start tomboy-ng, perhaps on the command line, it will not see the env variable so either set it yourself, eg QT_QPA_PLATFORMTHEME=qt5ct, or supply a command line option, --platformtheme qt5ct that does a similar but not quite as complete job. Newer systems may accept a setting of =gnome or =gtk2

A more general solution, applying to all Qt5 apps, is to add that var to either /etc/environment (requires root) or, simpler in a .xsessionrc file in your home dir.

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

Probably need to log out and back in again.

On Windows, tomboy-ng will follow the system for Dark Theme but only for the note edit window. Using the --dark-theme switch is not recommended.

On MacOS, tomboy-ng is believed to follow the system theme.

OPTIONS

-h --help
    Print some help and exit.

-v --version
    Print the tomboy-ng version and exit.

--dark-theme
    Makes the note edit windows a reasonable dark theme (but not the system theme). Other part of the app are not dark. This option may be removed in future releases.

--no-splash
    Do not show the small tomboy-ng splash screen at startup. However, if an error is detected the splash screen is always shown.

--lang=CC
    Tomboy-ng normally picks up its language from the OS and does an auto switch. However, its possible to force a language at startup using the two letter language code, ie es for spanish, nl for dutch, fr for French and uk for Ukranian. If you would like to help translate tomboy-ng, please, please get in touch.

-c, --config-dir=PATH_to_DIR
    Create or use an alternative config. That config could, for example, specify an alternative location to store notes and sync against a different file sync repository.

-o, --open-note=PATH_to_NOTE
    Open a note in single note mode. In this mode, a separate process runs, it does not have access to the normal notes location, nor sync but can read, display and write back to a stand alone note. If the note name does not exist, a new note is created. If the note name specifies a plain text file or a rtf file, the contents of that file will be imported into a new note and that note will be named as specified on the command line but with an extension of ".note". In this mode, the note remains in its existing location, it is not moved to the tomboy-ng notes location, it is not synced, nor searched by tomboy-ng in its normal mode. Note that the switch (-o or --open-note) is optional, "tomboy-ng some.note" will works as well.

-t --import-txt=PATH_to_FILE
    Import the indicated plain text file into the Note Repository, converting it to note format. The first line of the file will be used as the title unless --title-fname is also specified in which case the file name will become the title. If another instance of tomboy-ng is running, its notified of the import and the note will appear as the newest.

-m --import-md=PATH_to_FILE
    Import the indicated markdown file into the Note Repository, converting it to note format. The first line of the file will be used as the title unless --title-fname is also specified in which case the file name will become the title. The conversion assumes a CommonMark version of markdown and not all aspects of even that are supported. If another instance of tomboy-ng is running, its notified of the import and the note will appear as the newest.

-n --import-note=PATH_to_NOTE
    Import the indicated Tomboy Note format file into the Note Repository, the note itself is not changed, its just copied in and, if necessary, a GUID style file name is assigned. The last change date of the note is retained. If another instance of tomboy-ng is running, its notified of the import.

--title-fname
    Applies only when importing a text or markdown file, determines that the filename will be used as the note title instead of the default first line of the file.

--debug-sync   --debug-index   --debug-spell
    Generate a lot of logging information on the console during a sync, index or spell process, each one relating to a particular field. You can combine or even use all three. Intended for debugging. The debug information is written to the console in Linux and can be captured to a file on all platforms, see below.

--debug-log=LOGFILE
    Direct debug info to a file, this is necessary to see that output on Windows and Mac and sometimes useful on Linux. LOGFILE is a filename and a (writable) path to that filename. See section below on debugging.

--useappind=yes|no
    Only for Linux using gtk2 version. Will override tomboy-ng decision about how to try to display the System Tray Icon, its here to help with difficult systems that cannot seem to display that icon using the normal approach.

--platformtheme qt5ct|gnome|gtk2
    Use with Qt versions ONLY, will instruct the app to display the colors defined in qt5ct. The qt5ct app has a nice GUI where you can select the colors that suite you. Some other Qt specific options may also work using a similar syntax. Note there is not an '=' sigh between the switch and its parameter.

--allow-leftclick
    Some Wayland using systems do not respond well to a left click on the tray icon, so its disabled on know offenders by default. Try a test with this switch, you may be able to restore the familiar left click on your system. Applies only to Linux.

--strict-theme
    Use only Qt theme colors for Editing Notes, as the note edit window needs more distinct colors than many themes provide, tomboy-ng defaults to using a few extra colors. Disable this behaviour with this switch. Applies only to Qt5 and Qt6

-platform xcb
    As many current Wayland using Linux systems have multiple problems, this setting should be used to use the much more mature libxcb instead. Problems it fixes include the inability to bring an open note to the foreground when clicked, inability to copy text from a note to an external application and inability to restore a note to its previous position. Applicable Qt5/6 only. Note different syntax to other options, that is because this option goes direct to the Qt Framework and is not seen by tomboy-ng. Setting an environment variable, QT_QPA_PLATFORM=xcb has the same effect.

-platformtheme gnome|gtk2|qt5ct|qt6ct
    Qt application can be told where you want the app to look for its color theme. The external apps, qt5ct and qt6ct will let you establish your own colors, 'gnome' will use the existing gnome theme if you have qgnomeplatform-qt5 also installed. The 'gtk2' setting works with some older systems and appropriate themes installed. Not all systems will work with all these options, you may need to experiment to some degree. Note different syntax to other options, that is because this option goes direct to the Qt Framework and is not seen by tomboy-ng. Setting an environment variable, QT_QPA_PLATFORMTHEME=gnome has the same effect.

ENVIRONMENT VARIABLES
The tomboy-ng Qt apps take note of QT_QPA_PLATFORMTHEME and QT_QPA_PLATFORM and, as unlike from setting command line options, the setting can be seen in tomboy-ng's About window.

All tomboy-ng versions also recognises eg TB_GITHUB_REPO=tb_alt which will use an alternative name for your GitHub repository. This is strictly for testing and debugging purposes and its strongly recommended you don't use this unless you are sure of what you are doing.

As mentioned under Debugging, tomboy-ng recognises an environment variable tomboy-ng_debuglog to redirect its debug output to a file. eg

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

FURTHER HELP
tomboy-ng comes bundled with several read only notes that provide help on topics such as keyboard short cuts, setting up a sync system, using the built in calculator and keeping your notes safe.

The project's wiki also has extensive information available. https://github.com/tomboy-notes/tomboy-ng/wiki for detailed information on using both file and github sync, spell checking, working with (and even without) the System Tray.

DEBUGGING
tomboy-ng generally does not write debug output unless something has gone wrong but it does accepts a couple of debug switches as noted above. They will cause detailed progress reports relating to their section of the application to be written to the console. However, Windows and Mac do not, for this purpose, have a console. But 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.

tomboy-ng --debug-log=%userprofile%\debug.txt --debug-sync

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

Mac users can do something similar :

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

Linux users who need a debug logfile can also :

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

Windows users should do something like this -

Rightclick 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.

If you 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.

FILES
On Linux, notes are stored (by default) in $HOME/.local/share/tomboy-ng On Linux, config is stored (by default) in $HOME/.config/tomboy-ng

SEE ALSO
https://github.com/tomboy-notes/tomboy-ng

There you will find several wiki pages going into far more detail than here.

You may also be interested in TomboyTools, an addition application that allows inport and export in a range of formats. This man pages was built from a tomboy-ng note using TomboyTools. https://github.com/davidbannon/TomboyTools

BUGS
Please send bug reports to the tomboy-ng Github Issues system, see above.