Search code examples
graphicsairgtkshoesxulrunner

Method for building lightweight, cross-platform, text editor


I'm planning to build a simple, lightweight text editor that combines a great look with keyboard focused input.

I want to have a lot of control over things like antialiasing and all the graphics in general, but I don't care about having a whole library of widgets. Almost the entire UI will be text-based and in the main canvas/window of the app.

  • Toolkits like GTK and Qt seem like overkill - tons of widgets I don't need and a complex codebase.
  • Titanium, AIR, and XULRunner are even bigger in some ways - dev would be quick, but that's not exactly the lightweight approach.
  • Shoes seemed like a nearly perfect fit, but it's a little too small and doesn't support enough events (e.g. no window resize).

What do you think, should I just build it on Cairo/Pango or another graphics library and roll the platform specific stuff myself? I'd rather use a framework of some kind.

Basically all I want is:

  • good event handling
  • windowing
  • menus
  • drawing with really great type rendering choices

I would love to build this cross-platform from the start.


Solution

  • Even if you use just Cairo/Pango you still need windows on the screen.

    The simplest combination would be cairo + pango + GDK (the windowing part of GTK+) however even in that case you have no menus, and constructing menus with pure Cairo would be a tough (but not impossible) accomplishment.

    If you insist on lightweight and crossplatform then check the following