問題タブ [xlib]
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-opencvウェブカメラ["noneType"]
数週間前、Pythonとopencvを使用してマウスポインタを移動しようとしました...それを行う時間がありませんでしたが、今日、誤ってコードの一部を見つけました。問題は、opencvでWebカメラを開くことができなくなったことです...
私はubuntu10.04を使用しています.../dev/video0は機能していますluvcview-d/ dev/video0を実行できます
しかし、camera = highgui.cvCreateCaptureCamera(0)と言って、type(camera)を実行しようとすると、noneType...が表示されます。
私はapt-getremove--purge python-opencvを再インストールしましたが、動作させることができません...数週間前に何が問題だったのかわかりませんが、現在は動作しています...
これがpythonopencvとXlibでマウスを制御するためのコードです...
もう何をすべきかわからない...誰かがこの問題を抱えて修正したことを願っています...事前にThx。
deadlock - xlib/ xcb デッドロックまたはブロック
xlib と cairo を使用してプログラムを開発しました。参考までに、cairo と xlib の呼び出しを混在させていますが、それがエラーの原因であるかどうかはわかりません。状況によっては、デッドロックまたはブロックが発生します。xlib で動作する 3 つのスレッドがあります。1 つは xlib と cairo の両方を呼び出すメインの UI スレッドで、もう 1 つは XClientMessage を送信するためだけにそれを使用し、3 番目は XCopyArea のような xlib 呼び出しを行い、最後に XClientMessage を送信します (これらはいくつかのアニメーション用です)。プログラムの冒頭で InitThreads を呼び出しました。また、すべての xlib 呼び出しを XLockDisplay で保護しました (cairo 呼び出しも XLockDisplay で保護されています)。ubuntu 10.10 を使用しています。スタック トレースは次のとおりです。
(gdb) スレッド 1
__kernel_vsyscall () の 0
/lib/tls/i686/cmov/libc.so.6 からの poll ( ) の 1
?? の 2 () /usr/lib/libxcb.so.1 から
3 in ?? () /usr/lib/libxcb.so.1
から xcb_writev で 4 () /usr/lib/libxcb.so.1 から _XSend () で
5 /usr/lib/libX11.so.6 から _XEventsQueued () で
6 /usr/lib/libX11.so.6 から
7 XPending () から /usr/lib/libX11.so.6
(gdb) スレッド 6
0 __kernel_vsyscall ()
で 1 __lll_lock_wait () から
/lib/tls/i686/からcmov/libpthread.so.0
2 in _L_lock_752 () from /lib/tls/i686/cmov/libpthread.so.0
3 in pthread_mutex_lock () from /lib/tls/i686/cmov/libpthread.so.0
4 in ? ? () /usr/lib/libX11.so.6 から
/usr/lib/libX11.so.6
(gdb) の XLockDisplay () の 5 (gdb) スレッド 7
__kernel_vsyscall () の 0
__lll_lock_wait () の 1 /lib/tls/i686/cmov/libpthread.so.0 の
2 __L_lock_752 ( ) /lib/tls/i686/cmov/libpthread.so.0 から
3 で pthread_mutex_lock () /lib/tls/i686/cmov/libpthread.so.0 から
4 ?? () /usr/lib/libX11.so.6 から
5 in XLockDisplay () /usr/lib/libX11.so.6 から
スレッド 1 はメインの UI スレッドで、現在イベント ループで XPending を呼び出しています (すでに XLockDisplay を呼び出しています)。 XSendMessage を呼び出します (スレッド 1 が終了するのをスレッド 7 と共に待機しています)。しかし、スレッド 1 は決してポーリングから戻らないようです。関連性があるかどうかはわかりませんが (Linux や libc の専門家ではありません)、別のスレッドがポーリングで待機しています (これは TCP/IP ネットワーク通信用のスレッドです) (gdb) thread 2
0 in /lib/tls/i686/cmov/libc.so.6 からの__kernel_vsyscall ()
poll () の 1
同様のデッドロック/ブロックを経験した人はいますか? これは xcb のバグでしょうか? xcb なしで xlib をコンパイルしてみる価値はありますか? ありがとう
c++ - Xlib: XGetWindowAttributes は常に 1x1 を返しますか?
現在フォーカスされているウィンドウの幅と高さが欲しいです。ウィンドウの選択は魅力のように機能しますが、高さと幅は常に1 を返します。
これは「実際の」ウィンドウではなく、現在アクティブなコンポーネント (テキスト ボックスやボタンなど) ですか? とにかく 1x1 のサイズになるのはなぜですか? この場合、このコントロールを含むアプリケーションのメイン ウィンドウを取得するにはどうすればよいですか? 意味...トップレベルのウィンドウ、ルートウィンドウを除く最上位のウィンドウ。
PS: 本当に重要かどうかはわかりません。Ubuntu 10.04 32 および 64 ビットを使用しています。
xlib - Xserverで画面を回転させる方法
xrandrツールを使用して画面を90/180/270度回転させるfunctioncode/source_fileを知りたいですか?
xrandr-o左xrandr-o右xrandr-o反転xrandr-o通常
上記のコマンドを使用してXserverで画面回転を呼び出す関数はどれですか?
よろしく、リーヴォン
c - Xlib を使用してパネルのサイズを検出する
次のように、ドックを画面の右側に配置するアプリケーションを作成しています。
_NET_WM_STRUT_PARTIAL
最大化されたウィンドウがドックに重ならないように、を使用して画面の横にスペースを確保できます。
画像では、トップパネルがあることがわかります。問題は、ドックがパネルに重なることです。パネルのサイズを確認する方法、またはパネルを縮小してドックにスペースを空ける方法を作成する方法はありますか?
ちなみに、私はXlibを使用しています。
x11 - X11/Xlibを使用したグローバルホットキー
私の目標は、バックグラウンドでスリープするが、ユーザーが「ホットキー」を介してアクティブ化できるプログラムを作成することです。XlibマニュアルとXlibO'reillyマニュアルを掘り下げてみると、これを行う正しい方法はXGrabKeyを使用することであることがわかりました。ただし、単純な概念実証が機能しないため、プロセスの私の理解は正しくありません。
私の理解では、ルートウィンドウをgrab_windowとしてXGrabKeyを呼び出し、owner_eventsをfalseにすると、ホットキーが押されるたびに、イベントはルートウィンドウにのみ送信されます。次に、ルートウィンドウからKeyPressイベントを選択し、Xイベントをリッスンすると、ホットキーが押されたときにキープレスイベントを取得する必要があります。以下に最小限の例を貼り付けました。
プログラムの実行時に、フォーカスのあるウィンドウに関係なく、Ctrl + Shift + Kを押すと、プログラムは「ホットキーが押されました!」と出力するはずです。コンソールで、終了します。
さらに、XGrabKeyが失敗した場合、デフォルトのエラーハンドラーがメッセージを表示することを理解していますが、そうではないため、呼び出しは成功したと想定しています。
明らかに、私の理解はどういうわけか欠陥があります。誰かが私を正しい方向に向けることができますか?
c++ - XImageをビットマップとして保存するには?
デスクトップ ビデオ (フレーム) をキャプチャする JNI C++ ライブラリを作成しようとしています。最初のステップは、デスクトップのスクリーンショットを作成することです。コードは次のとおりです。
しかし、imgをビットマップファイルとして保存する方法は? ターゲット ライブラリは JNI であるため、サードパーティ ライブラリを使用してはなりません。(私が理解したように)。
助けてください。
ありがとうございました。
opengl - xlibとglxを使用して背景が透明なOpenGL対応ウィンドウを作成する方法
背景が透明なウィンドウを作成し、OpenGLを使用してそのウィンドウに何かをレンダリングしたいと思います。ウィンドウの後ろにあるものをキャプチャして背景としてペイントするというトリックは使いたくありません。本当の透明性が必要です(コンポジットマネージャーを実行しています)。私はGUIライブラリ(GTK、QT、...)を使用しておらず、生のxlibとglxだけを使用しています。
誰もがそれを行う方法を知っていますか?
c++ - Xlib( "The Linux Petzold"?)の学習に関する書籍/リソース
私は、楽しみと経験を積むためだけに、LinuxGUI用のXlibプログラミングを学ぶことに頑固に決めました。私は若くて、役に立たないものを読む時間がたくさんあります。誰もこれを人々に学んでほしくないようですが、私がどこを見ても、質問者は代わりにツールセット(通常はQtまたはwxWidgets)を使用するという提案に襲われています。誰もXlibを学ばなければ、これはちょっと悲しいことです。たとえば、wxWidgetsの開発を続けるのは誰ですか?ただし、Xlibに慣れたら、wxWidgetsについても学びます。
ですから、それが邪魔にならないように、私の質問は次のとおりです。Xlibプログラミングを学習するための推奨される本(または他のリソース)はありますか。できればC ++を使用しますが、Cも問題ありません。WindowsプログラミングにはPetzoldがありますが、Xlibに同等のものがあるのではないかと思いました。
pygtk - gnome ウィンドウ スイッチとパスワード フィールド
Ubuntu 用の小さなキー ロガーを作成しましたが、(すべてのウィンドウで) 特定のウィンドウまたはパスワード フィールドを記録したくありません。したがって、次の方法が必要です。
- 新しいウィンドウがいつフォーカスされるかを検出します (必要に応じてログを停止できるようにするため)。
- ユーザーがパスワード フィールドに入力したことを検出します (これにより、ログを停止できます)。
何か案は?