XUL первые шаги

Хоть шаги уже далеко не первые – я не смог с первого раза вспомнить – как же подключить свой собственный CSS-файл. А может я этого никогда и не знал???

Вот структура директорий:

ls -R newapp/
newapp/:
application.ini  chrome  defaults  newapp.xul.kpf

newapp/chrome:
chrome.manifest  content  skin

newapp/chrome/content:
newapp.xul

newapp/chrome/skin:
newapp.css

newapp/defaults:
preferences

newapp/defaults/preferences:
prefs.js

И как только я не пытался подключить к имеющемуся уже:


<?xml-stylesheet href="chrome://global/skin/" type="text/css"? >

еще и свой собственный


<?xml-stylesheet href="chrome://newapp/skin" type="text/css"?>

Да все безрезультатно – ну не действуют на окно эти стили!!!!

Как всегда… Гуглинг, эксперименты, ЭниКейЗ …

Выход, хоть и не самый красивый:

Не забываем добавить скины в хром!

max@maximus:~$ cat newapp/chrome/chrome.manifest
content newapp file:content/
skin newapp classic/1.0 file:skin/
max@maximus:~$ cat newapp/chrome/content/newapp.xul

<?xml version="1.0"?>
<!-- ?xml-stylesheet href="chrome://global/skin/" type="text/css"? -->

<?xml-stylesheet href="chrome://newapp/skin" type="text/css"?>

<window id="main" title="Новое приложение" width="300" height="300"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
    <hbox  class="tops">
        <caption label="Hello World"/>
    </hbox>
</window>

А закомментированный выше глобальный стиль импортируем в наш собственный:

max@maximus:~$ cat newapp/chrome/skin/newapp.css
@import('chrome://global/skin');

window{
    background-color: black;
}
caption{
    color: white;
}

hbox.tops{
    background: #484848;
}

Вуаля! Вот вам и первое XUL-приложение!

Комменты