web-dev-qa-db-ja.com

XFCE:タスクバーからアプリケーションを隠す

Xubuntu 14.04.2を実行しており、xfce4-panelを介してデフォルトのウィンドウボタンアプレットで標準ウィンドウマネージャーを実行しています。タスクバーからアプリケーションを非表示にして、Alt-Tabメニューにのみ表示され、パネルには表示されないようにする必要があります。

これをどのように行うことができるかについてのアイデアはありますか?カレンダーユーティリティOrageにはこのオプションが組み込まれているため、これは可能です。いろんなことをいじって、あらゆるアプリでこれを可能にすることができるはずです。

7
yamatau

Devil's Pieはおそらくこれを行う最も簡単な方法ですが、期待どおりに機能しませんXubuntuまたはXfceを特定します。同じことはDevilspie2にも当てはまります。

前提条件

'skip'プロパティがウィンドウマネージャーによってnot処理されないことを確認してください。これはXfceでは必須ですが、他のデスクトップ環境では不要な場合があります。

Xfceで、Settings Manager>Window Manager Tweaks>サイクリングタブとこのオプションを探します「ページャーをスキップ」または「タスクバーをスキップ」プロパティが設定されているウィンドウをスキップします。オプションをオフに設定します(チェックボックスは空です)。

オプションがチェックされたままの場合(チェックボックスが選択されている場合)、アプリケーションは完全に非表示になり、 my answer で説明されているように「偽の結果」になります。

悪魔のパイを使用する

たとえば、タスクバーからXfce4辞書アプリケーションウィンドウを非表示にします。

  1. テキストエディターを開き、次を入力します。

    (if (is (application_name) "xfce4-dict") (skip_tasklist))
    
  2. $HOME/.devilspie/hide.dsとして保存します(ファイル名は任意ですが、.ds拡張子が必要です)。

  3. ターミナルでdevilspieを実行します。

ステップ1では、代わりに(window_name)"Dictionary"とともに使用します。これは、タイトルバーに表示されるテキストです。ただし、一部のアプリケーションでは内容に応じてテキストが変更されるため、代わりに(application_name)を使用することをお勧めします。

Devilspie2の使用

同じ例がDevilspie2の使用に適合しています。

  1. テキストエディターを開き、次を入力します。

    if (get_application_name()=="xfce4-dict") then
       set_skip_tasklist(true);
    end
    
  2. $HOME/.config/devilspie2/skip.luaとして保存します(ファイル名は任意ですが、.lua拡張子が必要です)。

  3. ターミナルでdevilspie2を実行します。

使用するもの

ユーザーが好む方を使用してください。 Devil's PieとDevilspie2には同様の機能がありますが、各スクリプトは異なり、互いに互換性がありません。 Devilspie2はLUAスクリプトを検索し、元のDevil's Pieのルールはサポートされていません。

このUbuntuパッケージの検索結果 によると、両方のUbuntuのサポートされているリリースのユニバースリポジトリで利用できます。

どちらにも、デバッグ出力を出力する詳細出力用の-dオプションがあります。 Devilspie2にはさらにいくつかのオプションがあります。つまり、$HOME/.config/devilspie2以外のスクリプトを探すフォルダーを指定します。

どちらもXubuntu 14.04(Xfce 4.10)でテストされています。

開発状況

このGNOME Wiki は、Devil's Pieは実際にはメンテナンスされていないことを指摘しました。 開発者サイト は、バージョン0.22が2007年後半に更新された最後のバージョンであることを示しました。 Launchpadのこの変更ログ は、バージョン0.22-2。

3
clearkimura

悪魔のパイなしでそれを行う方法(2):

  • 行う:

    xprop | grep "CLASS"

    タスクバーから削除したいウィンドウをクリックします。

  • これはWM_CLASS(STRING) = "name", "name"のようなものを返します
  • 好みに応じて、programスタートアップスクリプトを作成するか、1回実行します。

    wmctrl -x -r name.name -b add,skip_taskbar

出典:

5
Muehe

タスクバーから特定のウィンドウを削除する最も速くて簡単な方法は、wmctrlで特別な文字列:SELECT:を使用することです。

wmctrl -r :SELECT: -b add,skip_taskbar

...これで、非表示にするウィンドウをクリックするだけで済みます。

このウィンドウをタスクバーに戻す必要がある場合は、使用します

wmctrl -r :SELECT: -b remove,skip_taskbar

ソース:

  • Muehe 答えが助けてくれた
  • wmctrl -h
3
Oles