. Gnome on Rails (Mentor : ?)



  • Aim

  • The aim of this Gnome on Rails is to create a python based wrapper/framework using Pygtk for developers to create an GTK application writing as much Minimal code as possible as that of Ruby on rails. The stress for the developers would be shifted from the GUI to the functionality of their application.
  • Anybody who wants to create a GUI in 5 min , provided the GUI is simple , should be feeling home with gnome on rails


  • Sample With gnome on rails , people will be writing code in python like

  • one method
     from GnomeOnRails import *
     window = Window()
     menuItems = [ 'file' , 'edit' , 'view' , 'Help']
     window.menu = Menu(menuItems)
     panelItems = ['new','save','print','close']
     window.panel = Panel(panelItems)
     window.mainview = TextWidget()
     window.sideview = FileBrowserWidget()
     window.statusbar = StatusBar()
     window.pack()
  • other method

        class application(GnomeOnRails):
                def __init__(self):
                        self.menu = NULL
                        self.panel = NULL
                        self.mainWindow = NULL
                        return
                def createMenu :
                        //TO do : create menu Instance
                        pass
                def createPanel:
                        //To do: create panel instance
                        pass
                def createMainWindow:
                        //To do: create main Window widget instance
                        pass
        app = application()
        app.pack()
  • This is just a sample code. This should give an idea of how the wrapper is going to work. Actually I am intending to implement this using either oops or functionally.
  • The user will have a wide variety of predefined generic widgets from which he can chose to use. And to create widgets outside the default GnomeOnRails list one can create it normally using glade and then use it here.


  • Deliverables

  • The basic framework would be simple , thats the prime aim
  • the code will just be wrapper above pyGTK. So at any place normal PyGTK code can be used
  • The basic widgets will include

  • a generic widget that will hold any other widget -> scrollable,dividable

  • Buttons -> radio,toggle,push and checkbox

  • Text -> Label,link,general text ,GTkSourceview text and Browser widgets

  • menu ,panel,ToolBar,expandable/contractable boxes,tabs

  • Table and trees
  • progress bars, sliders,statusbars,spinners,tooltips
  • Standard widgets like fileopen/save dialogs,print dialog,clocks,calendars,text formatter, color chooser etc
  • image,opengl,audio, video widgets
  • While almost all of the widgets are already available in the PYGTK toolkit, what would be in Gnome on rails is that the wrapper for all of them, to use them with minimum code with most of the parameters already predefined but configurable and all the developer has to mention would be the widget he/she would like to use and few more lines on how he/she wants it to be implemented


  • Additional deliverables

These are few additional deliverables that I would like to add. If time permits within SOC , else outside it !

  • screenlets , desklets
  • panel/system tray dialogs etc
  • miscellaneous ???


  • Benefits

  • lots of applications can be created in small time
  • people dont have to spend time on creating GUI part.
  • Will suit applications of both small and large scale !


  • Things to be addressed

  • translation
  • documentation and tutorials
  • testing
  • for advanced developers who want the GUI to be more as they want, there should be enough facilities


  • About Me

    • I am suren, Third year student at NIT Trichy. My areas of interests include LAMP ,application development and python.

My skill set includes C,C++,Python related to the project. You can see my profile here

  • I have just put my ideas into words here. I would like to improve and fine tune or even scale down few of the deliverables(if need be) of my proposal. Looking for a mentor and lots of suggestions/comments !


Outreach/SummerOfCode/2008/Ideas/GnomeOnRails (last edited 2013-12-03 18:32:29 by WilliamJonMcCann)