Superkb 0.21 released

As announced some days ago in the mailing list, Superkb 0.21 was released.

Please let me introduce it for those that don’t know the project yet.

Superkb is a shortcut-based launcher with on-screen graphical hints. It is written in C using Xlib, with the help of Cairo graphics, Pango, Imlib2, Xinerama, etc. and the source code is managed using Git.


Teclado Microsoft Natural, pintado por Superkb (Cairo, flat_key). Haz clic para ver la imagen completa.

Teclado Microsoft Natural, pintado por Superkb (Cairo, flat_key)

Some of Superkb features:

  • Easy to use. You select a hotkey (Super keys by default) as the base for your launchers and just hit Super+Key to execute whatever command you configured or launch whatever application you chose.
  • Non-obstructive. Being shortcut based, you don’t need anything on your screen. Holding the hotkey down will invoke the on-screen hints and releasing it will dismiss them.
  • Support for different keyboard geometries as provided by the underlying X server.
  • It provides on-screen feedback for whatever action you have launched.
  • Configuration is written on a file. You take the configuration with you to install it on your other computer as simple as copying a file.
  • The hotkey isn’t wasted. You can choose F8 as your hotkey if you please and hitting it will still send it to the currently focused window. I use this for the Thinkpad T42.

Here are some screenshots about how Superkb looks like when the on-screen hints are triggered.

For this version, Superkb has continued walking on the stabilizing road. Since version 0.20 a lot of effort has been put in correcting unfriendliness and unexpected behaviors. This is a release I’m very happy about. I can say it is no longer in an ancient ‘works for me’ state. It has been throughly tested with the invaluable help of the Tijuana Linux User Group, particularly in this last version.

So what’s particular for this version? Well, as a project:

In the software:

  • Stability and friendlyness is drastically increased.
  • Feedback strings don’t need to be requoted anymore (via the new
    FEEDBACK_STRINGS_AUTOQUOTE option).
  • Initial support for keyboard states (like Super+Shift+N versus plain Super+N).
  • Lots of bugs have been fixed.

And yet, the project has a lot of space for improvement. Particularly:

  • Packaging. It needs to be prepared for the different versions of Debian, Fedora, openSUSE, Ubuntu, Arch Linux, Slackware, etc.
  • Distribution inclusion. There is no better way to install any program than simply doing something like apt-get install <pkgname>. Superkb could really use that.
  • A better website. Though the current website is a lot better than the original, keeping it up to date is difficult. Documentation has therefore moved to the Wiki and I’m looking forward to changing the website to be more static.
  • Translations. There is no code for string translation yet in Superkb. Even though all non-stdout messages are translatable through configuration, console messages should be internationalized.
  • Portability testing. The project has proven to work on Debian, Fedora and Slackware-based Linux distributions in 32 and 64-bit versions. However, it has not been tested on non-Linux platforms like openSolaris, *BSD, etc, or non-PC architectures.

Room for improvement for Superkb:

  • A configuration GUI. So far, Superkb must be configured by editing a file but this is far from the actual vision of using the software. Superkb actually has a placeholder to do whatever thing when a key is held down for 3 seconds. This is intended to be the configuration interface.
  • Xrandr support. It currently detects screens using Xinerama at startup, but it cannot detect changes to the screen layout without being restarted.
  • Much more.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *