[Date Prev][Date Next][Subject Prev][Subject Next][Date Index][Subject Index]

Re: T/OT: Vibe coding a Windows notes app with Claude



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