среда, 10 октября 2007 г.

15 человек на сундук мертвеца! (или песнь о зарытых сокровищах)

лучше будет сказать 17 человек, бо "о бедном гусаре замолвите слово", не во грех сие, но во благо...

недалече как сегодня поставил многоточие после трудов своих над темой E17-го. это стало восхитительным упражнением! оказалось, что по большому счёту создание любого гуи в 17-ом очень похоже на написание программы (синтаксис практически сишный, есть объекты, их описание, источники событий/сигналов, генерация событий/сигналов и их обработка, плюс многое другое из арсенала высокоуровнего языка программирования). EFL программа в идеале не должна содержать элементов визуального интерфейса - это отдано на откуп "темерам"/дизайнерам. всё как у взрослых, причём после такого творчества находиться в прочих WM-ах как-то стало непросто. не могу назвать результат шедевром, хотя на http://www0.get-e.org/ не попал сугубо по соображениям лицензионной чистоты - авторы скачанных мной из интернета изображений не потрудились ответить на запросы о получении разрешения на подобную некоммерческую инициативу. другими словами - слегонца подташнивает (кроме как от E16-го, поскольку первая любовь коррозии не поддаётся, да и темы у 16-го шикарнейшие). пользовался gimp-ом и elicit, чей 20-ти кратный зум любого пикселя экрана с последующим определением палитры оказался незаменимым для подобного рода упражнений. в общеобразовательных целях ознакомился с inkscape - для работы с цветом шрифтов в 17-ом сей тул может пригодиться. откуда столько сложностей? дык... судьба, барин! супротив не попрёшь!

первым делом - пока все остальные ВМ-ы/(гхм... разработчики оных) занимаются неизвестно чем - в 17-ом всё тотально завязано на модель RGBA (и не путайте здесь композит/bling/xcompmgr - оне тут совершенно ни при чём). это значит, что альфа канал является цветообразующим для любого элемента, от шрифтов и до... последнего пикселя. вот кстати про одну из самых любимых тем "крутых перцев" - да-да-да! про шрифты! - и поговорим... очень хотелось в качестве названия этой заметки воспользоваться словом "сасать" и восклицательным знаком - постеснялся... судите сами: для отображения шрифта в любом месте интерфейса может использоваться три значения цвета (естественно каждый из трёх - в RGBA) - это цвет собственно шрифта, цвет его "тени"/shadow и цвет его "окантовки"/outline. плюс к этому - вагон и маленькая тележка эффектов отрисовки начертания. оные эффекты применимы к любому элементу интерфейса (шрифт - не более чем один из них). у меня от открывшихся возможностей чуть "крыша" на поехала - ограничился правда минимальным использованием в своей теме, "вешками чуток тропку разметил" так сказать...

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

и "на закуску", несмотря на то, что продолжать можно вечно (пока не кончатся батарейки) - тотальная модульность. есть canvas - сиречь evas, всё прочее можно смело рассматривать как "включения", что может дать вот такой интересный эффект:



заметили шарик в левом верхнем углу изображений? это - управление альфа каналом, поскольку Evas принял видеофильмы как очередные элементы/объекты управления. для иллюстрации этого подхода к изображениям можно посмотреть на Entice - очень неординарную программу-гляделку:



в создании темы мне очень здорово помогли советами следующие товарищи в алфавитном порядке (разработчики этого WM-а отмечены в начале большой буквой "E"):

boneyfrog (создатель темы "blue_eyed")
E devilhorns (Christopher Michael)
E Rasterman (Carsten Haitzler)
E Ravenlock (Eric Schuele)
E mekius (к стыду своему запамятовал ФИО)
E morlenxus (Brian Miculcy)
E Viktor Kojouharov


нижайший им поклон, хотя... в общем в отместку придётся написать труд "Create E17 Theme From Scratch", после ревизии коего можно будет перевести на русский (вот думаю, стоит ли?) и выложить на том же get-e. комплексного материала в этой области пока нет. всё довольно разрозненно и успело значительно устареть.

P.S. в качестве музыкального сопровождения при создании темы использовался плеер Emphasis, загруженный альбомами SRV и славной группы "Чёрный Обелиск" (земля пухом Стиви и Толику).

P.P.S. насчёт жалоб об отсутствии систрея - читаем здесь:
http://www.freedesktop.org/wiki/Standards_2fsystemtray_2dspec
и здесь (ищем по слову "systray" заметку от Thursday, 2 February 2006):
http://www.rasterman.com/index.php?page=News
в двух словах: нет стандарта - нет и систрея! так-то! пройдите товарищи!


********************************************************************

(всё ещё нужен систрей? ок. поищите trayer или stalonetray)


********************************************************************

7 комментариев:

Demyan Rogozhin комментирует...

Приветствую!
Интересно, а удалось ли вам написать труд "Create E17 Theme From Scratch"? Я в таком труде очень заинтересован, если что, могу помочь. Давно уже хочу реализовать свои идеи в Теме для е17, просто много белых пятен, многого не понимаю в edje пока.

sda комментирует...

пока одни черновики... потихоньку модернизирую свою тему, открывается много нового. как это связно изложить - скорее всего более логичним будет в первой части досконально разобраться с .edc файлами, а во второй разобрать дефолтную темку. синтаксис сишный, вроде не Rocket Science, но... по прикидкам это страниц за 200 уже выходит...

Demyan Rogozhin комментирует...

А мне очень интересно узнать одну вещь, но не у кого было спросить.
А можно ли сделать тайтлбарыы для окон как в beOSe? Чтобы не на 100% от ширины а меньше.
Я пробовал, давноо-этим лето, но ничего не вышло. И на этом я прекратил изыскания не найдя ответа.
Сунутся к разработчикам я как-то стесняюсь своего инглища, а ваш блог единственный известный мне русскоязычный про е17 (сам еще с весны хочу написать пару строк, да как-то не до того)

sda комментирует...

не вижу тут никаких проблем. если не трудно - выложите пару скриншотов на
imageshack.us
или
http://www.uploadgeek.com/
а тут киньте линки. я уже подзабыл как оно там выглядит. самому вспомнить интересно.

sda комментирует...

посмотрел, ничего сложного. к тому же подобные "бары" были реализованы в E16 (если не раньше, вроде видел это и у E14-E15). для дефолтной темы это достигается модификацией 'default_border.edc' файла.

Demyan Rogozhin комментирует...

Да, я пробовал потрошить уже не одну тему, вот что мне удалось получить с темой japan2007: скриншот

Я вижу проблему в том, что любой визуальный объект в edje строится при помощи стыковки и наслоения простейших типов (для данной темы это RECT, TEXT и SWALLOW).

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

Вот мой вопрос как раз в том, как такой ситуации избежать.

sda комментирует...

во! "речь не мальчика, но мужа". моя аська 206013812. welcome. вы упустили пару существенных моментов: положение "кнопок", формирование самих "бордюров" и... скажем так... упомянутые вами "типы" есть не причина, но следствие. постараюсь для примера подшаманить дефолтную тему и выложу edc для сравнения.