問題タブ [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 - python wnckは、pdb.set_trace()が完了するまでデータを返しません。
Ubuntu Linux / Gnomeでは、Pythonのwnckバインディングを使用して、開いているすべてのウィンドウのリストを取得しようとしています。
私のコードは次のようになります。
出力は次のようになります。
最初のget_windows()呼び出しは[]、空のリストを返します。2番目のget_windows()呼び出しは、開いているウィンドウのリストを返します。ではpdb、を押しcて続行し、何もしません(pdbで)。
コメントアウトするpdbと、両方のget_windows()呼び出しが戻り[]ます。get_windows()pdbの前に何度も呼び出しを繰り返すと、何もありません。get_windows()pdbの後で何度も呼び出しを繰り返すと、完全なリストが継続的に表示されます。
この呼び出しが空のpdbの後でのみ機能するのはなぜですか?pdbなしで動作させるにはどうすればよいですか?
linux - コンパイルされたコードを介してLinuxでウィンドウサイズを操作しますか?
次のように、xrandr、grep、および wmctrl を使用して、ウィンドウを画面の半分のサイズに最大化するスクリプトをいくつか作成しました (ウィンドウを並べて配置しやすくするため)。
これをよりネイティブに行う方法はありますか?スクリプトは私のデスクトップでは問題なく動作しますが、私のラップトップでは 0.5 秒の遅れがあり、ちょっと面倒です。
xlib - Xlib-フォーカスモード
私は学校用の単純なウィンドウマネージャー(xlibを使用)を書いていますが、1つの問題があります。デフォルトのX11フォーカスモードである「ずさんなフォーカス」(フォーカスはマウスポインターに従う)が本当に好きではないので、その動作を変更したいと思います。
EnterNotifyイベントをオーバーライドしていますが、フォーカスがずさんです。誰かが私に正しい方向を教えてもらえますか?
ありがとう
python - Pythonでユーザーの「行動」を監視する良い方法は?
Python でのユーザーのコンピューターの使用に関する情報を取得するための簡単な API を探しています。
関連するもの:
- キープレス、マウス イベント [PyKeylogger?] # SO で既に議論されていることは知っています
- 実行中のプロセスに関する情報を把握する
- もっと難しく、フォーカスのあるウィンドウに関する情報を知る (その名前?) # 本当に興味深いでしょう
- さらに難しいことに、システムにさらに多くの情報を求めることはできますか? (たとえば、このウィンドウの特定のグラフィック要素に表示されるテキストについてクエリを実行してもよいですか?それがブラウザだとすると、現在の URL を取得できますか?)
Linux システムに関する回答を希望しますが、より簡単であれば Windows の代替手段にも興味があります。携帯性は今のところあまり気になりません。
Linux では、シェル スクリプトを実行して出力を取得するというフォールバックがあると思いますが、これが一般的な方法なのか、それともいくつかの API が既にうまくラップされているのかを知りたいです。
質問が曖昧で申し訳ありませんが、特定の API で簡単に取得できる情報の範囲を評価し、この種の作業でどのツールが「通常」であるかを知りたいのは私です。
あらゆる情報をお寄せいただきありがとうございます。
linux - コマンドラインから* nixでファイルを「選択」したことを明らかにするにはどうすればよいですか?
コマンドライン経由でさまざまな* nixウィンドウマネージャーで選択されたファイルを表示するための半普遍的なメカニズムはありますか? たとえば、Windows では次のように言えます。
…そして、Explorer がファイルを表示して選択します。OS XI では、次のように言えます。
…そしてそれは同じことをします。私の質問は、さまざまな一般的な *nix フレーバーのウィンドウ マネージャーのいずれかで、まったく同じことを (ある程度普遍的に) 行う方法はありますか? 明らかに「Open Containing Folder」は簡単ですが、特定のファイルを選択して実際に開くという追加の手順を実行したいと思います。任意の支援をいただければ幸いです。
一番。
x11 - ウィンドウマネージャを書く最新の方法
ウィンドウマネージャを書こうとしています。(実際、私はOS とコンパイラを作成しましたが、それは重要ではありません。)
XLib と xcb は、少なくともたとえば win32 の標準ではまったく厄介ではありませんが、間違いなく非常に古く、私の人生を楽にするためのまともな抽象化には適していません。それだけでなく、現代の高水準言語には適切なバインディングが明らかに不足しています。
私の質問は次のとおりです。これらすべての低レベルのものは、最近本当に必要ですか? 私にとって厄介なものをすべてカプセル化するライブラリは存在しますか? 啓蒙主義者がそのようなことをしたという漠然とした記憶がありますが、何も見つかりません。それとも、たとえば GDK のような最新のウィジェット ライブラリには、Xlib レイヤーに触れる必要がないほど十分な機能がありますか?
Java バインディングを備えたライブラリは特に興味深いものです...
python - Window Manager は ConfigureRequestEvent で何をすべきですか?
私の罪のために (そして学習体験を楽しむために)、私はウィンドウ マネージャーを作成しています (私は知っています、知っています)。
Python と XCB (python-xpyb) を使用しています。
これまでのところ、ルート ウィンドウで SubStructureRedirect マスクを使用する必要があることがわかっており、アプリケーションのトップレベル ウィンドウに関連するイベントが正常に渡されています。xterm を起動してこれをテストしています。
ConfigureRequestEvent を取得し、その後一時停止し、さらに別の ConfigureRequestEvent、さらに MapRequestEvent を取得します。
MapRequestEvent を取得したら、 を呼び出しますconnection.core.MapWindowChecked(e.window)。これは機能しますが、1 ピクセルまたは 2 幅/高さのウィンドウをマップします。
私の質問は、ウィンドウを正しいサイズにするために ConfigureRequestEvent で何をすべきかということです (それが不足していると仮定して)。
より正確には、私は正確に何と呼んでいますか? MapWindowChecked は当然の選択でしたが、幅/高さを実際に構成する方法が見つからないようです。私はそれがConfigureWindowだと推測していますが、受け入れる引数は私にはわかりにくいようです。前回呼び出したときは xcb.xproto.CW.EventMask を使用しましたが、CW のどのフラグも幅/高さに関連しているようには見えません。
PS このすべてに関するドキュメントは、私には非常にわかりにくいようです。xcb を使用していると思われる 2 つの Python ウィンドウ マネージャーを見てきましたが、それらは追加機能を備えた独自のカスタム バージョンを使用しているようです。また、実行中のウィンドウ マネージャー (デバッガーのウィンドウのマッピングも担当) の検査/デバッグは PITA であるため、ここで質問します。おそらく、2 台のマシンまたは VM などを使用する方がよいでしょう。
ありがとう。
android - Androidでアクティビティを再開するとBadTokenExceptionが発生するのはなぜですか?
皆さん - 誰かこのスタックを説明できますか? 私のコードはどこにもないことに注意してください。これらの例外のいずれかについて Google で検索した場合、この問題を経験したすべての人は、アクティビティが終了した後にダイアログを作成しようとしていましたが、ここではそうではないようです. 簡単な活動履歴書です。現場のクライアントからこの例外が頻繁に報告されているのを目にしており、可能であれば修正したいと考えています。
アップデート:
このスタックをリモートで取得する方法は次のとおりです。まず、アクティビティの onCreate の先頭に uncaughtExceptionHandler を追加します。
私の RemoteUploadExceptionHandler クラスには、次のコードがあります。
これは、上に示したような 1 時間あたり多くのスタックを送信しているコードです。
さらに、 Google コード検索で ActivityThread コードを見ると、addView を呼び出す前にこのチェックを確認できます。
したがって、アクティビティは終了していないため、まだ有効である必要があります。
さらに、行番号は、Google ソース コードで確認できるものと一致していないようです。2.3.3 ソースの ActivityThread.java ファイルをチェックアウトします。行 2268 は、プライベート メソッド createThumbnailBitmap にあります。クラッシュしたクライアントによってアップロードされたビルド バージョンは 10 です。これは、SDK_INT が 10 であることを示しているため、2.3.3 です。
ruby - Rubyのデスクトップ環境
Rubyを使用してUbuntu用の非常にシンプルなウィンドウマネージャーを作成したいと思います。どこから始めればいいですか?私は(C ++を使用していたときから)Qtにある程度精通していますが、他のフレームワークを使用してもかまいません。