--- guake-0.4.2/src/guake.py.old	2012-05-19 20:00:23.469088297 -0500
+++ guake-0.4.2/src/guake.py	2012-05-19 22:22:15.288537276 -0500
@@ -25,7 +25,7 @@
 
 import gtk
 import vte
-from pango import FontDescription
+from pango import FontDescription, SCALE
 import pynotify
 import gconf
 import dbus
@@ -350,7 +350,7 @@
 
         keys = ['toggle_fullscreen', 'new_tab', 'close_tab', 'rename_tab',
                 'previous_tab', 'next_tab', 'clipboard_copy', 'clipboard_paste',
-                'quit',
+                'quit', 'fontsize_increase', 'fontsize_decrease', 'fontsize_reset'
                 ]
         for key in keys:
             notify_add(LKEY(key), self.reload_accelerators)
@@ -430,6 +430,21 @@
             self.accel_group.connect_group(key, mask, gtk.ACCEL_VISIBLE,
                                            self.guake.accel_toggle_fullscreen)
 
+        key, mask = gtk.accelerator_parse(gets('fontsize_increase'))
+        if key > 0:
+            self.accel_group.connect_group(key, mask, gtk.ACCEL_VISIBLE,
+                                           self.guake.accel_fontsize_increase)
+
+        key, mask = gtk.accelerator_parse(gets('fontsize_decrease'))
+        if key > 0:
+            self.accel_group.connect_group(key, mask, gtk.ACCEL_VISIBLE,
+                                           self.guake.accel_fontsize_decrease)
+
+        key, mask = gtk.accelerator_parse(gets('fontsize_reset'))
+        if key > 0:
+            self.accel_group.connect_group(key, mask, gtk.ACCEL_VISIBLE,
+                                           self.guake.accel_fontsize_reset)
+
 class GuakeTerminal(vte.Terminal):
     """Just a vte.Terminal with some properties already set.
     """
@@ -850,6 +865,25 @@
             term_idx += 1
         return total_procs
 
+    def modify_current_tab_fontsize(self, increase=0):
+        """Modify the fontsize of the terminal by
+        the increase parameter, if 0 then set the default fontsize.
+        """
+        current_term = self.term_list[self.notebook.get_current_page()]
+
+        if(increase == 0):
+            font_string = self.client.get_string(KEY('/style/font/style'))
+            font = FontDescription(font_string)
+        else:
+            font = current_term.get_font()
+
+        font_size = font.get_size()
+        new_size = (font_size / SCALE + increase) * SCALE
+        font.set_size(new_size)
+        current_term.set_font(font)
+        
+        return True
+
     # -- configuration --
 
     def load_config(self):
@@ -973,6 +1007,28 @@
 
         return True
 
+    def accel_fontsize_increase(self, *args):
+        """Callback increases the fontsize of the terminal by
+        adding 2 to the actual fontsize.
+        """
+        self.modify_current_tab_fontsize(2)
+        return True
+    
+    def accel_fontsize_decrease(self, *args):
+        """Callback increases the fontsize of the terminal by
+        adding -2 to the actual fontsize.
+        """
+        self.modify_current_tab_fontsize(-2)
+        return True
+
+    def accel_fontsize_reset(self, *args):
+        """Callback increases the fontsize of the terminal by
+        adding -2 to the actual fontsize.
+        """
+        self.modify_current_tab_fontsize(0)
+        return True
+
+
     # -- callbacks --
 
     def on_terminal_exited(self, term, widget):
