天天看點

centos7字型顔色改變_Linux 怎麼修改配置檔案字型顔色

自whistl3r的Shellstyle Tutorial

預備知識

1.shellstyle.dll的結構

UIFiles:

UIFile1:定義窗體及任務清單樣式

UIFile2:定義控制台樣式

Resources:資源檔案清單

10,11,12:音樂檔案夾

13,14,15:圖檔檔案夾

16,17,18:查找

19,20,21:視訊檔案夾

22,26:控制台

25:系統檔案夾

100,101,102,103,104,105,106,107:面闆打開/關閉按鈕

110,112:面闆頂欄

120:背景

Strings:定義常用字元串或數值(字型,字号)

CPWEBVW.CSS:定義使用者帳戶窗體樣式

2.資源的使用

rcstr(Str_ID)

Str_ID:Strings中編号

rcbmp(BMP_ID, STRETCHING, TRANSPARENT_COLOR, WIDTH, HEIGHT, SIZE_FLAG, MIRROR)

BMP_ID:Resources中編号

STRETCHING: 填充方式 1 = 正常, 3, = 重複, 6 = 拉伸, 7 = 32bit位圖

TRANSPARENT_COLOR: 填充時忽略的顔色 #RRGGBB

WIDTH, HEIGHT:寬度,高度

SIZE_FLAG: 圖像大小 1 = 使用圖檔預設大小, 0 = 使用指定的大小

MIRROR: 反轉 0 = 正常, 1 = 反轉

rcint(Str_ID) //将字元串轉為數值

Str_ID:Strings中編号

Dtb(handlemap(a),b,c) //猜測是一種擷取目前主題中圖像的方法,但a,b,c各值所代表的圖像不是很明确

sysmetric(ID) //系統變量表

ID可取值:

0 Screen width

1 Screen height

2 Width of sizable window frame

3 Height of sizable window frame

4 Width of scroll arrows on vertical scroll bar

5 Height of scroll arrows on vertical scroll bar

6 Width of scroll arrows on horizontal scroll bar

7 Height of scroll arrows on horizontal scroll bar

8 Height of window title

9 Width of non-sizable window frame

10 Height of non-sizable window frame

11 Width of DOUBLE or PANEL window frame

12 Height of DOUBLE or PANEL window frame

13 Scroll box width on horizontal scroll bar in text editing windows

14 Scroll box height on vertical scroll bar in text editing windows

15 Minimized window icon width

16 Minimized window icon height

17 Maximum insertion point width

18 Maximum insertion point height

19 Single-line menu bar height

20 Maximized window width

21 Maximized window height

22 Kanji window height

23 Minimum sizable window width

24 Minimum sizable window height

25 Minimum window width

26 Minimum window height

27 Window controls width

28 Window controls height

29 1 if mouse hardware present; otherwise 0

30 1 for Microsoft Windows debugging version; otherwise 0

31 1 if mouse buttons swapped; otherwise 0

32 Width of a button in a half-caption window's caption or title bar

33 Height of half-caption window caption area

核心部分

UIFile的編寫

UIFile中的内容是許多結構為

...

Element [id=atom(*****)]

Element [id=atom(*****)]

...

...

的代碼段,用于定義特定部分的樣式及其内部元素的樣式

其中可包含的屬性有

contentalign: //元素位置。可有以下值

top: topleft, topright, topcenter

middle: middleleft, middleright, middlecenter

bottom: bottomleft, bottomright, bottomcenter

wrap: wrapleft, wrapright, wrapcenter //隻可用于文本

background: //背景顔色

foreground: //前景顔色

bordercolor: //邊界顔色 這3個屬性可有以下值

rgb(red,green,blue) //RGB顔色

argb(alpha,red,green,blue) //包含alpha通道

gradient(argb(alpha,red,green,blue), argb(alpha,red,green,blue), Direction) //漸變色,第1個顔色變量為左上,第2個右下 Driection:方向 0 = 水準, 1 = 垂直

black, white, red, green, blue, ... //直接描述

window, windowtext, buttonface, buttonshadow, buttonlight, buttontext, scrollbar, hotlight, activecaption, captiontext... //系統顔色

fontsize: //字号

使用Strings表中值

fontface: //字型

使用Strings表中值

fontstyle: //字型樣式

使用normal, bold, italic, underline等制

borderthickness: rect(left,top,right,bottom); //邊框寬度

margin: rect(left,top,right,bottom); //縮放時保持不變的邊緣寬度

padding: rect(left,top,right,bottom); //元素位置

以XP預設主題Luna的UIFile1為例

DUIListView [id=atom(listview)] //清單浏覽

{

contentalign: middlecenter;

fontsize: sysmetric(-16); //sysmetric是系統變量表,對應的變量類型見前表

fontweight: sysmetric(-17);

fontstyle: sysmetric(-18);

fontface: sysmetricstr(6);

}

DUIAxHost [id=atom(preview)] //幻燈片浏覽

{

contentalign: middlecenter;

borderthickness: rect(20rp,20rp,20rp,20rp);

bordercolor: rgb(255,0,0);

}

Element

{

background: argb(0,0,0,0);

}

Element [id=atom(blockade)] //系統檔案夾

{

background: rgb(99,117,214);

borderthickness: rect(0rp,0rp,1rp,1rp);

bordercolor: white;

}

Element [id=atom(blockadeaccent)] //主視窗與側邊欄間的分割線

{

background: gradient(argb(0,148,187,255), argb(0,99,117,214), 1);

}

Element [id=atom(blockadeclient)] //系統檔案夾背景圖檔

{

contentalign: bottomright;

padding: rect (10rp,0rp,0rp,0rp);

}

Element [id=atom(blockadetitle)] //标題("這些檔案是隐藏的")

{

fontface: rcstr(2);

fontsize: rcint(18)pt;

fontweight: rcint(11);

foreground: rgb(214,223,245);

background: argb(0,0,0,0);

padding: rect (0rp,20rp,10rp,0rp);

contentalign: wrapleft;

}

Element [id=atom(blockademessage)] //标題("此檔案夾包含使您系統...")

{

fontface: rcstr(2);

fontsize: rcint(17)pt;

fontweight: rcint(12);

foreground: white;

background: argb(0,0,0,0);

padding: rect (1rp,15rp,10rp,0rp);

contentalign: wrapleft;

}

Element [id=atom(blockadeclear)] //"顯示此檔案夾内容"一般狀态

{

margin: rect(0rp,20rp,0rp,0rp);

}

Button [id=atom(blockadeclearbutton)][keyfocused] //"顯示此檔案夾内容"鍵盤觸發

{

contentalign: focusrect;

}

Element [id=atom(blockadecleartext)]

{

fontface: rcstr(1);

fontsize: rcint(15)pt;

fontweight: rcint(10);

foreground: white;

background: argb(0,0,0,0);

contentalign: wrapleft;

padding: rect (3rp,0rp,0rp,0rp);

}

Element [id=atom(blockadecleartext)][mousefocused] //"顯示此檔案夾内容"滑鼠觸發

{

cursor: hand;

fontstyle: underline;

}

//以下各塊中元素不再贅述,功能請參閱whistl3r的Shellstyle Tutorial

取消

評論