LINUX.ORG.RU

Сообщения mono

 

Source Navigator

Привет всем!

Хочу рассказать об одном очень интересном инструменте, который на ЛОРе, незаслуженно обходят вниманием. Старожилы, скорее всего, должны помнить его, так что для них новостью будет только то, что проект живет и потихоньку развивается, новая версия вышла где-то с год назад и присутствует активность в svn.

Source Navigator - это открытый (GPL2) инструмент для анализа кода. История его началась, с открытия исходных текстов компанией RH в 2000 году (о чем была новость на лоре), далее проект переехал на Source Forge где развивался на открытых началах до 2003 года и заглох.

Второе дыхание проекту дала команда Source Navigator NG, форкнула проект в виде Source Navigator NG, последняя версия которого вышла 29 марта 2010 года.

SN написан на C + Tk в качестве тулкита. Это очень быстрый и функциональный инструмент, который поможет разобраться в большом сложном проекте. SN поддерживает такие языки программирования как C, C++, Java, Python, Php, Tcl.

Интерфейс состоит из двух главных окон: окна с названием Symbols и окна «редактора».

Окно Symbols позволяет просматривать проект и всячески управлять им, к слову сказать, проект, в понятиях SN - это просто набор любых текстовых файлов. Проект можно просматривать в виде списка элементов, таких файлов, классов, функций, констант и т.д. При двойном щелчке по элементу списка открывается файл, где этот элемент находится.

Окно «редактора» не случайно взято в кавычки, кроме возможностей редактирования текста, там есть инструменты для Grep'а по всему проекту, инструменты для рисования диаграмм наследования классов, диаграмм include'ов (для C/C++ кода) и куча других возможностей, о многих из которых я не знаю :)

SN может выступать в качестве полноценной IDE, есть поддержка нескольких Build Target's, возможность подключения стороннего дебаггера.

В общем, это отличный инструмент для программистов, не страдающих тулкитофобией и боязнью сочетания tcl/tk.

Страничка «old SN»

Страничка SN-NG на berlios

Скриншоты

Скачать

На скриншоте Source Navigator NG 4.2 с открытым проектом python-gtkmvc, OpenSuSE 11.3, Gnome 2.30.

>>> Просмотр (1280x1024, 697 Kb)

 

mono ()

OpenSuSE, iPod Touch, Objective-C и все-все-все.

Когда-то давно в толксах я писал о том, что собрал iPhone Toolchain в линуксе, и даже что-то показывал, но потом свободного времени стало меньше и я перестал заниматься этим делом.

Теперь снова решил поковыряться с Objecitve-C и iPhoneOS и для начала перенести пример (http://www.iphonesdkarticles.com/2008/07/first-iphone-application.html) с XCode на iPhone Toolchain в линукс.

Основная сложность этого дела - это создание интерфейса приложения без Interface Builder, потому что IB в линуксе естественно нет, поэтому я открыл XCode на макбуке и, пользуясь такими благами цивилизации как автодополнение и iPhone Simulator, начал писать интерфейс вручную. Немного помучившись с видами и контроллерами у меня это получилось.

Далее я перенес написанный код в линукс и попытался его собрать, все собралось успешно, без единой ошибки, очень удивило то что iPhone Toolchain поддерживает все плюшки Objective-C 2.0, такие как @property, я ожидал, что с ними будут проблемы (кстати, а гнустеповский компилятор поддерживает Objective-C 2.0?). Но при запуске я видел только пустой экран и фоновую картинку. После некоторых экспериментов я понял в чем дело, XCode по-другому определяет точку входа в Cocoa-приложение. В XCode-проекте функция main выглядит так:

#import <UIKit/UIKit.h>

int main(int argc, char *argv[]) {
    
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
    int retVal = UIApplicationMain(argc, argv, nil, nil);
    [pool release];
    return retVal;
}

Видно, что функции UIApplicationMain передаются пустые аргументы, а в iPhone Toolchain проекте эта же функция должна получить название класса основной программы:

#import <UIKit/UIKit.h>

int main(int argc, char *argv[]) {
    
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
    int retVal = UIApplicationMain(argc, argv, @"HelloUniverseProgAppDelegate", @"HelloUniverseProgAppDelegate");
    [pool release];
    return retVal;
}

в моем случае это HelloUniverseProgAppDelegate. И еще одно отличие: класс HelloUniverseProgAppDelegate в XCode наследуется от NSObject с интерфейсом UIApplicationDelegate, а в iPhone Toolchain от UIApplication.

На картинке рядом виден результат работы программы. Программа простая, но основной целью этого действа была проверка насколько сложно портировать код для XCode в iPhone Toolchain, оказалось, что совсем не сложно.

А вообще на скриншоте Gnome в OpenSuSE 11.2 с дефолтной темой (даже обоина дефолтная) от которой тошнит мужика2, global-menu вверху, gnome-do внизу, на заднем плане gajim с конфой любителей Objective-C (гы-гы) loosers@conference.jabber.ru и opera.

Зачем я это все написал? надоели пустые скриншоты с дефолтными кедами4 и скриншоты повествующие о то как автор настроил себе тайловый WM.

P.S. Это не закос на мак, я просто привык к подобному интерфейсу.

>>> Просмотр (1280x1024, 383 Kb)

 , , , ,

mono ()

Mac Opera 10b & Mac Google Chrome

Совсем недавно обновилась маковская опера, которая совсем не порадовала новой еще более виста-шкуркой, и Google Chrome, который удивил шустрой работой и отлично вписался в родной Cocoa интерфейс. Даже умеет вкладки в заголовке (в отличие от вашего линукса), причем смотрится это красивше, чем в Safari4.

Я доволен. =)

png-версия: http://funkyimg.com/u2/387/022/4lor.png

>>> Просмотр (1440x900, 454 Kb)

mono ()

Etoile: часть 2

На скриншоте свежая сборка Etoile & GNUstep из SVN, все это на SuSE 11.1

Стало все намного лучше. Собралось гораздо больше, чем в прошлый раз. Даже некоторые приложения, например адресная книжка, но не все заработали..

В общем глюков стало намного меньше, пропали жуткие тормоза. Улучшилась стабильность MenuServer'а.

Кто-нибудь еще пробовал собирать это чудо?

>>> Просмотр (1280x1024, 121 Kb)

mono ()

Google Chrome Mac TestShell

Так как недавно проскакивала новость о том, что гугль такой лапочка и скоро выпустит для линукса и мака свое детище, я решил заскришотить то что получилось у гугля за столько времени.

Ну на скрине собственно Mac TestShell, только что собранная на моем макбуке про.

Так как недавно проскакивала новость о том, что гугль такой лапочка и скоро выпустит для линукса и мака свое детище, я решил заскриншотить то что получилось у гугля за столько времени.

Ну на скрине собственно Mac TestShell, только что собранная на моем макбуке про.

В первом окошке показано заглавная страничка этой самой TestShell. можно подумать, что гугль молодец такой сделал хоть тестовую среду хорошую, которую можно поковырять.. Но не тут то было. В ней 90% ссылок выдает то что показано в окошке снизу... При этом никакого прогресса месяца за 4, с того времени как только TestShell вообще начала собираться, я не вижу. Как ничего не работало - так и не работает. Еще я не понимаю назначение ссылки "Windows Media Player" =)

На следующем окошке открыт ЛОР, потому что показывать больше нечего.

Под линуксом, как я понимаю, дела еще хуже... раз они еще только думают на каком тулките делать.

Но самое интересное, что комитов в SVN идет довольно много и каждый день.. Но о линукс и мак версии никто не вспоминает.

http://funkyimg.com/u2/412/753/4lor.png - png версия.

>>> Просмотр (1440x900, 470 Kb)

mono ()

Etoile

В галерее на ЛОРе я еще не видел скриншотов с этим чудом. Так что буду первым.

Как и обещал, опишу процесс сборки подробнее.

Для этуаля нужен GNUStep и еще список разных зависимостей, о которых можно почитать в файле INSTALL. Ну или INSTALL.Ubuntu. Так мне было проще понять что ему нужно.. Названия пакетов между дистрами не очень сильно отличаются.

Проблема была с модулем OgreKIT и специальной зависимостью Oniguruma. Обо всем этом я уже отписывался тут.

Проблема решилась отключением OgreKIT и все, что от него зависит.

Дальше все собралось без проблем. Я сделал make install, запустил скрипт setup.sh и в KDM добавился еще один пункт.

Дальше лучше. Пока этуаль грузится можно сходить на кухню попить чаю. Притом грузится очень криво, AZBackground не находит обои, как написано в README, ему нужно указывать абсолютный путь. По-этому я изменил стартовый скрипт, в котором прописал запуск всех компонетной вручную. Запустилось.

Работает просто жутко глюкаво!!! Глючит абсолютно все что можно и все что нельзя. По какому принципу WM решает какое окно активировать, а какое нет - я не понял. Зачем нужен док - тоже, если все-равно приложения появляются квадратиками в углу. Меню наверху, тоже просто аццки глючит и постоянно падает. При попытке вызвать главное меню появляется белый прямоугольник, при закрытии приложения на месте, где были пункты тоже появляется белый прямоугольник.

Быстродействие тоже оставляет желать лучшего.. На скриншоте аналог макосевского редактора интерфейсов. Все-бы было хорошо, если бы не тормоза.

не понимаю, как можно это называть стабильным релизом.

Ну и напоследок: раскладка тут не работает.

Вроде все.

>>> Просмотр (1280x1024, 315 Kb)

mono ()

Ulteo Online Desktop

Вот этот самый Ulteo, запущенный в сафари. В нем фф и конк.

По сути дефолтные кеды с измененным KMenu... И больше я ничего нового не нашел.. ООо не запускал.. страшно.. он и так не быстрый, да еще и удаленно, да еще и на яве..

Первым делом я, конечно, стал искать терминал, что бы понять изнутри что там к чему, но мои поиски успехом не увенчались.. Даже катапульт Konsole не нашел.. Видно разработчики Ulteo решили, что терминал не нужен.

>>> Просмотр (1024x768, 192 Kb)

mono ()

Gnome с небольшим закосом на мак.

Решил выложить свой скрин.

Fedora 7. Gnome 2.18.1 с пропатченым gtk+ на предмет менюшки аля-мак. Так гораздо удобней. Окна на экране занимают меньше места.

Opera 9.5 альфа. не помню какой был. Стиль IE7 мне очень даже нравится, если кто не согласен, то не мои проблемы. Единственный минус, в том, что опера держит меню в окне, а не выносит в апплет. Если кто знает как это починить, то пишите.Кстати огнелис тоже не хочет выносить менюшку.

Тема QT - qt-curve. Самая приемлимая из всех, что я видел. Да и то не вписывается в общий стиль оперы.

Exaile 0.2.10 вполне юзабельный плеер. Лучше чем амарок. Только жду, пока сделают эквалайзер без требования gstreamer из cvs.

Ну и тема gkt - Mist. Декорации окон (Emerald) - Minimal. Compiz использую из-за переключения окон как в маке и эффекта желейных окон. Меня бесит, когда окна движутся рывками особенно на слабых видеокарточках, типо моей. Nv Geforce 5500 FX.

PS Шрифты конечно не блеск, но меня вполне устраивают. Честно признаюсь, что настраивать не умею, а курить маны про это пока лень. Позже как нибудь займусь.

>>> Просмотр (1280x1024, 251 Kb)

mono ()

RSS подписка на новые темы