問題タブ [xcb]
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.
c - Debian Squeeze/WheezyにXCBヘッダーがありません
ドキュメントはinput.h
、少なくとも次のように、どのパッケージにも表示されていないように見えると呼ばれるファイルについて話します。
関数を使おうとしていたので、それが必要ですxcb_input_open_device
。
私は何が間違っているのですか?
c++ - XGetXCBConnectionから取得したxcb_connection_tを切断する必要がありますか?
これが私がいくつかのGLXコードで見た例です:
そこに何もないことに気づきxcb_disconnect
ました。これは正しいです?また、connection
ディスプレイを閉じた後も有効ですか?
c++ - XCB STRING と WM_NAME が定義されていません
とはどこSTRING
でWM_NAME
定義されていますか?
私のxcb_atom.h
ファイルには、次のようになると予想していたときに、3 つの関数宣言しか含まれていません。アトム/xcb_atom.h
同様のアトムを含むファイルもありxcb_ewmh.h
ますが、ドキュメントが見つかりません。
これを修正するにはどうすればよいですか?
c++ - VISUAL_ID と screen->root_visual が等しくない場合、glXCreateWindow が機能しない
私はこれに非常によく似たコードに取り組んでいます:
http://xcb.freedesktop.org/opengl/
デフォルトのフレームバッファ構成を使用すると問題なく動作しますが、特定の構成を照会しようとすると失敗します。私は、 VISUAL_ID
(visualID
コード例では)いつでも失敗し、screen->root_visual
異なる値であると判断しました。
エラーメッセージは次のとおりです。
これを修正するにはどうすればよいですか?
python - X11 ウィンドウ マネージャー用の xcb python を使用してルート ウィンドウに SubstructureRedirect イベント マスクを設定する方法
例外を発生させない次のコードがありますが、MapRequests や ConfigureNotifys などのイベントを受信していないようです:
これを Xephyr でテストしています。
私は何か間違ったことをしていますか?もしそうなら、どうすれば修正できますか?
linux - Pythonでxcb ConfigureWindowを使用してウィンドウを適切に構成する方法
私はX11ウィンドウマネージャーに取り組んでおり、Pythonで書いています。ConfigureWindowEvents を取得して処理する場所で問題が発生しています。ただし、その場合でも、ウィンドウがマップされると、高さ 2 ピクセル、幅 1 ピクセルのウィンドウとして表示されます。他の人がテストできるように、次のサンプル コードをまとめました。これが間違っているかどうか教えてください。私のConfigureEvent処理コードはqtileのものに基づいています
エラーをキャッチすることを期待して Checked 関数を使用しています
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イベントの両方を取得する正しい方法は何ですか?
linux - Linux での Qt スレッドの問題
私は自分のプロジェクトで Qt を使用して開発を行っており、よりスレッド指向の設計に移行し始めています。一部の GL レンダリング ウィジェットを他のスレッドに移動したところ、非常に奇妙な動作を発見しました。ユーザー入力を受け入れるウィジェット (QTextEdit など) がフォーカスを取得する前に、GL ウィジェットが別のスレッド (ブースト スレッドまたは QThread) から更新を開始すると、次のような XCB クラッシュが発生するようです。
これをテストするために、実際に GLHypnotizer デモに簡単な変更を加えてクラッシュを再現することができます。そのデモはここにあります: http://qt-project.org/doc/qt-4.8/demos-glhypnotizer.html [qt-project.org]
「mdiArea.addSubWindow(new QTextEdit(this));」という行を追加すると、313 行目あたり (newThread() の呼び出し前) で、デモが開始されると、QTextEdit と GL Hypnotizer ウィジェットが表示されます。QTextEdit をクリックしてフォーカスを取得すると、毎回上記のクラッシュが発生します。
上記の手順を使用して、Linux インストールでエラーを再現できる人はいますか? Qt とスレッド化を使用して、Linux でこの種の問題に遭遇した人はいますか?
注: Ubuntu 12 を使用していますが、このクラッシュは VirtualBox および VirtualBox 以外の Ubuntu インストールで発生します。
fullscreen - xcb で _NET_WM_STATE_FULLSCREEN ヒントを提供するにはどうすればよいですか?
私は自分の教育のために xcb でフルスクリーン アプリケーションを作成しようとしていますが、上記で問題が発生しています。Xlib を使用してこれを行うコードをいくつか見つけましたが、xcb を使用するコードはありません。構造を見つけたので、xcb_ewmh_connection_t
暫定的に次のように使用しています。
そして、構造内の原子をEWMH._NET_WM_STATE
などで使用します。
このちょっとした背景を踏まえて、ウィンドウをフルスクリーンにする必要があることをウィンドウ マネージャーにほのめかすにはどうすればよいでしょうか。
python - _NET_WM_STRUT_PARTIAL プロパティを変更できません
Python で作成した Gtk アプリケーション用に、画面にスペースを確保したいと考えています。私はこの関数を書きました:
呼び出しは次のようになります。
残念ながら、うまくいきません。コードのどこにエラーがありますか?
UPD: これが私の xprop 出力です。私の WM は Compiz です。