Page 3 of 21

Re: Netsurf

Posted: Sat Jun 22, 2013 7:47 pm
by SoUrcerer
Нет, не самый - но лучше,чем то, что есть в netsurf.

Re: Netsurf

Posted: Sat Jun 29, 2013 10:02 pm
by ppk-center
А модно ли портировать SpiderMokey?

Re: Netsurf

Posted: Sat Jun 29, 2013 10:23 pm
by hidnplayr
ppk-center wrote:А модно ли портировать SpiderMokey?
Netsurf developers are (actively) working on their own javascript support. The engine itself is ready AFAIK.

Re: Netsurf

Posted: Sun Jun 30, 2013 8:22 am
by SoUrcerer
As for now, js isn't very helpful. It still supports only console due to bad DOM support.

Re: Netsurf

Posted: Sun Jun 30, 2013 4:41 pm
by ppk-center
Yeah! But NetSurf has a very bad JavaScript. I hope this problem will be decide soon.

Re: Netsurf

Posted: Thu Sep 12, 2013 2:39 pm
by Leency
Как собрать Netsurf

SoUrcerer « Чт сен 12, 2013 12:48 pm » берем мой menuetlibc http://wavetale.com/me.7z
SoUrcerer « Чт сен 12, 2013 12:56 pm » распаковываем в домашнюю папку
SoUrcerer « Чт сен 12, 2013 12:56 pm » делаем export MENUETDEV=/home/leency/me
SoUrcerer « Чт сен 12, 2013 12:57 pm » переходим в папку с netsurf; netsurf/netsurf/objs
SoUrcerer « Чт сен 12, 2013 12:57 pm » даем команду make -f make.all
SoUrcerer « Чт сен 12, 2013 12:57 pm » получаем файл _netsurf

+ см. viewtopic.php?f=40&t=2315&start=15#p49181

Для х64 систем вначале нужно сделать:
sudo dpkg --add-architecture i386
sudo apt-get upgrade
sudo apt-get install ia32-libs

Re: Netsurf

Posted: Sat Oct 26, 2013 8:33 pm
by Mario_r4
Как насчет того чтобы залить в ISO образ гарантированно работающей копии программы?

Re: Netsurf

Posted: Sat Oct 26, 2013 8:42 pm
by SoUrcerer
Так нужно сеть допилить и GUI, и можно в ISO. У меня щас работы по 12 часов в день, некогда :( А Leency отлынивает :P

Re: Netsurf

Posted: Sat Oct 26, 2013 8:52 pm
by Mario_r4
SoUrcerer wrote:Так нужно сеть допилить и GUI, и можно в ISO.
Ну, можно же довести до какого-нибудь минимально рабочего состояния, чтобы хоть на уровне HTMLv работало?

Re: Netsurf

Posted: Sat Oct 26, 2013 8:58 pm
by SoUrcerer
То, что я писал Leency о том, как доводить до ума Netsurf. Вдруг кто ещё займется? На вскидку, на libnsfb нужно потратить полдня работы, на сетевую - ещё день или два. Это всё с учетом того, что нужно войти в курс дела. После этого останется полировать, чинить разбор путей к файлам и так далее.
Хей-хо! давай я научу тебя править lib NSFW
*NSFB :)

http://websvn.kolibrios.org/filedetails ... Fkolibri.c
ничего не напоминает? htmlv там?:)

функция static bool kolibri_input отвечает за ввод. Мышь, как я помню, работает. Скролл тоже туда можно добавить

А вот и костыль:
if (got_event==2) { //key pressed
event->type = NSFB_EVENT_KEY_UP;
event->value.keycode = __menuet__getkey();
return true;
}

Здесь костыль, из-за которого клава не работает. NSFB получает события двух типов: клавиша нажата и клавиша отпущена.
Это позволяет отлавливать комбинации клавиш; соответственно, тут нужно разбиратть скан-коды и предавать EVENT_KEY_UP и EVENT_KEY_DOWN соответственно.


http://websvn.kolibrios.org/filedetails ... ce%2Fsdl.c - вот тут хорошо видно enum nsfb_key_code_e sdl_nsfb_map[] - это таблица соответствия кода клавиши реального и её кода внутри netsurf, это тоже нужно реализовать.

Из плюшек NSFB: функция-заглушка kolibri_cursor - позволяет ставить произвольный курсор. Нужно только запрограммировать это.


"Главная" рисовательная функция:
void kolibri_window_redraw(nsfb_t *nsfb){

__menuet__window_redraw(1);
__menuet__define_window(100,100,nsfb->width,nsfb->height,0x43000080,0x800000FF,0x000080);
__menuet__write_text(3,3,0xFFFFFF,"Netsurf",7);
__menuet__debug_out("f65 is mighty!\n");

//here put image pixels! it's 32bpp
f65(0,0, nsfb->width, nsfb->height, pixels);
__menuet__window_redraw(2);
}

Видно, что определяется окно с заданными размерами (nsfb->width. nsfb->height), но левого типа, хотя вроде заголовок должен быть (не помню). Затем выводится функцией f65 картинка pixels, которая заполняется самим nsfb. Вот и весь redraw

Нужно править пару функций - и управление в netsurf станет человеческим. Правда, ввод русского скорее всего работать не будет - надо будет спрашивать разрабов Netsurf, как в NS русские буквы вводить.


Теперь сам Netsurf. Сетевой код - тоже не rocket science.
http://websvn.kolibrios.org/filedetails ... s%2Fcurl.c
Функция fetch_curl_process запускает downloader и потом убивает, запускает заново, тормозит nsfb (он замирает), и затем открывает файл. Нужно по-человечески это всё сделать, а не так костыльно - и сеть тоже заработает. В идеале реализовать POST, и можно будет сидеть на форуме.

Re: Netsurf

Posted: Sat Oct 26, 2013 9:02 pm
by Mario_r4
SoUrcerer
Хорошо, сформулирую вопрос по другому - ты можешь выделить некоторое количество своего времени, для того чтобы собрать гарантированно работающую сборку, содержащую все нужные файлы - без левых зависимостей типа "где то на моем личном жестком диске валяется файл, а вам его не отдам потому что. тчк", которую потом можно просто так взять и залить в ISO образ?

Re: Netsurf

Posted: Sat Oct 26, 2013 9:11 pm
by SoUrcerer
Сформулирую ответ ещё раз: нет, я не могу выделить некоторое количество времени, чтобы исправить проблемы Netsurf. Это не будет рационально - при моей текущей загрузке выполнение этих задач потребует примерно трех месяцев. В ближайший месяц свободных двух дней у меня скорее всего не будет. Поэтому более рационально призвать в тему кого-нибудь из молодых любителей Си.

Замечу, что никаких "левых" зависимостей нет, hidnplayr и Leency успешно собрали Netsurf на своих компьютерах используя библиотеки http://wavetale.com/me.7z - которые я выложил на ftp вот тут: ftp://kolibrios.org/users/SoUrcerer/me.7z и файлы с SVN.

Re: Netsurf

Posted: Sat Oct 26, 2013 10:14 pm
by Mario_r4
Хорошо, тема закрыта и я ее больше поднимать не буду.

Re: Netsurf

Posted: Sun Oct 27, 2013 1:29 am
by Leency
Отпишусь уже и я.

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

С гуи у Netsurf всё нормально.
Каковы сейчас проблемы Netsurf:
- он не запускает файлы по ассоциации
- он падает и часто
- он работает очень медленно

Re: Netsurf

Posted: Sun Oct 27, 2013 9:42 am
by SoUrcerer
NS работает медленно из-за того, что ждет downloader каждый раз. У меня файлы по ассоциации отлично открываются - не знаю почему у тебя нет.
А вот насчёт "падает" - это нужен очевидно отладочный вывод (запуск с ключом -v).
Leency, подумай о NS ещё разок, не так уж страшен чёрт, как его малюют :)