views:

271

answers:

2

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.

+2  A: 

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

kazanaki
Thanks. wxWidgets looks like a great choice. wxRuby feels like a more complicated, more mature version of Shoes, which is exactly what I wanted.
Daniel Worthington
A: 

Scintilla is a cross-platfrom source code editing component (based on GTK+) with excellent support for syntax highlighting, code folding, text zooming, and of course all the usual text editing functions; it should be an excellent foundation for a text editor.

SytS

related questions