Pull to refresh

Браузер Bro, IRC-чат Retro и другие утилиты в графическом редакторе PaintCAD 4Windows

Reading time 14 min
Views 15K
Одну простую сказку, а может и не сказку,
А может не простую хочу вам рассказать,
Про паинткад и йоту, про интернет бесплатный,
Про РЖД и Asus, про сенсорный экран…





Когда-то мой брелок-модем Yota работал в сети WiMax. И я на съемной квартире (за неимением лучшего варианта доступа в интернет) пользовался им. В один прекрасный день Yota перешла на LTE и провела раздачу новых брелков, поддерживающих этот стандарт. Я пошел в московский Атриум на Курском вокзале (один из центров выдачи), отдав скан паспорта и поставив пару подписей получил забесплатно новый черный LTE-брелок.

Прошло меньше года и вот настал день когда я перестал им пользоваться, перешел в совсем другой квартире на ADSL. Я перестал за него платить и переставил тариф на Бесплатный (64 Кбит/с).

Брелок валялся в сумке, и каждый день, выезжая из Подольска на работу в Москву, я ехал около часа по дистанции, на которой, как оказалось, Yota прилично ловит и сигнал не отваливается.

В бесплатном режиме брелок работает со скоростью старого диалапного модема и как положено выдает 5-6 КБайт/секунду. Просмотр сайтов при такой скорости даже с выключенными картинками, скриптами, флешем — адская мука. Я просто хочу посмотреть текст, почитать хабр, форумы, новости, а заодно ответить где нибудь на форуме что нибудь.

У меня ноутбук Asus T101MT — это сенсорный нетбук-трансформер (с резистивным экраном и со стилусом в специальном гнезде сбоку), у которого экран можно перекрутить на шарнире кверх тормашками и получится жирный и тёплый планшет (около 27-28 мм в толщину).

(изображение из статьи www.engadget.com/2010/04/27/asus-eee-pc-t101mt-review )

И вот однажды, сидя в вагоне, будучи сдавленными с двух сторон соседями, забитом пассажирами с изредка проталкивающимися между ними торговцами, попрошайками и музыкантами — я подумал, а что если бы я сидел с этим Windows-планшетом в инете. Все браузеры заточены под мышь, к сожалению, и у них нет виртуальных клавиатур для ввода, поэтому это неудобно. Выпускалась Opera для сенсорных Windows (похожа очень на андроид версию) — но в ней не было русского языка на вирт.клавиатуре и сама эта версия Opera не обновлялась очень давно.

И я начал писать свой сенсорный браузер, на дворе был декабрь 2012 года. Я вставил этот браузер как одно из развлечений для пользователей в меню «Экстра» графического редактора PaintCAD 4Windows. С идеей «надоело рисовать — залезь в интернет, даже при малых его скоростях, в походе, в дальней точке мира, где GPRS или другой способ/модем доступа еле дышит», Yota как раз эмулировала такой медленный режим чтобы я мог его отладить и в дальнейшем использовать.



По канонам паинткада (граф.редактора с клавиатурным/сенсорным управлением) браузер должен был быть одновременно управляем или с клавиатуры, или мышью, или с сенсорного экрана, или с нескольких из этих устройств в любых сочетаниях.

Держа в обоих руках сенсорный планшет легче всего мне было нажимать на левый и правый край экрана — поэтому по краям экрана я разместил управляющие кнопки браузера. В середине экрана — само поле отрисовки веб-страницы (компонента Internet Explorer). А сверху поле ввода адреса и под ним поле с заголовком страницы.



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

Поэтому в браузере Bro кнопка Стоп и кнопка Обновить — две разные кнопки, обе расположены в левом верхнем углу экрана.

Управляющие кнопки в левой части экрана


На кнопке Стоп также отображается ход загрузки страницы. Во время загрузки страницы кнопка Стоп становится активной (краснеет) и внутри значка-квадрата на ней ползет индикатор прогресса. По окончании загрузки Стоп снова становится серым, а внизу кнопки появляется количество секунд, которое было потрачено на загрузку страницы.



Зеленая кнопка Обновить со звездой доступна всегда. Кнопки Назад и Вперед со стрелками становятся активными и синими когда можно лезть, соответственно, назад или вперед.



Кнопка с флажком переходит к странице закладок (кстати, с этой страницы и начинается работа браузера). Такая же кнопка с флажком и с «плюсом» добавляет текущую страницу в закладки.



Править Закладки (удалять, менять местами) можно залезая в файл bro.ini, лежащий в папке паинткада. Легко до него добраться если нажать ссылку «Править» вверху страницы закладок. После внесения исправлений в блокноте в этот файл — измененные закладки появятся в списке после повторного вызова «закладок».



Самая интересная кнопка шириной в полкнопки с узкой стрелкой и мышкой.



«Мышка» становится красной и активной если нажать Ctrl+M — тогда можно стрелками с клавиатуры управлять курсором мыши, пробелом жать левую кнопку мыши, а клавишей Z — правую кнопку мыши. Если хочется управлять браузером с клавиатуры — то без этого режима не удастся нормально и более-менее быстро поместить фокус в нужную строку/поле на веб-странице, а также нажимать ссылки. Поэтому этот режим был добавлен.

А вот кнопка «с узкой стрелкой» при нажатии на нее показывает/скрывает виртуальную клавиатуру на нижние полэкрана, с помощью нее можно на сенсорном экране набирать тексты на русском и английском языках (переключение кнопкой «Рус»/«Лат») в строке адреса или в любых полях браузера:



И самая нижняя кнопка слева это «Закрыть» окно браузера.

Управляющие кнопки в правой части экрана




На 4 кнопки раскинулся в правой части рычаг, с помощью которого можно прокручивать страницу вверх или вниз. Не нравится мне современный способ прокрутки страниц многократным листанием пальцем по экрану. Мне хотелось просто нажать в одно место экрана — и чтоб страница сама ехала. В состоянии покоя рычаг стоит посередине и страница тоже стоит. Но стоит нажать на поле рычага выше середины — и страница поедет вверх, чем дальше от середины — тем быстрее скорость. Аналогично нажатие ниже середины приводит к прокрутке страницы вниз.

С зажатым Shift этот же рычаг управляет масштабом отображения страницы.

Если на клавиатуре жать Вверх или Вниз — то рычаг отклоняется на некоторое заданное в программе значение. Если же при этом удерживать Ctrl — то рычаг будет отклоняться гораздо сильнее. А если удерживать Alt — то прокрутка страницы будет проходить не в горизонтальном, а в вертикальном направлении (для некоторых широких страниц).

Если накрутили масштаб и хочется открутить его обратно — то сочетание Ctrl+Shift+Вниз сделает не очень мелкие буквы, а сбросит масштаб в 100%.

Ну и последние 4 кнопки справа внизу — это активировать картинки (флажок DLCTL_DLIMAGES), флеш (флажки DLCTL_NO_DLACTIVEXCTLS и DLCTL_NO_RUNACTIVEXCTLS), яву (DLCTL_NO_JAVA) и скрипты (DLCTL_NO_SCRIPTS). Кнопки могут быть красными (выключено) и зелеными (включено). По умолчанию они все выключены и подгружается только текст.



Также если зажать Alt — то на кнопках слева и справа станут видны сочетания клавиш, которыми они «нажимаются» с клавиатуры:



Также если нажать F10 — будет произведен одиночный клик по строке адреса. Поэтому двойное нажатие F10 — это поместить курсор в строку адреса и выделить текущий адрес целиком (чтоб потом нажать Backspace, удалить его и вписать другой).

Рычаг с клавиатуры адекватно работает только когда фокус находится в строке адреса, если же фокус лежит внутри браузерного поля — то сначала надо нажать двойное F10, а потом только пользоваться рычагом (жать на физической клавиатуре вверх-вниз). Иначе браузерное поле будет интерпретировать нажатия на клавиши навигации само.

Борьба с заглушкой Yota


Если у вас бесплатный тариф — то каждые 24 часа Yota будет подсовывать в браузер заглушку с предложением сменить тариф. С картинками это дело выглядит так:


Цель прокрутить страницу вниз, развернуть фрагмент страницы с бесплатным тарифом и нажать «Подключить». И тогда на ближайшие 24 часа у вас есть халявные 6 килобайт в секунду.

Но по умолчанию картинки отключены — и без картинок это выглядит страшнее:


Чтобы раскрывание фрагментов работало — нужно включить «Скрипты» (F9) и обновить страницу. Затем добраться вниз страницы до надписи «Продолжить на медленной скорости», нажать ее и в открывшемся списке нажать кнопку «Подключить»:


После этого вас автоматически перекинет на запрошенную страницу, и скрипты можно отключать:


IRC-чат в браузере


Когда-то давно я сидел в интернете через тот же диалапный модем и с учетом траффика. И поэтому больше всего я любил сидеть в IRC-чате, а точнее в одном из его клиентов — мирке (mIRC) — мало ест траффика и интересно. В мирке можно было писать свои скрипты (и распространялись всякие готовые типа NoNaMe script), там была куча настроек разных, передача файлов и т.д. и т.п.

Ностальгия замучила и я подумал что через эти 6 кбайт/сек можно пропихнуть и IRC-траффик. Но IRC — это дело такое, оно бывает цветное и со стилями текста (жирный, нежирный, инвертированный и т.д.). Поэтому выводить я захотел его прям в браузер. Оставалось только готовить локальный файл с нужной раскраской текста и стилями, и скармливать его браузеру раз в N сек во время обновления чата. При этом надо еще было проворачивать окно браузера в самый-самый низ, чтоб было видно что там добавилось.

Вызов IRC-клиента в паинткаде производится через то же меню «Экстра»:


После вызова показывается окно с основными настройками:


Кнопками Ctrl+1 — Ctrl+6 можно выбрать одну из IRC-сетей.

Номер порта влияет на кодировку текстов в чате, обычно 6667 это то что нужно, но если вместо русского будут видны непонятные символы — то таблица кодировок для каждой IRC-сети высвечивается при коннекте (на транслите, чтоб все поняли, даже те кто влез в IRC с кривой кодировкой), и нужно будет запомнить порт, отдисканиться и ввести его в поле «Порт».

Ник — ваш ник в чате. Можно нажатием Ctrl+N дать паинткаду придумать вам ник.

Пароль — если у вас ник уже зарегистрирован, то введите сюда пароль, и он будет передан на сервер после соединения как "/ns identify пароль". А если нет, то можете ничего не вводить сюда. В самом IRC-клиенте есть возможность ввода пароля после соединения с сервером (об этом ниже).

Пользовательское имя — сюда вводим любой email (можно свой, можно чужой).

Реальное имя — сюда вводим Вася, Петя, Маша и т.д.

Автовход на — вводим список каналов. Имена каналов начинаются со знака # и отделяются друг от друга запятыми.

Шрифт — для тех, кто не любит вглядываться в экран, можно выбрать другое имя шрифта и другой размер. Но вообще советую использовать моноширинные шрифты, т.к. в IRC можно из символов рисовать псевдографику и при немоноширинных шрифтах картинки из псевдографики будут скукоживаться и ломаться по горизонтали.

Фон — можно сидеть в чате на черном фоне (успокаивает глаза, сидишь как за осциллографом), а можно на белом фоне читать черные тексты. На любителя, в общем.

По окончании ввода жмем Соединение (ENTER) и ждем.

Появится окно браузера, но в новом качестве — IRC-клиента: теперь строка ввода текста и команд находится внизу. Боковые кнопки имеют другие функции нежели в режиме браузера. А строка «титул сайта» теперь показывает список каналов, на которые вы зашли.


В окне чата сначала будет выведена информация о доступных командах IRC-клиента Retro (краткая справка), а затем появится текст от сервера. Это куча служебной информации, сообщение дня (message of the day, MOTD). Если ник зарегистрирован (как у меня) — то будет выдано сообщение о вводе пароля, иначе ваш ник Vasya, который закреплен за другим человеком (и его пароля вы не знаете), через несколько минут превратится в какой нибудь _Vasya, чтоб вас не перепутали с Васей его знакомые.

В IRC есть «сервисы» (в частности, в сети ircnet.ru они такие как описаны ниже, а в других сетях они могут иметь другие названия или отсутствовать вовсе):
NickServ — управляет регистрацией ников, сменой паролей, сменой информации о себе, запросами информации о других зарегистрированных никах
ChanServ — управляет регистрацией и удалением каналов (комнат чата)
MemoServ — управляет передачей сообщений в оффлайн. Можно оставить сообщение (и даже несколько сообщений) зарегистрированному пользователю, и он увидит уведомление и сможет прочитать эти сообщения когда залогинится в следующий раз.

Все сервисы имеют подробную систему помощи — надо только написать в приват сервису команду «help» и он ответит вам этой помощью в чат. Например, "/w NickServ help" или "/ns help". Аналогично "/cs help" и "/ms help".

Так вот, чтоб зарегистрировать ваш текущий ник — надо написать в приват сервису NickServ: "/w NickServ register пароль емаил" или кратко "/ns register пароль емаил", где пароль — ваш пароль, а емаил — ваша электронная почта (можно ввести любую, но считается, что в случае проблем c IRC с вами кто-то (админы сервера что ли) будет через нее общаться, хотя я ни разу не видел такого общения).

А чтоб ввести свой пароль при заходе в IRC с зарегистрированного ника — надо написать "/ns identify пароль". Для тех кому лень вводить — справа внизу кнопка со звездочкой (F7) — она сама введет за вас всё ("/ns identify ") кроме вашего пароля, останется ввести пароль и нажать Enter:


После идентификации будет написано что все ок и вас даже автоматически закинет на ваши любимые каналы:


Рядом с кнопкой-звездочкой есть кнопка со значком удостоверения — эта кнопка позволяет посмотреть информацию о себе, как вы видны другим пользователям:


Кнопка вызовет команду whois для вашего ника, а также более подробную информацию по команде "/ns info ник". Результаты вылезут в чат.


Когда вы первый раз зашли в IRC — вас не закинет ни на какие каналы. Что же делать? Писать "/list >10" — это найдет все каналы, на которых более 10 человек онлайн, и выдаст список в чат:


Если список будет слишком длинный — прервать вывод можно нажатием любой клавиши на клавиатуре. В списке видны названия каналов (начинаются со знака #) и топики (темы) каналов. В IRC бывают каналы-викторины, в которых сидит пользователь-бот и с ним можно играть, он загадывает загадки, анаграммы, вопросы — а остальные пользователи отгадывают и набирают очки, занимая определенное место в общем рейтинге. Также в IRC бывают каналы с ботами для игры в мафию, с ботами, рассказывающими анекдоты, с ботами, выполняющими разные забавные команды, с ботами, лазящими по запросу в википедию и показывающими отрывок текста нужной вас статьи, с ботами, показывающими точное текущее время и т.д.

Для захода на канал надо ввести "/join #имяканала" или "/j #имяканала". Для выхода с канала надо ввести "/part #имяканала" или "/p #имяканала". Каждому из каналов, на которые вы вошли, присваивается уникальный номер от 1 и выше. Список текущих каналов отображается над строкой ввода:


А номер текущего канала, на который вы напишите если введете что-то в строку ввода — отображается на кнопке слева вверху окна. По нажатию на кнопку номер текущего канала меняется на следующий. Вот кнопка с активным третьим каналом:


Также, номер канала можно менять в поле ввода: если, например, написать в чат "/3" и нажать пробел — то канал сразу сменится на третий.

Соответственно можно для выхода с канала обращаться к нему по номеру: "/p 2" позволит покинуть канал номер 2, а канал номер 3 и последующие автоматически уменьшат свой номер на единицу.

Чтобы добавить какие либо из каналов себе в список любимых и чтоб они открывались каждый раз в заходе в чат после ввода пароля — надо написать "/ns ajoin add #имяканала". Также можно убирать каналы из списка любимых командой "/ns ajoin del #имяканала". Для того чтоб не писать такие длинные команды — есть кнопки в левой части экрана:


Эти кнопки позволят добавить текущий канал в список любимых каналов или удалить его оттуда. После выполнения операции автоматически вызывается команда "/ns ajoin list", которая показывает каналы, оставшиеся в списке любимых.

В самом чате можно общаться просто на канале, вводя текст в поле ввода и нажимая Enter. А можно писать кому либо в приват через команду "/w ник текстсообщения".

Окно с чатом можно свернуть на панель задач если нажать кнопку со стрелкой вниз в левой части экрана:


Текущий канал можно покинуть не вводя ничего в строку чата, а просто нажав кнопку P в левой части экрана:


Также в IRC распространены «инвайты» — это когда вас кто-то приглашает на какой нибудь канал. Подтвердить приглашение и зайти на канал можно нажав на кнопку с буквой «I» в левой части экрана либо введя в чат "/i":


Часто сидя в IRC-чате люди наживали себе не только друзей, но и врагов, а также тех, от кого хотелось бы скрываться. Кнопка "+i" включает режим невидимости (invisible), по умолчанию она включена и это помогает скрыть часть информации о себе, даже, насколько помню, скрыть факт своего залогинивания в чат.


Иногда в чате пишут что нибудь интересное и большое. А как же прочитать это, если чат все время прокручивается вниз? Кнопка «C» позволяет отключить на время обновление чата, при этом он будет обновляться, все сообщения будут получены, но не отображены на экране до тех пор пока обновление чата не будет включено снова:


При заходе на канал — в чате будет отображен список всех пользователей канала. Но перед некоторыми никами будет собака @, а перед некоторыми плюс +. Это права пользователей на канале.


"@" — это «оп», оператор канала, он может всех кикать, банить по нику и даже по маске, менять настройки канала и т.д.
"+" — это «войс» (голос), он может разговаривать на канале даже когда включен режим канала «всем молчать кроме опов».
А белый ник без всего — обычный пользователь.
Также в некоторых IRC-сетях бывают ники с точкой перед ником — это half-op, полу-операторы, операторы с урезанными правами.

Все права пользователей — это флажки. Та же невидимость — это флажок +i. Зарегистрированный пользователь — флажок +r. Оператор на канале — флажок +o. Войс на канале это +v. И так далее. Также есть флажки у каналов, позволяющие определить настройки канала.

Не все флажки, но некоторые можно переключать у себя, у других пользователей или каналов (если у вас есть права) через команду "/mode ник/канал ±флаги", где флажки с плюсами — это те, которые включаем, а флажки с минусами — те, которые выключаем.

Если много шалить в IRC и ругаться на кого ни попадя — можно попасть на иркопа, IRC-op, он обычно имеет гораздо более широкие права не только на каком нибудь канале, но и вообще на сервере. Поэтому от иркопа можно получить K-line (перманентный бан на данном сервере) или G-line (глобальный перманентный бан на всех серверах данной IRC-сети). Поэтому лучше смотреть сначала информацию о пользователе через /ns info или whois, там обычно будет написано что он иркоп.

Если вас неожиданно отсоединило из IRC — то при очередном заходе вы получите сообщение что такой ник уже залогинен, а ваш ник сразу станет с каким нибудь символом типа "_ник". Это значит что ваша прошлая сессия (призрак, ghost) осталась висеть. Можно подождать минуты три и она сама отвалится, или написать команду "/ns ghost ник пароль" чтоб убить прошлую сессию и сменить ник на ваш повседневный командой "/nick вашник".

Скачивание файлов через Йоту


Когда-то, когда у меня не было диалап-модема, я бежал в «интернет-кафе» с пачкой дискет, чтобы накачать там побольше всего, запаковать в несколько томов RAR-архива с информацией о восстановлении, и на дискетах притащить домой (поломав по дороге половину из них и потом долго восстанавливая эти архивы). Потом, когда появился диалап-модем — я сидел дома, пялился в монитор, отходил попить чаю и долго ждал, когда же скачается очередная MP3 песня. Минут 20 качалось пять мегабайт — и вот она, родная, лежит у меня!

Это можно прочувствовать еще раз если пользоваться бесплатной Йотой. Поэтому в паинткаде было создано меню «Специальные», куда я стал класть не столько развлечения, сколько служебные утилиты. Утилита «Скачать файл» лежит как раз там:


По прямой ссылке она сможет скачать вам любой файл (через нее же обновляется паинткад, если вы проверите обновления и паинткад скажет вам что вышла новая версия):


И можно долго любоваться скоростью скачивания и оставшимся временем (конечно можно качать файлы по ссылкам напрямую из браузера, тогда откроется стандартный IE-шный загрузчик, но тогда вы не увидите всех этих подробностей с точностью до килобайт и байт):


Синхронизация времени


Многие скажут «эта возможность встроена в Windows». Да, но паинткад работает в любом Windows начиная с Windows 95 (при наличии ie4.0), а в тех дремучих Windows этой возможности не было. Поэтому в меню «Специальные» есть пункт «Синхронизация времени».


Вводим имя любого NTP-сервера (по умолчанию уже введен один из серверов) и жмем Enter.


И если введенный сервер сейчас онлайн — то будет выведено сообщение об удачной синхронизации, и даже время ДО и ПОСЛЕ синхронизации, чтоб оценить насколько ваш ПК отставал/спешил.


Анализатор «сырых» логов сайта


Иногда в походных условиях хочется оценить посещаемость своего сайта. Качаем логи и вызываем команду «Анализатор raw-логов сайта» в меню «Экстра-Специальные».


Указываем ему файл логов и вводим фильтр поиска. Можно ввести имя файла, а можно через знак вертикальной черты еще и дату (или еще что нибудь). Все строки лога будут обысканы и отфильтрованы по совпадению со всеми частями строки фильтра. Т.е. знак вертикальной черты здесь это логическое И. Например, «file.txt|10/sep» — это поиск статистики по файлу file.txt только для даты 10 сентября.


Паинткад пошуршит индикатором прогресса и откроет результаты анализа в вашем стандартном браузере. В принципе, результат будет лежать в корневом каталоге паинткада в файле rawlog.htm, так что можно открыть его даже в браузере Bro (через команду «Экстра — Специальные — Открыть файл в браузере Bro»).


Сначала он выдает все найденные строки (если фильтр был задан пустой — то этого раздела не будет, т.к. зачем выливать вообще все строки лога в результат).


Затем идет раздел рейтинга по запросам:


Потом рейтинг ссылок на сайтах, которые ссылаются на ваш файл:


Потом рейтинг обращений по датам. Причем это всего лишь обращения, ведь могут качать любым менеджером загрузки, который скачивает файл по кускам параллельно, и таким образом файл будет скачан один раз, а обращений к нему будет 10 штук (с нулевого байта, с 1000 байта, с 2000 байта и т.д.).


Ну и под конец — рейтинг по браузерам (по строке агента):


Парсер писался под конкретный формат строки лога, но после чтения разных текстов про форматы логов, мне показалось, что бывают сокращенные форматы логов (когда строка укороченная, параметров в ней меньше), в них анализатор логов может работать неадекватно.

Заключение


Прошел год с того момента от декабря 2012 года, когда браузер Bro стал реальностью. А позже подтянулись и остальные утилиты. Теперь, сидя или даже стоя в забитой электричке, я могу мизинцем достать ноут из сумки, перевернуть экран наружу, воткнуть в ноут брелок и бесплатно сидеть в форумах, новостных сайтах, блогах и даже IRC-чате, а также качать файлы, синхронизировать время и просматривать логи сайта.

Если вы хотите делать тоже самое, если у вас бывают случаи, когда доступен только медленный инет, если вам понравился IRC-чат с выводом всех каналов в стиле world of warcraft в одно окно — то вы можете тоже воспользоваться всеми этими утилитами в меню «Экстра» паинткада.

Ссылки


Последняя версия паинткада 1.2.3.922 (11 мегабайт) лежит по адресу: blackstrip.ru/pcw.rar

Есть еще бета 1.2.4 (одинокий exeшник, который рекомендуется кидать в папку с установленным паинткадом 1.2.3), лежит по адресу: blackstrip.ru/paintcad.exe

А, кстати, это же графический редактор, и в нем еще можно рисовать пиксель-арт, делать и разбирать gif-анимации, png с полупрозрачностью, собирать avi-файлы из кадров и разбирать avi-файлы на кадры, рисовать 3d-картинки и анимации, работать с 3d MPO и JPS форматами, снимать фото и видео на вебкамеру. Но это уже другая история, выходящая за рамки этой статьи.
Tags:
Hubs:
If this publication inspired you and you want to support the author, do not hesitate to click on the button
+4
Comments 15
Comments Comments 15

Articles