Настройка цвета подсказки

Решил обновить Ubuntu до последней (12.04) версии.
Вместе с системой обновилась и среда рабочего стола (desktop environment). Unity не понравился. Да, красивый, но не удобный. Попробовал панель Cairo-Dock. Стало еще красивей, еще интересней, но все равно не то.
Можно, конечно, было привыкнуть, но лучше за день настроить под себя, чем неделю привыкать. С этой мыслью и решил попробовать Xfce.

Удобная, быстрая среда. Довольно-таки быстро подстроил под себя. Практически также как и было до обновления.

Встречаются, правда, нюансы.

При отображении подсказок в PDT Eclipse надписи были черным текстом на черном фоне, что совсем не способствовало читабельности.

Погуглив, нашел решение:
прописываем в файл ~/.gtkrc-2.0 (для одного пользователя) или в файл /etc/gtk-2.0/gtkrc (для всех пользователей системы) следующий код:

style "my-tooltips"
{
        bg[NORMAL] = "#777777" #цвет фона
	fg[NORMAL] = "#000000" #цвет шрифта
}
 
widget "*tooltip*" style "my-tooltips"

Затем изменяем тему на любую другую и обратно (чтобы изменения вошли в силу) и вуаля.

Добавляем кнопки к редактору в полноэкранном режиме

На прошлой неделе я уже писал как добавить кнопки к текстовому редактору. Однако я совсем упустил из виду что есть еще и полноэкранный режим редактирования (который появился в WordPress версии 3.2)

Исправляю свою оплошность.

add_filter('wp_fullscreen_buttons', 'foo_fullscreen_button');
function foo_fullscreen_button($buttons) {
  $buttons[] = 'separator';
 
  $buttons['foo_button'] = array(
    'title' => __('Foo Button'),
    'onclick' => "alert('Hello World');",
    'both' => true //отображать нашу кнопку и в HTML-редакторе и в Visual-редакторе
  );
  return $buttons;
}

Ссылки по теме:

Добавляем кнопки к редактору WordPress

Добавление кнопки к HTML-редактору.

Для этого необходимо использовать javascript функцию QTags.addButton, которая выглядит следующим образом:

QTags.addButton(id, display, arg1, arg2, access_key, title, priority, instance);

наиболее используемые параметры:

id – уникальный id нашей кнопки;

display – имя, которое будет отображаться;

arg1 – открвыающий тэг;

arg2 – закрывающий тэг;

access_key – горячая клавиша;

title – аттрибут title кнопки.

Пример:

<script type="text/javascript">// <![CDATA[
QTags.addButton('fb_button', 'button_name', '[button]', '[/button]', 'b', 'button_name');
// ]]></script>

Также вместо открывающего/закрывающего тэга можно использовать ф-цию, которая будет выполняться при нажатии на кнопку:

<script type="text/javascript">// <![CDATA[
QTags.addButton('fb_button', 'button_name', fb_callback);
 
function fb_callback() {
alert('Hello World!');
}
// ]]></script>

Добавление кнопки к visual-редактору.

add_action('init', 'foo_addbuttons');
function foo_addbuttons() {
  if (!current_user_can('edit_posts') &amp;&amp; !current_user_can('edit_pages')) return;
 
  if (get_user_option('rich_editing')=='true') {
    add_filter('mce_buttons', 'foo_mce_register_button');
    add_filter("mce_external_plugins", "foo_add_tinymce_plugin");
  }
}
 
//регистрируем кнопку
function foo_mce_register_button($buttons) {
  array_push($buttons, '|', 'foo_button');
  return $buttons;
}
 
//добавляем плагин к TinyMCE
function foo_add_tinymce_plugin($plugin_array) {
  $plugin_array['foo_button'] = get_stylesheet_directory_uri() . '/js/foo_mce_plugin.js';
  return $plugin_array;
}

Теперь в папке js темы (для плагина, думаю не составит труда изменить путь) создаем файл со скриптом плагина для TinyMCE (foo_mce_plugin.js):

(function() {
  tinymce.create('tinymce.plugins.foo', {
    init: function(ed, url) {
      ed.addButton('foo_button', {
        title: 'Foo Button',
        image: url + '/foo_btn.gif',
        onclick: function() {
          ed.windowManager.alert('Hello world!');
        }
      });
    },
    createControl: function(n, cm) {
      return null;
    },
    getInfo: function() {
      return {
        longname : 'FooBar Button',
        author : 'John Doe',
        authorurl : 'http://JohnDoe.tld/',
        infourl : 'http://FooBar.JohnDoe.tld/',
        version : '1.0'
      };
    }
  });
  tinymce.PluginManager.add('foo_button', tinymce.plugins.foo);
})();

Ссылки по теме: