我想知道如何在 Ubuntu 12.04 中删除或隐藏聊天状态部分(可用、离开、忙碌、隐身和离线)来自消息菜单,因为我没有使用任何即时通讯工具。我不想删除整个菜单,只想删除那部分。
非常感谢并致以最诚挚的问候!!
答案1
适用于 12.04
这是可能的...
如您所见,状态部分已被删除,只剩下广播和邮件部分
从积极的角度来说,开源意味着您可以直接访问实际的源代码。您可以查询和更改代码……只要您将代码更改返还给其他人!
下面演示了包所需的代码更改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 行左右添加如下行:
消息服务.c
在函数“resort_menu”的第 893 行左右,注释掉显示的/*
代码*/
让我们编译
要编译此文件,请移至父文件夹
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
几乎相同的步骤如何从消息菜单中删除(或隐藏)聊天状态图标
安装构建先决条件
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
与 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 包以完全删除它,或者查看此链接根据您的需要进行配置。