# Rene's Sublimeless Zettelkasten

• @mondayrobot said:
Hi Rene,

First of all thanks for sublime and sublimeless, they are both a joy to use.

I'm using the Linux version of sublimeless, but I have some problems with the UI: the fonts are hard to read and blurry, for the menu but especially for the tabs and the status bar, where they are small and barely lisible. As the install is local, I wasn't able to tweak them using the global QT settings.

You're right... In general, I chose a really small font size (8 points) for the tabs because note filenames tend to be long. I personally half read half guess what tab is what, I don't even need to have clearly readable filenames. On my Mac the font is very sharp and readable and on my big Windows screen at work, the size is OK, too. Only on my 11" Linux Macbook Air, I find the font too small.

You're also right, the app is sandboxed / frozen. Comes with its own Qt.

This is only for the interface, the editor fonts look great. I already have Ubuntu Mono on my system.

Can you please tell me if there is a way for me to tweak the UI fonts?
Thanks a lot!

So, unfortunately, as long as I have no settings for that, you can't customize the UI fonts.

But: If you're willing to do an "alternative Linux install" which is basically just downloading the source and running it (after installing all dependencies), the app would use pyqt's Qt, which should probably be configurable or adhere to your global Qt config.

But: If you don't want to go through all that: I will add a setting for UI font in 0.9.

• @rene said:
But: If you're willing to do an "alternative Linux install" which is basically just downloading the source and running it (after installing all dependencies), the app would use pyqt's Qt, which should probably be configurable or adhere to your global Qt config.

Thanks Rene, I'll try the alternative install.
Don't bother with the UI font settings, the font issue is certainly not something that stops me from using sublimeless

• On macOS, it seems like the saved-searches and search-results theme files are copied from /Applications/sublimeless_zk-pre-0.8.app/Content/MacOS/themes into ~/sublimeless_zk.rc/themes every time Sublimeless ZK starts. So changes made to the local files are overwritten, and the system files must be altered if you want to apply changes to those themes.

• @galen said:
On macOS, it seems like the saved-searches and search-results theme files are copied from /Applications/sublimeless_zk-pre-0.8.app/Content/MacOS/themes into ~/sublimeless_zk.rc/themes every time Sublimeless ZK starts. So changes made to the local files are overwritten, and the system files must be altered if you want to apply changes to those themes.

that is intentional, at least for the time being. i needed to add to those themes in newer versions and this is the way to ensure the new version is there, as there is no installer.

once the themes have settled, I will probably remove that. maybe even in 0.9.

• @rene said:

@galen said:
On macOS, it seems like the saved-searches and search-results theme files are copied from /Applications/sublimeless_zk-pre-0.8.app/Content/MacOS/themes into ~/sublimeless_zk.rc/themes every time Sublimeless ZK starts. So changes made to the local files are overwritten, and the system files must be altered if you want to apply changes to those themes.

that is intentional, at least for the time being. i needed to add to those themes in newer versions and this is the way to ensure the new version is there, as there is no installer.

once the themes have settled, I will probably remove that. maybe even in 0.9.

Ah ok, makes sense. Thanks.

• TLDR at the bottom.

@rene said:
Didn't know that either. While it's probably a very clever feature, it also just begs for troubles, especially when you don't know about it .

I think the risk of problems with this system is quite minimal, since it won't conflict with any default keybindings, if there are conflicting keybindings cocoa system will be ignored. Besides on macOS it's quite hard to accidentally press the keybindings. Since they use modifier keys which aren't used for a lot of native things as far as I know. A while ago I ran into a really bad app which used the default windows keybindings on mac as in ctrl-s for saving etc. However even that wasn't a problem since the cocoa keybindings got overwritten.

The only problem is when apps enforce certain keybindings on you, which will overwrite the cocoa text system keybindings.

Which might be a good thing if you don't know about key bindings and/or maybe have some not very useful (in context) default ones. I don't mean that's the case, I didn't check.

By default the cocoa text system has some simple emacs-style keybindings like ctrl-a & ctrl-e(move to beginning/end of line), ctrl-n & ctrl-p (scroll up/down). Even though those are relatively simple I didn't even notice them until I read about the keybindings. So as far as I know they're not really in the way of anything.

As a bonus personally for me they're a lot easier to use than for instance cmd-shift-u/d. Evenmore so since my capslock key is the ctrl key. Unfortunately this obviously won't work with linux and windows since they've got different command modifiers.

Would a possible solution be to allow precise control of turning on&off keybindings and to tell macOS users about the cocoa text system and its keybindings? That might be a solution in the meantime when SublimeText style mapping isn't available.

That would be a possible solution, but with precise control it would involve about as much code as having customizable shortcuts. A simpler approach: Have a setting to disable all Editor key bindings. Did you mean also the menu shortcuts?

If it's a lot of work to code custom keybindings will indeed be a lot better. However to disable all of the isn't really necessary since they don't seem to conflict with anything. I really like the shortcuts you've implemented, they seem quite efficient and they make a lot of sense in the context of Mac OS. Since macOS uses a lot of cmd keys and mostly the cocoa text system uses ctrl in its commands there aren't any big conflicts

• Just noticed something which is missing from the menubar on macOS, the search function in the help menu. Obviously the excellent command palette exists but if it's easy to add the search function in the help menu would still be a nice addition in my opinion.

• @Santema said:
Just noticed something which is missing from the menubar on macOS, the search function in the help menu. Obviously the excellent command palette exists but if it's easy to add the search function in the help menu would still be a nice addition in my opinion.

But .... there is no help menu?!?!?? What do you mean? There is no help, so nothing can be searched in the help. I am not a good Mac user. I just noticed other apps let you search menu items via the help menu. Oops.

To be honest...
I would have to be extremely bored to add yet another way to invoke commands, in addition to menu, kb shortcuts, and cmd palette. There's so much other stuff to do.

I fear, the cross-platform GUI framework I use doesn't support this. If it's super-easy to do then I don't mind even though I find it a bit redundant.

I will check some time.

The idea is to produce sth usable and get to sth 1.0 worthy in terms of functionality, while running on all major platforms. With compromises. It's not to fine-tune everything for a like-native macOS experience. This will probably never be a "proper" mac app. I will not charge money for it either. You are invited to use it, but, at least for now, please don't expect too much Mac from it.

We are at version 0.9, this is 5 weeks old software. I am happy if Markdown parsing works satisfactory, a help menu hadn't even occured to me yet ;-).

That's not to say that I don't appreciate your suggestions. You are just ahead of time

• @Santema said:
TLDR at the bottom.
If it's a lot of work to code custom keybindings will indeed be a lot better. However to disable all of the isn't really necessary since they don't seem to conflict with anything. I really like the shortcuts you've implemented, they seem quite efficient and they make a lot of sense in the context of Mac OS. Since macOS uses a lot of cmd keys and mostly the cocoa text system uses ctrl in its commands there aren't any big conflicts

Cool that what you have in mind doesn't interfere with the default shortcuts. I am more worried that people want to assign editor commands to shortcuts the editor already uses for sth else by default --- in which case I better make sure to delete the overridden shortcuts --- which is something that didn't work reliably in a generic way in the past. But I'll have another go at it soon!

• # sublimeless_zk-pre-0.9 released (under-the-hood)

There were quite some changes under the hood...

## What's new

• Auto-indent in side-bar

• plays nicely with the bulleted lists in search results
• increases readability in saved searches
• better initial split ratio of main window

• fix #76 : an irregular filename crashes slzk in refcount search
• fix #78 : app doesn't start if recent file removed from disk
• fix #79 : show note counts in search results
• fix #77 : find-in-files: pre-fill with selected text
• see #45 : improved find-in-files, supports

• ""fixed strings containing blanks, using double quotes""
• !!negation, also for !!""fixed strings!!""
• free standing !! like here are ambiguous and removed
• !! are always safe in the middle or at the end of a word/fixed string.
• fix #83 : Deleting the file sublimeless_zk-state.json prevents slzk from starting

• fix #85 : auto-save only if file has changed (play nicely with sublime_zk in parallel)
• fixed: option+↑ and option+↓ move the cursor by paragraph, which is the usual key binding.
• fix #87: open files panel

• this panel is hidden by default. You can show it by:
• Menu: View > Toggle Open Files Panel
• Keyboard Shortcut shift + alt/opt + K
• Command Palette: "Toggle Open Files Panel"
• fixed #86 : make ui fonts customizable.

• in the settings file (not a theme) --> command palette: "Settings..." to edit
• ui.editorinfo is the information about auto-indent, etc, plus word- and line-counts
• ui.notepanel is the new open files panel

Example Settings:

    "ui.font.face": "Arial",
"ui.font.size": 14,
"ui.tabs.font.face": "Arial",
"ui.tabs.font.size": 14,
"ui.statusbar.font.face": "Arial",
"ui.statusbar.font.size": 14,
"ui.editorinfo.font.face": "Arial",
"ui.editorinfo.font.size": 14,
"ui.notepanel.font.face": "Arial",
"ui.notepanel.font.size": 14,

• fixed #84 : malformatted note freezes the app
• list continuations have changed because of this, too:
* item
continuation
* sub-item
continuation

even with empty lines
* sub-sub-item
but be careful with the empty or continuation lines!
they must be indented at least up until the previous *
if not, you start a code block
this can be tricky with non-monospaced fonts
* sub-item 2


• fixed #88 : make hyperlinks clickable

• cool for viewing external images
• cool for clicking on links to web-sites
• cool to open links to other apps like DevonThink or The Archive
• example: [link to devon-think](x-devonthink-item://3240FC0C-E669-461A-8814-2D078A619E77?page=0)
• fixed #57 : Re-load file if changed on disk

• checks roughly every second
• if you ignore re-loading, then changes will be ignored until you save the file

Happy zetteling!

• I just came here to say thanks for the great new version!! The pace of progress and the overall quality and usefulness are really impressive.

• before you release the magic version 1.0 you might send the current version to the person who runs https://pauljmiller.wordpress.com . He writes thoughtful reviews about note taking software and he seems to be fan of free and open source software and a socialist. You use the GPL. So there should be a good chance that you a) actually get a reply that is b) useful. Maybe there are still some low-hanging fruits?

You might also ask the person who runs https://welcometosherwood.wordpress.com/ The prospect to influence a new software might be enticing.

• edited May 2018

@rene said:
But .... there is no help menu?!?!?? What do you mean? There is no help, so nothing can be searched in the help. I am not a good Mac user. I just noticed other apps let you search menu items via the help menu. Oops.
To be honest...
I would have to be extremely bored to add yet another way to invoke commands, in addition to menu, kb shortcuts, and cmd palette. There's so much other stuff to do.
I fear, the cross-platform GUI framework I use doesn't support this. If it's super-easy to do then I don't mind even though I find it a bit redundant.
I will check some time.

As far as my knowledge about programming gui's go's it's quite easy (I've got some really really really limited knowledge of xcode ui stuff) so I thought I'd tell you about it. So if it's just as easy as in xcode you could enable it. If it's not please don't spend time on it, it is indeed redundant and not that important.

The idea is to produce sth usable and get to sth 1.0 worthy in terms of functionality, while running on all major platforms. With compromises. It's not to fine-tune everything for a like-native macOS experience. This will probably never be a "proper" mac app. I will not charge money for it either. You are invited to use it, but, at least for now, please don't expect too much Mac from it.

I'm not expecting anything, everything you add is a bonus. In general I don't expect anything from OSS it just happens to be really nice software most of the time, just like sublimelessZK. All the things I post here are just little tips, which might help you out. But please don't feel obliged to do anything with them.

SublimelessZK not being mac only all in all is a plus, it allows more people to use it which is always a good thing. Even though it might feel weird at times for a mac user like me, but so did VIM and the terminal for me at first. Which weren't a problem when I got used to them.

We are at version 0.9, this is 5 weeks old software. I am happy if Markdown parsing works satisfactory, a help menu hadn't even occured to me yet ;-).

That's not to say that I don't appreciate your suggestions. You are just ahead of time

No problem, I'm actually really surprised how fast your project has been growing. I've never seen something go so quick before, let alone by one guy. I'd like to help in the future with some stuff, is there some low hanging fruit I could look into?

The new update is really nice! It seems like it allows for some really nice integration with other apps. SublimelessZK seems to become the cockpit of the Zettelkasten

About the name, is slzk a working name/ name to be used in the documentation or will it be the official name? In my experience abbreviations are quite a pain to remember. So I wouldn't recommend it. Unless it's something like lisp which is pronounceable. Maybe something like SuZe? Which isn't the prettiest name either but it seems easier to remember than slzk in my personal opinion.

Post edited by Santema on
• @rene: Concerning the name, what about TranscendentZK? "Transcendent" being a synonym of "sublime", as an homage to its origins, as well as an appropriate name for a multi-platform program that "transcends" platform and text-format limitations.

• All is going well with 0.9 so far, @rene. Best release yet!

I've only come across a few issues, none that impede functionality.

1. There is an issue with the function of the tag {origin_id} in the "new note template." If there is a period in the title of the "origin note," the title of that note gets cut off at the period when it is inserted into the new note. [Does that make sense? If not I can spell it out more/illustrate it.]

2. There is no easy way (that I have found) to check the "referencing notes" for the currently open note---aside from inserting a link to the note and then calling on the function as usual. Would it be possible to have the default action of the "show referencing notes" function (shortcut: opt-return) show the referencing notes to the current note, as long as the cursor is not currently in a tag or a link to another note?

3. Bibliography entries in which there are no authors, only editors, are listed with a seemingly random author name in the dialogue (rather than the name of the first-listed editor, or the name used in the citekey). See screenshot #1 below, in which the author "Lang" is listed for three edited anthologies with which no "Lang" is associated.

It seems that for entries with no author, the dialogue pulls the last available author name, ie, from the entry above it in the bib file. See screenshot #2 below, which shows the culprit, "Lang," listed above the three edited anthologies in question, for which there are editors only, no authors. [Curse you, "Lang"!]

In any case, the citekeys appear correctly, both in the dialogue and when inserted into the note. Also, the same issue occurs whether unicode conversion is on or off.

Ok, back to Zettelkastening.

• @517qf @Santema @argonsnorts @galen thx for your contributions! I am super busy the next couple of days and will try to reply to your posts properly soon. Just wanted to let you know. btw I recently contemplated about "foreverNote"

• edited May 2018

@rene said:
@517qf @Santema @argonsnorts @galen thx for your contributions! I am super busy the next couple of days and will try to reply to your posts properly soon. Just wanted to let you know. btw I recently contemplated about "foreverNote"

No problem! You're not alone although I'm occupied with school. I like foreverNote but it doesn't it sound really similar to evernote? Maybe that would be a plus to get more attention and traction to sublimelessZK. But I think that would require a lot of presence on the internet to stand out. A website might be a good idea, I believe you can host one for free with github pages. Searching for foreverNote on duck duck go only yields results about evernote, but this app could change that

• edited May 2018

Woops accidentally quoted myself while I wanted to edit, the message above is the correct one.

• I'm also quite sceptical about forEVERNOTE. When I read this this makes me think of a client or something that is related to evernote.

• @517qf said:
I'm also quite sceptical about forEVERNOTE. When I read this this makes me think of a client or something that is related to evernote.

You're right the association isn't the best either if you're somewhat into privacy etc.

• Hello @rene

great work with your Zettelkasten implementation.
Is there a way to implement own addons? I would like to add a bridge to Citavi. At the first look it should be easy to read the bibliography out of Citavis SQLite database.
I like the monokai theme, it would be great if the themes would apply to all three windows.

Greetings
stefan

• Hi @rene . I just caught something that may be a bug- when I have the open notes panel open and rename a note, the old note still appears in the open notes panel, even after I close the renamed note. Thanks for your hard work on the sublimeless zettelkasten!

-Eric

• I just want to say big up for the great work on this! Not only have you come up with a great plugin and a great standalone application in no time (!), but conceptually I think you nailed a lot of the functions a zettelkasten needs -- and some!

I have been using this as inspiration to recreate some of the functionality in vim and spacemacs with some simple macros and scripting. Really works quite well.

For example, this macro in vim finds the next link after the cursor and copies it to a file-opening prompt. I just hit TAB and enter to open it then:

map z /20,/yiw:e0

In Spacemacs, this is just "SPC p F" to search for and open a link if its unique.

All kinds of searches of the thing under the cursor are already built in.

The amazing expand feature should be possible to recreate with some clever macros, but I haven't gotten around to it...

• @stefan91 said:
Hello @rene

great work with your Zettelkasten implementation.
Is there a way to implement own addons? I would like to add a bridge to Citavi. At the first look it should be easy to read the bibliography out of Citavis SQLite database.
I like the monokai theme, it would be great if the themes would apply to all three windows.

Greetings
stefan

I implemented some basic citavi support here: https://github.com/cpp/sublimeless_zk
Are you freezing on osx? I could not get it to work on Win10.

• @stefan91 said:

@stefan91 said:
Hello @rene

great work with your Zettelkasten implementation.
Is there a way to implement own addons? I would like to add a bridge to Citavi. At the first look it should be easy to read the bibliography out of Citavis SQLite database.
I like the monokai theme, it would be great if the themes would apply to all three windows.

Greetings
stefan

I implemented some basic citavi support here: https://github.com/cpp/sublimeless_zk
Are you freezing on osx? I could not get it to work on Win10.

Thanks a lot for putting all this effort into this! Maybe you can send me a pull request at some stage when you're happy with the citavi support.

I am indeed freezing on osx; couldn't get it to work with PyInstaller. I had similar problems on Linux but they could be fixed. You have probably found the make_* scripts for building. On OS X I had to patch cx_freeze, and on Linux I had to patch pyinstaller. All patches are in the patches/ subdir; I have also forked both projects on my github. If you install them (in a virtualenv), you should be good to go.

Do you have any more specifics about Winows builds? Does the app run with command line python?

I used anaconda as a python distribution and build on a clean-install Win10 VM which has nothing else (apart from vscode) installed.

Any details you can share would help.

Keep up the good work, I looked at your citavi code and it appears to be well done!

• Thank you @rene
I set it up with PyCharm. The app is running fine with command line python.
When freezing I get the following error: ImportError: No module named 'PyQt5.QtCore'
PyQt5 is installed and I even set it up in PATH.

The code is still preliminary and I'm not used to python. I will send you a request when I got a stable version.

• I got it running now by reinstalling PyQt5 and using a patched cx_freeze (https://github.com/egormartiniuc/cx_Freeze) for Windows 64bit and Python 3.7.

• I > @stefan91 said:

I got it running now by reinstalling PyQt5 and using a patched cx_freeze (https://github.com/egormartiniuc/cx_Freeze) for Windows 64bit and Python 3.7.

awesome!!!!!

• Thanks for the great application. I'm new to the ,,Zettelkasten Method'' and i have a problem with the Bibliography. When i use the command ,,insert Bibliography'' i get for example: [@lee_experiential_2018]: (no bib generated). A few days before it worked well and the bib was generated . Maybe you can help me to get it working again? I use it on Windows 10 and for the Bib i use Zotero.

• edited October 2018

Hey @rene , been a while! Happy to report that SublimelessZK has been a super stable ZK environment for me over the past several months. No issues to report.

There is really only one small change I would ask you to consider for any updates you might be pondering:

The current "Show referencing notes" function operates only when the cursor is within a ZK link. Would it be possible for that function to show referencing notes for the current note whenever the cursor is not within a ZK link?

I often want to see referencing notes for a current note, but in order to do so, I have to make a link to that note within that note. It's sort of an annoying step...

I wonder what you think about that change.

Anyway, I hope all's going well, and thanks again for SLZK!