mtEleana & The 2015 General Election

In recent years mtEleana hasn't had much attention from me so I thought it would be nice to improve it and add some new features.  The current development version is inside the mtCellEdit suite HERE.  There is more testing, tweaking and polishing to be done before the next release in the new year, but things feel mostly finished.  I thought it would be good to explain these new features a little bit.

Firstly the GUI is slightly changed to accommodate the full results for all parties.  There are also some new widgets to adjust the settings of the map, cartogram and diagram:

Some of the most interesting changes in the 2015 election were in terms of the smaller parties such as UKIP, Liberal Democrats, and SNP.  Here are 2 maps from the 2010 and 2015 elections showing the decline in support for the Liberal Democrats:

Yellow represents a seat won, light brown for second place, dark brown for third place, and dark blue for not in the top 3 placings.

Going in the other direction is UKIP, who have gained many more places in the top 3 since the last election:

The "Map mode" setting also changes the colours of the cartogram so here is a comparison between the 2010 and 2015 results in terms of seat marginality:

Dark blue means a safe seat with a lead of 20% or more for the winning party.  It seems that there are more safe seats in 2015 compared to 2010.  Cartograms are useful for this kind of comparison because each seat has the same sized square and allows you to visually understand the proportions regardless of how large or small a particular seat is geographically.

Another feature of mtEleana is its historical range.  Here is a set of cartograms showing Labour Party seat placings for 1955, 1979, 1983, 2010, and 2015:

The last one for 2015 is especially interesting as it shows the Labour Party's mixed fortunes in 2015.  They gained many 2nd places due to the collapse of the Liberal Democrats, but they also lost a number of 3rd places in the south and south west due to UKIP leapfrogging them, and pushing them down a place.  The 2015 cartogram also shows the huge shift away from Labour in Scotland.

As well as changes to the maps and cartograms I also changed the diagram so you can study 2 political parties together and see how their results affect each other relative to all of the other parties.  For example here is another comparison between 2010 and 2015, comparing the Liberal Democrats and the Conservative Party:

A dot in the top right quarter is a Conservative seat, the top left a Liberal Democrat seat, and in the bottom half is a seat won by other parties.  The closer the dot is to the mid lines the more marginal it is relative to the other parties.  If a dot is close to the centre this means it is a 3 way marginal.

Here are 2 more diagrams, this time showing how UKIP support relates to Labour and Conservative seats in 2015:

Another map mode is vote share percent.  These images show the Conservative Party vote share, and the UKIP vote share for 2015.

Yellow represents 50% or more support in the seat, with darker shades for anything less, down to dark blue for 0%.

The last remaining new map mode is turnout which is illustrated here:

The darker the colour the lower the turnout.

Last, but not least, this new development version of mtEleana defaults to the Qt5 toolkit (Qt4 is still an option at compile time).  I have decided to remove the GTK+2 code as it doesn't compile any more due to changes in the mtEleana back end.  mtCellEdit and mtRaft also now default to Qt5, but they will keep the GTK+2 version for the time being, but it is officially deprecated: version 3.0 of the suite will contain no GTK+ related code at all.


mtCellEdit 2.6



ceddiff added - compares sheets cell by cell, reporting any differences.

Now compiles on older systems as expected (e.g. Salix 13.0.2 from 2009 & Slackware 13.37 from 2011).
Default graph text layout cleaned up.

2015 Election results added.
Party names now more uniform in data files.
awk scripts added to extract seat names from data/svg files.
Maps tweaked to be more consistent between years.

Now compiles on older systems as expected (e.g. Salix 13.0.2 from 2009 & Slackware 13.37 from 2011).

Tooltips added to preferences window when hovering over key name.

This is a relatively minor release, but the next one is much bigger as per this development version which contains many mtEleana changes:



mtCellEdit 2.5



  • If you have Fontconfig on your system, it is used at compile time to set the default font.
  • The new default location for program preferences is ~/.config/mtcelledit/prefs.txt
  • The new location for temporary clipboard data is ~/.cache/libmtCedUI/clipboard.ledger.zip

These changes are fairly minor in code terms, but help the program better integrate with modern GNU/Linux systems.  See more here:


I don't blindly follow what standards people suggest (as their goals may be different to mine).  However, in this case I do think it would be an improvement as it leaves less clutter in the home directory and avoids the hassle of selecting a font.  Naturally the user can override the defaults by using a command line switch to set the prefs file, or by using the program preferences to set the font file and size.

Other changes include:

  • Maximum column width changed to 250 characters.
  • FreeBSD port added.
  • Desktop integration files added for mtEleana & mtRaft.
  • Directory structure changed (no internal version numbers, desktop and handbook files merged into mtcelledit).  Top level is now "mtcelledit-X.Y[.year.day.time]" with X.Y being the last stable version and optionally date and time for development versions.
  • Minor bugfixes.
  • Man pages added to the 6 apps.  README.txt files removed from subdirectories, and history now in NEWS.txt files.  Program documentation removed from --help switch.  This all avoids needless duplication.  Man pages are for quick reference such as command line usage.  The handbook is for deeper reading such as history, philosophy and practical examples.
  • mtEleana: cleanups and new search facility for the Qt versions.
  • cedutils can now receive data from stdin using "-i -", and print output to stdout using "-o -".  In other words the cedutils progs can now be used with pipes. Another joy of unix comes to the mtCellEdit suite. :)
  • mtCellEdit (Qt versions) now have a menu toggle to switch interaction with the system clipboard on and off.  This is useful for copying large amounts of data around a sheet or book internally as it is faster than involving the system clipboard or temp files.
  • Binary and hex numbers can now be larger than 2^32.  See the handbook section A.6.4 for details of these and other numerical limits.
  • It has been announced that the Google Code website will soon die so I have removed all references to the old website in the source tree and Sourceforge website.  If I missed any links, please let me know.  The new home page is mtcelledit.sf.net which holds a general description and useful links.  The website files are also in the source tarball.