Mousepad! Finally!

Okay.

So, I finally just crawled through my email till I found the right URL to do a checkout from the Xfce repository.

I felt very very stupid.

Having done so, I pulled a fresh checkout of Mousepad (since the one I had was corrupted), and made a branch for 0.3. Since I was without internet for so long, I was working on Mousepad a few minutes a day in a local repo. I commited those files to the new branch with surprisingly little difficulty.

It’s amazing how easy that was, once I remembered to not be a douche.

You can pull it from the anonymouse repository this way

svn co http://svn.foo-projects.org/svn/xfce/mousepad/branches/mousepad-0.3.x mousepad

And you can build it with a simple ‘make’

Currently, it does very little that’s interesting, just a window with a GtkTextView in it. The Makefile is even handwritten. The goals of this rewrite are:

  • Eliminate deprecated stuff where possible
  • Organize the code into a maintainable structure
  • Take advantage of the Xfce platform more fully
  • Make it faster
  • Make it smaller
  • Add some small features
  • More fully learn C, Gtk+, and autotools

We’ll see how much of this I manage to acheive. However, so far, all looks good.

If you see a bug in Mousepad, please let me know. It is highly likely that there are memory management bugs inside. It’s also likely that I do things in ways which are not cross platform, or reinvent the wheel.

As an anecdote, the reason to fork leafpad was I needed printing support. Since I could read C poorly, and write it hardly at all, a good chunk of the printing code was copy and paste from the inside of the “Save” routine. Turns out the old save routine reimplemented a GtkTextView method, and poorly, so the printing code did the same.

Had I realized I didn’t need to fight with it to add printing support, I might not have bothered with the fork, really.

One thought on “Mousepad! Finally!

  1. Have you thought about using something like gtksourceview for the editor instead of a GtkTextView? Might make things like line numbers and syntax highlighting (if desired) much easier to implement. This would of course be an added dependency…

Comments are closed.