适用于 12.04

适用于 12.04

我想知道如何在 Ubuntu 12.04 中删除或隐藏聊天状态部分(可用、离开、忙碌、隐身和离线)来自消息菜单,因为我没有使用任何即时通讯工具。我不想删除整个菜单,只想删除那部分。

非常感谢并致以最诚挚的问候!!

聊天状态部分截图

答案1

适用于 12.04

如果您使用的是 13.10 或更新版本,请参见此处。


这是可能的...

图片

如您所见,状态部分已被删除,只剩下广播和邮件部分

从积极的角度来说,开源意味着您可以直接访问实际的源代码。您可以查询和更改代码……只要您将代码更改返还给其他人!

下面演示了包所需的代码更改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

状态项.c

return NULL;使用您最喜欢的编辑器在函数“status_items_build”的第 80 行左右添加如下行:

图片2

消息服务.c

在函数“resort_menu”的第 893 行左右,注释掉显示的/*代码*/

图片3

让我们编译

要编译此文件,请移至父文件夹

cd ..

编译、制作和安装:

./configure
make
sudo make install

注销并登录。

撤销

要撤消更改:

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

答案2

对于 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
    

    或者像我一样直接替换它,而不卸载原版(我使用 64 位):

    备份原件

    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);
    */
    

答案3

您可以从软件中心删除 indicator-messages 包以完全删除它,或者查看此链接根据您的需要进行配置。

相关内容