History - rbtylee/launcher-spellchecker GitHub Wiki

This is auxiliary text explaining the history and context of the everything-aspell module. It is not necessary to read if all you wish to understand how the module works. It is included, however, as an explanation and some documentation of Bodhi Linuxes history for interested readers :)


Early releases of Bodhi Linux, which were e17 based, had this module installed by default or at least available in our repos. It was known by a different name: everything-aspell. When the Bodhi Team decided to fork e17 with the release of Bodhi 4.0, the module Run Everything (usually shortened to Everything) got renamed to Quick Launcher. It is was felt that this new name was more intuitive to new users. Unfortunately, Moksha's Source code still contains references to Everything referring to this module. Some of this is still visible to the end user in our GUI. At some time, hopefully, this 'issue' will be fixed. At this point, the module everything-aspell got lost in the change.

Why you might ask?

Probably the main reason is that our users didn't ask for it back. If they would have we would have found the source code and added it to our repos. Just as we usually do when users request software. I noticed the module was gone as well as all the other everything plugin modules. The Run Everything Module originally had a number of plugins which extended its functionality:

  • everything-aspell
  • everything-mpris
  • everything-pidgin
  • everything-places
  • everything-shotgun
  • everything-tracker
  • everything-wallpaper
  • everything-websearch

These modules regularly gave us problems, as some ceased to work and often went unfixed. So while I noticed the absence of everything-aspell, I thought it was broken like the rest. Bear in my mind back then I knew little about e development or writing code using EFL, so I seldom looked at the code for such things with the goal of fixing or modifying it myself. I was, however, beginning to learn EFL programming as I felt it would help the Bodhi community. And with the fork of e17 into Moksha, this need became urgent.

But back to the topic at hand, there is another reason and a fairly good one at that for why this module got lost in the changes: Upstream changes.

Originally, Bodhi was enlightenment based and really can still be considered enlightenment based as Moksha is truthfully e17 with only minor changes. Back then the enlightenment developers had two sets of code (not counting the EFL and other libraries) which Bodhi utilized: The code for e17 and the code for extra modules for use with e17. The latter was known as E-MODULES-EXTRA. Early in e17s history the module everything-aspell was a part of e17 itself and hence found in the e17 code. Latter for reasons unclear to me this module was moved to the E-MODULES-EXTRA source code.

Back then all the enlightenment code was found in a subversion repo at Source Forge. Now at some point, the enlightenment developers moved all their code to their own repo based on git. This module and a few other became lost in a sense, it is still present at git.enlightenment just hid deep within the subversion-history repo.

Meanwhile, in 2015 Jeff forked the E-MODULES-EXTRA source code, and renamed it moksha-modules-extra. As the enlightenment extra modules no longer worked with later versions of enlightenment, development and maintenance of many of these modules by the e-devs stopped. Bodhi, of course, still used these modules and in time a few of them made their way into Moksha's source code. For whatever reason, the everything plugins never made it to Bodhi's fork.

While I knew about the original E-MODULES-EXTRA repo, I mostly ignored it as most stuff in it is broken and no longer compiles with recent versions of EFL. Besides, we now had our own fork of it to maintain. Now fast forward to the present, I was making some changes to Moksha's version of the everything module and read over some of the code relating to everything plugins. That got me thinking about what happened to the old everything plugins and wondering if I could fix any of them. Štefan and I had previously discussed the old everything-websearch module and whether it could be fixed. I got to looking around and found some of the code for the old modules.

So I resurrected the old e17 everything-aspell module with only minor Bodhi specific changes. It surprised me by actually compiling and working with barely any changes. I went over the code more closely and made more Bodhi specific changes and removed unneeded stuff and so on.

With enough demand, support and time willing I plan on taking over maintaining this module as it is currently unmaintained but rather cool.