****** Summary ****** deKorator is a kwin engine that takes several user-defined images and presents them as a window decoration. deKorator expects to find those in a theme. Here is a guide for building such a theme. ****** In the package ****** deKorator comes with: * default-theme - Used by default, illustrates some of deKorator's features. * ugly-theme - Its purpose is to understand the way deKorator paints the decorations. * template-theme - this theme is meant to be a template theme for other themes, this theme features all possible buttons. * Bushido-Yellow-theme - shows how masking can be done. ****** Names ****** deKorator expects the same directory structure and file names as the ones in default-theme. Every theme file should end with "-theme" (as in "default- theme"), and should contain all the folders that are in default-theme (deco, buttons, masks). ****** Sizes ****** deKorator determines the 4 borders' sizes from: _BAR_Property \t\t\t_BAR_Source\t\t\t\t_BAR_ ------------------------------------------------------------------------------------------------ _BAR_the left border width \t\t_BAR_midLeftFrameBg's width\t\t_BAR_ _BAR_the right border width \t\t_BAR_midRightFrameBg's width\t_BAR_ _BAR_the top bar height \t\t_BAR_midTitleBg's height \t\t_BAR_ _BAR_the bottom border height\t_BAR_midBottomFrameBg's height\t_BAR_ All parts that build up a specific border should have the same width or height, as appropriate. An example follows for a window decoration with a 10px high top bar, a 20px wide left border, a 30px wide right border and a 40px high bottom border. All tiles in the top bar should be 10 pixels high: * topLeftCornerBg * leftButtonsBg * leftTitleBg * midTitleBg * rightTitleBg * rightButtonsBg * topRightCornerBg All tiles in the left border should be 20 pixels wide: * topLeftFrameBg * midLeftFrameBg * bottomLeftFrameBg All tiles in the right border should be 30 pixels wide: * topRightFrameBg * midRightFrameBg * bottomRightFrameBg All tiles in the bottom border should be 40 pixels high: * leftBottomFrameBg * midBottomFrameBg * rightBottomFrameBg The corner tiles should fit into the tile grid: Tile Height Width topLeftCornerBg 10 20 topRightCornerBg 10 30 leftBottomFrameBg 40 20 rightBottomFrameBg 40 30 ****** Buttons ****** The button images are separated into background and foreground ones. ***** Background ***** The button background uses the leftButtonsBg and the rightButtonsBg tiles. Their height should be the same as the top bar's. The background is repeated horizontally to fit the buttons in. ***** Foreground ***** The width is determined by the button width. This way theme makers can put the buttons as close as they wish. To make space between buttons you can add transparent pixels to the right and left. A button with a smaller height than the top bar's gets centered vertically. To place the button in a custom height use transparent pixels, too. ****** Masks ****** Masks contain only black and white. Black pixels are subtracted from the decoration. ****** Image format ****** All images should be in PNG format. ****** Tips and Tricks ****** Always start up building your theme from the template-theme.
****** Kokkuvõte ****** deKorator on kwini mootor, mis kasutab mõnda kasutaja määratud pilti ning näitab neid aknadekoratsioonina. deKorator eeldab, et need leiduvad teemas. Toome õpetuse, kuidas sellist teemat luua. ****** Paketi sisu ****** deKoratoriga käivad kaasas: * default- theme - vaikimisi kasutusel, näitab mõningaid deKoratori omadusi. * ugly- theme - selle eesmärk on näidata, kuidas deKorator joonistab dekoratsioone. * template- theme - see teema on loodud malliteemaks teiste teema jaoks, mistõttu selles leiduvad kõik vähegi võimalikud nupud. * Bushido- Yellow- theme - näitab, kuidas käib maskide kasutamine. ****** Nimed ****** deKorator eeldab, et kataloogistruktuur ja failinimed on samasugused nagu vaikimisi teemas default- theme. Kõigi teemafailide lõpus peab seisma "- theme" (nagu teemas "default - theme") ning see peab sisaldama kõigi katalooge, mis leiduvad teemas default- theme (deco, buttons, masks). ****** Suurused ****** deKorator määrab kindlaks 4 piirde suurused järgmiselt: _BAR_Omadus\ t\ t\ t_BAR_Lähtekood\ t\ t\ t\ t_BAR_ ------------------------------------------------------------------------------------------------ _BAR_vasaku piirde laius\ t\ t_BAR_midLeftFrameBg' s width\ t\ t_BAR_ _BAR_parema piirde laius\ t\ t_BAR_midRightFrameBg' s width\ t_BAR_ _BAR_ülariba kõrgus\ t\ t_BAR_midTitleBg' s height\ t\ t_BAR_ _BAR_alumise piirde kõrgus\ t_BAR_midBottomFrameBg' s height\ t_BAR_ Kõik komponendid, mis loovad spetsiaalse piirde, peavad olema sama laiuse või kõrgusega. Järgnevas näites on tegemist aknadekoratsiooniga, millel on 10px kõrgune ülariba, 20px laiune vasak piire, 30px laiune parem piire ja 40px kõrgune alumine piire. Kõik klotsid ülaribal peavad olema 10 piksli kõrgused: * topLeftCornerBg * leftButtonsBg * leftTitleBg * midTitleBg * rightTitleBg * rightButtonsBg * topRightCornerBg Kõik klotsid vasakus piirdes peavad olema 20 piksli laiused: * topLeftFrameBg * midLeftFrameBg * bottomLeftFrameBg Kõik klotsid paremas piirdes peavad olema 30 piksli laiused: * topRightFrameBg * midRightFrameBg * bottomRightFrameBg Kõik klotsid alumises piirdes peavad olema 40 piksli kõrgused: * leftBottomFrameBg * midBottomFrameBg * rightBottomFrameBg Nurgaklotsid peavad samuti kokku sobima: Klots Kõrgus Laius topLeftCornerBg 10 20 topRightCornerBg 10 30 leftBottomFrameBg 40 20 rightBottomFrameBg 40 30 ****** Nupud ****** Nupupildid on eraldatud tausta ja esiplaani omadeks. ***** Taust ***** Nupu taust kasutab klotse leftButtonsBg ja rightButtonsBg. Nende kõrgus peab olema võrdne ülariba omaga. Tausta korratakse rõhtsuunas nuppude mahutamiseks. ***** Esiplaan ***** Laiuse määrab nupu laius. Nii saavad teemaloojad paigutada nupud nii lähedale, nagu nad soovivad. Nuppude vahele ruumi tekitamiseks võib lisada paremale ja vasakule läbipaistvaid piksleid. Ülariba kõrgusest väiksema kõrgusega nupp tsentreeritakse püstsuunas. Nupu asetamiseks kohandatud kõrgusele saab ka siin kasutada läbipaistvaid piksleid. ****** Maskid ****** Maskid sisaldavad ainult musta ja valget. Mustad pikslid lahutatakse dekoratsioonist. ****** Pildivorming ****** Kõik pildid peavad olema PNG- vormingus. ****** Nipid ja näpunäited ****** Alusta oma teema loomist alati teema template- theme põhjal.