web-dev-qa-db-ja.com

別のコマンドで開いたウィンドウを固定するにはどうすればよいですか?

私はコミュニケーション、特にμToxクライアントにToxを頻繁に使用しています。私は最近DebianからUbuntuに切り替えて、それが素晴らしい代替手段だと思っていますが、常に問題が1つあります。 μToxをよく使うので、タスクバーに固定したいと思います。カスタム_.desktop_エントリを作成し、Unity Dashに表示されますが、μToxの作成方法が原因で、Dashでクリックすると、最初に実際のμToxプロセスが開きますが、その後非表示になります。それ自体が開き、μTox (Alpha) (version: 0.8.1)という別のウィンドウが開きます。これは、_.desktop_ファイルが実行する元のutoxプロセスの子プロセスであるため、タスクバーに固定できないことを意味します。

では、μToxをタスクバーに固定するにはどうすればよいですか?

2
George Gibson

あなたが実際に何を意味するのか理解するまでに少し時間がかかりましたが、答えは次のとおりです。

WM_CLASSがありません

あなたが言う時:

"ダッシュでクリックすると、最初に実際のμToxプロセスが開きますが、それ自体が非表示になり、μTox(アルファ)(バージョン:0.8.1)という別のウィンドウが開きます。"

...それは何が起こっているのかについての小さな誤解です。 2番目のプロセスはありませんが、作成したランチャーとアプリケーションはUnityランチャーで互いに「出会い」ません。言い換えると、自家製のランチャーはウィンドウを認識せず、μToxが「彼」として呼び出しています。

の解き方

ランチャーにWM_CLASSを含めることで簡単に解決できるため、μToxウィンドウが正しく認識されます。

StartupWMClass=utox

ここで正常に機能した単純なランチャー:

[Desktop Entry]
Name=Some Tox
Exec=/home/jacob/Downloads/utox
Type=Application
StartupWMClass=utox

もちろん、行Exec=/home/jacob/Downloads/utoxのパスを置き換える必要があります

...ただし、アイコンを含めることをお勧めします。その場合は、次の行を追加します。

Icon=/path/to/toxicon.png

enter image description here

...そしてあなたの問題は解決されるべきです:)

WM_CLASSを見つける方法は?

  • ターミナルを開き、次のように入力します

    xprop WM_CLASS
    

    押す ReturnμToxウィンドウをクリックします。

enter image description here

1
Jacob Vlijm