2012-04-30 13 views
0

私はウィンドウシステムメニュー(通常はタイトルバーの左上にあり、普通は最小化、最大化などを含む)にカスタムコマンドを追加して、私のアプリケーションでそれに応答したいと思います。 msで実行可能なウィンドウXの下のウィンドウシステムメニューにカスタムメニュー項目を追加するにはどうしたらいいですか?

HMENU hMenu = GetSystemMenu(hwnd, false); 
    AppendMenu(hMenu, MF_STRING, ...) 

X11ではこれが可能ですか?一般的な方法ではない場合は、特定のウィンドウマネージャの解決策ですか?

答えて

0

システムメニューにアプリを追加したいのですか?

私は最も近代的なデスクトップ環境をXDGメニューに標準を実装すると考えている:彼らはすべて何とか足りない http://standards.freedesktop.org/

ので、彼らが」勝った:あなたはあまりにもおそらく他の標準を学ぶ必要があるでしょう http://standards.freedesktop.org/menu-spec/menu-spec-latest.html

読んで学ぶのに数時間以上を費やすことはありません。

+0

私は、どのメニューを聞いているのかをより明確にするために質問を編集しました。 – Roman

+0

@Romanこれは私が話していたものなので、私の答えはまだ有効だと思います。仕様を見て、それが必要なものかどうかを確認してください。 – pzanoni

+0

私はそれについての言葉をそこに見ることができません。私は再度質問を編集して、どのメニューについて聞いているのかをさらに明確にしました。 – Roman

1

[OK]を、あなたの最後の編集後、私が理解あなたがウィンドウマネージャによって制御されるウィンドウ装飾、上のメニューにカスタムメニューを追加したいということです。

私はそれが可能だとは思わないが、わからない。

それとも、WM-SPEC-リストを求めるメールを送信することができます:私はこれが可能であるかどうかを見つけるために、ICCCMとEWMHを読むべきと考えています。

また、オプションを追加すると、かなり隠されてしまうのですか?私はほとんどの人がそのメニューをクリックすることはないと思う...私はメニューがすべての可能なウィンドウマネージャに存在するとは思わない。ウィンドウマネージャの装飾ではなく、アプリケーションのウィンドウ内にメニューを置くようにしてください。いくつかの環境では、ウィンドウマネージャーもありません。この場合、ユーザーは何をしますか?

一部のアプリケーション(Chromiumブラウザなど)では、独自の装飾を実装し、独自の閉じる/最大化/最小化ボタンを実装しています。この方法では、すべての装飾ボタンとメニューを完全に制御できますが、その装飾にはデスクトップの他の部分と同じ「ルック&フィール」はありません。あなたはこれについて考えることができますが、私はそれを奨励しません...おそらくあなたのメニューを別の場所に置くべきです(ではなく、が隠されています)。

+0

私はその項目をWindows上のメニューに追加して、X11で同じ機能が欲しいと思っています。それは、ウィンドウマネージャにパッチを当てている可能性が高いようです。 – Roman

関連する問題