The new Gazebo: a Gtk# interface to FICS

I’ve abandoned my idea of creating an AJAX interface for the time being. It is a cool idea but I think I can do much better by writing a proper application.

The Linux FICS interface scene is rather weak. eboard is about the best there is in terms of usability, and it has its share of problems. xboard is there for the minimalists who want their interface to provide a chess board only. When compared with the powerful and extensible interfaces available for Windows it’s rather a shame there’s nothing similar for Linux.

So I’ve decided to take the name I was going to use for my web interface and apply it to a new Linux interface. Building on Mono.Addins, I’ve already got an interface that can be extended in several key ways. Addins can, for example, provide new text highlighting classes or classes that can manipulate the console text buffer in interesting ways.

Using a tip from jonp in #mono, I have now come up with an extensible preferences system that does not suck, based on XLinq. Addins can simply subclass PreferenceContainer, slap on a few attributes, and they have an easy-to-use set of strongly typed preferences that get automatically serialized to XML. Right now only the basic primitive types and strings are supported, but this will be extended later to include things like arrays, lists, and XLinq objects. Thanks to Mono.Addins and some more support classes I wrote, addins can also provide Gtk# widgets that get embedded into the application preferences window. By writing very little code, addin authors can persist their settings and provide the user with a convenient way to change them.

I’m still lacking a chess board though. If anyone likes writing custom widgets and feels comfortable working on this project let me know. The sources will be made public in the coming weeks after I’ve had a chance to polish them and set consistent style guidelines.

4 Replies to “The new Gazebo: a Gtk# interface to FICS”

  1. No doubt you’re aware that Jin (java) works equally well under linux. You may also want to check out Scid (free chess database for windows and linux). The latest version is said to be able to connect to fics.

  2. My comment went to the wrong post… figures. My comment here is: Why cant you use the applet at work?

  3. Oh there are plenty of interfaces I could use at work, but I don’t like any of them. Jin is kinda bleh overall and doesn’t support many of the variants I like to play. eboard is the closest to a decent interface Linux has, and while it is quite stable these days, there are things that I want my interface to be able to do that eboard cannot do by design.

    Installing an interface isn’t really that big of an issue for me since I take my laptop to work anyway. This is why I am writing my own interface in Gtk#.

  4. Dear Chris
    there is http://interface.sf.net a Qt Chess Instant Messenger and serverless Social Network.
    Do you want to integrate FICS Support?
    The Qt gui compiles for Linux Win and Mac.
    Please address to the project or member dooblea..
    Thanks for a feedback about that idea you overtaking the lead for chess in interface with FICS support.

Comments are closed.