Разработка → 10 лет с Колибри: как это было

Leency 9 сентября в 13:12 24,2k
Обзор в честь моего 10-летия участия в проекте создания операционной системы Kolibri.

Кем я только не работал и что только не делал в этом проекте. Именно знания, полученные в процессе работы над Колибри дали мне возможность кардинально изменить свою жизнь — найти работу мечты, новых друзей и получить невероятное количество фана!

image

Итак, начнем.

Иконки

(2007..2017)

С самого начала и до победного конца пилю иконки для Колибри. Слева иконки до моего в прихода в проект, по середине моя первая редакция в 2007 году и в правом столбике текущий вариант из ночных сборок.
Старенькая статья на эту тему «Иконки Колибри: забывая Менуэт»

KolibriOS icons evolution

PR

(2007)

Занимался рекламой Колибри на других ресурсах.

Файловый менеджер Eolite

(2008..2017)

Моя первая и на данный момент самая крупная программа для Колибри. Начинали мы ее разрабытывать вместе с Veliant, потом к разработке присоединился Punk_Joker.

Статья о разработке «Eolite. Мемуары дилетанта»

Eolite

Двухпанельный режим.

Eolite с двумя панелями

Memory Blocks

(2008)

В игре нужно по памяти найти одинаковые пары пиктограмм, для уменьшения размера программы используются иконки рабочего стола. Будь дизайнером, поиграй со шрифтами с иконками! Идея и редизайн Memory Blocks: я. Программирование: Костя Veliant.

Memory blocks

Dicty

(2008)

Простой русско-английский и англо-русский словарик на 15 тысяч значений слов. Поиск происходит по мере набора.

Dicty

Just Clicks

(2008..2013)

Переписанная на С-- ClickoMania. Нормальный дизайн, исправление багов, система уровней. Любимая убивалка времени в Колибри.

Just clicks

Appearance

(2008)

Выбор оформления окон и обоев.

Skin Selector

kolibri-os.narod.ru

(2008)

Запуск моего сайта посвященного Колибри на бесплатном хостинге народ: http://kolibri-os.narod.ru. Сейчас не доступен.

Скриншот сайта kolibrios.narod.ru

WebView: текстовый браузер (Ex. HTMLv)

(2008..2017)

Моя самая известная и самая плохо написанная программа. В свое время Veliant кинул мне все свои проекты для Колибри. Среди них был один довольно интересный — «HTML Viewer in C--». Я адаптировал код программы под новую версию библиотеки и работа пошла.

Сам по себе браузер — это компонент TWB, который может быть встроен в другие программы на С--, например, он позже был встроен в почтовый клиент Liza.

Также читайте статью «WebView или история о том, как в KolibriOS браузер писался»

Web View

Мои разработки в журнале CHIP

(2011)

В мартовском номере номере журнала CHIP была опубликована статья о KolibriOS. Из всех скриншотов Колибри в интернете, они выбрали именно моего авторства. На нём версия Колибри 0.7.3.0, которая так официально и не вышла — собиралась она мною по типу ночной сборки. Обои, логотип, иконки, файловый менеджер — все моего авторства.

Мои разработки в журнале CHIP

Встреча разработчиков

(2011)

Встретился с разработчиком Колибри — Костей Veliant в Москве. С ним мы написали много хороших программ: Eolite, Memory Blocks, браузер. Именно он объяснил мне многие вещи в программировании, в частности о работе с памятью, регистрами и указателями. Мы чатились в аське дни напролет, забивая на универ. Эх, хорошее было время! Сейчас Костя работает в компании Dr.Web.

Veliant

Flood-it!

(2011)

Игра начинается с верхней левой клетки. Выберите цвет, нажав на один из квадратиков слева, и клетки окрасятся этим цветом — так вы присоедините соседние клетки той же окраски. Захватить поле нужно за ограниченное число ходов.

Flood-it!

Выпуск 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 и многие другие программы.
  • Все ассоциации прописаны, нескучные обои и скины, которые можно легко менять через контекстное меню рабочего стола;

Kolibri N8
Kolibri N8

Tmpdisk

(2012..2016)

Программа для управления виртуальными дисками, использует API драйвера tmpdisk.sys, написанного CleverMouse. Управление — командная строка и GUI.

Tmpdisk

Почтовый клиент Liza

(2012..2013)

Поддерживаться должны все почтовые ящики, работающие по протоколу POP без шифрования — это yandex.ru, i.ua, mail.ru… gmail.com не работает, т.к. использует шифрование.

Liza login

Логин и пароль сохраняется после закрытия программы в текстовый файл. Можно задать свои настройки подключения.

Liza settings

После успешного логина, мы входим в почтовый ящик. Заголовки писем загружаются автоматически. Тело письма загружается при нажатии на него, процесс загрузки письма тоже отображается полосой прогресса. Размеры панелей отображающих список писем и само письмо можно менять, потянув мышкой за " = = = ".

Liza mail

Соцсети

(2013..2017)

Понимая необходимость проникать в соцсети, 28 января 2013 года я создал группу вконтакте «KolibriOS — официальная группа», успешно существующую и поныне.

Зачем эти соцсети? Сейчас там зарегистрировано и посещает их очень большое количество людей, глупо их игнорировать, если мы хотим нести KolibriOS в массы. Раньше такой задачи не стояло и Марио открыто об этом говорил. Я же хочу, чтобы система была известной, чтобы люди ей пользовались, а значит писали код и улучшали, т.к. количество всегда перерастает в качество. Также там можно настроить публикацию новостей. Ну и может быть определённая координация действий в будущем.

Объясняю почему нужно идти в массы; пост на форуме, 2013 год

В тот же день yogev_ezra создал группу в Фейсбуке, которая, к сожалению, уже давно заброшена.

Доклад о Колибри на конференции IT Club

(2013)

Обзорный доклад о Колибри на конференции IT Club Global Logic в Николаеве.

Материалы доклада: речь и слайды

Отчет на сайте

Видео с конференции (плохое качество записи)

Я на презентации

Calendar

(2013)

Редизайн календаря.

Calendar

Обновление оффсайта

(2013)

Официальный сайт Колибри уже какое-то время представлял из себя одну страницу без особого оформления.

kolibiros.org 2004-2011

Как всегда я решил обновить иконки.

kolibiros.org new icons 2011

Раз уж есть новые иконки, придется весь сайт обновить :) На тот момент я не знал HTML/CSS/JS и я попросил сделать сайт Akyltist-а на основе бесплатного шаблона. Я ему помогал и позже правил баги, да так, что через пару месяцев устроился работать верстальщиком.

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

Выпуск KolibriN9

(2014)

Спустя полтора года разработки вышла новая версия KolibriN9! KolibriN9 базируется на KolibriOS и предоставляет более красивое и дружественное для простого пользователя окружение — это не только красивые обои рабочего стола, но и гораздо большее количество ПО, поставляемого в комплекте.

KolibriN9

Из изменений, пришедших из 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)

System panel

uPDF

(2015)

Завершение порта, расширение функциональности, исправление багов, серьезное улучшение интерфейса. Вся разработка велась в Линуксе в виртуальной машине.

uPDF KoliriOS

Pixie Player v1.X

(2015)
Статья о разработке «Музыка в KolibriOS: полный обзор и последние новинки»

Если коротко Pixie — это MP3 плеер, фронтенд для miniMP3. При открытии файла из папки, плеер запустит выбранную композицию и все MP3 из данной папки также будут добавлены в плейлист.

Окно может быть трёх режимов: обычное, схлопнутое в заголовок и компактное. Из тем на выбор пользователя доступно две: светлая и тёмная. Все настройки программы сохраняются после перезапуска. При запуске плеера без параметров, начнёт проигрываться последняя открытая папка.

Pixie 1.X


Когда вы перемещаете окно в компактном режиме, то перемещается не рамка, а само окно, впервые в Колибри!

Pixie player window drag

System panels configuration utility

(2015)

GUI для двух INI-файлов.

System panels configuration utility

TextEdit GUI update

(2015)

Обновлен GUI текстового редактора TextEdit.

TextEdit

Mouse testing and configuration utility

(2015..2016)

Название говорит само за себя. Собрал все в одном месте и причесал.

Mouse testing and configuration utility

TextReader

(2015..2016)

Текстовый ридер, поддерживает разные размеры шрифта и различные кодировки, использует ini-файл для сохранения настроек, поддерживает горячие клавиши и открывает файл в Tinypad.

TextReader

Большие шрифты

(2016)

Перевел многие программы на большие шрифты.
Подробности в статье «Шрифты в Колибри»

Clipboard Viewer

(2016)

Программа для просмотра содержимого буфера обмена. В отличии от Windows, где в буфере может хранится только один слот одновременно, в Колибри он многоуровневый. Данные о слотах представлены в виде таблицы, можно удалить последний слот или все, сделать аварийный анлок. Также доступен предпросмотр данных слота в виде текста и HEX.

Clipboard Viewer

KolibriOS — Issue Tracker

(2016)

http://bugs.kolibri-n.org. Адовая ненависть к Мантису достигла пика и я запилил простой и юзабельный багтрекер. Базируется на Tit.

Kolibri Bug Tracker

DrvInst

(2016)

Установщик драйверов, всю информацию берет из /kolibrios/drivers/drvinf.ini

drvinst

End

(2016)

Обновленное окно завершения работы, порт из KolibriN10 в KolibriOS. Скриншот для сравнения: сверху старое, снизу новое.

End

Animage redesign

(2016)

Code by IgorA. GUI by me.

Animage old
Animage new

Process manager

(2016)

Более простой и удобный менеджер процессов. Разработано было в рамках KolibriN10.

Менеджер процессов

Visual Text Comparer / Diff tool

(2016)

Порт http://c--sphinx.narod.ru/FILES/vc.zip

Visual Text Comparer / Diff tool

Pipet

(2017)

Пипетка для рабочего стола.

Пипетка

Продолжение следует…

Все исходные коды открыты, с ними может ознакомится любой желающий.
Статья вышла длинной, спасибо, что дочитали.
Проголосовать:
+119
Сохранить: