Pekwm. Создание своей темы для wm.

Май 23rd, 2008 по malcolm Оставить ответ »

Ниже приведён вольный перевод описания создания темы. Оригинал здесь.

———

Используемые темы для pekwm обычно располагаются в ~/.pekwm/themes. Пожалуйста, используйте имеющиейся темы, как реальный пример, когда соберётесь делать свою тему.
Очень рекомендуется архив с темой подписывать. Название должно будет выглядеть примерн так: theme_name-pekwm_version.[tar.gz|tgz|tar.bz2|tbz].
Например silly-dev-20050227.tar.bz2.
В директории темы используйте говорящие сами за себя названия, например theme, menubg.png и/или submenu.png, в зависимости от того, для чего используется изображение.
Если вы разработали тему для релиза, например 0.1.6 – используйте это в названии темы. Например theme_name-pekwm016.tar.gz. Даты и приставка dev ставится, если тема разарботана для разрабатываемой версии svn.
Файл theme должен содержать следующую информацию:

Название темы
Версия pekwm для которой разрабатывалась тема
Email или web-сайт разработчика или «портировщика» (если портируете тему с другого wm).
Дата последней модификации темы.

Также вы можете вести Changelog.
Если вы в чём то не уверены можно спросить у того, кто знает это лучше.
Ниже преведён синтаксис, который используется в файле темы.
Также рекомендуется использовать EMPTY текстуру, если хотите, чтобы была пустота на этом месте. Это лучше, чем использовать пустую «переменную».

«pixels»    «2″    Число пикселей.
«size»        «2×2″    вертикальные пиксели на горизонтальные пиксели.
«padding»    «2 2 2 2″  Отступ на n пикселей сверху, снизу, слева или справа соответственно.
«decorname»    «DEFAULT»    Имя декора окон. Можно использовать следующие названия декора:
        DEFAULT – описывает декор по умолчанию. (Обязательно)
        MENU – декор для разных меню.
        STATUSWINDOW – описывает декор статусных окон. (Обязательно)
        CMDDIALOG – декор окна запуска приложений – Run Command.
        BORDERLESS – декор для окна без «бордюров» (без рамок). (Рекомендуется)
        TITLEBARLESS – декор для окна без заголовка. (Рекомендуется)
«colour»    «#FFFFFF»  код цвета в формате RGB
«imagename»    «topleftcorner.png#fixed» имя файла изображения, которое используется
        #fixed – размер изображения фиксированный
        #scaled – изображение растянуто
        #tiled – изображение размножено
«texture»    «Solid #888888 1×1″
        Используемая текстура.
        EMPTY – нет текстуры (прозрачная)
        SOLID colour size
            сплошная текстура используемого цвета и размер
        SOLIDRAISED colour colour colour pixels pixels toggle toggle toggle toggle size
          Текстура сплошного цвета с видом 3d выбранных цветов, формы и размера. Первый цвет описывает главный цвет, второй – верхний левый цвет, третий – нижний правый.
          —- Эту часть надо перевести. Кто нибудь поможет? Я не справился —
            first pixel amount defines how fart apart the 3d effects are from eachother, second pixel
                    amount is how thick the bordering will be (both pixels default to 1). The four toggles are
                    used to tell which raised corners are to be drawn. This is usefull for example when defining
                    solidraised corner pieces. The order is Top, Bottom, Left, Right (order similar to padding).
                    So «True False True False» (or 1 0 1 0) could mean you want to draw the TopLeft piece of
                    a solidraised window border.
              —————————–
         IMAGE imagename
            название используемого изображения.
«fontstring»    «Verdana:size=10#Left#1 1#XFT»
            Описывает шрифт. Первое – название шрифта, потом ориентация (Left, Center, Right). Затем теневые эффекты.
            Потом типа шрифта, если это не традиционный шрифт Х-ов (сглаживание).
«buttonactions»    «1″ { Actions = «Close» }
            Описывает реакцию на нажатие каких либо кнопок. 1 – первая кнопка мыши. Далее описывается стандартное действие pekwm.
«cmdstring»    «feh –bg-center myrootimage.png»
            Какая нибудь внешняя команда. Например, установка фона рабочего стола.
«percent»    «87″
            Проценты. От 1 до 100
«toggle»    «true»
            Устанавливает значение Правда-true (1) или ложь-false (0).

ВАЖНО! Используйте EMPTY для того, чтобы сказать «здесь ничего нет», чем портить структуру файла.
Структура файла, описывающего тему.

PDecor{}: Блок, определяющий декоры окон.
    Decor, decorname{}: имя декора.
       
        Title{}: описание заголовка окна.
            Height, pixels – Высота заголовка в пикселях
            Pad, padding – сколько пикселей держать вокруг текста заголовка.
            Focused, texture – текстура для заголовка активного окна.
            UnFocused, texture – текстура заголовка неактивного окна.
            WidthMin, pixels – минимальная ширина заголовка в пикселях.
            WidthMax, percent – Максимальная ширина заголовка в процентах.
            WidthSymetric, toggle – true – постоянная ширина заголовка, false – ширина изменяется в зависимости от текста, который расположен в заголовке.
       
        Tab{}: описание таба заголовка.
            Focused, texture – фон активного окна.
            UnFocused, texture – фон неактивного окна.
            FocusedSelected, texture – фон выделенного активного окна (если его мышей выделить)
            UnFocusedSelected, texture – фон выделенного неактивного окна.

        FontColor{}: Описание шрифтов.
            Focused, colour colour – цвет шрифта. второй цвет – цвет тени.
            UnFocused, colour colour – по аналогии с предыдущими.
            FocusedSelected, colour colour
            UnFocusedSelected, colour colour

        Font{}: описание шрифтов заголовка
                                Focused, fontstring – шрифт
                                Unfocused, fontstring
                                FocusedSelected, fontstring
                                UnFocusedSelected, fontstring

        Buttons{}: описание кнопок в заголовке
                                Right{}: Какие кнопки находятся справа
                                Left{}:  Какие кнопки находятся слева
                                        Focused, texture – текстура кнопки под указателем
                                        Unfocused, texture – текстура кнопки не под указателем.
                                        Pressed, texture – текстура кнопки нажатой
                                        Button, buttonactions – что будет, если кнопку нажать.
            Border{}: описание границ окна.
                                Focused{}:   границы активного окна
                                UnFocused{}: границы неактивного окна
                                        TopLeft, texture – текстура верхнего левого края границ
                                        Top, texture – текстура верхней границы
                                        TopRight, texture – текстура верхней правой границы
                                        Left, texture – текстура левой границы окна
                                        Right, texture – правой
                                        BottomLeft, texture – нижней левой
                                        Bottom, texture – нижней
                                        BottomRight, texture – нижней правой.

Harbour{}: тема для «гавани»
        Texture, texture – текстура, используемая для фона «гавани»

Menu{}: Описание вида менюх
        Pad, padding – сколько пикселей оставлять свободный от заголовка
        Focused{}:    Используется, если меню/подменю активно
        Unfocused{}:  Если не активно
        Selected{}:   Если выделено (клик мышей)
                Font, fontstring – шрифт
                Background, texture – фон меню
                Item, texture – фон отдельно взятого пункта
                Text, colour – цвет текста
                Separator, texture – текстура резделителя мен. (необходимо)
                Arrow, texture – текстура, показывающая наличие подменю (стрелка)

CmdDialog{}: Тема для диалога «Run Command»
        Font, fontstring – шрифт
        Texture, texture – фон
        Text, colour – цвет текста
        Pad, padding – расстояние слева/права/сверху снизу от границ окна

Status{}: тема для статусных окон (список окон, раб. столов и др.)
        Font, fontstring – шрифт
        Texture, texture – фон
        Text, colour – цвет текста
        Pad, padding – расположение текста

Root{}: Обычно используется для установки фона рабочего стола
        Command, cmdstring – Команда (описано выше).

——
От себя: Чтобы лучше разобраться – возьмите любую тему и этот перевод. Попробуйте поизголяться над темой и вы поймёте что к чему, будет легче.
Не бойтесь экспериментировать, и если что – спрашивайте.

Также дополнительную информацию вы можете получить здесь и немного здесь. Ну и конечно офсайт wm – http://pekwm.org

Реклама