Обзор в честь моего 10-летия участия в проекте создания операционной системы Kolibri.
Кем я только не работал и что только не делал в этом проекте. Именно знания, полученные в процессе работы над Колибри дали мне возможность кардинально изменить свою жизнь — найти работу мечты, новых друзей и получить невероятное количество фана!
Итак, начнем.
С самого начала и до победного конца пилю иконки для Колибри. Слева иконки до моего в прихода в проект, по середине моя первая редакция в 2007 году и в правом столбике текущий вариант из ночных сборок.
Занимался рекламой Колибри на других ресурсах.
Моя первая и на данный момент самая крупная программа для Колибри. Начинали мы ее разрабытывать вместе с Veliant, потом к разработке присоединился Punk_Joker.
Двухпанельный режим.
В игре нужно по памяти найти одинаковые пары пиктограмм, для уменьшения размера программы используются иконки рабочего стола. Будь дизайнером, поиграйсо шрифтами с иконками! Идея и редизайн Memory Blocks: я. Программирование: Костя Veliant.
Простой русско-английский и англо-русский словарик на 15 тысяч значений слов. Поиск происходит по мере набора.
Переписанная на С-- ClickoMania. Нормальный дизайн, исправление багов, система уровней. Любимая убивалка времени в Колибри.
Выбор оформления окон и обоев.
Запуск моего сайта посвященного Колибри на бесплатном хостинге народ: http://kolibri-os.narod.ru. Сейчас не доступен.
Моя самая известная и самая плохо написанная программа. В свое время Veliant кинул мне все свои проекты для Колибри. Среди них был один довольно интересный — «HTML Viewer in C--». Я адаптировал код программы под новую версию библиотеки и работа пошла.
Сам по себе браузер — это компонент TWB, который может быть встроен в другие программы на С--, например, он позже был встроен в почтовый клиент Liza.
В мартовском номере номере журнала CHIP была опубликована статья о KolibriOS. Из всех скриншотов Колибри в интернете, они выбрали именно моего авторства. На нём версия Колибри 0.7.3.0, которая так официально и не вышла — собиралась она мною по типу ночной сборки. Обои, логотип, иконки, файловый менеджер — все моего авторства.
Встретился с разработчиком Колибри — Костей Veliant в Москве. С ним мы написали много хороших программ: Eolite, Memory Blocks, браузер. Именно он объяснил мне многие вещи в программировании, в частности о работе с памятью, регистрами и указателями. Мы чатились в аське дни напролет, забивая на универ. Эх, хорошее было время! Сейчас Костя работает в компании Dr.Web.
Игра начинается с верхней левой клетки. Выберите цвет, нажав на один из квадратиков слева, и клетки окрасятся этим цветом — так вы присоедините соседние клетки той же окраски. Захватить поле нужно за ограниченное число ходов.
Kolibri 0.8.0.0 — IMG образ, собираемый мной на основе ночных сборок, предшественник KolibriN.
KolibriN 8.1 — это Upgrade Pack, который ставится поверх ночной сборки.
KolibriN 8.2 — это ISO-дистрибутив. Загружается ночная сборка и поверх нее сразу накатывается KolibriN.
KolibriN8 в момент ее выхода порицали за упор на свистоперделки, не понимая, что она была нереальным прорывом для Колибри того времени, потому как ознаменовала переход от IMG сборок к полноценным ISO.
Но обо всем по порядку.
Когда ОС запускается, она полностью копирует все данные с образа kolibri.img в виртуальный диск /rd/1. Часть программ не влезает в 1.44 Мб и потому они лежат непосредственно на CD-диске. Собирая дистрибутив мы хотим добавить в меню ссылку на DOOM и прописать ассоциации с просмотрщиком zSea. Оба они лежат на CD-диске.
Загвоздка в том, что мы не можем этого сделать! Потому как CD-диск может быть /cd/1, /cd/2, /cd/3 и т.д. Гадать не вариант. На тот момент не было инструментов для решения данной проблемы.
Разрабатывая KolibriN8, я сделал инсталятор, который находил файлы на ISO и копировал их на виртуальный диск /tmp0/1.
Теперь их путь всегда был одинаков и можно было добавить ярлыки дополнительных программ на рабочий стол, в меню и главное — прописать ассоциации.
Второе, что было сделано важного: я собрал все программы для Колибри в одном месте, облазив форум, личные сайты разработчиков и далекие уголки интернета.
Список изменений KolibriN по сравнению с ночными сборками того времени:
Программа для управления виртуальными дисками, использует API драйвера tmpdisk.sys, написанного CleverMouse. Управление — командная строка и GUI.
Поддерживаться должны все почтовые ящики, работающие по протоколу POP без шифрования — это yandex.ru, i.ua, mail.ru… gmail.com не работает, т.к. использует шифрование.
Логин и пароль сохраняется после закрытия программы в текстовый файл. Можно задать свои настройки подключения.
После успешного логина, мы входим в почтовый ящик. Заголовки писем загружаются автоматически. Тело письма загружается при нажатии на него, процесс загрузки письма тоже отображается полосой прогресса. Размеры панелей отображающих список писем и само письмо можно менять, потянув мышкой за " = = = ".
Понимая необходимость проникать в соцсети, 28 января 2013 года я создал группу вконтакте «KolibriOS — официальная группа», успешно существующую и поныне.
В тот же день yogev_ezra создал группу в Фейсбуке, которая, к сожалению, уже давно заброшена.
Обзорный доклад о Колибри на конференции IT Club Global Logic в Николаеве.
Материалы доклада: речь и слайды
Отчет на сайте
Видео с конференции (плохое качество записи)
Редизайн календаря.
Официальный сайт Колибри уже какое-то время представлял из себя одну страницу без особого оформления.
Как всегда я решил обновить иконки.
Раз уж есть новые иконки, придется весь сайт обновить :) На тот момент я не знал HTML/CSS/JS и я попросил сделать сайт Akyltist-а на основе бесплатного шаблона. Я ему помогал и позже правил баги, да так, что через пару месяцев устроился работать верстальщиком.
Новый сайт стал мультиязычным, получил галерею скриншотов, был добавлен баннер на главную страницу, который предполагалось менять в соответствии со значимыми событиями.
Спустя полтора года разработки вышла новая версия KolibriN9! KolibriN9 базируется на KolibriOS и предоставляет более красивое и дружественное для простого пользователя окружение — это не только красивые обои рабочего стола, но и гораздо большее количество ПО, поставляемого в комплекте.
Из изменений, пришедших из KolibriOS:
А теперь об изменениях в KolibriN9 непосредственно:
Написаны специально для KolibriN:
Более подробный обзор на оффсате.
Обиды, боль, холивары остались в прошлом и мы снова начали строить Колибри все вместе.
На данный момент почти все наработки из KolibriN перекочевали в основной дистрибутив.
Страница истории перевернулась.
Универсальный виджет, с помощью которого созданы:
— System panel
— Game center
— App+ (KolibriOS Additional Software)
Завершение порта, расширение функциональности, исправление багов, серьезное улучшение интерфейса. Вся разработка велась в Линуксе в виртуальной машине.
Если коротко Pixie — это MP3 плеер, фронтенд для miniMP3. При открытии файла из папки, плеер запустит выбранную композицию и все MP3 из данной папки также будут добавлены в плейлист.
Окно может быть трёх режимов: обычное, схлопнутое в заголовок и компактное. Из тем на выбор пользователя доступно две: светлая и тёмная. Все настройки программы сохраняются после перезапуска. При запуске плеера без параметров, начнёт проигрываться последняя открытая папка.
Когда вы перемещаете окно в компактном режиме, то перемещается не рамка, а само окно, впервые в Колибри!
GUI для двух INI-файлов.
Обновлен GUI текстового редактора TextEdit.
Название говорит само за себя. Собрал все в одном месте и причесал.
Текстовый ридер, поддерживает разные размеры шрифта и различные кодировки, использует ini-файл для сохранения настроек, поддерживает горячие клавиши и открывает файл в Tinypad.
Перевел многие программы на большие шрифты.
Программа для просмотра содержимого буфера обмена. В отличии от Windows, где в буфере может хранится только один слот одновременно, в Колибри он многоуровневый. Данные о слотах представлены в виде таблицы, можно удалить последний слот или все, сделать аварийный анлок. Также доступен предпросмотр данных слота в виде текста и HEX.
http://bugs.kolibri-n.org. Адовая ненависть к Мантису достигла пика и я запилил простой и юзабельный багтрекер. Базируется на Tit.
Установщик драйверов, всю информацию берет из /kolibrios/drivers/drvinf.ini
Обновленное окно завершения работы, порт из KolibriN10 в KolibriOS. Скриншот для сравнения: сверху старое, снизу новое.
Code by IgorA. GUI by me.
Более простой и удобный менеджер процессов. Разработано было в рамках KolibriN10.
Порт http://c--sphinx.narod.ru/FILES/vc.zip
Пипетка для рабочего стола.
Продолжение следует…
Все исходные коды открыты, с ними может ознакомится любой желающий.
Статья вышла длинной, спасибо, что дочитали.
Кем я только не работал и что только не делал в этом проекте. Именно знания, полученные в процессе работы над Колибри дали мне возможность кардинально изменить свою жизнь — найти работу мечты, новых друзей и получить невероятное количество фана!
Итак, начнем.
Иконки
(2007..2017)С самого начала и до победного конца пилю иконки для Колибри. Слева иконки до моего в прихода в проект, по середине моя первая редакция в 2007 году и в правом столбике текущий вариант из ночных сборок.
Старенькая статья на эту тему «Иконки Колибри: забывая Менуэт»
PR
(2007)Занимался рекламой Колибри на других ресурсах.
Файловый менеджер Eolite
(2008..2017)Моя первая и на данный момент самая крупная программа для Колибри. Начинали мы ее разрабытывать вместе с Veliant, потом к разработке присоединился Punk_Joker.
Статья о разработке «Eolite. Мемуары дилетанта»
Двухпанельный режим.
Memory Blocks
(2008)В игре нужно по памяти найти одинаковые пары пиктограмм, для уменьшения размера программы используются иконки рабочего стола. Будь дизайнером, поиграй
Dicty
(2008)Простой русско-английский и англо-русский словарик на 15 тысяч значений слов. Поиск происходит по мере набора.
Just Clicks
(2008..2013)Переписанная на С-- ClickoMania. Нормальный дизайн, исправление багов, система уровней. Любимая убивалка времени в Колибри.
Appearance
(2008)Выбор оформления окон и обоев.
kolibri-os.narod.ru
(2008)Запуск моего сайта посвященного Колибри на бесплатном хостинге народ: http://kolibri-os.narod.ru. Сейчас не доступен.
WebView: текстовый браузер (Ex. HTMLv)
(2008..2017)Моя самая известная и самая плохо написанная программа. В свое время Veliant кинул мне все свои проекты для Колибри. Среди них был один довольно интересный — «HTML Viewer in C--». Я адаптировал код программы под новую версию библиотеки и работа пошла.
Сам по себе браузер — это компонент TWB, который может быть встроен в другие программы на С--, например, он позже был встроен в почтовый клиент Liza.
Также читайте статью «WebView или история о том, как в KolibriOS браузер писался»
Мои разработки в журнале CHIP
(2011)В мартовском номере номере журнала CHIP была опубликована статья о KolibriOS. Из всех скриншотов Колибри в интернете, они выбрали именно моего авторства. На нём версия Колибри 0.7.3.0, которая так официально и не вышла — собиралась она мною по типу ночной сборки. Обои, логотип, иконки, файловый менеджер — все моего авторства.
Встреча разработчиков
(2011)Встретился с разработчиком Колибри — Костей Veliant в Москве. С ним мы написали много хороших программ: Eolite, Memory Blocks, браузер. Именно он объяснил мне многие вещи в программировании, в частности о работе с памятью, регистрами и указателями. Мы чатились в аське дни напролет, забивая на универ. Эх, хорошее было время! Сейчас Костя работает в компании Dr.Web.
Flood-it!
(2011)Игра начинается с верхней левой клетки. Выберите цвет, нажав на один из квадратиков слева, и клетки окрасятся этим цветом — так вы присоедините соседние клетки той же окраски. Захватить поле нужно за ограниченное число ходов.
Выпуск KolibriN 8.X
(2012)Kolibri 0.8.0.0 — IMG образ, собираемый мной на основе ночных сборок, предшественник KolibriN.
KolibriN 8.1 — это Upgrade Pack, который ставится поверх ночной сборки.
KolibriN 8.2 — это ISO-дистрибутив. Загружается ночная сборка и поверх нее сразу накатывается KolibriN.
KolibriN8 в момент ее выхода порицали за упор на свистоперделки, не понимая, что она была нереальным прорывом для Колибри того времени, потому как ознаменовала переход от IMG сборок к полноценным ISO.
Но обо всем по порядку.
Когда ОС запускается, она полностью копирует все данные с образа kolibri.img в виртуальный диск /rd/1. Часть программ не влезает в 1.44 Мб и потому они лежат непосредственно на CD-диске. Собирая дистрибутив мы хотим добавить в меню ссылку на DOOM и прописать ассоциации с просмотрщиком zSea. Оба они лежат на CD-диске.
Загвоздка в том, что мы не можем этого сделать! Потому как CD-диск может быть /cd/1, /cd/2, /cd/3 и т.д. Гадать не вариант. На тот момент не было инструментов для решения данной проблемы.
Разрабатывая KolibriN8, я сделал инсталятор, который находил файлы на ISO и копировал их на виртуальный диск /tmp0/1.
Теперь их путь всегда был одинаков и можно было добавить ярлыки дополнительных программ на рабочий стол, в меню и главное — прописать ассоциации.
Второе, что было сделано важного: я собрал все программы для Колибри в одном месте, облазив форум, личные сайты разработчиков и далекие уголки интернета.
Список изменений KolibriN по сравнению с ночными сборками того времени:
- В поставку входит не публикованная до этого почтовый клиент Liza;
- Теперь любой может запустить и попробовать Grafx 2, до этого подобное было нетривиальной задачей из-за жесткой привязки к путям;
- Добавлены тень меню рабочего стола и полупрозрачность виджету уведомлений;
- В поставку входят игры, среди которых Doom, Loderunner, Pig, Jumpbump и эмуляторы игровых консолей NES, SNES, Gameboy;
- Эмуляторы DosBox и ZX Spectrum позволят запустить сотни старых приложений и игр;
- Поставка приложений: просмотрщик изображений zSea, программа для просмотра PDF, видеоплеер FPlay и многие другие программы.
- Все ассоциации прописаны, нескучные обои и скины, которые можно легко менять через контекстное меню рабочего стола;
Tmpdisk
(2012..2016)Программа для управления виртуальными дисками, использует API драйвера tmpdisk.sys, написанного CleverMouse. Управление — командная строка и GUI.
Почтовый клиент Liza
(2012..2013)Поддерживаться должны все почтовые ящики, работающие по протоколу POP без шифрования — это yandex.ru, i.ua, mail.ru… gmail.com не работает, т.к. использует шифрование.
Логин и пароль сохраняется после закрытия программы в текстовый файл. Можно задать свои настройки подключения.
После успешного логина, мы входим в почтовый ящик. Заголовки писем загружаются автоматически. Тело письма загружается при нажатии на него, процесс загрузки письма тоже отображается полосой прогресса. Размеры панелей отображающих список писем и само письмо можно менять, потянув мышкой за " = = = ".
Соцсети
(2013..2017)Понимая необходимость проникать в соцсети, 28 января 2013 года я создал группу вконтакте «KolibriOS — официальная группа», успешно существующую и поныне.
Зачем эти соцсети? Сейчас там зарегистрировано и посещает их очень большое количество людей, глупо их игнорировать, если мы хотим нести KolibriOS в массы. Раньше такой задачи не стояло и Марио открыто об этом говорил. Я же хочу, чтобы система была известной, чтобы люди ей пользовались, а значит писали код и улучшали, т.к. количество всегда перерастает в качество. Также там можно настроить публикацию новостей. Ну и может быть определённая координация действий в будущем.
Объясняю почему нужно идти в массы; пост на форуме, 2013 год
В тот же день yogev_ezra создал группу в Фейсбуке, которая, к сожалению, уже давно заброшена.
Доклад о Колибри на конференции IT Club
(2013)Обзорный доклад о Колибри на конференции IT Club Global Logic в Николаеве.
Материалы доклада: речь и слайды
Отчет на сайте
Видео с конференции (плохое качество записи)
Calendar
(2013)Редизайн календаря.
Обновление оффсайта
(2013)Официальный сайт Колибри уже какое-то время представлял из себя одну страницу без особого оформления.
Как всегда я решил обновить иконки.
Раз уж есть новые иконки, придется весь сайт обновить :) На тот момент я не знал HTML/CSS/JS и я попросил сделать сайт Akyltist-а на основе бесплатного шаблона. Я ему помогал и позже правил баги, да так, что через пару месяцев устроился работать верстальщиком.
Новый сайт стал мультиязычным, получил галерею скриншотов, был добавлен баннер на главную страницу, который предполагалось менять в соответствии со значимыми событиями.
Выпуск KolibriN9
(2014)Спустя полтора года разработки вышла новая версия KolibriN9! KolibriN9 базируется на KolibriOS и предоставляет более красивое и дружественное для простого пользователя окружение — это не только красивые обои рабочего стола, но и гораздо большее количество ПО, поставляемого в комплекте.
Из изменений, пришедших из KolibriOS:
- подключение дополнительной директории /kolibrios/; (последствие создания KolibriN8)
- поддержка USB (флешки, мышки, клавиатуры, хабы) и их «горячее» подключение;
- поддержка на чтение ФС XFS и на чтение/запись ext2/3/4;
- улучшено распределение времени в планировщике процессов;
- добавлена нативная поддержка режима SATA IDE для жестких дисков и ATAPI устройств;
- поддержка общесистемного буфера обмена;
- включение в систему драйвера vidintel, включающего поддержку нативных разрешений на ноутбуках со встроенной видеокартой Intel;
- обновление аудиодрайвера Intel HD Audio;
- обновление драйверов для видеокарт Intel и ATI Radeon;
- ускорение загрузки на некоторых конфигурациях.
А теперь об изменениях в KolibriN9 непосредственно:
- переработан дизайн системы, дизайн стал гораздо красивее и приятнее;
- улучшено удобство работы благодаря использованию Docky (док бар);
- мгновенный запуск KolibriN за счёт поддержки подключения дополнительной директории /kolibrios/.
Написаны специально для KolibriN:
- Game Center — игровой центр, из которого возможно запустить игры, поставляемые в составе KolibriN;
- appearance — программа для быстрой и удобной смены системной темы и фона рабочего стола.
Более подробный обзор на оффсате.
Слияние KolibriN и KolibriOS
(2015)Обиды, боль, холивары остались в прошлом и мы снова начали строить Колибри все вместе.
На данный момент почти все наработки из KolibriN перекочевали в основной дистрибутив.
Страница истории перевернулась.
Software widget
(2015..2016)Универсальный виджет, с помощью которого созданы:
— System panel
— Game center
— App+ (KolibriOS Additional Software)
uPDF
(2015)Завершение порта, расширение функциональности, исправление багов, серьезное улучшение интерфейса. Вся разработка велась в Линуксе в виртуальной машине.
Pixie Player v1.X
(2015)Статья о разработке «Музыка в KolibriOS: полный обзор и последние новинки»
Если коротко Pixie — это MP3 плеер, фронтенд для miniMP3. При открытии файла из папки, плеер запустит выбранную композицию и все MP3 из данной папки также будут добавлены в плейлист.
Окно может быть трёх режимов: обычное, схлопнутое в заголовок и компактное. Из тем на выбор пользователя доступно две: светлая и тёмная. Все настройки программы сохраняются после перезапуска. При запуске плеера без параметров, начнёт проигрываться последняя открытая папка.
Когда вы перемещаете окно в компактном режиме, то перемещается не рамка, а само окно, впервые в Колибри!
System panels configuration utility
(2015)GUI для двух INI-файлов.
TextEdit GUI update
(2015)Обновлен GUI текстового редактора TextEdit.
Mouse testing and configuration utility
(2015..2016)Название говорит само за себя. Собрал все в одном месте и причесал.
TextReader
(2015..2016)Текстовый ридер, поддерживает разные размеры шрифта и различные кодировки, использует ini-файл для сохранения настроек, поддерживает горячие клавиши и открывает файл в Tinypad.
Большие шрифты
(2016)Перевел многие программы на большие шрифты.
Подробности в статье «Шрифты в Колибри»
Clipboard Viewer
(2016)Программа для просмотра содержимого буфера обмена. В отличии от Windows, где в буфере может хранится только один слот одновременно, в Колибри он многоуровневый. Данные о слотах представлены в виде таблицы, можно удалить последний слот или все, сделать аварийный анлок. Также доступен предпросмотр данных слота в виде текста и HEX.
KolibriOS — Issue Tracker
(2016)http://bugs.kolibri-n.org. Адовая ненависть к Мантису достигла пика и я запилил простой и юзабельный багтрекер. Базируется на Tit.
DrvInst
(2016)Установщик драйверов, всю информацию берет из /kolibrios/drivers/drvinf.ini
End
(2016)Обновленное окно завершения работы, порт из KolibriN10 в KolibriOS. Скриншот для сравнения: сверху старое, снизу новое.
Animage redesign
(2016)Code by IgorA. GUI by me.
Process manager
(2016)Более простой и удобный менеджер процессов. Разработано было в рамках KolibriN10.
Visual Text Comparer / Diff tool
(2016)Порт http://c--sphinx.narod.ru/FILES/vc.zip
Pipet
(2017)Пипетка для рабочего стола.
Продолжение следует…
Все исходные коды открыты, с ними может ознакомится любой желающий.
Статья вышла длинной, спасибо, что дочитали.