Showing posts from June, 2010


Another widget implemented! On the whole the implementation of this 'little beasty' has been more toilsome than I first anticipated. Whilst the item is listed as a Gtk Display widget it is, in fact, not a Gtk widget but a Gnome desktop item. As a result it has not been possible to use the core gnocl events handling routines but a custom set which have been added to the statusIcon.c module. Another change had been need too. Because Gtk+ and not Gnome is cross-platform, implementations of a similar widget to the statusIcon for both MSWindows and MacOSx would need bindings to a different set of libraries. So, to prevent compatibility issues I've moved all the code for this widget over to the GnoclGnome package. So far all works well, event, popups flashy icons, sounds and so on...

Blogsite name change...

Because this is really a development blog and not a personal one, I've decided to modify the name of this blogspot by removing my personal name. I hope that it doesn't cause any of the (2) followers to this site loosing their regular feeds.


I completed the code for the various options associated with the statusIcon notify command. This has proven quite interesting as it need the inclusion of functionality from libraries not part of gtk+, namely libnotify and libcanberra. There's not much out there by the way of useful rookie literature for these objects apart from the online docs and whole pile of emails in the cloud from programmers trying, but necessarily getting the features to work. That's the useful, really useful thing about the Tcl approach, all the work is done in advance!

There's so much to todo that's all in mid-air, but I think its time to take another look at beefing up the 'recent docs' menu item.


Well, haven't fully implemented gnocl::notify yet but I have got the feature working as part of the gnoc::statusIcon widget. All the features are working well now but there's one last option that I want to add -sound. I'm not so sure how these features will impact on portability issues. The notification functionality as with the sound is, technically, a Gnome feature  but there are wrappers for use within Gtk Objects. In general, implementing audio playback will not be a major issue in cross-platform development but the statusIcon might well be. Should it be simply 'moved over' to the gnome package? Time will tell...


Something that I'll be looking at over the next couple of days is the addition of a new command, gnocl::notification. Technically this isn't a widget but a GObject but the implementation of its interface will be typically Gnocl, typically Tcl. Linux users all pretty familiar with the way in which Evolution notifies us of new mail: a statusicon appears followed by a large popup which tells us that 'You have received....'. Well, the last item what will be implemented next. Actually, I'm looking forward to this, I might also implement menus for the gnocl::statusIcon too.

Gnocl 0.9.96. when it comes is promising to be a good one!

The blog might be quiet at the moment but, believe me Gnocl 0.9.96 when it comes out later this year promises to be quite a good one. I'm not saying why, but it will be worth the wait!

From my side of things, I've returned to updating GnoclEdit, my home-brew text editor. I wanted to add a rich text editing feature so build a custom widget for the gnocl Megawidgets package along with adding a new subcommand 'font' to the gnocl::info command. This will return a list of all fonts available to the current system configuration. My system, by the way, has 181 fonts installed which makes for a pretty-big drop down menu!

Quiet times...

No new postings have been made to the blog over the past week or so. Why's that you might ask? Is gnocl development dormant? After 10 days, not really. I've spent most of my available time working on my Ph.D thesis which, is now coming towards completion.This doesn't mean I haven't been doing Tcl/Gtk things. I've converted a thesaurus file into metakit format the other day and am currently putting together a gnocl front-end for it. I'm half thinking about creating a custom gnocl::thesaurus widget. Mind, there still a few touches to put to the splashscreen yet. I would be good to release 0.9.96 during the summer!

SplashScreen progress bar

Got the splashScreen progress bar fully operational. Now that all remains is to set the choice between image or plain colour background. Following this, the next step is code optimization. In use, updating the progress is quite simple using the following syntax
$ss progress [list $i $max]
Where the variable ‘i’ denotes the current step out of a total of ‘max’ steps. The splashscreen routines will determine how the right size of the bar for the given window size. Also, only the first call needs to define the maximum number of steps. Which is stored internally for use by any subsequent call to this command. The default value of for max = 100.