問題タブ [window-managers]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - ウィンドウマネージャーにmatplotlibプロットウィンドウを「常に上に」配置するように依頼しますか?
質問は簡単に聞こえます。私は現在 Linux で Xfce4 を使用しており、すべての対話型プロットを python/matplotlib スクリプトからポップして、他のすべてのウィンドウの上に表示したいと考えています。
基本的には、 XWindowsがこれらの Figure ウィンドウを認識してから、一般的なウィンドウ操作を適用するようにしたいと考えています。何か案は?
windows - GUIのサイズ変更で一時的な更新を回避するにはどうすればよいですか?
ウィンドウの上部または左側の境界線を半速でドラッグすると、ウィンドウの反対側の端が振動することに気付くはずです。ドラッグされますが、サイズを大きくするために再調整されます。
動的にサイズ変更するアイテムがある場合、問題はさらに悪化します。その後、一連のコントロールが画面上でスライドしてサイズ変更を開始します。
これらの一時的な影響を防ぐ方法はありますか?
たとえば、のようなメッセージに応答する特定WM_SIZE
のシーケンスは、これを抑制することができますか?知らない。
(これは、私が見たすべてのフレームワークで発生するようです。プレーンなWin32でも発生します。エクスプローラーなどを開いて、その上端または左端をドラッグするだけで、意味がわかります。)
c - すべての Xorg ディスプレイのリストの取得
システム上のすべての Xorg ディスプレイのリストと、各ディスプレイに関連付けられた画面のリストを取得する方法を知りたいです。Xlib のドキュメントを調べるのに時間を費やしましたが、必要な機能を実行する関数を見つけることができませんでした。POSIX 準拠の OS と X 以外に依存関係はないと仮定してください (たとえば、GTK はありません)。これらの最小限の依存関係を想定して私が尋ねることが不可能な場合は、他のライブラリを使用したソリューションで問題ありません。
ご助力ありがとうございます!
linux - MPlayerがAwesomeWMでfloatを使用しないようにする
MPlayerが「configurerequest」を呼び出すことを理解しています。そのため、Archlinux、AwesomeWMのウィンドウマネージャーのルールを完全に無視し、並べて表示する代わりにフロートします。これを防ぐ方法はありますか?ありがとう!
x11 - X11 ウィンドウのセクションをドラッグ可能としてマークする
装飾されていないウィンドウが必要な場合 (たとえば、自分で装飾をペイントする場合)、現在の X11 ウィンドウ マネージャーに、ウィンドウの領域をドラッグ可能にし、ウィンドウ マネージャーで管理する必要があることを伝える方法はありますか? 低レベルのソリューション (Xlib、XCB など) に興味があります。また、可能な限り標準的なソリューションを探しています。
さらに、ウィンドウの領域を閉じるボタンとしてマークすることはできますか?
ウィンドウの装飾に追加のコンテンツを添付できれば素晴らしいので、これについて質問しています。これは Apple の OS X にインスパイアされたもので、すべての装飾は昔ながらNSView
のものであり、一部 (閉じるボタンなど) には文書化された方法でアクセスすることさえできます。追加のコンテンツの追加も、OS X に触発されています。OS X では、ウィンドウに関連付けられたドキュメントの名前 (タイトル バー上) を右クリックして、ドキュメントへのパスを取得できます。同時に、アプリケーションが応答しなくてもウィンドウは移動可能なままであるため、ドラッグ可能な領域は何らかの方法でウィンドウ マネージャーに伝達されている必要があります (つまり、WindowServer
.
したがって、X11 でこれを行うための標準的な方法 (または、広く普及している FreeDesktop.org の拡張機能など) がある場合は、ぜひ知りたいです。:-)
haskell - xmonad: 新しいフローティング ウィンドウを移動する
thisおよびthis issue で説明されているように、xmonad を compton と共に使用すると、フローティング ウィンドウが他のウィンドウの背後にレンダリングされることがあります。私が試してみたい回避策の 1 つは、xmonad で新しいフローティング ウィンドウを少し移動させることです。これにより、他のウィンドウの上に表示されるはずです。ただし、xmonad と Haskell は初めてなので、これを実現する方法がわかりません。
xmonad に「新しいフローティング ウィンドウが作成されたら、1 ピクセル右に移動する」ように指示するにはどうすればよいですか?
(xmonad-0.10 および xmonad-contrib-0.10)
x11 - 子供に優しいタイリング ウィンドウ マネージャー
ucblogo
娘 (4 歳) が同時に実行してタートルのグラフィックを表示できるタイリング ウィンドウ マネージャーを探しています。
少し背景:
Ubuntu/Debian にはパッケージucblogo
があり、コンソールから、またはグラフィカルに X 内から実行されます。X 内から実行すると、他のshowturtle
コマンドに加えて、ロゴタートルを表示するコマンドが可能になります。タートルは独自のウィンドウに表示され、入力には独自のウィンドウがあります (通常はxterm
ucblogo
そこから開始されます)。showturtle
グラフィックウィンドウは、ロゴコマンドが発行された後にのみ「開始」されます。最初からありません。ラズベリーのこの部分的なスクリーンショットを参照してください (カメは表示されていませんBXLogo
。右側のウィンドウにあります)。
セットアップ全体は今のところラズベリー pi の下で実行されていますが、私が横たわっている彼女自身のネットブックを彼女に渡したいと思います (はい、「監視」下でのみ使用されます ;)。
ウィンドウ マネージャをタイリングするという概念は、私には少し奇妙ですが、両方のウィンドウを表示できるタイリング ウィンドウ マネージャを探しています。text.input ウィンドウから始めて、グラフィックを含む 2 番目のウィンドウが上にあるはずです。
上記を実行するためにタイリング ウィンドウ マネージャーをセットアップする方法に関する初心者向けのリソースを教えてください (1 つから始めて fullscreen xterm
、次に 2 つ目のウィンドウが出現したら、このウィンドウを最初のウィンドウの上または横に並べて表示します)。
私は以前に試したことがありますratposion
が、それは手動でのみタイル化されているようで、調べてみましxmonad
たが、400メガの依存関係があり、ネットブックにはそれくらいしか空きがありません.
もう少し学歴:
タイリング ウィンドウ マネージャーが必要な理由は、当分の間、すべてのマウス/タッチパッド クラッドを彼女から遠ざけておきたいからです。彼女はすでにユーザー名とパスワードでログインできるので、キーボードを使用するという概念は、マウスの概念に少し近いものです。また、ネットブックの解像度は 800x480 ピクセルしかないため、派手な装飾でスペースを失いたくありません。
linux - Xserverへのソケットを直接開く
Linuxデスクトップ環境がXserverでどのように機能するかを理解したいと思っています。私は、ほとんどのウィンドウマネージャーがソケットを直接開かないことを読んでいました。代わりに、WMが記述されている言語のXlibバインディングを使用するか、より高いレベルのバインディングXCBを使用できます。しかし、Xserverに直接ソケットを開くことの利点は何ですか?
java - JavaFX 2で装飾されていないステージに高度なウィンドウマネージャ機能を提供する方法は?
美学と使いやすさの理由から、私のプログラムでは装飾されていないStage
. コア機能を実装しました-最小化、最大化、閉じる、サイズ変更、およびドラッグがすべて存在します。
ここで、プログラムには当然のことと思っていた高度な機能がいくつか欠けていることがわかりまし
た。Windows XP システムでは、タスクバーでプログラムのエントリをクリックしても最小化されなくなりました。KDE システムでは、ドラッグしても のどの部分も画面から
はみ出すことはできません。Stage
各機能は、それぞれの他のシステムに存在します。ステージが装飾されると、両方が各システムで動作します。
装飾されたステージに戻ることなく、プログラムでこの動作を何らかの方法で再現できるかどうかを確認したいと思います。API は何のStage
役にも立たないようです。
c - XCBを使用して新しいアプリケーションが起動したときにイベントを取得する方法
私は学習目的のために非常にシンプルなウィンドウマネージャーを作ろうとしています。C
とxcb
ライブラリを使用しています。新しいアプリケーションが起動された場合にイベントを発生させようとしています。
今のところ、マウスとキーボードのイベントを受信できるルートウィンドウを作成します。また、ウィンドウの上部に色付きのバーを描画します。Enterキーを押すと、xtermはforkとexecvpを使用して起動します。これはすべてうまくいきます。
xterm(または私が思う任意のアプリケーション)が起動すると、バーの上に描画されます(x = 0、y = 0)。少し下げたい(x = 0、y = 16)。を使用してウィンドウを移動する方法を知っていると思いますxcb_configure_window
。しかし、新しく起動したアプリケーションのイベントを取得する方法がわかりません。
編集:
いじり回した後、次の結論に達しました。次のよう
に親ウィンドウを作成した場合:
新しい端末をスポーンすると、XCB_CREATE_NOTIFYを受け取ります。XCB_EVENT_MASK_EXPOSE
ただし、イベントに「登録」していないため、画面に何も描画できません。values [0]行を次のように変更すると、次のようになります。
作成イベントは引き続き受信しますが、プログラムの開始直後に公開イベントが呼び出されないため、バーが描画されません。新しい端末を起動するとすぐに公開イベントが発生しますが、最初の描画は行われません。
親ウィンドウを作成する私の古い方法は次のとおりです。
これにより、XCB_EVENT_MASK_EXPOSUREイベントがすぐに取得されるため、白い背景が描画され、色付きのバーが描画されます。ただし、XCB_CREATE_NOTIFYイベントは取得されません。
では、XCB_CREATE_NOTIFYイベントとXCB_EVENT_MASK_EXPOSUREイベントの両方を取得する正しい方法は何ですか?