1. Use GtkWidget related signals instead of writing code to 
   enter into a callback function.
2. How to create a shell like environment ?
   Create a main function which contains several functions.
   the end of every function should return to the main function.