Plasma Javascript Jam Session

April 1, 2010

Jam Session is a contest for the best plasmoid written using a new javascript engine appeared in KDE SC 4.4. For those of you who doesn't know these words — KDE SC is a great desktop environment, plasmoids are little programs that are placed on a desktop and extend it by providing you different features. They are also could be placed on panels. For example, clocks, tray, task bar are all plasmoids. It's a great idea to compose your own desktop from bricks. So the goal of this contest was to write your own javascript program.

Plasma Javascript Jam Session

I've already had an idea of a small application, interactive progress bars that could help to plan my time better and to show progress of my tasks so I could have a visual representation of the point where I currently am. I was very excited with the API. It provided many features and seemed to be suitable for my program. Actually, I reached the limits pretty fast and had to find many workarounds to implement what I want. That was interesting. I like to find another ways to solution when there is no a straight way. Some workaround methods were not good so if you find some sort of a strange behavior of my plasmoid, the reason could be in a lack of possibility to do it right. I tried to do the best I can in the limited time and I know that there is still a room for enhancement.

Screenshot of Make progress! plasmoid with a rainbow theme

My idea really evolved during the session. One of the central features of the plasmoid I submitted yesterday is a DBus integration. It allows you not only to manually configure your progress bars but also to automatically create them from a command line or another program. Scripts that processing something big for a long time could update a progress state using this interface. And if the script is written in a special way, you can even control it from plasmoid, i.e. pause the processing or let it go. Plasmoid also has many other features and I plan to describe them on the project page in a couple of days.

According to the timeline, all plasmoids will be published tomorrow. Can't wait to see programs of my competitors. It's really hard to invent something new and useful but I hope to see some fresh ideas. I'm curious if my plasmoid could compete with other works as I'm a full-time worker and wrote the plasmoid in my spare time only. Well, time will tell. If you like the plasmoid let me know in comments and vote on the forum. If you have a suggestion you can also post it here (but first visit the project page and read my todo list). I plan to develop it further and implement all features I miss and even more. Stay tuned!

Nikita Melnichenko.


16.04.2010, 01:45

Nice stuff. Already hooking it via dbus to my bunch of bash scripts to do some server tasks monitoring, heh.
One little thing: SetTitle is really missing from dbus api. You can leave internal names such as e1, i2, etc, but human readable title that can be set from dbus is th only thing I am really missing. Thanks again.
P.S. Надеюсь, что победа в конкурсе плазмоидов твоя. Огромные респекты за сию штуку!

Nikita Melnichenko
16.04.2010, 23:28

Hi Andrew,
you're right, SetTitle is a vital thing. I'll add it soon.

Comments are closed