I like Linux. I'm not a heavy user, but I could see that changing. Pop OS LTS 24 is pretty good nowadays.
I actually installed Linux because of Nokta. Tauri builds your project just as easily on Linux as it does for Windows, and I had an old SSD laying around. So on a rainy Sunday afternoon (or a different, dry day, I don't remember), I installed Pop OS. I coded parts of Nokta on Linux, but debugging turned out easier on Windows, so eventually I switched back.
Fast forward to today: I'm building v0.10.1 working on Linux! Luckily, the project ran out of the box on Linux. But of course, there's that pesky 1% of platform differences that eats up all the time. The plan is to build new versions on Windows first, then Linux—so Linux builds should follow pretty quickly.
The 1%
I already knew from earlier testing that some default file menu functions don't work on Linux. So Linux users will have to forgo these menu options:
- File - Quit: Not available
- Edit - Cut, Copy, Paste: Not available
- Settings - Spell checker: Not available
Acceptable omissions?
Context menus (right-click menus) needed some extra code on Linux to do what they do out of the box on Windows.
Next issue: TAB works as intended to indent text in the editor, but for whatever reason, SHIFT-TAB doesn't. Linux detects modifier keys like ctrl and shift, then nopes out on whatever comes next. Who would imagine that you'd need hundreds of lines of code to just handle the TAB key. I didn't...
In case you're interested, here's where you can use TAB and SHIFT-TAB:
- In modal windows you can flip through the inputs and the buttons using what is called a Focus Trap.
- Indent and outdent list items
- Indent and outdent one or multiple lines in code blocks
- If none of the above apply, TAB flips semi-randomly through the elements on screen.
And last but not least: The app title bar doesn't update. On Linux you will just see 'Nokta Notes' centered in a bar above the menu bar. On Windows this will show the opened notebook and with a * if there are unsaved changes. Tauri provides a nice function called setTitle but that's not working. I'm parking this one, because the fix looks like it will be a lot of work. Tauri also provides ways to create a completely custom toolbar, which might be worth investigating.