Meld 3.x Grand 'Plans'



Hi all,

Meld 3 (or whatever in HEAD will be called) should be basically okay at this
point for daily use. However, there are still some major porting tasks to go,
and lots of corners to fix. What follows is a bit of a brain dump of things
that still need doing. While this is less of a roadmap and more of a wishlist,
now is a good time to do all of these migrations.


 * Themeing: We need to port from GtkStyle to GtkStyleContext. My current
   experience of GtkStyle in GTK3 is that it just doesn't work, though maybe
   I'm missing something. This is an 'easy' job that will just involve a fair
   bit of work figuring out how to integrate with StyleContext stuff and
   moving our themeing over.

 * Migrate from GtkTable to GtkGrid: I've seen some regressions from GTK 2
   behaviour with table packing, so I don't think this is optional. Also,
   GtkGrid looks much, much nicer.

 * Command-line handling: We should look at porting to GApplicationCommandLine
   and GOptionContext. I'm not certain whether this is the best option, but
   it's worth a look. Either way, Meld needs to support creating new instances
   (i.e., and not just new tabs) before a release.

 * Help translation: We now use Mallard-based help, but don't have the
   necessary distutils magic to build and install translated help. This should
   'just' be a matter of porting the yelp-tools m4 magic to distutils. I have
   no idea how hard this will be

 * Python 3: Honestly this won't be that difficult... mostly just a fix-rinse-
   repeat. The only place where I would expect pain is in matchers.py where we
   do some bytestring-style-stuff.


Then there's the nice-to-haves:

 * Icon changes: We should stop using so many icons, and update the ones we
   still need. The apply/copy/delete ones have been slightly updated, but they
   could/should be better and we could... you know... stop using XPMs.
   Ideally, all of our icons would also be sensibly installed to the right
   place in a theme so that they can be overridden.

 * GIO: We currently use Python's IO for most of our file handling. It would
   be nice to migrate to GIO for better async support, as well as for stuff
   like accessing files on network shares, etc.

 * UIManager: This has just been deprecated in current GTK. This is an
   absolute nightmare. I have no idea how we migrate away from this sanely.

 * Plugins: We should start to setup some kind of plugin infrastructure,
   presumably based on libpeas.


...and I haven't even touched on Windows and OS X builds.

If anyone wants to pick any of these up, that would be awesome. Otherwise I'll
keep plugging away at this list... slowly. Some of these have been vaguely
started already, but most are free for the taking.

These are also just the high-level items. Most of this won't bring noticable
feature improvements for users, just foundations. I could start talking about
fixing text filters or better alignment for inline highlighting or toolbar
updates for menubuttons... but I won't.

cheers,
Kai


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]