Week 23/2013: New UI in the master

edited 2013 Jun 10 in Developers
Last week I merged my new UI work into the master branch and started polishing things up for the upcoming stable release.

Work on the new UI framework has reached a point where it can be introduced to the unstable builds. In practice, the work that now has been merged to the master includes two major changes: the taskbar widget is now present in the bottom of the view, and the old console has been replaced with a new widget that shares code with the Shell's UI.

I'm quite excited to finally be working on something that is immediately visible and quite integral to the user experience. While the appearance of the new widgets is very simplified at the moment, their functionality is/will be much better than what we've had before. Here's what the new console widget looks like with rich text rendering:
console4s.jpg

I've been updating the output of various other commands, too, for instance "listcmds", "apropos", "help", and "version".

When it comes to keyboard/mouse behavior, the major differences are that the mouse pointer is now released whenever the taskbar is visible (e.g., after pressing Esc), and that the default console shortcut key is Shift-Esc. The console shortcut key will eventually be bindable to any input. As before, the "help" command prints all the console keyboard shortcuts.

It should be noted that in the latest Windows builds (891), the installer is missing a required file and the engine will encounter a fatal error at startup. This will be fixed in the next unstable build.

I also had some time to look into the Linux/X11 keyboard problem where keys would keep repeating uncontrollably. It was due to a mix-up in the input code where some symbols from the X11 headers confused the key code handling. This has now been fixed. Also, Doomsday uses the native key repeat events produced by the OS rather than generating its own repeat events. Previously, when frame rate was very low, Doomsday's own repeat events would keep repeating excessively as the input subsystem didn't realize the keys had already been released.

I also fixed a crash when loading/using jDRP. The bug had been introduced by the removal of the 3D submodel limit.

My plan is to continue cleaning things up and generally polishing the new taskbar and console UI widgets for the 1.11 release. I'm also working on more new UI widgets for integrating the autoupdater into the new UI.
Sign In or Register to comment.