Как удалить (или скрыть) значки статуса чата из меню сообщений

Я бы знал, как удалить или скрыть в Ubuntu 12.04 раздел "Статус чата" (доступен, нет, занят, невидим и отключен) из меню сообщений, поскольку я не использую мгновенные сообщения. Я не хочу удалять все меню, только этот раздел.

Большое спасибо и наилучшие пожелания!!

Скриншот раздела статуса чата

3 ответа

ЗА 12.04

Если вы используете 13.10 или новее, смотрите здесь.,


Возможно...

фильм

Как видите, раздел статуса был удален, оставив только разделы Broadcast и Mail.

Положительное вращение - открытый исходный код означает, что у вас есть прямой доступ к фактическому исходному коду. Вы можете запрашивать и изменять код... до тех пор, пока вы возвращаете изменения кода другим!

Итак, здесь - следующее демонстрирует изменения кода, необходимые для пакета indicator-messages

предпосылки

Получим исходные пакеты из репозитория:

sudo apt-get build-dep indicator-messages
apt-get source indicator-messages

Это создаст папку - имя будет меняться в зависимости от версии пакета indicator-messages, Для 12.04 эта папка indicator-messages-0.6.0

изменения кода

Два модуля в папке indicator-messages-0.6.0 нужно будет изменить.

cd indicator-messages-0.6.0/src

статус-items.c

Используя ваш любимый редактор, добавьте строку return NULL; на или около строки 80 в показанной функции status_items_build:

pic2

Сообщения-service.c

В строке 893 или около нее в функции "resort_menu" закомментируйте код, показанный /* а также */

pic3

давайте скомпилируем

Чтобы скомпилировать это, перейдите в родительскую папку

cd ..

Скомпилируйте, сделайте и установите:

./configure
make
sudo make install

Выйти и войти.

отменить

Чтобы отменить ваши изменения:

cd indicator-messages-0.6.0
sudo make uninstall
sudo apt-get --reinstall install indicator-messages

За 13.10

Если вы используете для 12.04 см. Здесь.


Практически те же шаги в разделе Как удалить (или скрыть) значки статуса чата из меню сообщений

  • Установите необходимые условия сборки

    sudo apt-get build-dep indicator-messages
    
  • Скачать исходный архив

    apt-get source indicator-messages
    
  • изменять src/im-desktop-menu.c, добавлять /* а также */ комментировать ненужное меню, как показано здесь:

    /*
    static GMenu *
    create_status_section (void)
    {
      GMenu *menu;
      GMenuItem *item;
    ...
        g_object_unref (item);
        return menu;
    }
    */
    
    /*
      {
        GMenu *status_section;
    
        status_section = create_status_section();
        im_menu_append_section (IM_MENU (menu), G_MENU_MODEL (status_section));
    
        g_object_unref (status_section);
      }
    */
    

    Удалять Clear пункт меню тоже:

    /*
      {
        GMenu *clear_section;
    
        clear_section = g_menu_new ();
        g_menu_append (clear_section, _("Clear"), "indicator.remove-all");
        im_menu_append_section (IM_MENU (menu), G_MENU_MODEL (clear_section));
    
        g_object_unref (clear_section);
      }
    */
    
  • компилировать

    ./autogen.sh
    ./configure
    make
    
  • устанавливать

    sudo make install
    

    Или, как я, я просто заменяю его, не удаляя оригинал (я использую 64bit):

    Резервное копирование оригинала

    sudo mv /usr/lib/x86_64-linux-gnu/indicator-messages/indicator-messages-service /usr/lib/x86_64-linux-gnu/indicator-messages/indicator-messages-service_orig
    

    Скопируйте новую скомпилированную версию

    sudo cp ./src/indicator-messages-service /usr/lib/x86_64-linux-gnu/indicator-messages/indicator-messages-service_mod
    

    Создать ссылку на новую скомпилированную версию

    sudo ln -s /usr/lib/x86_64-linux-gnu/indicator-messages/indicator-messages-service_mod /usr/lib/x86_64-linux-gnu/indicator-messages/indicator-messages-service
    

За 14.04

Если вы используете для 12.04 см. Здесь.

Те же шаги, что и 13.10 с различными модификациями


  • изменять src/im-desktop-menu.c, добавлять /* а также */ комментировать ненужное меню, как показано здесь:

    /*
    static void
    menu_append_status (GMenu       *menu,
                                const gchar *label,
                        const gchar *detailed_action,
                        const gchar *icon_name)
    {
      GMenuItem *item;
      GIcon *icon;
    ...
    
      g_object_unref (icon);
      g_object_unref (item);
    }
    
    static void
    im_desktop_menu_show_chat_section (ImDesktopMenu *menu)
    {
              GMenu *status_section;
    ...
      menu->status_section_visible = TRUE;
    
      g_object_unref (status_section);
    }
    */
    ...
    
    /*
      if (g_desktop_app_info_get_boolean (app_info, "X-MessagingMenu-UsesChatSection"))
        im_desktop_menu_show_chat_section (menu);
    */
    

Вы можете удалить пакет индикаторных сообщений из центра программного обеспечения, чтобы полностью удалить его, или просмотреть эту ссылку, чтобы настроить его для своих нужд.

Другие вопросы по тегам