私はx-serverの実装を開発していますが、可能な限り現在の実装に類似させたいと思っています。 documentation を読みましたが、具体的なものは見つかりませんでした。特に、ウィンドウの番号付けスキームを見つけようとしています。これは実装固有のようです。
いずれにせよ、私はウィンドウIDに関して this を見つけました:
XIDの最上位11ビットはクライアントを示し、各クライアントに21ビットを残して、各クライアントに2 ^ 21(= 2,097,152)のXIDを与えます。
最大xクライアントが255であることを他の場所で読みました: ここ および ここ 。
ウィンドウに番号を付ける方法に関する明確なドキュメントはありますか?
Cygwin/Xは、許可されているクライアント接続の最大数についてgetdtablesize()を照会します。デフォルトでは、Cygwinはgetdtablesize()から32を返します。 2001-08-15にリリースされたCygwin/XサーバーテストシリーズリリースTest44は、getdtablesize()の2乗をsetdtablesize()に渡すことにより、クライアントの最大数を32から1024に変更しました。
Mac OS X Xソースコードには ハード定義 ininclude/xorg/misc.h:
#define MAXCLIENTS 256
一部の 古いUnix およびRHEL> 4は、実行時に設定できます:
-maxclients 64 | 128 | 256 | 512Xサーバーへの接続を許可するクライアントの最大数を設定します。許容値は64、128、256、または512です。
X.orgサーバーのソースコード 、 Virtual Box Xのソースコード そして他の何人かはそれを共有しています。
もちろん、それはフリーソフトウェアなので、Debian&Red Hatはそれを変更することができ、 それを上げています 512に。
ですから、最近のすべてのコンピューターでは、ヒントと見なすことができると思いますすべき 256から512の間です。私の知る限り、それを知る唯一の方法は、「Xに接続できません」というエラーを受け取ったときです。
ところで、xclientの番号付けは11ビットです。ナンバリングと最大クライアントは異なる問題です。 xlsclient -l
で各ウィンドウの番号付けを確認できます。