問題タブ [window-management]

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 投票する
8 に答える
16067 参照

c - Linux 用のウィンドウ マネージャーの作成

C私は、主に学習と自分自身への挑戦を目的として、私的使用のための単純なスタッキング ウィンドウ マネージャー (の) を作成したいと考えています。

私はtwmのソース コードに目を通してみましたが、これには付加機能が比較的少ないのですが、ウィジェット ツールキットに基づいていないため、非常に低レベルに見えます。1 GTK+ などのツールキットを使用するのが望ましいでしょうか? のコードとライブラリの一部がtwm古すぎる可能性があるのではないかと心配しています (編集:非推奨)。ウィンドウ マネージャで比較的新しいライブラリを使用する必要があります。理解を深めるために、ウィンドウ マネージャを最初から起動する方法の提案にも関心があります。この目的のためのチュートリアルはあまりありません。

更新:同様のプロジェクトを考えている人のために: Common Lisp とCLX ライブラリを使用することになりました。tinywm-lispがベースとなり、優れたCLFSWMStumpwmが大きな助けになりました。参考までに、CLX — Common LISP X Interface ( PDF 警告) と#xlibFreenode を使用しました。

0 投票する
0 に答える
220 参照

opengl - X11 で "switch from" および "switch to" イベントを処理する方法は?

フルスクリーンの OpenGL アプリケーションを作成しています。ユーザーが切り替えたときに元のデスクトップ モードを復元し、ユーザーが切り替えたときにモードを復元したいと考えています。これは「FocusIn」および「FocusOut」イベントのように見えますが、これには適していません。ユーザーが Alt+Tab を押してウィンドウ セレクターが表示されるとすぐに、ウィンドウは "FocusOut" を取得します (この時点でウィンドウがフォーカスを失っているため)。

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

x11 - トップレベル ウィンドウを開いた X11 トップレベル ウィンドウを見つけたり、記録したりするにはどうすればよいですか?

TabKitが Firefox のタブに対して (デフォルトのツリー ビュー モードで) 行うのと同じように、ウィンドウに対して行う X11 ウィンドウ マネージャーを作成することを考えています。これを行うには、ウィンドウがどのウィンドウから開かれたかを見つけることができる必要があります。これを見つける標準的な方法はありますか?

(X11 上でクロスプラットフォーム ツールキットを使用せずに X11 プログラミングを行ったことはありません。ウィンドウ マネージャーを作成することは言うまでもありません。)

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

delphi - 画像用の特別なビジュアル選択ツールを作成する

画像が暗くなり、ユーザーが選択している部分に実際の画像が表示される、特別な種類の選択を作成したいと思います。例を見ることができます:

例

これを実装するための 2 つのアプローチを見つけました。

  1. 暗くした画像を表示するコントロールを実装します。ユーザーがこのコントロール上に楕円をドラッグすると、楕円は実際の画像 (暗くされていない画像) をコントロール キャンバスにコピーします。このシナリオでは、楕円のサイズを小さいサイズに変更しようとすると、最初に楕円の長方形領域全体が暗くなり、次に新しい小さい楕円に実際の画像が描画されます。

  2. アプローチ 1 と同じですが、コントロールのキャンバスに描画する代わりに、実際の画像を表示する新しいコントロールを作成します。この場合、すべてのメッセージが新しいコントロールに送信され、親コントロールに渡される必要があります。ユーザーが楕円のサイズを小さいサイズに変更しようとすると、WM_MOVE メッセージが親コントロールではなくこのコントロールに送信されるためです。

誰かがこれを実装するための正しい方向性を教えてください。アプローチ 1 は、多くのちらつきを引き起こすため、実装が非常に難しいと思います。InvalidateRect 関数で変更部分のみを再描画する方法を実装しない限り。

これは、今まで私が実装した TScreenEmul クラスのコードです。動作しますが、ちらつきがあります。

このクラスを使用する場合:

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

xcode - MacRuby + Interface Builder:ウィンドウを表示してから閉じてからもう一度表示する方法

私はMacRubyとCocoaを備えた完全なn00bなので、答えるときはそのことを覚えておいてください。多くの詳細と説明が必要です。:)

2つのウィンドウを含む単純なプロジェクトをセットアップしました。どちらもInterfaceBuilderで構築されています。最初のウィンドウは、テーブルビューを使用したアカウントの単純なリストです。表の下に「+」ボタンがあります。+ボタンをクリックすると、「新しいアカウントの追加」ウィンドウが表示されます。

また、これらのウィンドウのデリゲートとして設定されAccountsController < NSWindowControllerたクラスと、適切なボタンクリックメソッドが配線されたクラス、および必要なウィンドウを参照するためのアウトレットがあります。AddNewAccountController < NSWindowController

[アカウント]ウィンドウの[+]ボタンをクリックすると、次のコードが実行されます。

これは、最初に[+]ボタンをクリックしたときにうまく機能します。すべてが表示され、データを入力してモデルにバインドすることができます。ただし、新しいアカウントの追加フォームを閉じると、状況が悪化し始めます。

[新しいアカウントの追加]ウィンドウを閉じるときに解放するように設定した場合、2回目に[+]ボタンをクリックすると、ウィンドウはポップアップ表示されますが、フリーズします。ボタンをクリックしたり、データを入力したり、フォームを閉じたりすることはできません。これは、フォームのコードがリリースされたためだと思います。そのため、フォームを処理するメッセージループはありません...しかし、これについては完全にはわかりません。

[新しいアカウントの追加]ウィンドウを閉じたときに解放しないように設定した場合、2回目に[+]ボタンをクリックすると、ウィンドウは正常に表示されて使用できますが、以前に入力したすべてのデータが残っています...以前のAccountクラスインスタンスにまだバインドされています。

私は何が間違っているのですか?[アカウント]フォームの[+]ボタンをクリックしたときに、[新しいアカウントの追加]フォームの新しいインスタンスを作成し、新しいアカウントモデルを作成し、そのモデルをフォームにバインドしてフォームを表示する正しい方法は何ですか?

...これはすべてOSX10.6.6、64ビット、XCode3.2.4で実行されています

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

objective-c - Objective-Cでユーザー入力をシミュレートする方法は?

Windows では、C# を使用して、別のウィンドウの「画面」をキャプチャし、それを処理に使用して、ユーザー入力イベントをそのウィンドウに送信することができました。(プログラムによって生成された)。

Objective-C と Mac OS X で同じことをしたいと思います。私がやろうとしていることのリソースや名前さえも素晴らしいでしょう。検索を表現する唯一の方法が曖昧すぎる場合、これに関する情報を見つけようとするのは非常にイライラします。

ありがとう!

編集: 具体的な例として、AI を作成したい特定のゲームがあるかもしれません。その場合、マウスとキーボードのイベントをゲームに送信できる必要があります。

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

winapi - プロセスが所有していないウィンドウを制御することは、マルウェア アクティビティと見なされますか?

ウィンドウのサイズを制御し、非表示/表示し、自分のプロセスとは異なるプロセスが所有するウィンドウの前面に表示するために、ここで行われた提案の 1 つに従うことを計画しています。

MS Windows(XP)での別プロセスからのウィンドウハンドルによるウィンドウ操作

WinForms アプリから新しいプロセス ウィンドウのサイズと位置を制御するにはどうすればよいですか?

私のプロセスは、あなたが知っているマルウェア検出ソフトウェアによってマルウェアとして報告されますか?

他のプロセス ウィンドウを制御するには、自分のプロセスと他のプロセスが実行されている最高の特権よりも高い特権がプロセスに必要ですか?

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

python - Python を使用してアクティブなウィンドウのサイズを Linux の画面サイズの半分に変更しますか?

この質問は、コンパイルされたコードを介してLinuxでウィンドウサイズを操作しますか?へのフォローアップです。

タイトルに従って、アクティブなウィンドウのサイズを画面サイズの半分 (画面の左側または右側) に変更したいと考えています。これは、次のように bash スクリプトを使用して行うことができます (前の質問への回答による)。

ただし、この方法ではラップトップで 0.25 秒という顕著な遅延が発生しますが、これを 0.1 秒まで減らしたいと考えています。Pythonで上記のbashスクリプトと同じ効果を得るにはどうすればよいですか?

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

vim - gVim-Ubuntu-ウィンドウのサイズ変更を続ける

私はgVimを使用してUbuntuにいます。gVimのウィンドウ管理に何か問題があります-それは私にサイズ変更を続けます!...通常、タブを切り替えるか、ウィンドウを分割するか、分割を切り替えると発生します。

どんな助けでも完全に素晴らしいでしょう!

ありがとう!

0 投票する
5 に答える
108290 参照

python - タートルグラフィックス-ウィンドウを閉じるタイミングを制御するにはどうすればよいですか?

タートルグラフィックスを描画する小さなPythonスクリプトがあります。スクリプトの実行が終了すると、タートル画面が自動的に閉じます。そのため、しばらくの間グラフィックを表示できるようにするにtime.sleep(5)は、スクリプトの最後で終了を遅らせるために使用する必要があります。

これをより動的にする方法はありますか?つまり、ウィンドウの閉じを自分で制御したいことをPythonに伝えますか?コマンドを待っている間、スクリプトが他に何もできないかどうかは気になりませんが、read()何かのためにコンソールに行く必要がない方がいいと思います。理想的には、スクリプトの実行が終了した後もキャンバスは開いたままである必要がありますが、キャンバスを保持しているウィンドウを閉じる(またはキャンバスをクリックするなど)までスクリプトを停止するソリューションで問題ありません。

どうすればこれを達成できますか?