Friday, October 16, 2009

Some new things...

After beta release I haven't be much lazy, so I completed and merged the two new features: keyboard layout applet and shutdown/restart support via HAL daemon.

Keyboard layout manager we had built in panel in EDE 1.x parsed X key rules and directly called setxkbmap. Changed preferences were stored in EDE known configuration file read at panel startup.

Of course, with this approach the panel was pretty agnostic to outside changes, e.g., you change the layout via setxkbmap tool, the panel will not get it and will happily display the layout used when panel was up. Don't have to say how this could be pretty confusing for the viewer.

New keyboard layout applet resolves this, thanks to XKb extension. Unfortunately this extension (as most of X code) is pretty badly documented, so I had to dig around to figure out how the things work. Now, every keyboard layout changes during X session will be correctly caught no matter what tool was used, while the layout is stored in X server.

Also I added some nifty flags found at kde-look.org link that will match the named layout, completing the final visual appeal.

Unrelated to this, shutdown and restart actions are from now, by default, HAL powered. Just make sure you have enough permissions to do this; for example, on Slackware is pretty easy: just add yourself in power group and you will get them.

If this is not suitable for you, just set desired group for org.freedesktop.Hal.Device.SystemPowerManagement interface in /etc/dbus-1/system.d/hal.conf file.

On systems where HAL is not present, fallback will be done on standard shutdown command.