Подтвердить что ты не робот

Какая библиотека 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     

Могу ли я найти информацию из имен файлов?

4b9b3361

Ответ 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.