December 29, 2017

xfceウィンドウの境界を太く

xfceのテーマによっては、ウィンドウ境界線が細すぎて、マウスでつかみ難い(リサイズしにくい)ことがある。それを改善する方法について。

例として、xosemite-xfceテーマを使う。例えば、ウィンドウ下辺を太くしたければ、/usr/share/themes/xosemite-xfce/xfwm4/bottom-active.xpmを修正する。

オリジナルはこんな感じ。

bottom-active.xpm

/* XPM */
static char * bottom_active_xpm[] = {
"2 2 2 1",
" 	c None",
".	c #ECF0F1",
"..",
".."};

配列の最初の文字列は「幅2ピクセル、高さ2ピクセル、2色使用、ピクセルごとに1文字で指定」という意味。次の2行がパレットで、「半角スペース( )の部分は無色、ピリオド(.)の部分は#ECF0F1」って感じ。それ以降に、境界線のビットマップを指定する。半角スペースとピリオドを使って、アスキーアート的に描けばいい。

高さを4ピクセルに変えてみる。

bottom-active.xpm(修正後)
/* XPM */
static char * bottom_active_xpm[] = {
"2 4 2 1",
" 	c None",
".	c #ECF0F1",
"..",
"..",
"..",
".."};

同様に、左辺(left-active.xpm)や右辺(right-active.xpm)の幅を変えればいい。

適用するには、ログインし直すのかな? あるいは、以下でも良さそう。

$ xfwm4 --replace

この例だとシンプルすぎて「アスキーアート的に描く」がピンとこないかもしれない。でも、↓これなら分かるね(非アクティブウィンドウの最大化ボタン)。

static char * maximize_inactive_xpm[] = {
"15 30 8 1",
" 	c None",
".	c #ECF0F1",
"+	c #E9ECED",
"@	c #E3E5E5",
"#	c #DDDEDE",
"$	c #DBDBDB",
"%	c #EBEFF0",
"&	c #E1E3E3",
"...............",
"...............",
"...............",
"...............",
"...............",
"...............",
"...............",
"...............",
"...............",
"....+@#$#@+....",
"..%&$$$$$$$&%..",
".%#$$$$$$$$$#%.",
".&$$$$$$$$$$$&.",
"+$$$$$$$$$$$$$+",
"@$$$$$$$$$$$$$@",
"#$$$$$$$$$$$$$#",
"$$$$$$$$$$$$$$$",
"#$$$$$$$$$$$$$#",
"@$$$$$$$$$$$$$@",
"+$$$$$$$$$$$$$+",
".&$$$$$$$$$$$&.",
".%#$$$$$$$$$#%.",
"..%&$$$$$$$&%..",
"....+@#$#@+....",
"...............",
"...............",
"...............",
"...............",
"...............",
"..............."};
Tags: linux