<<<<<<< HEAD
diff --git a/data/buttons-advanced.ui b/data/buttons-advanced.ui
index 109e0fb..a71fab2 100644
--- a/data/buttons-advanced.ui
+++ b/data/buttons-advanced.ui
@@ -56,6 +56,8 @@
         <property name="bottom_attach">5</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -102,6 +104,8 @@
         <property name="bottom_attach">5</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -126,6 +130,8 @@
         <property name="bottom_attach">5</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -142,6 +148,8 @@
         <property name="bottom_attach">3</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -158,6 +166,8 @@
         <property name="bottom_attach">2</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -176,6 +186,8 @@
         <property name="bottom_attach">2</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -194,6 +206,8 @@
         <property name="bottom_attach">2</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -212,6 +226,8 @@
         <property name="bottom_attach">3</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -230,6 +246,8 @@
         <property name="bottom_attach">3</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -248,6 +266,8 @@
         <property name="bottom_attach">2</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -264,6 +284,8 @@
         <property name="bottom_attach">4</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -282,6 +304,8 @@
         <property name="bottom_attach">4</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -299,6 +323,8 @@
         <property name="bottom_attach">5</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -317,6 +343,8 @@
         <property name="bottom_attach">5</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -335,6 +363,8 @@
         <property name="bottom_attach">4</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -353,6 +383,8 @@
         <property name="bottom_attach">3</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -371,6 +403,8 @@
         <property name="bottom_attach">4</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -389,6 +423,8 @@
         <property name="bottom_attach">5</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -407,6 +443,8 @@
         <property name="bottom_attach">5</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -428,6 +466,8 @@
         <property name="right_attach">6</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -521,6 +561,8 @@
         <property name="right_attach">4</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -539,6 +581,8 @@
         <property name="bottom_attach">2</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -557,6 +601,8 @@
         <property name="bottom_attach">2</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -605,6 +651,8 @@
         <property name="bottom_attach">3</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -652,6 +700,8 @@
         <property name="bottom_attach">5</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -670,6 +720,8 @@
         <property name="bottom_attach">5</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -688,6 +740,8 @@
         <property name="bottom_attach">3</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -706,6 +760,8 @@
         <property name="bottom_attach">4</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -723,6 +779,8 @@
         <property name="bottom_attach">4</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -751,6 +809,8 @@
         <property name="bottom_attach">4</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -769,6 +829,8 @@
         <property name="bottom_attach">4</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -790,6 +852,8 @@
         <property name="right_attach">5</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -814,6 +878,8 @@
         <property name="bottom_attach">4</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -838,6 +904,8 @@
         <property name="bottom_attach">4</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -857,6 +925,8 @@
           <packing>
             <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
             <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+            <property name="x_padding">3</property>
+            <property name="y_padding">3</property>
           </packing>
         </child>
         <child>
@@ -872,6 +942,8 @@
             <property name="right_attach">2</property>
             <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
             <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+            <property name="x_padding">3</property>
+            <property name="y_padding">3</property>
           </packing>
         </child>
         <child>
@@ -887,6 +959,8 @@
             <property name="right_attach">3</property>
             <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
             <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+            <property name="x_padding">3</property>
+            <property name="y_padding">3</property>
           </packing>
         </child>
         <child>
@@ -902,6 +976,8 @@
             <property name="bottom_attach">2</property>
             <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
             <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+            <property name="x_padding">3</property>
+            <property name="y_padding">3</property>
           </packing>
         </child>
         <child>
@@ -919,6 +995,8 @@
             <property name="bottom_attach">2</property>
             <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
             <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+            <property name="x_padding">3</property>
+            <property name="y_padding">3</property>
           </packing>
         </child>
         <child>
@@ -936,6 +1014,8 @@
             <property name="bottom_attach">2</property>
             <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
             <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+            <property name="x_padding">3</property>
+            <property name="y_padding">3</property>
           </packing>
         </child>
       </object>
@@ -988,6 +1068,8 @@
         <property name="bottom_attach">5</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
   </object>
diff --git a/data/buttons-basic.ui b/data/buttons-basic.ui
index c8a1867..53ce0df 100644
--- a/data/buttons-basic.ui
+++ b/data/buttons-basic.ui
@@ -20,6 +20,8 @@
         <property name="bottom_attach">2</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -34,6 +36,8 @@
       <packing>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -50,6 +54,8 @@
         <property name="right_attach">2</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -66,6 +72,8 @@
         <property name="right_attach">3</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -84,6 +92,8 @@
         <property name="bottom_attach">2</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -102,6 +112,8 @@
         <property name="bottom_attach">2</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -118,6 +130,8 @@
         <property name="right_attach">4</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -134,6 +148,8 @@
         <property name="bottom_attach">3</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -152,6 +168,8 @@
         <property name="bottom_attach">3</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -169,6 +187,8 @@
         <property name="bottom_attach">4</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -187,6 +207,8 @@
         <property name="bottom_attach">4</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -205,6 +227,8 @@
         <property name="bottom_attach">4</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -223,6 +247,8 @@
         <property name="bottom_attach">3</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -241,6 +267,8 @@
         <property name="bottom_attach">2</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -259,6 +287,8 @@
         <property name="bottom_attach">3</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -277,6 +307,8 @@
         <property name="bottom_attach">4</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -295,6 +327,8 @@
         <property name="bottom_attach">4</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -313,6 +347,8 @@
         <property name="bottom_attach">2</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -331,6 +367,8 @@
         <property name="bottom_attach">2</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -352,6 +390,8 @@
         <property name="right_attach">6</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -370,6 +410,8 @@
         <property name="bottom_attach">3</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -398,6 +440,8 @@
         <property name="bottom_attach">3</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -419,6 +463,8 @@
         <property name="right_attach">5</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
   </object>
diff --git a/data/buttons-financial.ui b/data/buttons-financial.ui
index 3ab682a..4d57a75 100644
--- a/data/buttons-financial.ui
+++ b/data/buttons-financial.ui
@@ -1924,6 +1924,8 @@
         <property name="bottom_attach">3</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -1941,6 +1943,8 @@
         <property name="bottom_attach">2</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -1956,6 +1960,8 @@
       <packing>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -1973,6 +1979,8 @@
         <property name="right_attach">2</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -1990,6 +1998,8 @@
         <property name="right_attach">3</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -2009,6 +2019,8 @@
         <property name="bottom_attach">2</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -2028,6 +2040,8 @@
         <property name="bottom_attach">2</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -2045,6 +2059,8 @@
         <property name="right_attach">4</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -2062,6 +2078,8 @@
         <property name="bottom_attach">3</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -2081,6 +2099,8 @@
         <property name="bottom_attach">3</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -2099,6 +2119,8 @@
         <property name="bottom_attach">4</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -2118,6 +2140,8 @@
         <property name="bottom_attach">4</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -2137,6 +2161,8 @@
         <property name="bottom_attach">4</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -2156,6 +2182,8 @@
         <property name="bottom_attach">3</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -2175,6 +2203,8 @@
         <property name="bottom_attach">2</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -2194,6 +2224,8 @@
         <property name="bottom_attach">3</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -2213,6 +2245,8 @@
         <property name="bottom_attach">4</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -2232,6 +2266,8 @@
         <property name="bottom_attach">4</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -2251,6 +2287,8 @@
         <property name="bottom_attach">2</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -2270,6 +2308,8 @@
         <property name="bottom_attach">2</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -2293,6 +2333,8 @@
         <property name="right_attach">6</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -2310,6 +2352,8 @@
         <property name="right_attach">8</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -2326,7 +2370,9 @@
         <property name="left_attach">8</property>
         <property name="right_attach">9</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
-        <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property> 
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -2344,6 +2390,8 @@
         <property name="right_attach">10</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -2363,6 +2411,8 @@
         <property name="bottom_attach">4</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -2382,6 +2432,8 @@
         <property name="bottom_attach">3</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -2401,6 +2453,8 @@
         <property name="bottom_attach">3</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -2420,6 +2474,8 @@
         <property name="bottom_attach">3</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -2439,6 +2495,8 @@
         <property name="bottom_attach">2</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -2458,6 +2516,8 @@
         <property name="bottom_attach">2</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -2477,6 +2537,8 @@
         <property name="bottom_attach">2</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -2500,6 +2562,8 @@
         <property name="right_attach">5</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -2528,6 +2592,8 @@
         <property name="right_attach">7</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
     <child>
@@ -2547,6 +2613,8 @@
         <property name="bottom_attach">2</property>
         <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
         <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+        <property name="x_padding">3</property>
+        <property name="y_padding">3</property>
       </packing>
     </child>
   </object>
diff --git a/data/buttons-programming.ui b/data/buttons-programming.ui
index 030b562..1606bd0 100644
--- a/data/buttons-programming.ui
+++ b/data/buttons-programming.ui
@@ -1790,6 +1790,8 @@
             <property name="bottom_attach">3</property>
             <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
             <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+            <property name="x_padding">3</property>
+            <property name="y_padding">3</property>
           </packing>
         </child>
         <child>
@@ -1807,6 +1809,8 @@
             <property name="bottom_attach">4</property>
             <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
             <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+            <property name="x_padding">3</property>
+            <property name="y_padding">3</property>
           </packing>
         </child>
         <child>
@@ -1830,6 +1834,8 @@
             <property name="bottom_attach">5</property>
             <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
             <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+            <property name="x_padding">3</property>
+            <property name="y_padding">3</property>
           </packing>
         </child>
         <child>
@@ -1848,6 +1854,8 @@
             <property name="bottom_attach">4</property>
             <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
             <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+            <property name="x_padding">3</property>
+            <property name="y_padding">3</property>
           </packing>
         </child>
         <child>
@@ -1877,6 +1885,8 @@
             <property name="bottom_attach">2</property>
             <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
             <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+            <property name="x_padding">3</property>
+            <property name="y_padding">3</property>
           </packing>
         </child>
         <child>
@@ -1895,6 +1905,8 @@
             <property name="bottom_attach">4</property>
             <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
             <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+            <property name="x_padding">3</property>
+            <property name="y_padding">3</property>
           </packing>
         </child>
         <child>
@@ -1913,6 +1925,8 @@
             <property name="bottom_attach">5</property>
             <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
             <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+            <property name="x_padding">3</property>
+            <property name="y_padding">3</property>
           </packing>
         </child>
         <child>
@@ -1931,6 +1945,8 @@
             <property name="bottom_attach">2</property>
             <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
             <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+            <property name="x_padding">3</property>
+            <property name="y_padding">3</property>
           </packing>
         </child>
         <child>
@@ -1948,6 +1964,8 @@
             <property name="bottom_attach">5</property>
             <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
             <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+            <property name="x_padding">3</property>
+            <property name="y_padding">3</property>
           </packing>
         </child>
         <child>
@@ -1966,6 +1984,8 @@
             <property name="bottom_attach">3</property>
             <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
             <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+            <property name="x_padding">3</property>
+            <property name="y_padding">3</property>
           </packing>
         </child>
         <child>
@@ -1984,6 +2004,8 @@
             <property name="bottom_attach">4</property>
             <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
             <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+            <property name="x_padding">3</property>
+            <property name="y_padding">3</property>
           </packing>
         </child>
         <child>
@@ -2002,6 +2024,8 @@
             <property name="bottom_attach">5</property>
             <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
             <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+            <property name="x_padding">3</property>
+            <property name="y_padding">3</property>
           </packing>
         </child>
         <child>
@@ -2020,6 +2044,8 @@
             <property name="bottom_attach">5</property>
             <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
             <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+            <property name="x_padding">3</property>
+            <property name="y_padding">3</property>
           </packing>
         </child>
         <child>
@@ -2043,6 +2069,8 @@
             <property name="bottom_attach">4</property>
             <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
             <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+            <property name="x_padding">3</property>
+            <property name="y_padding">3</property>
           </packing>
         </child>
         <child>
@@ -2061,6 +2089,8 @@
             <property name="bottom_attach">5</property>
             <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
             <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+            <property name="x_padding">3</property>
+            <property name="y_padding">3</property>
           </packing>
         </child>
         <child>
@@ -2079,6 +2109,8 @@
             <property name="bottom_attach">5</property>
             <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
             <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+            <property name="x_padding">3</property>
+            <property name="y_padding">3</property>
           </packing>
         </child>
         <child>
@@ -2097,6 +2129,8 @@
             <property name="bottom_attach">5</property>
             <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
             <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+            <property name="x_padding">3</property>
+            <property name="y_padding">3</property>
           </packing>
         </child>
         <child>
@@ -2113,6 +2147,8 @@
             <property name="bottom_attach">4</property>
             <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
             <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+            <property name="x_padding">3</property>
+            <property name="y_padding">3</property>
           </packing>
         </child>
         <child>
@@ -2131,6 +2167,8 @@
             <property name="bottom_attach">4</property>
             <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
             <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+            <property name="x_padding">3</property>
+            <property name="y_padding">3</property>
           </packing>
         </child>
         <child>
@@ -2149,6 +2187,8 @@
             <property name="bottom_attach">4</property>
             <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
             <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+            <property name="x_padding">3</property>
+            <property name="y_padding">3</property>
           </packing>
         </child>
         <child>
@@ -2167,6 +2207,8 @@
             <property name="bottom_attach">4</property>
             <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
             <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+            <property name="x_padding">3</property>
+            <property name="y_padding">3</property>
           </packing>
         </child>
         <child>
@@ -2183,6 +2225,8 @@
             <property name="bottom_attach">3</property>
             <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
             <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+            <property name="x_padding">3</property>
+            <property name="y_padding">3</property>
           </packing>
         </child>
         <child>
@@ -2201,6 +2245,8 @@
             <property name="bottom_attach">3</property>
             <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
             <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+            <property name="x_padding">3</property>
+            <property name="y_padding">3</property>
           </packing>
         </child>
         <child>
@@ -2219,6 +2265,8 @@
             <property name="bottom_attach">3</property>
             <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
             <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+            <property name="x_padding">3</property>
+            <property name="y_padding">3</property>
           </packing>
         </child>
         <child>
@@ -2237,6 +2285,8 @@
             <property name="bottom_attach">3</property>
             <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
             <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+            <property name="x_padding">3</property>
+            <property name="y_padding">3</property>
           </packing>
         </child>
         <child>
@@ -2253,6 +2303,8 @@
             <property name="bottom_attach">2</property>
             <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
             <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+            <property name="x_padding">3</property>
+            <property name="y_padding">3</property>
           </packing>
         </child>
         <child>
@@ -2271,6 +2323,8 @@
             <property name="bottom_attach">2</property>
             <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
             <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+            <property name="x_padding">3</property>
+            <property name="y_padding">3</property>
           </packing>
         </child>
         <child>
@@ -2289,6 +2343,8 @@
             <property name="bottom_attach">2</property>
             <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
             <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+            <property name="x_padding">3</property>
+            <property name="y_padding">3</property>
           </packing>
         </child>
         <child>
@@ -2307,6 +2363,8 @@
             <property name="bottom_attach">2</property>
             <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
             <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+            <property name="x_padding">3</property>
+            <property name="y_padding">3</property>
           </packing>
         </child>
         <child>
@@ -2331,6 +2389,8 @@
           <packing>
             <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
             <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+             <property name="x_padding">3</property>
+            <property name="y_padding">3</property> 
           </packing>
         </child>
         <child>
@@ -2357,6 +2417,8 @@
             <property name="right_attach">2</property>
             <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
             <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+            <property name="x_padding">3</property>
+            <property name="y_padding">3</property>
           </packing>
         </child>
         <child>
@@ -2373,6 +2435,8 @@
             <property name="right_attach">3</property>
             <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
             <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+            <property name="x_padding">3</property>
+            <property name="y_padding">3</property>
           </packing>
         </child>
         <child>
@@ -2417,6 +2481,8 @@
             <property name="right_attach">4</property>
             <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
             <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+            <property name="x_padding">3</property>
+            <property name="y_padding">3</property>
           </packing>
         </child>
         <child>
@@ -2435,6 +2501,8 @@
             <property name="bottom_attach">5</property>
             <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
             <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+            <property name="x_padding">3</property>
+            <property name="y_padding">3</property>
           </packing>
         </child>
         <child>
@@ -2453,6 +2521,8 @@
             <property name="bottom_attach">4</property>
             <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
             <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+            <property name="x_padding">3</property>
+            <property name="y_padding">3</property>
           </packing>
         </child>
         <child>
@@ -2471,6 +2541,8 @@
             <property name="bottom_attach">3</property>
             <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
             <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+            <property name="x_padding">3</property>
+            <property name="y_padding">3</property>
           </packing>
         </child>
         <child>
@@ -2489,6 +2561,8 @@
             <property name="bottom_attach">2</property>
             <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
             <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+            <property name="x_padding">3</property>
+            <property name="y_padding">3</property>
           </packing>
         </child>
         <child>
@@ -2505,6 +2579,8 @@
             <property name="right_attach">5</property>
             <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
             <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+            <property name="x_padding">3</property>
+            <property name="y_padding">3</property>
           </packing>
         </child>
         <child>
@@ -2521,6 +2597,8 @@
             <property name="right_attach">6</property>
             <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
             <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+            <property name="x_padding">3</property>
+            <property name="y_padding">3</property>
           </packing>
         </child>
         <child>
@@ -2566,6 +2644,8 @@
             <property name="right_attach">7</property>
             <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
             <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+            <property name="x_padding">3</property>
+            <property name="y_padding">3</property>
           </packing>
         </child>
         <child>
@@ -2611,6 +2691,8 @@
             <property name="right_attach">8</property>
             <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
             <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+            <property name="x_padding">3</property>
+            <property name="y_padding">3</property>
           </packing>
         </child>
         <child>
@@ -2631,6 +2713,8 @@
             <property name="right_attach">9</property>
             <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
             <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+            <property name="x_padding">3</property>
+            <property name="y_padding">3</property>
           </packing>
         </child>
         <child>
@@ -2649,6 +2733,8 @@
             <property name="bottom_attach">3</property>
             <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
             <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+            <property name="x_padding">3</property>
+            <property name="y_padding">3</property>
           </packing>
         </child>
         <child>
@@ -2677,6 +2763,8 @@
             <property name="bottom_attach">5</property>
             <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
             <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+            <property name="x_padding">3</property>
+            <property name="y_padding">3</property>
           </packing>
         </child>
         <child>
@@ -2706,6 +2794,8 @@
             <property name="bottom_attach">3</property>
             <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
             <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+            <property name="x_padding">3</property>
+            <property name="y_padding">3</property>
           </packing>
         </child>
         <child>
@@ -2734,6 +2824,8 @@
             <property name="bottom_attach">3</property>
             <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
             <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+            <property name="x_padding">3</property>
+            <property name="y_padding">3</property>
           </packing>
         </child>
         <child>
@@ -2752,6 +2844,8 @@
             <property name="bottom_attach">2</property>
             <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
             <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+            <property name="x_padding">3</property>
+            <property name="y_padding">3</property>
           </packing>
         </child>
         <child>
@@ -2770,6 +2864,8 @@
             <property name="bottom_attach">2</property>
             <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
             <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+            <property name="x_padding">3</property>
+            <property name="y_padding">3</property>
           </packing>
         </child>
         <child>
@@ -2788,6 +2884,8 @@
             <property name="bottom_attach">2</property>
             <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
             <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+            <property name="x_padding">3</property>
+            <property name="y_padding">3</property>
           </packing>
         </child>
         <child>
diff --git a/src/math-buttons.vala b/src/math-buttons.vala
index eae87db..676ae13 100644
--- a/src/math-buttons.vala
+++ b/src/math-buttons.vala
@@ -421,27 +421,50 @@ public class MathButtons : Gtk.Box
                 button.clicked.connect ((widget) => { equation.insert_digit (widget.get_data<int> ("calc_digit")); });
             }
         }
+        Gdk.RGBA color = Gdk.RGBA();
         var button = builder.get_object ("calc_subtract_button") as Gtk.Button;
         if (button != null)
+        {
             button.clicked.connect (() => { equation.insert_subtract (); });
+            color.parse("silver");
+            button.override_background_color(Gtk.StateFlags.NORMAL,color);
+        }
         button = builder.get_object ("calc_x_squared_button") as Gtk.Button;
         if (button != null)
         {
             button.clicked.connect (() => { equation.insert_square (); });
             button.set_tooltip_text (_("Square [Ctrl+2]"));
+            color.parse("silver");
+            button.override_background_color(Gtk.StateFlags.NORMAL,color);
         }
         button = builder.get_object ("calc_undo_button") as Gtk.Button;
         if (button != null)
+        {
             button.clicked.connect (() => { equation.undo (); });
+            color.parse("silver");
+            button.override_background_color(Gtk.StateFlags.NORMAL,color);
+        }
         button = builder.get_object ("calc_result_button") as Gtk.Button;
         if (button != null)
+        {   
             button.clicked.connect (() => { equation.solve (); });
+            color.parse("blue");
+            button.override_background_color(Gtk.StateFlags.NORMAL,color);
+        }
         button = builder.get_object ("calc_clear_button") as Gtk.Button;
         if (button != null)
+        {  
             button.clicked.connect (() => { equation.clear (); });
+            color.parse("silver");
+            button.override_background_color(Gtk.StateFlags.NORMAL,color);
+        }
         button = builder.get_object ("calc_memory_button") as Gtk.Button;
         if (button != null)
+        {
             button.clicked.connect (memory_cb);
+            color.parse("silver");
+            button.override_background_color(Gtk.StateFlags.NORMAL,color);
+        }
         button = builder.get_object ("calc_function_button") as Gtk.Button;
         if (button != null)
             button.clicked.connect (function_cb);
@@ -615,12 +638,17 @@ public class MathButtons : Gtk.Box
     }
 
     private void setup_button (Gtk.Builder builder, string name, string? data, string? tooltip, bool connect = true)
-    {
+    {   
+        Gdk.RGBA color = Gdk.RGBA ();
         var widget_name = "calc_%s_button".printf (name);
         var button = builder.get_object (widget_name) as Gtk.Button;
         if (button == null)
             return;
-
+        if(button != null)
+        {
+            color.parse("silver");
+            button.override_background_color(Gtk.StateFlags.NORMAL,color);
+        }
         if (data != null)
         {
             button.set_data<string> ("calc_text", data);
@@ -687,6 +715,7 @@ public class MathButtons : Gtk.Box
                 return;
 
             _programming_base = value;
+            notify_property ("programming-base");
 
             if (mode == ButtonMode.PROGRAMMING)
                 equation.number_base = value;
=======
diff --git a/src/math-display.vala b/src/math-display.vala
index 613460a..842d879 100644
--- a/src/math-display.vala
+++ b/src/math-display.vala
@@ -8,12 +8,24 @@
  * license.
  */
 
+
+public enum Column { 
+         EQUATION,
+         ANSWER
+         
+         }
+
+public static int no_ofitems=0;
 public class MathDisplay : Gtk.Viewport
 {
     /* Equation being displayed */
     private MathEquation _equation;
     public MathEquation equation { get { return _equation; } }
 
+    public static Gtk.ScrolledWindow swH;
+    public static Gtk.TreeView view;
+    public static Gtk.ListStore listmodel;
+    
     /* Display widget */
     Gtk.SourceView source_view;
 
@@ -29,7 +41,36 @@ public class MathDisplay : Gtk.Viewport
 
         var main_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0);
         add (main_box);
-
+        
+        view = new Gtk.TreeView();
+        view.show();
+        listmodel = new Gtk.ListStore(2,  typeof(string), typeof(string));
+        view.set_model(listmodel);
+        var cell = new Gtk.CellRendererText ();
+        cell.set("weight_set", true);
+        cell.set("weight",400);
+        /*columns*/
+        view.insert_column_with_attributes (-1, "Equation",
+                                                cell, "text",
+                                                Column.EQUATION);
+
+	view.insert_column_with_attributes (-1, "Answer",
+                                                new Gtk.CellRendererText (),
+                                                "text", Column.ANSWER);
+        Gtk.TreeViewColumn firstcolumn= view.get_column(0);
+        view.set_enable_tree_lines(true);
+        view.set_grid_lines(Gtk.TreeViewGridLines.BOTH);
+        firstcolumn.set_fixed_width(225);
+        firstcolumn.set_sizing(Gtk.TreeViewColumnSizing.FIXED);             
+        Gtk.TreeViewColumn secondcolumn = view.get_column(1);
+        secondcolumn.set_fixed_width(75);
+        secondcolumn.set_sizing(Gtk.TreeViewColumnSizing.FIXED);
+        var selection = view.get_selection ();
+        selection.changed.connect (this.on_changed);
+        swH = new Gtk.ScrolledWindow(null,null);
+        main_box.add(swH);
+        swH.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC);
+        swH.add(view);
         source_view = new Gtk.SourceView.with_buffer (equation);
         source_view.set_accepts_tab (false);
         source_view.set_pixels_above_lines (8);
@@ -67,6 +108,7 @@ public class MathDisplay : Gtk.Viewport
 
         info_box.show ();
         info_view.show ();
+        swH.show();
         source_view.show ();
         main_box.show ();
 
@@ -76,6 +118,55 @@ public class MathDisplay : Gtk.Viewport
         equation.notify["error-token-end"].connect ((pspec) => { error_status_changed_cb (); });
     }
 
+    public static void update_history(MathEquationState s, string answer)
+    {  
+        no_ofitems = no_ofitems + 1;
+        string prev_equation = s.expression;
+        string prev_ans = answer;
+       
+        Gtk.TreeIter  iter1;
+         
+        listmodel.append(out iter1);
+        listmodel.set(iter1, Column.EQUATION, prev_equation, Column.ANSWER,prev_ans );
+       
+    }
+   public static bool check_history(string equation , string answer)
+    {
+        string eq;
+        string ans;
+        int m=no_ofitems-1;
+        Gtk.TreeIter iter2;
+        if (no_ofitems==0)
+            return true;
+        
+        if(no_ofitems >=1)
+        {
+            Gtk.TreePath path = new Gtk.TreePath.from_string (m.to_string());
+            listmodel.get_iter(out iter2,path);
+            listmodel.get(iter2,0, out eq);
+            listmodel.get(iter2,1,out ans);
+            if((eq!= equation) && (ans!= answer))
+                return true;
+             
+         }
+            return false;
+    }
+   public void on_changed (Gtk.TreeSelection selection) 
+    {
+	Gtk.TreeModel model;
+        Gtk.TreeIter iter;
+        string equation1="";
+	string answer1="";
+	if (selection.get_selected (out model, out iter))
+        {
+	    model.get (iter, Column.EQUATION, out equation1,
+                                   Column.ANSWER, out answer1
+                                   );
+        }
+        
+        _equation.display_selected(equation1);
+            
+	}
     private void create_autocompletion ()
     {
         Gtk.SourceCompletion completion = source_view.get_completion ();
diff --git a/src/math-equation.vala b/src/math-equation.vala
index 2afe358..840d070 100644
--- a/src/math-equation.vala
+++ b/src/math-equation.vala
@@ -15,9 +15,14 @@ public enum NumberMode
     SUPERSCRIPT,
     SUBSCRIPT
 }
+public static bool undoflag;
+public static bool undo_equal;
+
+public static bool solve_flag;
+public static bool answer_flag;
 
 /* Expression mode state */
-private class MathEquationState
+public class MathEquationState
 {
     public Number ans;             /* Previously calculated answer */
     public uint ans_base;          /* Representation base of previous answer. */
@@ -61,6 +66,12 @@ public class MathEquation : Gtk.SourceBuffer
         }
     }
 
+    public void display_selected(string selected)
+    {
+        set_text(selected, -1);
+
+    }
+    
     private string _source_currency;
     public string source_currency
     {
@@ -403,7 +414,21 @@ public class MathEquation : Gtk.SourceBuffer
     }
 
     private void clear_ans (bool do_remove_tag)
-    {
+    {   
+        bool check;
+        if(( solve_flag == true ) && ( answer_flag == false ))
+        {
+            MathEquationState s = undo_stack.nth_data(0);
+            var ans_text = serializer.to_string(get_current_state().ans);
+            check = MathDisplay.check_history( s.expression, ans_text);
+            if((s.expression != ans_text) && (check == true))
+            MathDisplay.update_history(s, ans_text);
+            solve_flag = false;
+        }
+        if(( solve_flag == true) && ( answer_flag == true ))
+        {
+            answer_flag = false;
+        }
         if (ans_start_mark == null)
             return;
 
@@ -428,28 +453,128 @@ public class MathEquation : Gtk.SourceBuffer
 
         state.ans = s.ans;
         state.ans_base = s.ans_base;
-        set_text (s.expression, -1);
+        var ans_text = serializer.to_string(state.ans);
+        
+        int length = 0;
+        int k1 = 0;
+        var index = 0;
+        unichar c;
+        const unichar superscript_digits[] = {'⁰', '¹', '²', '³', '⁴', '⁵', '⁶', '⁷', '⁸', '⁹'};
+        while (ans_text.get_next_char (ref index, out c))
+        {
+            length = length+1;                            
+        }
+
+        var text = s.expression; 
+        index = 0;
+        while (text.get_next_char (ref index, out c))
+        {
+            var i = index;
+            unichar next_char;
+            if ((text.get_next_char (ref i, out next_char))&&(next_char in superscript_digits))
+            {
+                k1 = k1+1;
+            }
+        }
+      
+        if((undoflag == false) && (ans_text != text)) 
+        { 
+          
+            if((length != ans_text.length) && (k1 != 0))
+            {
+                string content = text;
+                bool flag = false;
+                var sb = new StringBuilder ();
+                var sd = new StringBuilder ();
+                unowned string prev = "";
+                unichar co;
+                unichar prev1;
+                for (unowned string so = content; so.get_char () != 0; so = so.next_char ()) 
+                {
+                    co = so.get_char ();
+                    if (prev == "")
+                    {
+                        prev1 = so.get_char();
+                        prev = so;
+                    }
+                    else
+                    {  
+                        prev = so.prev_char();
+                        prev1 = prev.get_char();
+                        sd.append_unichar(prev1);
+                        if((prev1 in superscript_digits)&&!(co in superscript_digits)&&(flag == false))
+                        {
+                            flag = true;
+                        }
+                    }
+              
+                    if(flag == true)
+                        {
+                        sb.append_unichar (co);
+                        }
+                }
+
+                text = sb.str;
+                var build = new StringBuilder();
+                build.append(text);
+                build.prepend(ans_text);
+                text = build.str;
+              
+            }
+            else 
+            {
+                index = 0;
+                if(text.get_next_char (ref index, out c)&&(c.isdigit() == false))
+                {
+                    text = text.splice( s.ans_start, s.ans_end+2, ans_text );
+                    //for negative numbers
+                }
+                else 
+               { 
+                   if((s.ans_start != -1)&&(s.ans_end != -1))
+                   {
+                       text = text.splice( s.ans_start, s.ans_end, ans_text );
+                   }
+                   
+                    
+               }    
+            }
+        }
+        set_text (text, -1);
         Gtk.TextIter cursor;
-        get_iter_at_offset (out cursor, s.cursor);
+        get_iter_at_offset (out cursor, text.length);
         place_cursor (cursor);
         clear_ans (false);
-        if (s.ans_start >= 0)
+        if ((s.ans_start >= 0) && (undoflag == false))
+        {   
+            Gtk.TextIter start;
+            get_iter_at_offset (out start, s.ans_start);
+            ans_start_mark = create_mark (null, start, false);
+            Gtk.TextIter end;
+            s.ans_end=length;
+            get_iter_at_offset (out end, length);
+            ans_end_mark = create_mark (null, end, true);
+            apply_tag (ans_tag, start, end); 
+        }
+        if((s.ans_start >= 0)&&(undoflag == true))
         {
+          
             Gtk.TextIter start;
             get_iter_at_offset (out start, s.ans_start);
             ans_start_mark = create_mark (null, start, false);
             Gtk.TextIter end;
+            MathEquationState prev=undo_stack.nth_data(0);
+            s.ans_end=prev.expression.length;
             get_iter_at_offset (out end, s.ans_end);
             ans_end_mark = create_mark (null, end, true);
-            apply_tag (ans_tag, start, end);
+            apply_tag (ans_tag, start, end); 
         }
-
         number_mode = s.number_mode;
         can_super_minus = s.can_super_minus;
         state.entered_multiply = s.entered_multiply;
         status = s.status;
 
-        in_undo_operation = false;
+        in_undo_operation = false; 
     }
 
     public void copy ()
@@ -486,6 +611,7 @@ public class MathEquation : Gtk.SourceBuffer
         state = undo_stack.nth_data (0);
         status = ("");
         undo_stack.remove (state);
+        undoflag = true;
         redo_stack.prepend (get_current_state ());
 
         apply_state (state);
@@ -506,7 +632,20 @@ public class MathEquation : Gtk.SourceBuffer
 
         apply_state (state);
     }
-
+     
+    public void push_state () 
+    {  
+        if (in_undo_operation)
+            return;
+        
+        status = "";
+        redo_stack = new List<MathEquationState> ();
+        MathEquationState state2=undo_stack.nth_data (0);
+        
+        undo_stack.prepend(get_current_state());
+        undoflag = false;
+        apply_state(state2);        
+    }
     public unichar get_digit_text (uint digit)
     {
         if (digit >= 16)
@@ -660,9 +799,19 @@ public class MathEquation : Gtk.SourceBuffer
             var ans_start = -1, ans_end = -1;
             if (ans_start_mark != null)
                 get_ans_offsets (out ans_start, out ans_end);
-            if (ans_start >= 0)
+            if ((ans_start >= 0)&&(undoflag == false)&&(undo_equal == false))
+            {
                 text = text.splice (text.index_of_nth_char (ans_start), text.index_of_nth_char (ans_end), "ans");
-
+            }
+            if((ans_start >= 0)&&(undoflag == false)&&(undo_equal == true))
+            { 
+                undo_equal=false;
+            }
+            if ((ans_start >= 0)&&(undoflag == true))
+            {
+                undoflag = false;
+                undo_equal = true;
+            }
             var last_is_digit = false;
             var index = 0;
             unichar c;
@@ -686,8 +835,9 @@ public class MathEquation : Gtk.SourceBuffer
 
                 last_is_digit = is_digit;
             }
-
+          
             return eq_text;
+           
         }
     }
 
@@ -719,7 +869,11 @@ public class MathEquation : Gtk.SourceBuffer
 
     public Number answer
     {
-        get { return state.ans; }
+        get 
+        { 
+            answer_flag=true;
+            return state.ans;
+        }
     }
 
     public void store (string name)
@@ -993,7 +1147,8 @@ public class MathEquation : Gtk.SourceBuffer
     }
 
     public void solve ()
-    {
+    {    
+         solve_flag=true;
         // FIXME: should replace calculation or give error message
         if (in_solve)
             return;
@@ -1005,7 +1160,7 @@ public class MathEquation : Gtk.SourceBuffer
         // FIXME: Result may not be here due to solve (i.e. the user may have entered "ans")
         if (is_result)
         {
-            undo ();
+            push_state ();
             return;
         }
 
>>>>>>> 8f56708cdd439c082f974810d816f9f437165c02
