THE SUGAR FONT PANEL

As i mentioned few days before in my blog about the sugar font panel i was making, is done and would like to disscuss the technical stuffs related to it and the proccess of its turning it on. It all started with playing of the codes which i got from (http://git.sugarlabs.org/projects/sugar/repos/mainline/trees/master/extensions/cpsection) , i started with codes of frame (one of sugar control panel extension for changing the frame view etc). First of all i set the development environment hoping into(http://wiki.sugarlabs.org/go/Jhbuild).

Basically we need four files to make a control panel extension for sugar i.e Makefile.am, view.py, model.py, _init_.py, in the process of building two more files Makefile.in and Makefile gets generated. Then you need to place you extensions icon in sugar/data/icon directory.

Other than that you need to git add the icon of the extension by git add data/icons/<iconname> in my case it was git add format-text-size.svg. After doing all these stuff you need to edit few more files which i will be explaining with screenshots.

The first one is editting the Makefile.am in data/icon directory.

Then you need to edit configure.ac in source/sugar directory by extensions/cpsection/<extension name>/Makefile

You also need to edit Makefile.am in sugar/extensions/cpsection.

Finally all edits are done and now there are few basic commands you need to go through it.

-./autogen.sh –prefix=/home/yevelempy/sugar-jhbuild/install

-make install

Every time you change the codes of  Model.py, view.py or _init_.py, you need to run “Make install” inside sugar-jhbuild/source/sugar and if you change configure.ac or any Makefile.am files you need to run autogen.sh.Finally things were over and i could my icon showing up and i was happy but now came the original fun 😉

I started just by copying codes of frame panel with few bit of changes and results were awsome :P, The original mockup which was like .

was looking something like(below) this in the beginning after my cutting and pasting of codes.

Then the results started improving a bit as i digged depper into python and pygtk stuff(although i was lazy and took time to get the stuff done and still lot needs to be done). The later results were on path of improvement

And then

Finally things came down to

Now came the issue of inserting labels and marks as you can see in original mockup, ” | ”  and labels like Default, Small, Large etc. With the help of folks from #sugar i could get up to the exact function which turned up as a magic wand ” self._font_size_slider.add_mark(co-ordinates,gtk.POS_BOTTOM,_(‘Label name’))” . Now i could get things upto

And finally things scalled down to the original mockup. You need to run the gconftool -2 command to set the gconf values and see the changes, the command goes like “gconftool -2  –get  /desktop/sugar/font/font_size” in my case. Now you will get your desired thngs done. Although there are few points which still needs to be read and done pretty well.

My codes can be found at ” http://git.sugarlabs.org/projects/sugar/repos/yevlempy/commits/973b0bd9def313cf6cf9ffea967c4626ebb9ffc6 “. Will be updating on my later improvements. yo !!

FUDcon planning india 2010

The Fedora Users and Developers Conference or FUDCon is back and this time we are planning it to be held in India. For those of you who are not aware of it, FUDCon is a massive international conference that takes place in different parts of the world and brings together Fedora users and developers from various parts of the world to interact together to give something back to the Linux community. Commonly, FUDCons area a combination of barcamp style conferences, FUDPub or a social event, hackfests etc.

Events like FUDCon are a major help to all users and developers and users, especially new ones. The exposure and help that is available in these conferences is truly amazing and there are very few greater opportunity of learning from seasoned developers. The ideas and tips that are received during these sessions result in a quality of work that is much higher that work done at homes or separately.

The potential venue for FUDCon 2010 is either Bangalore or Pune with Pune getting preference because of consideration of costs of hosting the event and the possible availability of SICSR, Pune as a venue, where gnunify.in was recently held. Since the preparation for such a massive event is bound to take quite some time, the dates of the event are tentatively set for sometime in the months of October or November, although dates are still to decided.

However, in order to host such a huge event, we need all the help that we can possibly get. Here is where the rest of you come in. This is a direct request to all the LUGs all over India. We need all the help we can get and therefore are appealing to you to come forward and help. All those people who would be willing to help in the organisation of the event as volunteers are invited to join us.

Font panel extension for sugar

27.02.2010

Lately i am working on font panel extension for sugar control panel. Had loads of pygtk documentation and it still is going on. Have not been blogging since a long time, was quite busy with this font panel stuff which is to be included in 0.90 version. Almost it has been complete with few bits to tweak upon for finalising. Will be blogging with whole lot of documentation and various screen shots of my project advancement. As for now working with sugar folks is complete fun and specially unmanindu and erikos has been helping a lot with lots of stuff. After i am done with it, will be posting the complete process of its advancement. Till then “stay cool stay foolish” 😉

Chicken Pox blues!!!

11.02.2010

Since these days i was suffering from chicken pox and was really very much in pain. I was in so much pain and was so weak that i could not even speak nicely for few days. It really drove me nuts for around three weeks. But on the contrary it also gave me some time to go through the pygtk documentation and refrence which before i was using in my codes just by taking refrence from the documentation.

But now i am recovering quite well, although i have grown very very weak 😦 . But now i have got quite good base for pygtk which will help in sugarlabs project. Currently i am focusing and concentrating my energy for some good work 🙂 .

GSOC 2010 IS ON

29.01.2010

As declared by Leslie Hawthorn, Program Manager – Open Source Google Inc on 27th january 2010 that GSOC 2010 will be there. The various information can be found at links

1) http://socghop.appspot.com/

2)http://socghop.appspot.com/document/show/gsoc_program/google/gsoc2009/faqs

3)http://delicious.com/gsoc2009

4)http://socghop.appspot.com/gsoc/program/accepted_orgs/google/gsoc2009

The accepting application for would-be mentoring organizations will be beginning March 8th at approximately 19:00 UTC, with applications closing on March 12th at 23:00 UTC and Students can apply between 19:00 UTC on March 29th to 19:00 UTC on April 9th.

I to will be applying for GSOC 2010 from none other than (in which i always wanted to work 🙂 )  SugarLabs. It was always on my mind that someday i will be working for sugarlabs and not i am very happy working on font panel extension for control panel in sugar. Will updayte with a documentation on how i worked for the font panel extension 🙂

SUGAR JOURNEY

21.01.2010

The first and foremost task for playing with sugar is obviously installing it and that can be done by “yum groupinstall sugar-desktop” and then you can have fun playing with it. If you are going for development then you need to follow “http://wiki.sugarlabs.org/go/Development_Team/Jhbuild&#8221; . Today i am going through the various control-panel settings and codes for sugar “http://git.sugarlabs.org/projects/sugar/repos/mainline/trees/master/extensions/cpsection&#8221; . I also wrote a small code for font panel with the help of gnome documentations

#!/usr/bin/env python

import pygtk
pygtk.require(‘2.0’)
import gtk

class FontButtonExample:
def __init__(self):
window = gtk.Window()
window.connect(‘destroy’, lambda w: gtk.main_quit())
vbox = gtk.VBox()
window.add(vbox)
hbox = gtk.HBox()
vbox.pack_start(hbox, False)
label = gtk.Label(‘Current Font:’)
hbox.pack_start(label, False)
fontbutton = gtk.FontButton(‘Monospace Italic 14’)
fontbutton.set_use_font(True)
fontbutton.set_title(‘Select a font’)
fontbutton.connect(‘font-set’, self.font_set_cb)
hbox.pack_start(fontbutton)
self.fontbutton = fontbutton
bbox = gtk.HButtonBox()
vbox.pack_start(bbox, False)
b = gtk.ToggleButton(”, False)
b.connect(‘toggled’, self.use_font_cb)
b.set_active(True)
bbox.pack_start(b)
b = gtk.ToggleButton(”, False)
b.connect(‘toggled’, self.use_size_cb)
b.set_active(False)
bbox.pack_start(b)
b = gtk.ToggleButton(”, False)
b.connect(‘toggled’, self.show_style_cb)
b.set_active(True)
bbox.pack_start(b)
b = gtk.ToggleButton(”, False)
b.connect(‘toggled’,  self.show_size_cb)
b.set_active(True)
bbox.pack_start(b)
window.show_all()
return
def use_font_cb(self, togglebutton):
self.fontbutton.set_use_font(togglebutton.get_active())
return
def use_size_cb(self, togglebutton):
self.fontbutton.set_use_size(togglebutton.get_active())
return
def show_style_cb(self, togglebutton):
self.fontbutton.set_show_style(togglebutton.get_active())
return
def show_size_cb(self, togglebutton):
self.fontbutton.set_show_size(togglebutton.get_active())
return
def font_set_cb(self, fontbutton):
font = fontbutton.get_font_name()
print ‘You have selected the font:’, font
return

def main():
gtk.main()

if __name__ == ‘__main__’:
cbe = FontButtonExample()
main()

I also went through writting Makefile for font-panel and the __init__.py files. Need to concentrate on coding after the design is fixed i.e will be done by saturday in the meeting (design will be fixed). Got good feedback on designs i proposed for the font-panels. Looking forward on working things out.

OLPC and Sugarlabs

20/01/2010
This was what i always wanted to work for, i remember the days when i was keen on working on anything, i get to work for OLPC project. After a long time,  after seeking things to work upon i choose translations for OLPC softwares because i was not getting anything to work upon in OLPC. But this was not what i wanted, but i wanted to work for it as a developer too. I am very thankfull to kushal das as he has always motivated me and was really behind me on getting things work for me. I would also like to thank sayamindu das gupta for his help on each and every query of mine patiently. So here i am now working on building a pygtk based font configuration  panel for sugar control panel. Currently i have proposed three mockups for the same and really looking forward to it. The first one

"The First model"

" The First model"

contains a simple drag menu to adjust the size as starting from 5 to 48 with default 10 and default font Sans Serif .[1]This will also contain a restart sign at the bottom of the frame. The second one as shown contains the same features as in gnome font panel, the button at the middle of the frame works same as desktop fonts work in gnome, on pressing it we will get various font and size changing options.

"The second model"

"The Second model"

The third model i proposed contains kinda work as the language settings in sugar works i.e a dropdown menu will
appear containing the font sizes.

"The Third model"

[1] By saying this i mean a icon at the bottom that updates the changes in font, the next time system is rebooted. After confirmation with devel team and design team will work on the coding part. Now i am going through gnome guide specially the gconf part. and python and pygtk docs 🙂 .