← Back to list

Rebuilding a Python + GTK Text Editor After 14 Years: The Story of Jollpi

From Ubuntu ShipIt, Python2, and GTK2 — to Python 3, GTK4, and a GNOME Asia Summit 2025 Talk

Zulfian · 2025-12-03 15:45 · 3 claps · 3.7 min read
#python #linux #gtk #text-editor #software-development
Open on Medium ↗
Wiki topics: 🔓 · Open Source

Rebuilding a Python + GTK Text Editor After 14 Years: The Story of Jollpi

From Ubuntu ShipIt, Python2, and GTK2 — to Python 3, GTK4, and a GNOME Asia Summit 2025 Talk

I first discovered Linux around my second year of university. Back then, internet access in my area was extremely slow, so downloading ISOs wasn’t realistic. That changed when I discovered Canonical’s ShipIt program. I wasn’t even sure it would work for someone living in Indonesia, but I submitted the request anyway — and unexpectedly, Ubuntu and Kubuntu CDs actually arrived at my doorstep.

Those discs pulled me deep into the Linux ecosystem.

I began exploring every distro I could get my hands on: Debian, Slackware, Mandriva, BackTrack. I printed the Slackbook and studied it page by page. I experimented with dual-boot and triple-boot setups, curious about how everything worked under the hood.

Discovering Python and GTK

Around this time, I discovered Python. It felt simple, clean, and approachable. Being inside the Linux ecosystem also exposed me to countless text editors — from minimal ones to feature-rich ones — and that sparked a new question:

How do text editors actually work?

I noticed many GNOME applications were written in GTK, and eventually stumbled upon GtkSourceView.

That led to a bigger thought:

What if I built my own text editor?

No Mentors, No Classes — Just Perseverance

Python wasn’t taught at my university. GTK was unheard of. I was in the first informatics cohort at a small university — no guidance, no example code, no community around me.

But I kept going.

Eventually, the project became my final thesis. After multiple revisions and defenses, I released the first version publicly in 2011:|

🔗 Jollpi (Python2 + GTK2, 2010–2011) https://sourceforge.net/projects/jollpi/

That page contains two releases:

Version 1: a simple single-window editor — even the name wasn’t Jollpi yet; it was called FPE (Fian Python Editor) — using my old nickname “Fian.” 😅

Version 1: a simple single-window editor — even the name wasn’t Jollpi yet; it was called FPE (Fian Python Editor) — using my old nickname “Fian.” 😅

Version 2: added multi-tab support

Version 2: added multi-tab support

More than a decade later, I discovered it had been downloaded in 23 countries.

I had no idea.

Life Happened — and Programming Stopped

After graduating, I shifted careers for economic reasons. I entered banking. Linux disappeared from my workflow. Python disappeared. GTK disappeared.

For 14 years, I didn’t write a single line of code.

Returning to Code — 2025

Earlier this year, I revisited that old SourceForge page. Seeing the download stats — those 23 countries — reignited something.

But the world had changed. The original stack (Python2 + GTK2) was obsolete.

Out of curiosity, I searched the Arch/Manjaro AUR — and somehow, legacy GTK2 and Python2 packages were still there. I installed them, ran Jollpi…

…and it still worked.

That moment pulled me back in.

I cleaned the old project, fixed the shebang so it explicitly used Python2, and uploaded it to GitLab — mirrored on GitHub.

🔗 Jollpi 2 Repository GitLab: https://gitlab.com/zulfian1732/jollpi2-legacy GitHub mirror: https://github.com/zulfian1732/jollpi2-legacy

Back then, I didn’t even know GitHub existed. Seeing my old project in modern infrastructure felt surreal.

And that’s when I decided:

If I return after 14 years, I should build something for the future — not the past.

Introducing: Jollpi 3

Python 3 · GTK 4 · GtkSourceView 5

Jollpi 3 logo

Jollpi 3 logo

A complete rewrite with a modern Linux stack — designed to be:

  • ✔ Fast startup (~60–80MB RAM)
  • ✔ Async I/O based
  • ✔ Smooth under heavy workloads
  • ✔ Minimal dependencies (just 3 core libraries)

I’ve been sharing development tests and demos here:

🔗 Jollpi Text Editor — YouTube https://www.youtube.com/@JollpiTextEditor

Some of the experiments include:

  • Loading 1M-line CSVs asynchronously without blocking the UI
  • Stable memory footprint while repeatedly opening large files
  • Cancelable operations with no leaks
  • UI responsiveness even during heavy background tasks

Jollpi 3 isn’t released yet. I plan to release it after my talk at GNOME Asia Summit 2025:

🔗 GNOME Asia Summit 2025 (Tokyo)“Jollpi: A Lightweight Text Editor…” https://events.gnome.org/event/303/contributions/1324/

MUN-AI: A Second Project Growing Beside It

Alongside Jollpi, I’m building MUN-AI, short for Machine Understanding for Neutralization — a small, local-first AI assistant for data analysis.

Unlike monolithic AI apps, it uses a modular architecture:

  • The LLM runs in a separate container
  • The UI is a standalone GTK4 desktop app
  • Data processing happens locally via Pandas + Matplotlib

Everything runs fully offline — predictable, transparent, and privacy-respecting.

MUN-AI is currently a proof-of-concept, and a demo is available on the same YouTube channel.

It shares Jollpi’s guiding principles:

simple · modular · minimal · future-proof

After 14 Years — It Feels Good to Build Again

I never planned to return to programming. I didn’t expect an old Python2 + GTK2 editor from 2010 to become the anchor point of a comeback.

But now, I’m here — writing Python again, learning GTK4, exploring GNOME design principles, and preparing for my first conference talk.

Progress is slow — but consistent.

And honestly:

It feels like coming home.

Feedback Welcome

If you’ve worked with:

  • text editor internals
  • Python tooling
  • GTK / GNOME development
  • async design
  • or local-first AI systems

…I’d love to hear from you.

Thanks for reading — and for being part of this new chapter.

Zulfian Creator of Jollpi & MUN-AI


메타데이터
post_id
9258fc883caf
slug
rebuilding-a-python-gtk-text-editor-after-14-years-the-story-of-jollpi-9258fc883caf
url
https://medium.com/@zulfian1732/rebuilding-a-python-gtk-text-editor-after-14-years-the-story-of-jollpi-9258fc883caf
canonical_url
https://medium.com/@zulfian1732/rebuilding-a-python-gtk-text-editor-after-14-years-the-story-of-jollpi-9258fc883caf
author_url
https://medium.com/@zulfian1732
status
ok
fetched_at
2026-06-11 10:13:20