Reply to note from Harry Binswanger <dmarc-noreply@xxxxxxxxxxxxx> Wed, 06 May 2026 12:29:50
-0400
Harry,
> I will be trying out QN on Linux this afternoon.
QuickNotes is platform-fluid. I've been focusing on developing it for Windows, but Claude informs me
that QN should mostly just work in Linux. Here's the full rundown:
QuickNotes is mostly portable. Most of it would run on Linux unchanged. The Windows-specific bits
cluster into a small, well-bounded set.
** What runs identically on Linux (the bulk of it) **
- Built on Tkinter + pathlib + stdlib subprocess - all three of those are first-class on Linux.
Specifically:
- Editor, multi-tab UI, themes, fonts, custom colors - Tkinter handles these the same way on every
platform
- Markdown preview, syntax highlighting (all 10 languages including AutoIt - the highlighter is just
regex), find & replace
- Every CMline command that operates on text: SE/CH/CV families, DF, JMP, HM, BS, all the per-char /
word / line / sentence / paragraph movers, RD/RL/DW/DWONLY/DL, the case commands, the clipboard ops,
the timer (ZT/ET/ETS), DA, REC/RECALL, RE/READ/RW
- Scripts (Phase 1 RUN, scripts folder, Scripts menu) - script files are plain text; the CMline
commands they run are portable
- Plain-text PDF export - hand-rolled, pure-Python PDF writer; needs nothing external
- Persistent-selection toggle, DF extend mode, find bar in Quick/Command Reference
- Read-only mode, autosave, REC/RECALL
- Note file format (.md with YAML front-matter)
** Already Linux-aware **
A few places already include explicit Linux support:
- "Open scripts folder" / "Open notes folder in Explorer" - calls xdg-open on
Linux (open on macOS, os.startfile on Windows)
- Styled PDF browser finder - uses shutil.which("google-chrome") then
shutil.which("chromium") before falling back to Windows-specific paths. So if a Linux user
has Chrome or Chromium installed, styled PDF export works
- Windows-only with graceful degradation (no crashes)
- Lock keys (CCL/SCL/CNL/SNL/CSL/SSL/TCL/TNL/TSL) - every handler starts with if not
sys.platform.startswith("win"): and shows "Lock toggles only work on Windows."
in the status bar. Linux users see a polite message; nothing breaks.
** Windows-only quietly no-ops on Linux **
- Drive-letter commands (D: to switch drives, CD/D for change drive+dir): Linux doesn't have drive
letters, so these would just produce "Not a directory" status messages. Not actively
harmful, just useless.
- Per-drive cwd memory - same.
** The one real semantic difference: X / XY **
subprocess.run(shell=True) uses cmd.exe on Windows and /bin/sh on Linux. So:
- X dir works on Windows; on Linux you'd type X ls
- X type file.txt on Windows; X cat file.txt on Linux
- Pipes, redirects, environment-variable syntax all differ
This means scripts that lean on X/XY are platform-specific, but scripts that stick to QuickNotes'
own commands are portable.
** Path conventions **
- Path.home() â C:\Users\<user> on Windows, /home/<user> on Linux
- Default notes folder: ~/Documents/QuickNotes/. Linux distros typically don't have a ~/Documents by
default, but the script auto-creates it. A Linux user might prefer ~/Notes/ ⬠easily
handled with python quicknotes.py --notes-dir ~/Notes (and the choice can be made permanent by
editing the saved config or via the GUI's "Change notes folder" option)
- Backslashes in docs are cosmetic; under the hood Path uses OS-native separators
In sum:
~95% works identically
~3% (drive letters, lock keys, AutoIt highlighting being moot) gracefully ignored
~2% (X/XY shell syntax) requires you to type Linux commands instead of Windows ones
The styled PDF export is the most likely thing to want on Linux that isn't 100% guaranteed: install
chromium from your package manager and you're set. If neither Chrome nor Chromium is installed, the
dialog falls back gracefully (status bar reports it can't find a browser, plain-text PDF still
works).
If you ever do get to a Linux box, the quickest sanity check would be:
(bash)
python3 quicknotes.py
If Tkinter is missing on a minimal install (rare on desktop distros, occasional on server-flavored
ones), "sudo apt install python3-tk" or your distro's equivalent. After that, everything
except the four exceptions above should feel exactly the same.
Bottom line: it's a Windows-friendly app with a clear portability story, not a Windows-locked app
pretending to be portable. The Windows assumptions are concentrated in obviously-Windows things
(drive letters, lock keys) and don't pollute the rest of the codebase.
--
Carl Distefano
cld@xxxxxxxxxx