(趣味プロジェクトとして)ウィンドウマネージャを作成しようとしています。デフォルトのタスクバーを画面の下部にウィンドウとして実装しました。しかし、その上に別の窓を置くこともできます。理想的には、タスクバーは何があっても上部に保持されます。一番上にいないたびに簡単に上げれば問題は解決するだろうと思いましたが、2つのウィンドウが一番上の場所を置いて競うのに問題が発生する可能性があることを読んでいました。
タスクバーが最上位の位置に保持され、ドラッグするときにすべてのウィンドウをその背後に保持するために好ましいxlibメソッドはありますか?
答え1
この問題を解決するために、他のウィンドウが自分で上がるのを無効にすることにしました。彼らがこれを行うと、私は彼らが上がっていることを確認し、すぐにタスクバーが上がります。彼らが重複する要求を送ると(一番上に滞在しようとしています)、私はその要求を無視します。
最大化などを処理するには、display_width および display_height 変数を使用して、使用可能なディスプレイの幅と高さを示します。以前は画面だったのが今ではモニターとして利用可能です。使用可能なモニターは、モニターの高さからタスクバーの高さを差し引いて、下部のタスクバーを補完します。