web-dev-qa-db-ja.com

崇高なテキストエディタで使用されているGUIライブラリは何ですか?

sublimetext のエディターをダウンロードしました。そこで使用されているGUIライブラリを知りたいです。

エディタ実行可能ファイルディレクトリにあるファイルのファイル名は次のとおりです。

bz2.pyd
Microsoft.VC90.CRT.manifest   
msvcp90.dll
msvcr90.dll                   
PackageSetup.py
PackageSetup.pyc              
pyexpat.pyd                   
python26.dll
python26.Zip                  
select.pyd
sublimeplugin.py              
sublimeplugin.pyc
sublimetext.exe               
unicodedata.pyd
unins000.dat                  
unins000.exe
_ctypes.pyd                   
_elementtree.pyd
_hashlib.pyd                  
_socket.pyd
_ssl.pyd     

ファイル名から情報を見つけることができますか?

60
Freewind

Sublime Text 2は、ほとんどがC++でコーディングされており、カスタムUIツールキットを使用しています。これを説明している著者のJon Skinnerが http://news.ycombinator.com/item?id=2822114 です。

私はこれについていくつかの詳細を記したブログ投稿を書くことを意味し続けていますが、多くのことと同様に、通常は代わりにコーディングすることになります。 Sublime Text 2はほぼ完全にC++です(CocoaのObjective Cの一部とPythonプラグインの場合)。コーディングは一般的にかなり単純です。1つのプラットフォーム上のコード(現時点ではほとんどLinuxですが、 Sublime Text 2自体はカスタムUIツールキットを使用します。これが意味をなさないかもしれないアプリはたくさんありますが、Sublime Textにとってそれほど不合理な選択ではありません。 UIコントロールの多くは、ツールキット(テキストコントロールやタブコントロールなど)に関係なくカスタムにする必要があることを常に知っていました。UIツールキットは、クロスプラットフォームの抽象化レイヤーの上にあります。最小公分母ではなくプラットフォーム機能の。

130
Hugo

少しのグーグルは、Sublime GUIを使用していることを示唆しました。これは、Debianソースパッケージによる判断はC++で書かれています。

次に、Linuxでstringsを実行しますsublime_textバイナリは、gtkを示唆する可能性のある次の共有ライブラリ(Windows DLLと同等)を示します。

/lib/ld-linux.so.2
libgtk-x11-2.0.so.0
libgdk-x11-2.0.so.0
libatk-1.0.so.0
libgio-2.0.so.0
libpangoft2-1.0.so.0
libpangocairo-1.0.so.0
libgdk_pixbuf-2.0.so.0
libcairo.so.2
libpng12.so.0
libpango-1.0.so.0
libfreetype.so.6
libfontconfig.so.1
libgobject-2.0.so.0
libgmodule-2.0.so.0
libgthread-2.0.so.0
librt.so.1
libglib-2.0.so.0
libpthread.so.0
libdl.so.2
libutil.so.1
libm.so.6
libX11.so.6
libstdc++.so.6
libgcc_s.so.1
libc.so.6
libgio-2.0.so
libgio-2.0.so.0
module.so

これも はgtkを提案します。

23
jcomeau_ictx

Pythonで書かれていない可能性があります。 Pythonコードが表示される理由は、ユーザーがPythonでスクリプト/プラグインを記述してSublime Textを拡張できるためです。GUIツールキットとしてGTKを使用したC++で記述されていると思われます。

15
jemeshsu