Создание тем для LiteStep

Перевод руководства по созданию тем Andymon (основан на руководстве Paul "BigDaddy" Hale)

Введение

Итак, вы скачали LiteStep?

Вы скачали темы других людей, и удивились, как же они это делают?! Хорошо, я помогу вам понять LiteStep и сделать тему. Я знаю что вы думаете, "Руководство по созданию тем? Ты шутишь? Никто не хочет делать руководства!".

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

  1. Большинство тем на разных ресурсах устарели и используют старые модули;
  2. Следовательно новые пользователи начинают изучать устаревшие конфиги для устаревших же модулей!

Это руководство предполагает, что:

  1. Вы установили LiteStep с LOSI, и, следовательно, используете OTS2 (или даже грядущую OTS3) структуру;
  2. У вас есть xPaintClass-1.0.dll либо в папке "LiteStep/" либо в "LiteStep/Modules/" (есть в LOSI);
  3. В этом руководстве я использую Windows XP. Это значит что операционная система (ОС) настроена на многопользовательский режим. Windows 2000 и 2003 настроены также. Для нас это значит, что вы можете хранить профили LiteStep в папке "C:\documents and settings\%username%\LiteStep\" либо в корневой папке LiteStep "C:\LiteStep\profiles\";
  4. Вы умеете работать с Windows. На уровне создания папок, текстовых файлов и т. п.;
  5. Вы не создавали тем до этого (по крайней мере при помощи xPaintClass-1.0 и последних xМодулей);
  6. У вас есть соединение с интернетом.

Этого должно хватить.

Блокнот подходящий редактор. Но раз уж вы свернули с пути Microsoft, можно было бы пойти дальше и использовать другой. Я рекомендую SuperEdi (www.wolosoft.com) с файлом подсветки синтаксиса LS Syntax, доступном на www.ls-universe.info1.

Некоторые основы нашей Темы

Хорошо, итак почему вы хотите создать свою собственную тему?2 Вы слишком хороши для существующих тем? Вы думаете что вы отличаетесь? Вы не красивы и уникальны как снежинка. Первое правило LiteStep - не говори о LiteStep. Второе правило НЕ ГОВОРИ О LiteStep, о, подождите, да, вы можете продолжать говорить о нем. И вы можете быть красивы как снежинка, если захотите.

Я знаю почему вы хотите сделать тему. Вы хотите похвастаться своим компьютером и сказать что вы это сделали. Или вы хотите работать более эффективно за своим компьютером. Или вы не хотите ограничиваться шеллом Microsoft.

Какой бы ни была причина, вы хотите сделать, а я хочу помочь. Позвольте сказать сразу, если вы хотите тему для LiteStep, потому что хотите внимания на сайтах с темами, или одобрения ото всех, вы потерпите неудачу. Эта пословица справедлива для всего, но я чувствую она особенно важна в этом случае. Вы можете потратить месяцы на тему, и думать что это самая лучшая тема из всего что было до этого, но будьте уверены что найдётся кто-то кто будет её ненавидеть. Всё что потребуется это одно мнение, либо грубый отзыв, что бы убедить человека что ему не стоит делать темы, и мы потеряем ещё одного создателя тем, у которого не будет времени продумать и создать удивительные темы.

Во-первых, мы должны решить, какую тему мы хотим сделать. Будет ли это минималистичная тема или украшенная чем-нибудь симпатичным? Будет это оконная тема, тема-панелька, угловая тема, или управляемая горячими клавишами? Она может быть чем угодно. Однако, раз уж это руководство для новичков, я решил сделать минималистичную тему с панелью внизу. Я люблю темы с панелью внизу, потому что я привык к ним.

Во-вторых, мы должны решить какие модули нам нужны. Так как мы хотим что бы наша тема была несколько минималистична, мы не будем использовать очень много модулей. Минималистична, значит всплывающее меню и ничего больше. Что бы решить какие модули вам нужны3, решите что вы действительно хотите получить.

1. Рабочий стол

Позвольте мне разъяснить. Это то, что устанавливает размер вашего рабочего пространства. Кроме этого, всплывающее меню не работает без него. Так же, будет хорошей идеей сделать его первым модулем в вашем theme.rc. Он не пытается эмулировать родной рабочий стол Windows с иконками. Я буду использовать xDesk-1.1 из личных предпочтений. Вы можете выбрать то что больше подходит именно вам.

2. Общие элементы интерфейса и Отображение системной информации

Я использую xLabel-4.1.5, в нем есть всё что нам нужно. В частности, Системная информация это текущая проигрываемая песня и часы.

3. Управление Winamp

Я не могу работать без музыки, поэтому тема будет с Управлением для Winamp. У 99.9 % тем есть, и люди хотят научиться как это делать. Я использую dynamp-0.50.

4. Панель задач

У меня она есть. Поэтому нам нужен модуль для панели задач. Я использую xTaskbar-2.1.

5. Системный трей

Опять-таки, я не могу без него работать. Я предпочитаю xTray-2.0.2.

6. Всплывающее меню

Всем оно нужно, поэтому нам оно нам тоже потребуется. Я предпочитаю использовать xPopup-2.0.4.

Итого

Итак, что мы имеем? Мы используем, за исключением dynamp, только модули с «x» в начале имени файла. Все эти модули используют общие настройки внешнего отображения (xPaintClass-1.0), так же как и для основных параметров, так что вам нужно будет запоминать их единожды. Кроме этого, они имею многие возможностей, минимум багов, и до сих пор поддерживаются.

  • xDesk-1.1
  • Dynamp-0.50
  • xTaskbar-2.1
  • xTray-2.0.2
  • xLabel-4.1.5
  • xPopup-2.0.4

Мы уже делаем всё немного иначе, используя стандартизированный xPaintClass-1.0 и кроме того возможность xМодулей — AddToGroup. Вот здесь и начинается самое интересное. Но сначала краткое введение в разные xPaint классы.

xPaintClass Basics

Я выбрал xPaintTexture как пример для первого введения в xPaintClass, но это работает так же для всех остальных xPaint классов, как здесь:

xPaintTexture    -> Все настройки фона/изображений (все (x)Модули)
xPaint(HTML)Text -> Все настройки шрифтов или TextLayouts (xTaskbar, xPopup, xLabel)
xPaintIcon       -> Все настройки иконок (xTray, xPopup, xTaskbar)
xPaintTooltip    -> Все настройки всплывающих подсказок (xTray, xTaskbar, xPopup, xLabel)
XPAINTTEXTURE:

REQUIRED SETTING!

PaintingMode

Supported by all PaintingModes!

DisablePerformanceCaching
TextureAddToGroup

BorderMethod
TextureTrueTransparency
TextureAlphaTransparency
TextureX
TextureY
TextureWidth
TextureHeight
TextureRotation
ImageWidth
ImageHeight

PaintingMode .borderbutton

BorderMethod

PaintingMode .image

Image
ImageMode
ImageEdges
ImageLeftEdge
ImageRightEdge
ImageTopEdge
ImageBottomEdge
ImageCrop
ImageLeftCrop
ImageRightCrop
ImageTopCrop
ImageBottomCrop
HueColor
HueIntensity
MixColor
MixIntensity
LuminanceIntensity
SaturationIntensity

PaintingMode .icon

Icon
IconExtractionSize
HueColor
HueIntensity
MixColor
MixIntensity
LuminanceIntensity
SaturationIntensity

PaintingMode .singlecolor

Colors

PaintingMode .multicolor

Colors
GradientColors
GradientType
GradientTransformationType
GradientRepeated
ShapeType
RoundedEdges
Bevels
LeftBevel
RightBevel
TopBevel
BottomBevel
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License