問題タブ [metacity]
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 - PythonのGnome/Linux / Ubuntuでアクティブなウィンドウを見つけますか?
現在開いているすべてのウィンドウのリストを取得し、Pythonから上部にある(つまりアクティブな)ウィンドウを確認する方法はありますか?
これはUbuntuLinuxでGnomeを使用しています。
wnckはこれを行う可能性があるように見えますが、ドキュメントが非常に不足しています。
root - GNOME パネルやその他の GNOME の「もの」を除外するルート ウィンドウの X ジオメトリを見つける方法は?
X ウィンドウ コマンドのオプションに渡すのに適したジオメトリを取得する方法を見つけて、-geometry
GNOME 自体が管理するもの (GNOME パネル ウィンドウなど) と重複しない X ルート ウィンドウ全体をカバーすることが保証されるようにする必要があります。これは、X ルート ウィンドウ全体のジオメトリを返す出力と同じではなく、xwininfo -root
GNOME パネルによって消費される領域が必ず含まれます。KDE を使用しなくなったので、KDE についても同じである必要はありません。
できれば、X Windows コマンド ライン ユーティリティを使用してそのジオメトリを取得でき、Xlib プログラミングに頼る必要がないようにしたいと考えています (つまり、スクリプトから取得したいと考えています)。スクリプトは、GNOME コマンドライン ユーティリティに依存する場合があります。
基本的な計算を使用して GNOME パネルを「差し引く」ことはオプションですが、唯一の GNOME パネル X ウィンドウのみを考慮する必要があるという保証が得られる場合に限ります。しかし、考慮する必要があるのは GNOME パネル ウィンドウだけではないと思います。マウスがXルートの一番下に移動したときにのみ表示されるため、「下部拡張エッジパネル」として表示されるウィンドウが下部にあるため、xwininfo
不動産に関して競合している場合と競合していない場合があるためです。窓。しかし、本当に GNOME パネルだけを検討するのであれば、その「引き算」方法で十分かもしれません。
私の使用例は次のとおりです。さまざまな Microsoft Windows デスクトップに RDP するためにrdesktopを使用しています。rdesktop
X ウィンドウは表示後にサイズ変更できないため、実行前に X ウィンドウのサイズを決定する必要
があります。GNOME パネルのような GNOME 管理のウィンドウと競合しない限り、そのウィンドウがルート ウィンドウの領域を最大限に消費する必要があります。私が今行っているのは、 を呼び出すラッパー スクリプトで特定のデスクトップのジオメトリをハードコーディングすることrdesktop
ですが、ディスプレイ ハードウェアが必然的に異なるさまざまなデスクトップで作業し、結果として X ルート ウィンドウにバリエーションが生じるため、必要なことを実行できません。ジオメトリ。X ルート ウィンドウのジオメトリをrdesktop
コマンドを実行すると、RDP ウィンドウが GNOME デスクトップの表示領域を超えて拡張されます。これは、GNOME のウィンドウ マネージャーが実際の左上隅を押し下げて GNOME パネルとの重なりを回避するためです。その結果、RDP ウィンドウの一部がマウス操作から隠されます。 .
xwininfo -root -children
を使用して、X ルートの直系の子孫に、これらの次元を抽出するために一貫して使用できるウィンドウである X ウィンドウを見つけることができるかどうかを確認しようとしましたが、名前は GNOME デスクトップソフトウェアの実装の詳細のように見えます (またはメタシティ WM)、またはその両方であり、私が依存したいものではないかもしれません。
c - Gnome/metacity では、キーボードからのユーザー入力を必要とするコマンドにキーをバインドできますか?
全て、
ユーザーがキーを押してメニューを選択する必要がある C で書かれた小さなユーティリティがあります。コードは予想通り単純です。
キーストロークを取得し、ENTER を待つ必要はありません。コマンドラインからは正常に動作しますが、コマンドをGnome/metacityのホットキーにバインドしようとすると、キーストロークが正常に実行されるのを待ちますが、キーストロークはコマンドへの入力としてではなく、まるでそれは別のコマンドでした。例えば。キーストロークが「1」で、ターミナルにいる場合、次のように表示されます。
「zsh: コマンドが見つかりません: 1」
「システム」行なしで試しましたが、何も変わりませんでした。GUIで動作する「getchar」の特別なバージョンはおそらくありますか?ちなみに、プログラムの非対話型バージョンは、ホットキーにバインドすると正常に動作するため、プログラムは基本的に機能しますが、対話型で使用することはできません.
ありがとう
qt - Gnome/Fedora で Qt アプリケーションが X セッション (QDialog) をクラッシュさせる
私は小さな Qt4 (C++) アプリケーションを作成しましたが、これはリストを表示する以外にはあまり機能しません。これは QDialog なので、エスケープを押すと閉じます。
ここで、これ (実行してから閉じる) を 3 回から 8 回続けて行うと、X セッションがクラッシュし、ログイン画面が表示されます。プログラムを正常に閉じるのではなく、プログラムを強制終了した場合、これは発生しません。
当然のことながら、私は自分のコード、特に終了時に実行されるコードに目を通しました。ただし、これは、以前に割り当てられたいくつかの変数を削除する小さなデストラクタの 1 つに過ぎません。これらの行をコメントアウトしても (-> 終了時に実行されるコードはもうありません)、何も変わりません。QApplication::exit() を呼び出すと、同様にクラッシュします。
私は現在、この開発システムで Gnome を使用しています。
何を探すべきかよくわかりません。何か案は?
編集:犯人を見つけようとして、コードを少しずつコメントアウトしました。ただし、QDialogを示すコードを除いて、基本的にすべてを削除しましたが、クラッシュはまだ発生しています。
コードは次のとおりです。
main.cpp
ご覧のとおり、このプログラムは何もしません (QDialog を表示する以外は、それは Qt であり、私のプログラムではありません)。2 行のコード (+ 何百万人もの人々が毎日使用しているため、動作するはずの Qt コード) がどのように X セッションをクラッシュさせるのかわかりません。これまでのところ、Fedora 16 と Gnome 3 のみでテストしました。
Edit2 : KDE と LXDEを使用して同じシステムでテスト (同じバイナリ) しましたが、クラッシュはありませんでした。また、Gnome、KDE、および LXDE を使用する Ubuntu でも、クラッシュは発生しません。Gnome3/Fedoraと何か関係がある...
gnome - GNOME2 / metacity ですべてのワークスペースにウィンドウを自動的に上げるにはどうすればよいですか?
1 つのワークスペースで実行したいとしましょう
その後、別のワークスペースで他の作業に取り組んでいます。コマンドを入力した元のワークスペースではなく、現在のワークスペースにこの zenity ウィンドウ ポップアップを表示するにはどうすればよいですか? それとも、すべてのワークスペースでポップアップさせる方が簡単ですか?
gnome-shell - gnome-shell 3.16 ウィンドウのタイトル
3.16 より前では、最大化されたウィンドウからウィンドウ タイトルを削除するのは簡単でした - metacity-theme.xml ファイルを編集するだけです。ただし、3.16 はクライアント側の装飾を使用しており、メタシティはウィンドウの装飾を制御できません。ウィンドウのタイトルを非表示にしたり、少なくとももっと小さくする別の方法はありますか?
x11 - Yocto Project ツールでウィンドウ マネージャーを変更するにはどうすればよいですか?
私の意図
ウィンドウマネージャーをメタシティまたは同様のものに変更することに興味があるBitBakeによって生成された画像があります。
私のプロセス
require recipes-graphics/images/core-image-x11.bb
シンプルな Matchbox ターミナル ウィンドウを提供するコア レシピに追加しましたが、他の機能はないようです。と を追加するmatchbox-desktop
とmatchbox-session-sato
、使いやすさが少し向上しますが、探しているものではありません。
コア イメージの変数に、 OpenEmbedded Metadata Indexのレイヤーのmetacity_2.34.13.bb
レシピのデフォルト パッケージを含めました。これにより、 のコマンドを含むいくつかのコンポーネントがインストールされます。そのコマンドを実行すると、次のメッセージが表示されます。meta-gnome
IMAGE_INSTALL
metacity
/usr/bin
に移動し/usr/share/glib-2.0/schemas
て実行しglib-compile-schemas .
、次を実行します。
また。今、出力は次のとおりです。
私の特定の状況に当てはまるこのエラーの明確な解決策は見つかりませんでした。
更新 (2/29):
次のコマンドを使用して、このエラーの解決策を見つけた可能性があります。
この時点で、VT の 1 つで何かを実行しているようです。glxgears
その VTのようなデモ(glxgears
はmesa-demos
レシピに含まれています) を実行することはできますが、実際に使用可能な環境を作成する方法がわかりません。
私の質問
meta-openembedded/meta-gnome
(justmetacity
) またはmeta/recipes-gnome
(adwaita-icon-theme
、gnome-desktop3
、gsettings-desktop-schemas
and )からあまり使用していないgtk+3
ので、メタシティの追加を自動化するレシピが不足していますか?(そうでない場合 質問 1) エラーを解決するにはどうすればよいWindow manager error: Unable to open X display
ですか?