4. Редактируем конфигурационный файл testrc
Файл является текстовым, может редактироваться в том же Kwrite и имеет ту же структуру, что и metadata.drsktop. А именно, <атрибут>=<значение>. В теме rosa… пардон, test этот файл имеет следующий вид:
[General]
ActiveTextColor=20,19,18,255
ActiveTextShadowColor=255,255,255,100
Animation=0
HaloActive=false
HaloInactive=false
InactiveTextColor=166,166,166,255
InactiveTextShadowColor=255,255,255,100
LeftButtons=
RightButtons=IAX
Shadow=True
TextShadowOffsetX=0
TextShadowOffsetY=1
TitleAlignment=center
TitleVerticalAlignment=center
UseTextShadow=true
[Layout]
BorderBottom=4
BorderLeft=2
BorderRight=2
BorderTop=3
ButtonHeight=18
ButtonMarginBottom=3
ButtonMarginTop=-2
ButtonSpacing=-1
ButtonWidth=39
ButtonWidthClose=39
ButtonWidthMenu=0
ExplicitButtonSpacer=2
MaximizedBorderTop=10
PaddingBottom=86
PaddingLeft=75
PaddingRight=75
PaddingTop=35
TitleBorderLeft=2
TitleBorderRight=2
TitleEdgeBottom=2
TitleEdgeBottomMaximized=2
TitleEdgeLeft=4
TitleEdgeLeftMaximized=2
TitleEdgeRight=4
TitleEdgeRightMaximized=2
TitleEdgeTop=2
TitleEdgeTopMaximized=0
TitleHeight=20
Как видим, файл состоит из двух частей, заголовки которых заключены в квадратные скобки - [Общие] и [Расположение].
Согласно упоминаемому выше краткому мануалу
https://techbase.kde.org/User:Mgraesslin/Aurorae вообще говоря, файл может содержать следующие атрибуты.
Первая часть файла [General]:
TitleAlignment: выравнивание заголовка окна по горизонтали (по умолчанию: left — левое)
TitleVerticalAlignment: выравнивание заголовка окна по вертикали (по умолчанию: center — по центру)
Animation: длительность анимации в мс при наведении на кнопку и при нажатии / отжатии (по умолчанию: 0)
ActiveTextColor: цвет текста заголовка активного окна (по умолчанию: 0,0,0,255) — черный, четвертое число означает, если не ошибаюсь, прозрачность — 255 — цвет абсолютно непрозрачный, 0 — абсолютно прозрачный. Т. е. текста не видно в силу его прозрачности
InactiveTextColor: цвет текста заголовка неактивного окна (по умолчанию: 0,0,0,255)
ActiveFocusedTabColor: цвет текста заголовка выделенной вкладки активного окна (по умолчанию = ActiveTextColor)
ActiveUnfocusedTabColor: цвет текста заголовка не выделенной вкладки активного окна (по умолчанию = InactiveTextColor)
InactiveFocusedTabColor: цвет текста заголовка выделенной вкладки неактивного окна (по умолчанию = InactiveTextColor)
InactiveUnfocusedTabColor: цвет текста заголовка не выделенной вкладки неактивного окна (по умолчанию = InactiveTextColor)
UseTextShadow: нарисовать тень за текстом заголовка (по умолчанию: false — не рисовать)
ActiveTextShadowColor: цвет теневого текста активного окна (по умолчанию: 255,255,255,255) — белый и абсолютно непрозрачный
InactiveTextShadowColor: цвет теневого текста активного окна (по умолчанию: 255,255,255,255)
TextShadowOffsetX: смещение тени в направлении x (по умолчанию: 0)
TextShadowOffsetY: смещение тени в направлении y (по умолчанию: 0)
HaloActive: сияние заголовка активного окна (по умолчанию: false; начиная с 4.5) Т.е., сияния нет. Честно говоря, пробовал true, но никакого сияния не заметил. Возможно, сослепу
HaloInactive: сияние заголовок неактивного окна (по умолчанию: false, начиная с 4.5)
LeftButtons: кнопки в левой группе кнопок (по умолчанию: см. KWin defaults) По ссылке никаких указаний не обнаружил. Умаялся искать что это такое и что там по умолчанию .Оказалось, порядок следования кнопок с левой стороны заголовка. По умолчанию MS. Что сие означает — выяснить не удалось. Но, поскольку расположение как левых, так и правых групп кнопок можно установить в «Параметрах системы», «Оформление окон», то особо заострять на этом внимание не стал — MS так MS, если что сами поменяем.
RightButtons: порядок кнопок в правой группе кнопок (по умолчанию HIAX)
Shadow: предоставляет тени: необходимо добавить значения заполнения (по умолчанию: true — тени есть) Однако что за тени — не совсем понятно
DecorationPositon: размещение заголовка окна сверху (0), слева (1), справа (2) или снизу (по умолчанию: 0) Вот как, даже так! Жаль только, что значения для нижнего положения заголовка нет.
Теперь вторая часть файла [Layout] — здесь преднамеренно изменил порядок следования атрибутов в мануале для улучшения восприятия структуры атрибутов:
BorderLeft: (по умолчанию: 5) — границы слева, справа, снизу и сверху
BorderRight: (по умолчанию: 5)
BorderBottom: (по умолчанию: 5)
BorderTop: требуется только для расположения слева, справа или снизу (по умолчанию: 0)
PaddingTop: добавление отступов для обеспечения теней (по умолчанию: 0)
PaddingBottom: (по умолчанию: 0)
PaddingRight: (по умолчанию: 0)
PaddingLeft: (по умолчанию: 0)
TitleEdgeTop: границы заголовка сверху, снизу, слева и справа (по умолчанию: 5)
TitleEdgeBottom: (по умолчанию: 5)
TitleEdgeLeft: (по умолчанию: 5)
TitleEdgeRight: (по умолчанию: 5)
TitleEdgeTopMaximized: то же, для улучшения поддержки развернутых окон (по умолчанию: 0)
TitleEdgeBottomMaximized: (по умолчанию: 0)
TitleEdgeLeftMaximized: (по умолчанию: 0)
TitleEdgeRightMaximized: (по умолчанию: 0)
Перечисленные атрибуты можно объединить в группу «Окно» (Window) и в целях улучшения восприятия их природы и следуя мануалу, покажем их на схеме, которую в дальнем будем еще дважды разворачивать.
Окно:
TitleBorderLeft: еще границы заголовка слева и справа (по умолчанию: 5)
TitleBorderRight: (по умолчанию: 5)
TitleHeight: высота заголовка (по умолчанию: 20)
ButtonMarginTop: добавка для групп кнопок сверху (по умолчанию: 0)
На приведенной выше схеме у нас имеется не детализированная область «Заголовок» (Title). Теперь покажем его детально, развернув на следующей схеме:
Заголовок:
ButtonWidth: ширина кнопки (по умолчанию: 20)
ButtonHeight: высота кнопки (по умолчанию: 20)
ButtonSpacing: интервал между кнопками (по умолчанию: 5)
ExplicitButtonSpacer: увеличенный интервал между кнопками (по умолчанию: 10)
Наконец, развернем вторую схему. А именно, не детализированную область «Кнопки» (Buttons)
Кнопки:
При необходимости можно еще задать ширину для каждой кнопки:
ButtonWidthMinimize: необязательно, значение по умолчанию = ButtonWidth
ButtonWidthMaximizeRestore: необязательно-значение по умолчанию = ButtonWidth
ButtonWidthClose: необязательно-значение по умолчанию = ButtonWidth
ButtonWidthAlldesktops: необязательно-значение по умолчанию = ButtonWidth
ButtonWidthKeepabove: необязательно-значение по умолчанию = ButtonWidth
ButtonWidthKeepbelow: необязательно-значение по умолчанию = ButtonWidth
ButtonWidthShade: необязательно-значение по умолчанию = ButtonWidth
ButtonWidthHelp: необязательно-значение по умолчанию = ButtonWidth
ButtonWidthMenu: необязательно-значение по умолчанию = ButtonWidth
Ну, вот, теперь мы можем самостоятельно написать конфигурационный фвйл со значениями по умолчанию. Только немного уберем. А именно, те атрибуты, чьи значения по умолчанию зависят от значений других атрибутов — просто, чтобы не загромождать. И еще последнюю группу для ширины каждой отдельной кнопки — по той же причине. При необходимости всегда сможем вставить, если понадобится. Кроме этого, вторую, более объемную часть файла разобьем на группы, как это было в нашем тексте.
В итоге получаем вот такой текст:
[General]
TitleAlignment=Left
TitleVerticalAlignment=center
Animation=0
ActiveTextColor=0,0,0,255
InactiveTextColor=0,0,0,255)
UseTextShadow=false
ActiveTextShadowColor=255,255,255,255
InactiveTextShadowColor=255,255,255,255
TextShadowOffsetX=0
TextShadowOffsetY=0
HaloActive=false
HaloInactive=false
LeftButtons=MS
RightButton=HIAX
Shadow=true
DecorationPositon=0
[Layout]
BorderLeft=5
BorderRight=5
BorderBottom=5
BorderTop=0
PaddingTop=0
PaddingBottom=0
PaddingRight=0
PaddingLeft=0
TitleEdgeTop=5
TitleEdgeBottom=5
TitleEdgeLeft=5
TitleEdgeRight=5
TitleEdgeTopMaximized=0
TitleEdgeBottomMaximized=0
TitleEdgeLeftMaximized=0
TitleEdgeRightMaximized=0
TitleBorderLeft=5
TitleBorderRight=5
TitleHeight=20
ButtonMarginTop=0
ButtonWidth=20
ButtonHeight=20
ButtonSpacing=5
ExplicitButtonSpacer=10
Ну, что ж — это уже полностью наш конфигурационный файл, хотя и с дефолтными значениями.
Попробуем, что получится? Открываем testrc, выделяем и стираем весь прежний текст, а взамен копируем и вставляем наш текст .Файл, естественно, сохраняем в том же месте.
Что там получилось? А получилось нечто совсем уж невообразимое:
Заголовок восстановленного окна стал совершенно прозрачным, текста по-прежнему не видно на относительно темном фоне. Короче, не годится. А почему? А потому, что мы совместили не совмещаемое — файл с фонами с почти полностью прозрачными объектами краев с дефолтными значениями конфигурационного файла .Ладно, будем править дальше — вернемся к svg файлу с фонами.