Page 1 of 1

Новое оформление

Posted: Fri Mar 18, 2011 6:03 pm
by SoUrcerer
Я люблю всё миленькое и красивенькое, ня! Особенно если оно работает быстро и не очень требовательно к ресурсам.
Сейчас (раз не видно активности в этом направлении) я потихоньку делаю свои полезные приложеньица для того, чтобы Колибри стала красивее и удобнее. Эти приложения - новые панель и док.
Снимок-QEMU.png
Снимок-QEMU.png (43.15 KiB)
Viewed 8894 times
Что есть сейчас, и что планируется?
Spoiler:Панель пока что умеет лишь рисовать себя, время и запускать приложение меню. Возможно, предстоит куча работы для того, чтобы перенести все вкусняшки из старой панели в новую (переключение раскладок, горячие кнопки). А возможно, горячими кнопками системы и раскладкой будут заниматься другие программы. Пока что я предполагаю, что модули для панели будут подключаться как COFF-библиотеки (а может, dll?), но пока в этом направлении только ведутся эксперименты. Управлению панелью с клавиатуры я уделю особое внимание.
Док показывает пока только приложения, которые можно запустить. В будущем, возможно, я добавлю в него возможность автоматически скрываться, и он будет показывать и запущенные программы.
Что нужно?
Spoiler:Нужны новые иконки для Колибри. Лишними уж точно не будут. Нужны новые цвета, хорошие и красивые. Художник из меня никакой, но что-нибудь я попробую сделать (with a little help from my friends). Не лишней будет и помощь в реализации - разумеется, от тех, кто заинтересован в увеличении привлекательности системы и повышения удобства работы.
Сколько все это будет стоить?
Spoiler:Иконки tango, которые я использовал, в сумме занимают 13 килобайт. Скин для дока - 5 кб, скин для панели - чуть больше 2 кб. Итого - 20 килобайт на скин. Текущая версия панели и дока занимает около 40 килобайт, но она абсолютно неоптимальна и не использует имеющиеся в наличии библиотеки работы с изображениями, так что размер бинарника значительно уменьшится в будущем (если в него не будет добавлена куча кода). Требования к ОЗУ - около 128 килобайт на изображения для дока и примерно столько же для панели.
Где такое взять? На чем это написано?
Spoiler:Пока что нигде. Приложенное изображение прошу считать пока что концептом, хотя это реальный скриншот реальной КолибриОС без капли фотошопа. Текущие версии программ я считаю непригодными для использования, icon и @panel сейчас объективно гораздо лучше.

Сейчас я в основном программирую для Колибри на Си, и док и новая панель так же разрабатываются на Си. Я с удовольствием делал бы эти программи на ассемблере, если бы мог.
Известные и в будущем устраняемые недостатки: топорные скины, размытые иконки (пережал сильно :roll: ), отсутствие настройки, нет поддержки плагинов и плагина панели задач, использование иконок tango вместо "родных" для Колибри.

Объективная критика приветствуется. Собственно, именно для этого тема и создана.

Re: Новое оформление

Posted: Sun Mar 20, 2011 11:40 pm
by kogemyaka
Хорошо выглядит. Только панель должна либо быть настраиваемой, либо находиться внизу.

А вообще первое это шрифты, так как на ноутбуке продолжительное время редактировать текст можно только в KFAR.

Re: Новое оформление

Posted: Mon Mar 21, 2011 12:23 am
by SoUrcerer
Разумеется, панель будет настраиваться. Ради этого весь сыр-бор и есть: кто-то хочет видеть сводку погоды, кто-то хочет добавить еще что-то на панель, кому-то хочется, чтобы панель скрывалась с глаз людских. Пока что у меня два отдельных типа панели - горизонтальная и вертикальная, но я над этим работаю. [Точнее, хочу работать, но внезапно началась сессия, а это, как всем известно, недели на две]
Насчет положения панели - мне, например, удобно работать когда их две. Места на экране для них хватает, чай, не нетбук какой, зато всегда под рукой куча удобных приложений (управление подключенными устройствами, уровень приема сети, обновления, плейер, почта, консоль, погода, время, органайзер, корзина, рабочие столы, завершение программ, клиенты, социальные сети), и при этом я могу запустить штук 8 программ на одном рабочем столе, и видеть их на панели задач без обрезания ширины практически.

А шрифты.. Они как бы есть, и их как бы нет :mrgreen: То есть можно например с помощью Cairo выводить TrueType, Type1. Еще есть и другие библиотеки, которые успешно работают в Колибри... Нужно просто вместе решить, как должна выглядеть библиотека шрифтов, и насколько большой она может быть. Увы, библиотека Cairo при всей своей привлекательности слишком тяжела для дискетки, так что нужно думать о других вариантах.FreeType же поместится килобайт в 100-200.

Re: Новое оформление

Posted: Mon Mar 21, 2011 5:41 pm
by Serge
Если FreeType поместится на дискету, то шрифты нет. Надо уходить от дискеты к LiveCD.

Re: Новое оформление

Posted: Mon Mar 21, 2011 10:15 pm
by popovpa
Здравствуйте!

Мне панель очень понравилась, я вообще за минимализм, у меня рабочий стол отключен, нет на нём значков, мне достаточно кнопки пуск и панели быстро запуска, было бы здорово если бы она могла прятаться и вызываться горячей клавишей и при наведении мышки...а на счёт шрифтов, думаю что надо использовать то что уже обкатано временем и есть большая библиотека шрифтов, видимо это freetype, может есть что-то более в духе колибри более минимальное?

Re: Новое оформление

Posted: Tue Mar 22, 2011 1:01 am
by SoUrcerer
Автосворачивание - в списке дел для панели под первым номером.
Не знаю библиотек, которые бы поддерживали качественные шрифты, и были бы легче, чем FreeType.
Знаю, что шрифты в SVGZ занимают совсем немного места - около 30 килобайт на 256 символов, но они отвратно смотрятся при небольших кеглях (а они-то как раз больше всего и распространены). Мне не удавалось добиться приемлемого (пусть даже несколько размытого) отображения шрифтов высотой менее 16 пикселов (существующие шрифты в Колибри меньше 16 пикселов в высоту, и хоть они мелкие, это не значит, что символы такого размера никому не нужны).

Re: Новое оформление

Posted: Thu Mar 31, 2011 5:20 pm
by SoUrcerer
Планирую использовать freetype2, libini и libimg, плагины оформить в виде coff-библиотек с экспортируемыми функциями "start", "redraw", "click", "mouseover", "update".
Функции start передаются размеры области плагина на панели. Функциям click и mouseover - положение мыши над областью плагина. Функция update вызывается раз в n миллисекунд (например, для обновления часов или погоды - eventы не постоянно ведь происходят).Функциям start и update передаются так же дополнительные параметры (например, строковые данные).

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

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

Буду рад интересным и полезным предложениям.