I shared the first version of Cheesy Mamas last week, it is a local only text editor written in Python with PyQt6. It runs entirely offline and has no plugins, telemetry, accounts, or sync. The focus is on direct editing with Git and Bash support built into the interface. That original post quietly made its way around. I took a few days to get the next version ready based on what people responded to.
This new release adds a working deb package. It installs the editor system wide with a launcher, icon, and desktop entry. The editor supports single instance behavior using a relay file, so launching from the file manager or terminal opens a new tab in the existing window. This version also adds a working run button. Python scripts are run directly, C files are compiled and executed with gcc and LaTeX runs with pdflatex. There is also a Bash button that allows you to paste in Bash instructions to run on command or to add new instructions at any time.
The Git system is where most of the work went. The original view has been expanded into a full commit history panel next to each open file. You can select any commit to view the version of the file at that point. When you do, the editor performs a line by line diff against your current working version in memory. The changed lines are highlighted in context and can be reverted individually with a single click. Green is new, yellow is changed, red is deleted. This allows local, isolated edits without having to stage unrelated files or launch a separate diff tool. Right clicking a commit opens a context menu to copy that version, view the full diff, or revert the whole file. You can also delete commits from the editor.
There is now a full side by side comparison view. When you click a commit, the editor splits the view and loads the historical version in a secondary pane beside your working file. The diff highlighter visually shows deleted, inserted, and modified blocks between the two panes. This allows for fast visual scanning and block level recovery without losing your working position. The two editors scroll independently. You can write and run in the main pane while referring to the previous one.
There is no plugin system and no background indexing. The code is short enough to read and the app is designed to explain itself. You can read the source and run it without a build step. It is written in Python 3 using PyQt6 and packaged using a manual deb structure. The only dependencies are python3 and python3-pyqt6, and if you would like to run git and be able to compile LaTeX you will need git and pdflatex. It has been tested on modern Debian and Ubuntu systems.
The project is available here along with the source and installer, project is always in development. If you have additional requests for features, please comment.
Future upgrades:
1. Ability to keep terminal open or closed with a check box when clicking the 'run' button for easy debug.
2. A 'variate' button that allows you to create a 'variant' of the program with hot swappable defs, classes or values for research and development or industrial settings.