Post Mid Term : Revamping the UI of Gnome Calculator and adding History-View

Hi Everybody,

The History View is finally complete after fixing all the minor bugs associated. Earlier a scrollbar would appear when an equation or answer is too long which was undesirable. We have now replaced the Gtk TextViews by Gtk Labels whose ellipsize property takes care of representation of really long equations.Also the answers on the Gtk Label has a precision of 4 digits so that the whole answer is visible to the user.We haven’t decreased the precision of the calculator as the real answer with 9 digits precision is made available as a tooltip for answer label. Each entry in the history view now consists of equation and corresponding answer , each of which is individually selectable and has been provided with a tooltip to enable viewing of long equations.Also the History View has been redesigned in a way such that on clicking any of the equation in the history view, the selected equation replaced the existing equation and on clicking an of the answers in the history view, the selected answer is appended to the existing equation. We had to make some major changes in the previous History View patch so that the code is well optimized and efficient. We also added color to the result button and the clear button to make the UI a little more lively and attractive but keep it simple at the same time. We have also added 2px padding to the buttons so that they don’t appear to be cramped up on the UI.

The history View now appears as following.


We are going to implement the Keyboard next! For more updates , stay tuned!

Week 2, 3 and 4: Implementing History View and Revamping the UI of Gnome-Calculator

Hi everybody,

Sorry for the late update on the project, was a little busy writing the code for this project.
Anyways let me give you a brief description of what I have been able to implement so far!
I have added padding to the buttons so that they are aligned in well sepearated rows and columns. We are planning to keep the color of the buttons nearly the same except the buttons for the operators would have a darker shade of grey and the result button would be blue in color. Improving the functionality of Undo buttons has already been implemented by another developer so I just fixed a bug associated with the same. I have also implemented History View which is the most important subtask of this project. The History View stores the expression entered by the user along with the corresponding answer into well defined rows of Gtk.ListBox.You can select and edit the expression in a row by double clicking the corresponding row.
Link to the patch for adding padding to the buttons:
Link to the patch for implementing history view :
Link to image of History View in Gnome-Calculator:

We have more plans for history view and the UI so stay tuned. I would be back with more updates on my project soon!

Getting started with GNOME-Calculator

Hello everyone!

This is my second post on GNOME and today, I am going to show you how to install GNOME-Calculator from source so that you can start contributing to its development. 🙂

It would be better if you have the latest GNOME installed on your operating system. If you do not have GNOME installed, no worries , we would breeze through its installation too.
So lets get started!

Installing GNOME 3
Before we continue, let me tell you that there is a GNOME package in the default Ubuntu Repository for GNOME.However this GNOME package is outdated and you may want to skip installing the default package from repository.

Installing GNOME via commands is very easy. Open the command terminal and copy paste the following commands.


$ sudo add-apt-repository ppa:gnome3-team/gnome3
$ sudo apt-get update
$ sudo apt-get install gnome-shell
$ sudo apt-get install gnome-common valac-0.18


$ yum -y groupinstall "GNOME Desktop"
$ sudo yum install gnome-common valac-0.18

Since the GNOME-Calculator source code is in Vala, we would have to install Vala 0.18 Vala PPA using the following command:


$ sudo add-apt-repository ppa:vala-team/ppa
$ sudo apt-get update
$ sudo apt-get upgrade


$ sudo yum install vala
$ sudo yum update
$ sudo yum install fedora-upgrade
$ sudo fedora-upgrade

This will install GNOME and the dependencies required for GNOME-Calculator.
Now to download the source code from git, you need to have a basic knowledge of GIT Version Control. If you have no idea what GIT is ,no problem, you can read all about it here . 🙂

Copy paste the following command in the terminal to clone the GNOME-Calculator repository into your git repository.

$ git clone

Now that you have the source code into your git repository, enter into the source folder

$ cd gnome-calculator

As you can see, it has a folder called src which will contain the Vala source code of Gnome-Calculator where you need to make the required changes for fixing bugs or introducing a new feature.

Now copy paste the following commands into the terminal to build the GNOME-Calculator from the source code.

$ ./
$ make
$ sudo make install

You may encounter some errors due to unmet dependencies during any of the steps. Make sure you have the following packages installed.


If you still encounter errors due to unmet dependencies, then do check properly all the unmet dependencies along with the Version required and install them accordingly either by downloading their source code or using the following commands.

For Ubuntu:

$ sudo apt-get install

For Fedora:

$ sudo yum install

Although I strongly recommend downloading the source code of required packages of latest version and installing from source.

Once you have successfully completed running the ‘sudo make install’ command, you are good to go!
Give the following command in the terminal.

$ gnome-calculator

If the Calculator appears, Great Job! You have successfully built GNOME-Calculator from source. Now you can get started with hacking its source code!
Pretty exciting huh? 😉 Make sure that after making the required changes in the source code , you run the make and sudo make install commands again to recompile it and see the effect of the changes you made.

That’s all it for today! If you have any queries, please feel free to comment below.

Happy hacking! 🙂

Introduction to GNOME

Hi everybody! 🙂 Before I begin , let me introduce myself –  I am Elita Lobo , currently a 2nd year student of Electronics and Communication Engineering department in NIT Durgapur. I am a passionate coder and love working on open source projects in my past time. I have been selected for GSOC this year to work on Revamping the user interface of Gnome-Calculator and I am super excited about it ! 😀                                                                                                                  So yeah, basically I am going to fill this blog with every bit of detail of my project work and introduce to you the amazing world of GNOME!

To begin with, GNOME is a user friendly desktop environment with a large no of unique features and which is highly customizable to suit the user’s tastes and preferences. It is composed entirely of free and open source software and targets to be cross platform. Gnome , which is a part of GNU Project and  aims to develop software frameworks for the development of software and to program reusable  user end  applications based on these frameworks.                                                                                                                    
The GNOME  project puts heavy emphasis on simplicity and usability. The other aims of this project are:

  • Freedom: The GNOME Project ensures that the source code of the desktop environment is readily available to all users for modification under free software license.
  • Accessibility: It ensures that the desktop can be used by anyone without
  • any requirements of technical skills.
  • Internationalization and Localization: GNOME has made its desktop environment available in several languages and continues to expand support to various regional languages.
  • Developer Friendly: It ensures ease of writing the software that integrates smoothly with the desktop and maintains a well updated documentation. Getting involved in the development of GNOME is very easy as plenty of support is made available through discussions on mailing lists and gnome irc channels.
  •  Organization: GNOME adheres a regular release cycle and maintains a disciplined community structure.

To explore GNOME further ,you can visit the gnome website.

This Summer I am going to work on improving the User Interface of Gnome’s desktop Calculator. Will update the blog with the project details in due course of time, till then stay tuned!                    
Here is a link to my proposal for further details about my GSOC Project.