iCandy


19
Dec 07

Joining the GNOME system monitor team

Hello planet gnome!

I thought I’d repost this entry now I’m on the big pgo and introduce myself along the way. So my name is Karl as you can obviously tell, I’ve been lurking around guadec and lug radio live the last couple of years and had a great time chatting to the gnomers (or gnomies, what is the accepted plural?) here and there, I’ve been on the outskirts of contribution for a while filing bugs and commenting here and there, hacking on the odd cool thing and slowly getting involved. My main project is wine-doors, which some of you may be aware of, wine-doors brings wine to the GNOME desktop in a sensible, user friendly way. Essentially we’re building a package manager for windows apps on GNOME.

After a long time of wanting to get involved with improving gnome system monitor I’ve finally been forced to bite the bullet and get seriously involved with the team. Largely as a result of this bug and being generally annoyed at the design and attitude of the individual contributing.

If you want to see what it’s like so far then check out this image

So now I have super-cow powers on gnome system monitor, what do I plan to do next? Well, this patch is just the first of a pair, the second which I’m working on as fast as I can is to introduce a new colour picker widget (GSMColorPicker) to replace the GtkColorPicker so we can have pretty pictures for the colour pickers like this.

This is about 90% done at the minute, just a couple of bugs and a bit of basic cairo code to go… I’m thinking of pulling this widget back into libsexier too, but expanding it a little. For the time being it is simply being designed to fit in gnome system monitor, be stable and cute and fulfil the requirement.

I’m also going to take a look at updating the default colours to match the new graph widget.

After this, I’m going to have a pop at a long standing bug I reported.

So all in all I’m planning on bringing a little zen to gnome-system-monitor… This all must be completed by 14/1/08 in order for me to get it into gnome 2.22 but this shouldn’t be too hard :)

A little more about me, I’ve been using GNOME since I first tested it out at version 0.9 with redhat 5.2 (correct me if my reminiscence is a little out), I switched from afterstep and never looked back, over the years I’ve pretty much exclusively used GNOME, and watched the incredible improvements that everyone here has made over the last 10 years of GNOME, I’ve been grateful for every last one as my desktop now rocks!

Now I hope to make it rock a little more, along with the above GSM coolness I want to get involved in conduit and have done a few sketches of what I’d like to do with it, but the changes I’d like to make require some rethinking of the UI and an appropriate time to implement them needs to be found.

Lets hope I can make a few little corners of GNOME rock in my own little way :)


16
Aug 07

libsexier used in MedicalStudio

A woman named Monica Gemo just approached me asking if she could adapt fittsmenu into windows gtk/cairo for an application called MedicalStudio, and low and behold it just works. She’s looking into transparency and if anyone else wants to get transparency working in windows or even shaped windows or some hackish screenshotting please git (gedit) in touch :)


click to enlarge

She’s working through some features hopefully the way I asked her to as then I’ll be able to upstream her work so she can depend on it in future.

BTW: This is proof positive open source works for the powers of good :)


13
Aug 07

libsexier progress

The latest version of libsexier is available here

You can build it like so

./configure

make

Once built you can cd examples and run ./fittsmenu to try it out.There have been many interesting comments regarding this new menu, and some misconceptions about the way it works. As a result there are some interesting new features I want to add to the fittsmenu widget, however some of these features are very difficult (slice scaling for instance) to put together so please be patient.

If you’d like to know more or get involved please email me about it. As this is in the very very early stages of development I’m very curious to hear peoples opinions and rants about what I’m doing.


7
Aug 07

Fittsmenu at last…

For the last few months I’ve been sneaking the odd hour or two to hack on a little project which I’m recruiting a few elite hackers for. This is fittsmenu’ it is a pie menu widget written on top of gobject and gtk. This is however a pie menu with a twist quite literally.

Click to see the video (ogg theora)

You can download the source code: fittsmenu-0.1.tar.gz Hack on it, and enjoy… It is of course very very early, and needs a few minor glitches fixed properly. I need to add a proper destructor to the GtkWidget and figure out a few other bits of widget weirdness. There’s also a bug in the slice width calculation which has been driving me quite mad.

For the time being the makefiles aren’t finished because I’m about to mess around quite heavily with that stuff to prepare fittsmenu to come out of the closet and into its libsexier outfit.

So build it by;

tar -xvzf fittsmenu-0.1.tar.gz
cd fittsmenu-0.1
./configure
make
cd fittsmenu
./fittsmenu

Yes thats right, libsexier… The idea with libsexier is to add yet another widget library to gtk in the same vein as libsexy’s sterling work has. The difference between libsexier and libsexy is that all of the libsexier widgets will be cairo rendered custom widgets rather than composite widgets. The idea is to make them highly interactive visually appealing widgets with some extra blingyness. Currently I have plans for the following widgets other than fittsmenu

  • Dock menu – a gtk menu derivative using the integral scale function of the OSX dock
  • Smooth scrolling line graph, to consolidate some of the duplicated effort in a themable way (gnome-system-monitor, gnome-power-manager for example)
  • Other graphs and charts pie, bar etc…
  • Icon hint widget, a popup widget which simply takes an icon at x,y position and scales it up or down while fading it out. This is similar to the OSX application launch animation.
  • A few other surprises I’d like to keep that way for now…

UPDATES

  • With thanks to Rob Taylor of codethink there is now a gitrepo of libsexier and the autotools stuff is getting fixed up.
  • Forgot to mention that tooltips/icon labels will be shown when hovering over the icons in the centre of menu when bug 43706 is fixed.
  • As a few people have pointed out, fittsmenu isn’t always an ideal replacement for every context menu, however it is something that drawing applications could benefit from, other situations could also benefit however it is all about getting the situation right rather than just blinging everything up for the sake of it. If anyone wants to chat with me about implementing fittsmenu in their app (Inkscape guys I’m looking at you) then please get in contact via email.

10
Mar 07

Wine-doors: Bling intels awakening

For some bizarre reason it seems cairo renders much faster on my macbooks less than powerful i945GM card, and the rendering is less than perfect on my nvidia 6800GT. Surely a card with 4 times the memory, and a faster GPU should out perform a laptop intel?!

Either way, the laptop has been used to bring you…


6
Mar 07

Wine-doors: Beginning of the bling!

I’m just adding in some primitive animations into wine-doors, I have some complaints, the dismal speed of pycairo for one, I think I need some glitz?!

Although there are a few jitters, the animation is working OK, I need to do some other things to it and try to smooth it out a bit


4
Mar 07

Wine-doors: The movie

This is the firstrun process, when you run wine-doors for the first time it does a few setup things, getting some stuff out of the way that you’d need to do later anyway for alot of applications.

Here I am seen demonstrating the cairo renderer (which is pig slow when istanbul is recording), the package lists and the filter. You may also notice that it figures out the application status and creates buttons depending on whether or not it is installed.


29
Jan 07

wine doors events

Finally got around to sorting out the mouse interaction with the new tile interface in winedoors this is the beginning of the end for the user interface development the ui of course is only part of the picture but i want it perfect. Once the ui work i’ve really wanted done is finished, i shall finally update the ApplicationPack and queue classes along with a variety of other updates vit has suggested to the xml there isn’t a great deal of work involved in this so hopefully a realease will be in sight soon.

I’m enjoying the thumb pad on my n800. Its much faster than fiddling with handwriting or a stylus it seems then that apple are going the right way with iphone.

Of course imrovements could be made, but this is the same thing that bugs me about predictive text. I remember reading a book on touch typing when i was young. One thing that i remember clearly is that the keys on a keyboard are layed out in qwerty style to avoid jamming on old mechanical typewriters based on the the improbability of those letters adjacent being used in succession. This old design rule provides interesing possibilities for sensing incorrect presses. By evaluating the letter probability via a markov syle character matrix then using a dictionary to support the AIML approximation thumb typing coud be even more accurate. Chances are that this is ho apple have made the iphones thumb interface so accurate.

it’s what i’d do!! hell i might even create a patch ;)


15
Jan 07

So I finally did it… Wine-Doors GUI update

Cairo cellrenderer

After having a few weeks of writers block, I have added in the cairo tree view in its basic form into Wine-Doors, so the

GUI is moving on leaps and bounds. There is still a lot of things to do, for instance adding buttons and events to the cairo-tiles so the user can simply click install, uninstall, upgrade, buy.
You may have noticed the lack of anything toward the right side of the tile, this is where the buttons will be placed and an animation square. So the current list of things to do before release is…

  • Get the filter working
  • Sort out buttons, events and animations
  • Finish off the application pack class
  • Create the static repositories (help required, XML data entry)

I’m also looking for a little advice regarding HTML widgets in python, some say GtkMozEmbed is too slow for useful operation, and GtkHTML is a little feature crippled. Any and all suggestions welcome.


23
Sep 06

nvidia beta

nvidia have released a beta driver with GL_EXT_texture_from_pixmap so run on down to nzone to grab a copy, however the driver kills my system, there seem to be some bugs left over. If it works for you then great, if it doesn’t then file a bug report.

We need this driver stable and out soon people ! get the bug reports in and they’ll be able to fix the problems.

Mirco said to me “Hell yeah… that new 1.0-9625 screams! Remember how crawling lowfat’s performance was under Xgl/compiz due to the software-driven mesa for the GLX_texture_from_pixmap? Well with normal Xorg 7.1 (from EdgyEft) with the new driver lowfat’s performance screams when run unter compiz. The future is bright… this is so wizzy!” 

So he’s excited enough if he is we probably all should be… if it works ;)