dwm
ウィンドウマネージャ(特に私が使用したいもの)で外部ステータスバーを設定しようとしていますが、ウィンドウの配置polybar
にはいくつかの問題があります。
- バーには独自のスペースが必要です。素直にdwmを実行すると、
polybar
独自のウィンドウが作成されますが(完全に望ましくない)、よりスマートで合格しても、提案されているようにコンテンツを非override-redirect = true
表示にしながら既存のウィンドウの上に配置されます。このGitHubの問題dwm
バーのための少しスペースを残す必要があります。どのように? - 隠したいもの:デフォルトの列を非表示にしてウィンドウの画面スペースを解放できますが、他の列のためにいくつかのスペースを予約するよう強制する場合は、同じことを行う方法を
dwm
知りたいです。dwm
最大の問題は、私がそれについて十分に知らないdwm
ので、カスタムソリューションを直接作成するためのソースコードに慣れていないことです。誰でも私にアドバイスを与えることができますか?それとも役に立つパッチを指摘しますか?
PS:通常、他のステータスバーの設定に関するチュートリアルが見つかりませんでしたdwm
(例:このRedditの投稿同じリソースを要求しましたが、誰も役に立つ答えを提供していません。)
答え1
私はあなたがdwmソースコードを掘り下げることを躊躇しないと思います。
過去に私にとって効果的だったことの1つは、dwmがPolybarを処理するために独自のバーを処理する方法を修正することでした。これは、dwm列をレンダリングするコードを削除することを意味しますが、列の上部または下部にスペースを追加するコードは削除しません。
私はdwmを使わずに概念証明でこれを行います。残念ながら、もはやパッチはありませんが、いくつかのヒントを与えることができます。
注:参考資料の提出時のコードです。f09418b
。他の提出物の場合、状況は異なる場合があります。
topbar
Polybar設定で、変数を変数の逆数に設定しますconfig.def.h
。bottom
- バーの高さの
bh
変数をピクセル単位で設定します(既存の割り当てを削除).dwm.c
- dwmが独自の列を表示するのを防ぎます。バーウィンドウだけを設定し
showbar = 0
て処理できず、コード全体に分散しているため、これが最も難しい部分です。構造変数が使用されているすべての場所を表示しますbarwin
。Monitor
バーを非表示にするための2番目の部分では、上記の変更で同じ方法でバーを切り替えることができます。これは、列自体ではなく列のdwmによって予約されているスペースのみを切り替えます。これを行うには、また電話する必要がありますpolybar-msg cmd toggle
。
答え2
それでも試している場合は(可能性が低い)、dwmを使用してポリバーを追加したところ、必要に応じて機能します。
あなたが望むなら、私はあなた(または誰でも)がこれを得るのを助けることができます。
- 夏は:
フォローするPolybar-DWMモジュールインストールするには、Readmeを必ず読んでフォローしてください。
dwmソースコードを取得し、vanitygapsなどの必須パッチやANYBARパッチなどを追加します。ポリバー-DWM-モジュール式読書によると
うまくいきますが、ここにバグが掲載されていない場合は、お手伝いします。