web-dev-qa-db-ja.com

メッセージングメニューからチャットステータスアイコンを削除(または非表示)する方法

Ubuntu 12.04でインスタントメッセンジャーを使用していないため、メッセージングメニューから チャットステータスセクション (使用可能、退席中、ビジー、非表示、オフライン)を削除または非表示にする方法を知っています。メニュー全体を削除するのではなく、そのセクションだけを削除します。

どうもありがとうございました!!

Chat status section screenshot

6
user44849

12.04

13.10以降を使用している場合は、こちらを参照してください。


それが可能だ...

pic

ご覧のとおり、ステータスセクションは削除され、ブロードキャストセクションとメールセクションのみが残ります。

積極的なスピンをかけるには、オープンソースとは、実際のソースコードに直接アクセスできることを意味します。コードの変更を他の人に返す限り、コードを調べて変更することができます!

それで、ここに行きます-パッケージ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内の2つのモジュールを変更する必要があります。

cd indicator-messages-0.6.0/src

status-items.c

お気に入りのエディターを使用して、表示された関数「status_items_build」の行80またはその周辺に行return NULL;を追加します。

pic2

messages-service.c

関数「resort_menu」の行893またはその周辺で、/*および*/で示されているコードをコメント化します。

pic3

コンパイルしましょう

これをコンパイルするには、親フォルダーに移動します

cd ..

コンパイル、作成、インストール:

./configure
make
Sudo make install

ログアウトとログイン。

元に戻すには

変更を取り消すには:

cd indicator-messages-0.6.0
Sudo make uninstall
Sudo apt-get --reinstall install indicator-messages
15
fossfreedom

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);
    */
    
4
user.dz

ソフトウェアセンターからインジケーターメッセージパッケージを削除して完全に削除するか、または このリンク を参照してニーズに合わせて構成します。

0
Saeed Zarinfam