Какая библиотека gui используется возвышенным текстовым редактором?
Я загрузил редактор sublimetext, и я хочу знать, какая там графическая библиотека.
Имена файлов, которые находятся в каталоге исполняемых файлов редактора:
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
Могу ли я найти информацию из имен файлов?
Ответы
Ответ 1
Sublime Text 2 в основном кодируется на С++ и использует специальный инструментарий пользовательского интерфейса. Вот автор, Джон Скиннер, объяснив это: http://news.ycombinator.com/item?id=2822114.
У меня есть смысл написать сообщение в блоге с некоторыми подробностями об этом, но как со многими вещами я обычно заканчиваю кодирование. Sublime Text 2 - почти полностью С++ (с небольшим количеством Objective C для Cocoa и Python для плагинов). Кодирование, как правило, довольно прямолинейно: код на одной платформе (в основном Linux на данный момент, но я переключаюсь часто), а затем убедитесь, что он все еще компилируется в другом месте. возвышенный Сам текст 2 использует пользовательский набор инструментов пользовательского интерфейса. Есть много приложений, где это может не иметь смысла, но это не такой необоснованный выбор для Sublime Text, где я всегда знал, что многие элементы пользовательского интерфейса были должен быть настроен независимо от инструментария (например, текста управление и вкладки). Инструментарий UI находится поверх креста слой абстракции платформы, который является скорее объединением платформы функциональность, а не самый низкий общий знаменатель.
Ответ 2
немного Googling предположил, что использует Sublime GUI, который, судя по исходному пакету Debian, написан на С++.
то при запуске strings
в двоичном файле Linux sublime_text
отображаются следующие общие библиотеки (эквивалент DLL Windows), которые могут предлагать gtk:
/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.
Ответ 3
Возможно, он не написан на Python. Причина, по которой вы видите код Python, - это то, что пользователи могут писать сценарии/плагины в Pythons для расширения Sublime Text. Я подозреваю, что он написан на С++ с GTK в качестве инструментария GUI.