web-dev-qa-db-ja.com

タイトルバーとウィンドウの装飾なしでアプリケーションを起動する

タイトルバーとウィンドウ装飾なしでVLCを起動したい。次の行を使用してVLCを起動しています。

vlc -I dummy --no-video-deco --no-embedded-video test.mpg

残念ながら、これはXFCEのタイトルバーを削除しません。可能であれば、任意のアプリケーションの装飾を削除する一般的なソリューションがあれば便利です。

現在、XFCEでDebian Jessieを使用していますが、これは何にでも変更できます。重要なのは、この問題の一般的な解決策です。

4
anders

Devil's Pie または Devilspie2 を使用して、ウィンドウの装飾を削除します。どちらもどのアプリケーションでも機能する可能性があります。そうでない場合、クライアント側の装飾 のアプリケーションに対しては機能しません。

デビルズパイの使用

Devil's Pieの場合は、テキストエディターを開き、次のコードを入力します。

(if (is (application_name) "VLC media player") (undecorate))

任意のファイル名で$HOME/.devilspie/filename.dsにファイルとして保存します。ファイル拡張子が.dsであることを確認してください。最後に、ターミナルでdevilspieを実行して結果を確認します。

Devilspie2の使用

Devilspie2の場合、テキストエディターを開き、次のコードを入力します。

if (get_application_name()=="VLC media player") then
   undecorate_window();
end

任意のファイル名で$HOME/.config/devilspie2/filename.luaにファイルとして保存します。ファイル拡張子が.luaであることを確認してください。最後に、ターミナルでdevilspie2を実行して、結果を確認します。

デビルズパイvsデビルスパイ2

これらのツールの違いを生むものが1つあるとすれば、それは後者です。 Devilspie2は、他のツールからwmctrl -lのような個別のコマンドを実行しなくても、実行中のアプリケーションのウィンドウ名とアプリケーション名を確認する便利な方法を提供します。

Devilspie2でデバッグ情報を表示するには、.luaファイルに次のコードを追加します。

debug_print("Window name: " .. get_window_name());
debug_print("Application name: " .. get_application_name());

実行中のインスタンスを終了し、ターミナルでdevilspie2 -dを実行すると、次のように出力されます。

Running devilspie2 in debug mode.
[...]
Window Name: VLC media player
Application name: VLC media player
Window Name: Dictionary
Application name: xfce4-dict

スクリプトの例と詳細については、/usr/share/doc/devilspie2を参照してください。

Debianパッケージの検索結果 によると、Devil's PieとDevilspie2はどちらもDebianリリースのすべてのリポジトリ(oldstable、stable、testing、unstable)で利用できます。

Debian 8XfceとXubuntu14.04(どちらもXfce 4.10を実行)でDevil's PieとDevilspie2をテストし、Linux Mint Debian Edition 3(Cinnamon 3.8)でDevilspie2をテストしました。

2
clearkimura