私はデスクトップを書いています。私は既にQtとGTK +の基本をPythonで知っていますが、完成したデスクトップを表示する方法はわかりません。どのようにそれをウィンドウマネージャのルートウィンドウにしますか、それとも私が慣れていないデスクトップを表示する方法はありますか?デスクトップデスクトップウィンドウを作成していますか?
答えて
あなたはそれをルートウィンドウにしません。 Xには変更できない1つのルートウィンドウがあります。あなたは
- Xルートウィンドウ
やりたいことにはいくつかの方法がありますが古い方法は、デスクトップだけで、標準的なXのルートウィンドウということでした。アイコンは、境界のない個々のウィンドウだけでした。
- デスクトップウィンドウ
今、ほとんどのシステムでは、大きなウィンドウを開き、デスクトップウィンドウとしてそれをマーク。ほとんどのウィンドウマネージャーは、他のウィンドウの上にそれを上げないことを知っています。 Xルートウィンドウはまだその背後にありますが、隠されています。つまり、このウィンドウで必要なことをしたり、描画したり、アイコンやウィジェット、またはツールキットが実行できるその他のものを含めることができます。
Gtk +を使用している場合、関連情報はGdkWindowTypeHint
列挙型、具体的にはGDK_WINDOW_TYPE_HINT_DESKTOP
にあります。ドキュメントはここで見つけることができます:GdkWindow
- コンポジは
しかし、コンポジオーバーレイウィンドウと呼ばれるGnome3またはUnityの使用、のようにデスクトップの新しい方法があります。コンポジットが実行されているときは、システム上のすべてのウィンドウをカバーするオーバーレイウィンドウがあります。このオーバレイ上のウィンドウの実際の内容を描画するのは、コンポジタリの責任です。しかし、オーバーレイは、このオーバレイウィンドウに望むものを描くことができます。たとえば、Gnome3では、ウィンドウセレクタに入り、ウィンドウがグリッドに配置されますが、ウィンドウは実際には移動したり縮小したりすることはありません。コンポジターは、そのように描画することに決めました。実際には、ウィンドウは以前と同じ位置にありますが、このオーバーレイの下に隠れています。
これは非常に高度なやり方であり、初心者向けの開発者にとっては間違いありません。おそらく、第2の方法に集中したいと思うでしょう。
Qtベースのソリューションはありますか? – Christopher
私はそう思います。あなたはそれらに尋ねる必要があるだろう – iain
- 1. ファイルテンプレートを作成していますか?
- 2. ゲームサーバーを作成していますか?
- 3. ブラウザツールバーを作成していますか?
- 4. クラスを作成中にクラスを作成していますか?
- 5. 数式を作成してExcelチャートを作成していますか?
- 6. シングルトン構成ファイルを正しく作成していますか?
- 7. Docker Java-JARファイルを実行してCassandra KeySpaceを作成します。しかし作成していない
- 8. パラメータのない非表示を再作成して作成しますか?
- 9. ウェブサービスを作成していますか? WSDLを作成するには?
- 10. 新規作成しないオブジェクトを作成しますか?
- 11. 「楽しい」ストーリーボードアニメーションを作成していますか?
- 12. AngularJSテンプレートで新しいスコープを作成していますか?
- 13. GDBコアファイルを作成しています
- 14. debianパッケージを作成しています
- 15. PHPでインスタンスを作成せずにクラスを作成していますか?
- 16. テーブルの作成エラー - デフォルトでテーブルを作成しています
- 17. Zend_Formを使ってDivを作成していますか?
- 18. GCCまたはCygwinでDLLを作成していますか?
- 19. C++からCOMオブジェクトを作成していますか?
- 20. 別のNSNumberビヘイビアからNSNumberを作成していますか?
- 21. PHPのswfファイルからサムネイルを作成していますか?
- 22. QT CreatorからUnfuddle SVNリポジトリを作成していますか?
- 23. linuxコマンドラインからmysqlユーザーを作成していますか?
- 24. 新しいADUserを作成しますが、ホームディレクトリは作成しませんか?
- 25. トップナビゲーションヘッダーを作成しようとしていますか?
- 26. ファイル名なしでデータベースを作成していますか?
- 27. NSFileManager createDirectoryAtPath:withIntermediateDirectories:ディレクトリを作成していないか、エラーを作成していません
- 28. パスワードを作成するJavaプログラムを作成しようとしています
- 29. レシートを作成するプログラムを作成しようとしています
- 30. 古いものから新しいビットマップを作成していますか?
このコマンドをチェックしてください: 'wmctrl -k on'。 WMがそのような機能をサポートしている場合は、「デスクトップ」が表示されます。したがって、コマンドを追跡すると(おそらくWMに)、デスクトップがどのように定義されているかを知ることができます。 –
本当にシンプルなウィンドウマネージャであるブラックボックスのコード(http://sourceforge.net/projects/blackboxwm/)を見ることができます。 –