diff --git a/panels_ipe/css/panels_ipe.css b/panels_ipe/css/panels_ipe.css
index 7566a30..88da068 100644
--- a/panels_ipe/css/panels_ipe.css
+++ b/panels_ipe/css/panels_ipe.css
@@ -164,6 +164,10 @@ div.panels-ipe-newblock {
   z-index: 99;
 }
 
+div.panels-ipe-newblock li {
+  padding: 0;
+}
+
 div.panels-ipe-handlebar-wrapper li a,
 div.panels-ipe-dragtitle span,
 div.panels-ipe-newblock a,
diff --git a/panels_ipe/js/panels_ipe.js b/panels_ipe/js/panels_ipe.js
index 650adee..b127df1 100644
--- a/panels_ipe/js/panels_ipe.js
+++ b/panels_ipe/js/panels_ipe.js
@@ -233,17 +233,6 @@ function DrupalPanelsIPE(cache_key, cfg) {
     ipe.showForm();
     ipe.topParent.addClass('panels-ipe-editing');
 
-    //Reposition the "Add new pane" button
-    $('.panels-ipe-newblock').each(function() {
-      var link_width_half = parseInt($(this).children('a').outerWidth() / 2);
-
-      $(this).css('margin-left', '-' + link_width_half + 'px');
-
-      $(this).css('margin-top', '-' + parseInt($(this).children('a').outerHeight() / 2) + 'px');
-
-      $(this).parents('.panels-ipe-placeholder').find('h3').css('width', parseInt(($(this).parents('.panels-ipe-placeholder').width() / 2) - link_width_half) + 'px');
-    });
-
   };
 
   this.hideContainer = function() {
diff --git a/panels_ipe/panels_ipe.module b/panels_ipe/panels_ipe.module
index 7aeb915..c309684 100644
--- a/panels_ipe/panels_ipe.module
+++ b/panels_ipe/panels_ipe.module
@@ -73,18 +73,17 @@ function theme_panels_ipe_placeholder_pane($vars) {
   return $output;
 }
 
-function theme_panels_ipe_pane_wrapper($vars) {
-  $output = $vars['output'];
+function template_preprocess_panels_ipe_pane_wrapper(&$vars) {
   $pane = $vars['pane'];
   $display = $vars['display'];
   $renderer = $vars['renderer'];
 
   $content_type = ctools_get_content_type($pane->type);
   $subtype = ctools_content_get_subtype($content_type, $pane->subtype);
-  $links = array();
+  $vars['links'] = array();
 
   if (ctools_content_editable($content_type, $subtype, $pane->configuration)) {
-    $links['edit'] = array(
+    $vars['links']['edit'] = array(
       'title' => isset($content_type['edit text']) ? '<span>' . $content_type['edit text'] . '</span>' : '<span>' . t('Settings') . '</span>',
       'href' => $renderer->get_url('edit-pane', $pane->pid),
       'html' => TRUE,
@@ -98,7 +97,7 @@ function theme_panels_ipe_pane_wrapper($vars) {
 
   // Add option to configure style in IPE
   if (user_access('administer panels styles')) {
-    $links['style'] = array(
+    $vars['links']['style'] = array(
       'title' => '<span>' . t('Style') . '</span>',
       'href' => $renderer->get_url('style-type', 'pane', $pane->pid),
       'html' => TRUE,
@@ -111,7 +110,7 @@ function theme_panels_ipe_pane_wrapper($vars) {
 
   // Deleting is managed entirely in the js; this is just an attachment point
   // for it
-  $links['delete'] = array(
+  $vars['links']['delete'] = array(
     'title' => '<span>' . t('Delete') . '</span>',
     'href' => '#',
     'html' => TRUE,
@@ -122,11 +121,25 @@ function theme_panels_ipe_pane_wrapper($vars) {
     ),
   );
 
+  $context = array(
+    'pane' => $pane,
+    'display' => $display,
+    'renderer' => $renderer
+  );
+  drupal_alter('panels_ipe_pane_links', $vars['links'], $context);
+
+}
+
+function theme_panels_ipe_pane_wrapper($vars) {
+  $output = $vars['output'];
+  $pane = $vars['pane'];
+
   $attributes = array(
     'class' => 'panels-ipe-linkbar',
   );
 
-  $links = theme('links', array('links' => $links, 'attributes' => $attributes));
+  $links = theme('links', array('links' => $vars['links'], 'attributes' => $attributes));
+
   if (!empty($pane->locks['type']) && $pane->locks['type'] == 'immovable') {
     $links = '<div class="panels-ipe-dragbar panels-ipe-nodraghandle clearfix">' . $links . '</div>';
   }
@@ -135,6 +148,7 @@ function theme_panels_ipe_pane_wrapper($vars) {
   }
 
   $handlebar = '<div class="panels-ipe-handlebar-wrapper panels-ipe-on">' . $links . '</div>';
+
   return $handlebar . $output;
 }
 
@@ -142,33 +156,53 @@ function theme_panels_ipe_region_wrapper($vars) {
   return $vars['controls'] . $vars['output'];
 }
 
-function theme_panels_ipe_add_pane_button($vars) {
+function template_preprocess_panels_ipe_add_pane_button(&$vars) {
   $region_id = $vars['region_id'];
   $display = $vars['display'];
   $renderer = $vars['renderer'];
-  $link = '';
+  $vars['links'] = '';
 
   // Add option to configure style in IPE
   if (user_access('administer panels styles')) {
-    $link .= ' ' . l('<span>' . t('Region style') . '</span>', $renderer->get_url('style-type', 'region', $region_id), array(
+    $vars['links']['style'] = array(
+      'title' => '<span>' . t('Region style') . '</span>',
+      'href' => $renderer->get_url('style-type', 'region', $region_id),
+      'html' => TRUE,
       'attributes' => array(
-        'class' => array('ctools-use-modal', 'style', 'panels-ipe-hide-bar'),
+        'class' => array('ctools-use-modal', 'panels-ipe-hide-bar', 'style'),
         'title' => t('Region style'),
       ),
-      'html' => TRUE,
-    ));
+    );
   }
 
   // Add option to add items in the IPE
-  $link .= ' ' . l('<span>' . t('Add new pane') . '</span>', $renderer->get_url('select-content', $region_id), array(
-      'attributes' => array(
-        'class' => array('ctools-use-modal', 'add', 'panels-ipe-hide-bar'),
-        'title' => t('Add new pane'),
-      ),
-      'html' => TRUE,
-  ));
+  $vars['links']['add-pane'] = array(
+    'title' => '<span>' . t('Add new pane') . '</span>',
+    'href' => $renderer->get_url('select-content', $region_id),
+    'attributes' => array(
+      'class' => array('ctools-use-modal', 'add', 'panels-ipe-hide-bar'),
+      'title' => t('Add new pane'),
+    ),
+    'html' => TRUE,
+  );
+
+  $context = array(
+    'region_id' => $region_id,
+    'display' => $display,
+    'renderer' => $renderer,
+  );
+  drupal_alter('panels_ipe_region_links', $vars['links'], $context);
+
+}
+
+function theme_panels_ipe_add_pane_button($vars) {
+  $attributes = array(
+    'class' => array('panels-ipe-linkbar', 'inline'),
+  );
+
+  $links = theme('links', array('links' => $vars['links'], 'attributes' => $attributes));
 
-  return '<div class="panels-ipe-newblock panels-ipe-on">' . $link . '</div>';
+  return '<div class="panels-ipe-newblock panels-ipe-on">' . $links . '</div>';
 }
 
 /**
