I haven’t made any progress on open source projects this week, but it’s not for lack of trying.
Part of the problem this week has been indecisiveness. There are so many things I want to do, so many programs I want to contribute to. I want to write plugins for Firefox, GIMP, Guayadeque, and Thunderbird.
I tried working on a couple of Firefox extensions. For Edit Tab Titles, I’ve been trying to figure out how to right-click on a tab and then have the extension figure out which tab got right-clicked on. No progress there. I found another idea which I may incorporate into Edit Tab Titles soon: scrolling the title’s text as a marquee.
I created and then almost immediately deleted a new extension for manually resizing individual tabs in Firefox. I think that if a tab’s title is really short, one should be able to shrink just that tab. The reason I deleted it is because there is no documented way for an extension to access or edit a tab’s size. Not much point in keeping an extension that does nothing.
I read on Mozilla’s Add-ons Blog that they’re now, as of the 26th of February, recommending the use of a tool called jpm for creating new extensions. I’ve been using the previously recommended tool, cfx. Installing JPM was a pain: first, because the recommended way to get it is using NPM, which I’d never heard of before. Found NPM in Ubuntu’s repositories, installed it, then used it to install jpm. Headed over to https://www.npmjs.com/package/jpm for instructions on how to create a new extension using jpm. Instructions say to run the command “jpm init”. Instructions incorrect; no error message given but nothing gets done either. Uninstalled jpm, reinstalled jpm with sudo privileges. Tried again, nothing. Uninstalled jpm again, reinstalled again without sudo privileges. Tried again, nothing. Lather, rinse, repeat. Until at one point I discovered by way of a typo that “npm init” works. Now I know that whenever that page says to use the jpm command, I should use the npm command instead.
I also want to create an extension for the GIMP: a feature it lacks, which I think woud greatly improve the program, is adjustment layers. Google “Photoshop adjustment layers” to see what I’m talking about. In basic terms, what an adjustment layer is is a layer that thinks “Whatever happens to me, I’ll make it look like it happened to all the layers beneath me.”. So if you want to darken a bunch of layers in an image, just create an adjustment layer and darken that. Simple, right? Apparently not: the GIMP’s developers are well aware of the need for this feature but, according to their wiki, implementing it would require a massive amount of work to be done first.
Fine, I thought. I still want to learn to write GIMP extensions. Here comes another problem: they can be written in either of two scripting languages, neither of which I’m particularly familiar with. Script-Fu is GIMP’s own language. Python is the other option. I look into using Python because I want to learn that anyway, only to find that I can’t use my favorite Python IDE because there’s a module called gimp that apparently can only be loaded when the script is run from within GIMP itself. Not convenient at all.
As for Guayadeque and Thunderbird, I haven’t even gotten around to looking at Guayadeque and I don’t know what I would want to create for Thunderbird.