Designed and built for personal ![](data/screenshots/journal.pntext journaling and activity tracking.
Write a diary, log your activities, keep track of your metrics.
Search, filter and evaluate your journal—your life.
- Write expressive journal entries with emoijs, organized with hashtags (i.e. "#linux rocks 😎️")
- Search your journal
- Filter your journal by hashtag
- Render timeline charts when filtering for "metric tags", i.e. a hashtag followed by a number with optional unit (e.g. "#Trailrun 5km")
- Backup and restore your journal to and from a JSON file, compatible with mobile app "ZenJournal - Minimalist Diary" (iOS, Android)—no affiliation
Made for elementary OS
Trimir Journal is designed and developed on and for elementary OS.
The app will eventually (hopefully) be available for purchasing directly through AppCenter.
Purchasing the app will support the development and ensures instant updates straight from me. All this is to say: get it on AppCenter for the best, sustainable experience. 😀️
You'll need the following dependencies:
- libxml2-dev
- libgda-5.0-dev
- glib-2.0
- gobject-2.0
- gtk+-3.0
- libjson-glib-dev
- libgtksourceview-4.0-dev
- libhandy-1-dev
- libgranite-dev
- libarchive
- libwebkit2gtk-4.0-dev
- meson
- valac
sudo apt install \
elementary-sdk \
libgda-5.0-dev \
libgtksourceview-4-dev \
libarchive-dev \
libwebkit2gtk-4.0-dev
flatpak install io.elementary.Sdk/x86_64/6.1
Run meson build
to configure the build environment. Change to the build directory and run ninja
to build
meson build --prefix=/usr
cd build
ninja
To install, use ninja install
, then execute with com.github.matthiasjg.trimirjournal
ninja install
com.github.matthiasjg.trimirjournal
For development oneshould use make
™️.
The make
targets require two more tools being installed:
-
vala-lint to assure one is following the elementary Code-Style guidelines
-
Gtk Inspector (from
elementary-sdk
)
# vala-lint
git clone https://github.com/vala-lang/vala-lint
cd vala-lint
sudo apt install cmake libvala-0.48-dev
meson build --prefix=/usr
cd build
ninja test
sudo ninja install
# gtk-inspector
gsettings set org.gtk.Settings.Debug enable-inspector-keybinding true
Useing the make
targets is then as simple as:
# once
make
# recurring, each cycle
make yolo
The app is fully translatable.
Each time new translatable strings are added or old ones change, one should regenerate the .pot
and po
files using make i18n
.
For new languages, just list them in the po/LINGUAS
file and generate the new .po
file with make i18n
.
For me (currently, still) Visual Studio Code.
Install Princeton et al's uber-awesome vala-vscode (src) which requires vala-language-server to be installed.
# flatpak remote-add --if-not-exists --system appcenter https://flatpak.elementary.io/repo.flatpakrepo
# flatpak install -y appcenter io.elementary.Platform io.elementary.Sdk
flatpak-builder build com.github.matthiasjg.trimirjournal.yml --user --install --force-clean
flatpak run com.github.matthiasjg.trimirjournal
meson build --prefix=/usr
cd build
ninja
cd ..
dpkg-buildpackage
It is a true pleasure to develop on and for this platform.
Starting from the outstanding elementary developer documentation, the greater Vala, Valadoc ecosystem to the source code of the OS and bundled (original) apps to the AppCenter along with all the great and inspiring community apps.
Therefore THANK YOU team and community of elementary OS! ❤️