問題タブ [x11]

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.

0 投票する
3 に答える
6781 参照

x11 - X11 ウィンドウ ID をプロセス ID に変換する方法

私は小さなアプリケーションに取り組んでおり、メイン ウィンドウまたは子ウィンドウの X11 ウィンドウ ID からプロセスの PID を見つける必要があります。を使用してこのような変換を行う例を見ました_NET_WM_PIDが、それを使用せずに行う方法がわかりません。使用しない理由は_NET_WM_PID、使用可能なすべてのウィンドウ マネージャーに実装されているわけではなく、アプリケーションがそれらのいずれか (または少なくともほとんど) で動作する必要があるためです。誰かが私を助けて、この問題を解決する方法についての提案/指示を教えてもらえますか? ありがとうございました!

0 投票する
2 に答える
585 参照

emacs - Emacsのマウスフォーカスが1つのフレームで動かなくなった

過去2日間に2回、emacsセッションで問題が発生しました。どういうわけかemacsはフォーカスを1フレーム以内に保っています。したがって、別のフレームにマウスを合わせてクリックすると、新しいフレームのカーソルはそのままになり、フレーム1のカーソルは、そのフレーム内の対応する位置をクリックしたかのように移動します。マウスホイールのスクロールでも同じことが起こります。しかし、キーボード入力ではありません。

ホギングフレームを殺すと、別のフレームが買いだめになります。

昨日の私の解決策は、emacsを終了して再起動することでした。

いくつかのグーグルが私を可変のfocus-follows-mouseに向けさせましたが、それは正しく設定されているように見えます(つまり「t」)。

それを引き起こした原因とそれをリセットする方法はありますか?

(私はUbuntuintrepidのemacs22.2-0ubuntu2のパッケージを使用しています。)

0 投票する
4 に答える
14058 参照

c - X11 で WM_DELETE_WINDOW をインターセプトしますか?

私が書いているアプリケーション ( AllTrayWM_DELETE_WINDOW )の特定の選択されたウィンドウに投稿されたメッセージを傍受して、アプリケーションがそれを受信する代わりにそれに基づいて行動できるようにしたいと思います。私は現在、可能であれば GDK レベルでこれを試すことを検討していますが、Xlib ソリューションもあれば満足しています。それは可能であるように思われますが、私はそれを成功させる方法を理解していないようです.gdk_display_add_client_message_filter

現在、これを理解するために使用しようとしている 2 つのプログラム (C で記述)あります。そうすることに失敗しているようです。正確には何もしていないようです。これに関するドキュメントが間違っていることを理解していますか、それとも何か追加する必要がありますか (または、このために GDK を完全に使用しないようにする必要がありますか)?WM_DELETE_WINDOW

背景は次のとおりです。AllTray を書き直す前は、X ボタン自体のマウス クリックをインターセプトしようとする方法があったようです。一部のウィンドウ マネージャーでは、これは適切に機能し、他のウィンドウ マネージャーではまったく機能しませんでした。その他のウィンドウ マネージャーでは、ユーザーが手動で構成し、ウィンドウを閉じるボタンの場所を AllTray に指示する必要がありました。私が探しているのは、を含まず、現在の標準に準拠し、ウィンドウが閉じられたときに ClientMessageLD_LIBRARY_PRELOADを送信するウィンドウマネージャー/アプリケーションの組み合わせで機能するソリューションです。WM_DELETE_WINDOW

更新:私はまだ答えを探しています。私が現在取っているルートは、ウィンドウの親を変更して自分で管理しようとすることですが、うまく機能させることができません。再親化すると、それを元に戻すことはできないようです。非常に基本的なものが欠けている可能性がありますが、実際に自分のウィンドウに再び表示させて画面に戻す方法がわかりません。

更新 2 : わかりました、別のレンガの壁にぶつかりました。X サーバーのドキュメントには、ウィンドウのイベント マスクに StructureNotifyMask を設定して、MapNotify イベントと ReparentNotify イベントの両方を受け取るように記載されています。私はどちらかを受け取ることに興味があります。私が現在考えているのは、イベント レシーバーとして機能するウィンドウを作成し、興味深いことのイベントを取得したら、それらを作成して再ペアレント化することです。ただし、これは単に機能していないようです。実際に受け取るイベントは PropertyNotify イベントだけです。そのため、このルートもあまりうまくいっていないようです。

0 投票する
4 に答える
455 参照

java - Swing コンポーネントを持つ Java アプリケーションでの X11 クラッシュからの保護

これは可能ですか?

0 投票する
2 に答える
1327 参照

events - Linux 入力ハックはどこから始めればよいですか?

Mac で「Shift」キーを押しながらマウスでスクロールすると、垂直方向のスクロール モーションが水平方向のスクロール アクションに解釈されます。これは、Linux で作業しているときに最も見逃された機能であり、Linux に導入したいと思っています (徹底的に調べたところ、まだ誰も行っていないようです)。

ある種のランタイム プラグインを使用して、または少なくとも他のすべてのアプリケーションを再コンパイルして機能を利用する必要がない方法で、これを実行できることを願っています。私の質問は次のとおりです。そのようなプラグインを作成できるライブラリはどれですか? 機能がそれほど複雑である必要はないように思われるため、ある種のスクリプトを作成するとよいでしょうが、必要に応じて C および C++ でコーディングできます。

XEvIE (廃止) や XTrap (同様に放棄されたようです) などの X ソリューションを調べました。少なくとも概念実証として、今のところ GTK / GNOME のみに限定させていただきます。

これがプラグインとして実行できない場合、どのオープンソース プロジェクト (Xfree86? GNOME? 他の誰か?) にアプローチして、この機能を試してみるべきですか?

-- 更新 (解決策あり!):

パッケージ「xbindkeys」と「xautomation」をインストールします。次に、 ~/.xbindkeysrc.scm ファイルに次のように記述します。

次に xbindkeys を実行します

0 投票する
2 に答える
466 参照

import - ディスプレイが関連付けられていない状態で X11 ウィンドウを起動するにはどうすればよいですか

たとえば、ディスプレイが関連付けられていない状態で Firefox を起動し、最終的に でスクリーンショットを撮りたいと思いimportます。

実際、cronjobsで定期的に作成できますか?

現在、ssh -X 接続を作成しています。バックグラウンドで開始されたウィンドウの xwininfo を取得すると、すべて問題ありません。しかし、私はそれを自動化したい。

0 投票する
1 に答える
114 参照

linux - 追加情報を Pixmap に添付するには?

Windows および MacOS のメタファイル (WMF/EMF および PICT/PDF) では、メタファイルに付随する任意の情報を添付できます。これは、アプリケーション固有のものである可能性があります。Linuxで同じ結果を得るにはどうすればよいですか? 私は GDK や Qt を使用していません。単純な XLib、Xt、および Motif を使用しています。

アイデアは、アプリケーションから (選択を介して) 何かをコピーして、たとえば PIXMAP として他の誰かに送信したいということです。ただし、送信した情報をカスタム形式でエンコードしたいので、同じオブジェクトを取得したときに、この情報を取得してアプリケーションでオブジェクトを編集できるようにします。

0 投票する
3 に答える
14897 参照

c++ - xlibを使用してトップレベルのX11ウィンドウを識別する方法は?

X11 セッションですべてのトップ レベルのデスクトップ ウィンドウのリストを取得しようとしています。基本的に、ウィンドウ マネージャーのアプリケーション切り替え UI (通常、ユーザーが ALT + TAB を押すと開く) に表示されるすべてのウィンドウのリストを取得したいと考えています。

これまで X11 プログラミングを行ったことはありませんが、これまでのところ、次のようなコードを使用して、ウィンドウ リスト全体を列挙することができました。

enumerateWindows()最初にルート ウィンドウで呼び出されます。

これは、何百ものウィンドウに関する情報を出力する限り、機能します。私が必要としているのは、特定Windowのウィンドウがトップレベルのデスクトップ アプリケーション ウィンドウであるかどうかを判断するために、どのプロパティを調べることができるかを調べることです (公式の用語が何であるかはわかりません)。 )、 か否か。

誰でもこれに光を当てることができますか?私が見つけた X11 プログラミングのリファレンス ドキュメントはすべて、ひどく無味乾燥で理解しにくいものでした。おそらく、誰かがより良いリソースを指し示すことができますか?

0 投票する
2 に答える
3559 参照

linux - Linuxでの標準メニュー項目の場所

ほとんどのデスクトップ環境で.desktopファイルを確実に検出するには、どこに.desktopファイルを配置する必要がありますか?そのような場所はありますか?さらに、ユーザーのホームディレクトリに配置して、そのユーザーだけが表示できるようにする標準的な場所はありますか?

0 投票する
2 に答える
2054 参照

windows - XWindowsアプリケーションをWindowsサーバーからリモートで実行する

これは奇妙な質問のように思えるかもしれませんが、私が現在取り組んでいるプロジェクトにはある程度の価値があります。

XMing(またはCygwinx)を実行しているWindows2003サーバーがあります。X11転送を有効にしてsshを使用してUbunutuからサーバーに接続しています。Windows 2003サーバー(xeyesなど)でXアプリケーションを起動すると、アプリケーションはローカルのUbuntuマシンではなくWindowsサーバーに表示されます。

Xmingは完全に実装されたXサーバーであるため、リモートクライアントへのXアプリケーションの提供をサポートすると想定しました。これが機能しない理由はありますか?