foobar2000の設定について

音楽プレイヤーについて

 
PCでMP3などの音楽を聴くときに、foobar2000というフリーソフトを使っている。スキンは、コチラの方のサイトのものをダウンロードさせて頂いて、foobar2000のwiki などを参考にしながら設定に少しだけ手を加えて遊んでみた。ここでは、foobar2000のインストールからスキンの導入までについてメモしておく。

foobar2000のインストールと必要なコンポーネントの導入

 
インストールに当たっては、foobar2000のwiki と、公式サイト より「Latest stable version」をダウンロードし、今回は「Portable版」でインストールした(フォルダの中にファイルが解凍されるので、これを任意の場所(~/Program Files (x86)/ など)に入れた)。
 
次に、スキンを設定するにあたり必要なコンポーネントをダウンロード。
– foo_ui_columns.dll:Columns UIのホームページ からダウンロードして解凍。
– foo_uie_elplaylist.dll: コチラのサイト らダウンロード。
– foo_uie_panel_splitter.dll: コチラのサイト からダウンロード。
– foo_uie_vis_channel_spectrum.dll:コチラのサイト からダウンロード。
– foo_uie_wsh_panel_mod.dll: Google Code Archive からダウンロード。
– foo_uie_graphical_browser.dll:foobar2000のwiki からダウンロードして解凍。
– foo_uie_albumlist.dll:Columns UIのホームページ からダウンロードして解凍。
– foo_uie_trackinfo_mod.dll: foobar2000のwiki からダウンロードして解凍。
– foo_uie_lyrics2.dll: foobar2000のwiki からダウンロードして解凍。
– foo_uie_lyrics_art.dll: foobar2000のwiki からダウンロードして解凍。
 
これらの10個のコンポーネントを、先のインストール(解凍)先フォルダの「components」の中に入れる。
また、スキン導入にあたり、冒頭の コチラ の方のサイトより、スキン(v0.1.1.2)をダウンロードさせて頂いた。ダウンロードしたファイルにある「skin_saitoh」フォルダの中の「images」フォルダと「skin.fcl」を、foobar2000をインストール(解凍)したフォルダにコピーする。

foobar2000の起動

 
まずfoobar2000を起動すると、「interface module」の選択ウィンドウが立ち上がるので、「Columns UI」を選択して「OK」をクリックして、まずはfoobar2000を起動する(以下はInterface moduleの選択ウィンドウと初期起動時の状態)。
foobar2000_01

foobar2000_02

最初に、foobar2000の「Library」→「Configure」から設定画面を開く。「Display」の「Lyrics Art」から「Main」タブにある画像のチェックを外し、フレームスタイルNoneにして「透明」にチェックを入れる。次に、同じく「Display」の「Columns UI」から「Main」タブにある「Show toolbars」のチェックを外し、「FCL importing and exporting」より「Import」をクリックして、先ほどの「skin.fcl」ファイルを読み込む。

Columns UIの設定

 
キーボードから「Ctrl」+「P」を押して「Preferences: Columns UI」を呼び出し、「Layout」タブを以下のように設定。
 
- Panel Stack Splitter
- - Artwork view
- - ELPlaylist
- - Buttons
- - Channel spectrum panel
- - WSH Panel Mod
- - WSH Panel Mod
 
※ 既存のパネルは残して、「Panel Stack Splitter」の上で右クリックして、「Insert Panel」→「Panel」から「Artwork view」を、「Toolbars」」から「Buttons」を挿入し、上記以外のパネルは削除した。
「Panel Stack Splitter」を選択して、「Configure」をクリックし「Splitter Settings」を設定する。

foobar2000_03

Splitter Settings の設定

 
以下に、各タブの設定を変更個所のみメモ。
 

「PanelList」タブ

 
Artwork view
Forced layout にチェック
 
left 30
Top 30
width $sub($muldiv(%_width%,35,100),40)
height $muldiv(%_height%,20,100)
 
ELPlaylist
※ Configure は、「ELPlaylist Settings の Configure」にメモ。
 
Forced layout にチェック
left $add(40,$muldiv(%_width%,35,100))
Top 30
width $sub(%_width%,$muldiv(%_width%,35,100),60,10)
height $sub(%_height%,130,50,-10)
 
Ignore panel size limits にチェック
 
Buttons
※ Configure は、「Buttons の Configure」にメモ。
 
Forced layout にチェック
Left 25
Top $sub(%_height%,80,30)
Width 330
Height 35
Ignore panel size limits にチェック
 
Channel spectrum panel
 
Forced layout にチェック
Left 2
Top $sub(%_height%,40)
Width $sub(%_width%,20)
Height 35
 
WSH Panel Mod (WSH_seekbarとなっている)
 
※ Configure は、「WSH_seekbar の Configure」にメモ。
 
Forced layout にチェック
Left 25
Top $sub(%_height%,63)
Width $sub(%_width%,50)
Height 8
Ignore panel size limits にチェック
 
WSH Panel Mod (WSH_bolumeとなっている)
 
※ Configure は、「WSH_bolume の Configure」にメモ。
 
Forced layout にチェック
Left $add(25,330,25)
Top $sub(%_height%,80,20)
Width $sub(%_width%,380,25)
Height 15
 
Ignore panel size limits にチェック
 

「Script」タブ

 
「Per Track」タブに以下のスクリプトを記述。

//スクリプトメモ
//$setparcentmode(bx,by,bw,bh) 0:絶対 1:相対
//$drawroundrect(x,y,w,h,w2,h2,R1-G1-B1-A1,R2-G2-B2-A2,RESERVED)
//Width : $sub(%_width%,750) は、横幅から750引いた数
//mulは掛け算、addは足し算、divは割り算
//$setparcentmode(1,1,1,1)

$showpanel(0,1)
$showpanel(1,1)
$showpanel(2,1)
$showpanel(3,1)
$showpanel(4,1)
$showpanel(5,1)
$showpanel(6,1)

//画像・detail枠
$drawroundrect(
10,10,
$muldiv(%_width%,35,100),$sub(%_height%,100,30),
25,25,
170-166-247-0,170-166-247-255,
)

//playlist枠
$drawroundrect(
$add(20,$muldiv(%_width%,35,100)),10,
$sub(%_width%,$muldiv(%_width%,35,100),30),$sub(%_height%,100,30),
25,25,
170-166-247-0,170-166-247-255,
)

//仕切り線1
$gradientrect(
20,$add(50,$muldiv(%_height%,20,100)),
$div($sub($muldiv(%_width%,35,100),20),2),1,
170-166-247-100,170-166-247-255,
horizontal
)
$gradientrect(
$add(20,$div($sub($muldiv(%_width%,35,100),20),2)),$add(50,$muldiv(%_height%,20,100)),
$div($sub($muldiv(%_width%,35,100),20),2),1,
170-166-247-255,170-166-247-100,
horizontal
)

//仕切り線2
$gradientrect(
20,$sub(%_height%,41),
$sub($div(%_width%,2),10),1,
170-166-247-100,170-166-247-255,
horizontal
)
$gradientrect(
$add(10,$sub($div(%_width%,2),10)),$sub(%_height%,41),
$sub($div(%_width%,2),10),1,
170-166-247-255,170-166-247-100,
horizontal
)

//detail表示
$put(detail.small.column,$div($sub(%_height%,181,$muldiv(%_height%,20,100),30),3))

$font(メイリオ,9,)
$drawstring(%artist%,
30,$add($muldiv(%_height%,20,100),30,20,1,20),
$sub($muldiv(%_width%,35,100),40),$get(detail.small.column),
255-255-255,hcenter vcenter glow_aa mempos,
glow:4:64-124-192-222)

$font(メイリオ,10,)
$drawstring(%title%,
30,$add($muldiv(%_height%,20,100),30,20,1,20,$get(detail.small.column)),
$sub($muldiv(%_width%,35,100),40),$get(detail.small.column),
255-255-255,hcenter vcenter glow_aa mempos,
glow:4:64-124-192-222)

$font(メイリオ,9,)
$drawstring(%album%,
30,$add($muldiv(%_height%,20,100),30,20,1,20,$mul($get(detail.small.column),2)),
$sub($muldiv(%_width%,35,100),40),$get(detail.small.column),
255-255-255,hcenter vcenter glow_aa mempos,
glow:4:64-124-192-222)

なお、ここでは「Per Second」タブは行頭に「//」を追加して全てコメントアウトした。

「Behaviour」タブ

 
以下のように設定。
foobar2000_04

ELPlaylistのConfigure
「Script」タブ

 
Track list
以下のスクリプトを記述。

///////Track Info///////
$font(メイリオ,10,)
$setcoordinate(1) //x,y,r,b mode
$if($not(%el_isplaying%),

$drawtextex(%title%,
10,0,
$muldiv(%el_width%,80,100),%el_height%,
210-210-254,vcenter end_ellipsis
)

$setcoordinate(0) //x,y,w,h mode
$drawtext(%length%,
0,0,
$sub(%el_width%,4),%el_height%,
210-210-254,vcenter right),

)

///////BG Colour///////
$setcoordinate(0)
$if($not(%el_is_themed%),
$if(%el_selected%,
$gradientrect(0,0,%el_width%,%el_height%,
190-190-255-60,80-80-220-60,nonlinear aa,20),
),
)

 
Group header
全てコメントアウト(削除)。

Per Second
以下のスクリプトを記述。

///////Track Info///////
$put(LEN,$add(30,$gettextwidth(%playback_time%),$gettextwidth(%length%)))

$font(メイリオ,10,)

$setcoordinate(1) //x,y,r,b mode
$drawtextex(%title%,
10,0,
$sub(%el_width%,$get(LEN)),%el_height%,
230-230-255,vcenter end_ellipsis aa
)

$setcoordinate(0) //x,y,w,h mode
$drawtext(%playback_time% / %length%,
0,0,
%el_width%,%el_height%,
230-230-255,vcenter right)

///////BG Colour///////
$setcoordinate(0)
$if($not(%el_is_themed%),
$if(%el_isplaying%,
$gradientrect(0,0,%el_width%,%el_height%,
190-190-255-100,80-80-220-100,nonlinear aa,20),
),
)

 
Pupup(Background)
以下のスクリプトを記述。

//////POPUP Size//////
$ifequal(%el_item_count%,1
,$popupsize(%el_width%,240)

,$popupsize(%el_width%,$mul($add($ifgreater(%el_item_count%,%el_item_count2%,2,1),%el_item_count2%),20))
)

//////BG Colour//////
$fillroundrect(,,$sub(%el_width%,1),$sub(%el_popup_height%,1),10,10,92-92-92,92-92-92)

$ifequal(%__GROUPING__%,1,,
$imageabs($sub(%el_width%,110),$sub(%el_popup_height%,110),100,100,%__ART_PATH__%,,)
)

//////Extra//////
$ifgreater(%el_item_count%,%el_item_count2%
,$drawstring(‘(‘%el_item_count2%/%el_item_count%’)’,10,$add(12,$mul(%el_item_count2%,20)),%el_width%,%el_height%,255-255-255,nowrap elipchar)
,
)

 
Pupup(Track)
以下のスクリプトを記述。

/////Popup Script////
$setcoordinate(1)

//////Track Info/////
$font(メイリオ,9,) $drawstring([%tracknumber%. ]%title%[ ~ %song_version%],10,$add(12,$mul(%el_item_index%,20)),%el_width%,%el_height%,255-255-255,nowrap elipchar)
$font(メイリオ,8,) $drawstring(
$if2(%album%,Unkown Album)[ – %date%]$crlf()$if2(%artist%,Unknown Artist)$crlf()
$crlf()
[Playcount: %play_counter%$crlf()][Created date : $date(%created%)$crlf()][Last Played : $date(%last_played%)$crlf()]
$crlf()
%codec% – %bitrate% kbps
,10,38,%el_width%,%el_height%,192-192-192,nowrap elipchar)

「Style」タブ

 
以下のように設定。
foobar2000_05

「Grouping」タブ

 
以下のように設定。
foobar2000_06

「Field definition」タブ

 
以下のように設定。
foobar2000_07

「Behaviour」タブ

 
以下のように設定。
foobar2000_08

「Misc」タブ

 
以下のように設定。
foobar2000_09

ButtonsのConfigure

 
上から順に、以下のように設定。

・View/Playlist Manager
・- separator
・Playback/Stop
・Playback/Play
・Playback/Previous
・Playback/Next
・Playback/Pause
・-Separator
・File/Open
・File/Preferences

それぞれのボタンにNormal imageとHot imageを割り当てるが、最初にコピーした「images」フォルダの中の「button」フォルダに大きいサイズのボタンしかないため、「big_mode」のフォルダの中から上のボタンに割り当てるものを「button」フォルダにコピーし、右クリック→編集(ペイント)から「サイズ変更」にてピクセル単位で30×30とした。割り当ては、「Image:」を「Custom」として、「Browse」からサイズを小さくしたボタンを選択する。

WSH_seekbarのConfigure

 
以下のスクリプトを記述。

// GDI seekbar script for Foobar2000 WSH Panel Mod by tsybko

function RGB(r, g, b) {
return (0xff000000 | (r << 16) | (g << 8) | (b));
}

var seekbarFont = gdi.Font(“Arial Black”, 12, 0);
var shouldBeDragged = 0;

var color = {
activeBarTop: RGB(255, 255, 255),
activeBarMiddle: RGB(70, 70, 255),
activeBarBottom: RGB(255, 255, 255),
frame: 0xFFCCCCCC,
inactiveBarTop: RGB( 240, 240, 240 ),
inactiveBarBottom: RGB( 100, 100, 100 ),
textFront: 0xFFFFFFFF,
textBack: 0xFF000000
};

var padWithZero = function(number) {
return number < 10 ? "0" + number : number;
};

function on_paint(e){
e.SetTextRenderingHint(5);
var ww = window.Width;
var wh = window.Height;
var pos = window.width * fb.PlaybackTime / (fb.PlaybackLength == 0 ? 1 : fb.PlaybackLength);
var minutes = Math.floor(fb.PlaybackTime / 60);
var seconds = Math.floor(fb.PlaybackTime % 60);
var shouldColonize = seconds % 2;
var text = padWithZero(minutes) + (shouldColonize ? ” : ” : ” “) + padWithZero(seconds);
var thirdHeight = wh / 3;
// Draw the active bar
e.FillGradRect(0, 0, pos, thirdHeight, 90, color.activeBarTop, color.activeBarMiddle);
e.FillGradRect(0, thirdHeight, pos, thirdHeight, 90, color.activeBarMiddle, color.activeBarMiddle);
e.FillGradRect(0, thirdHeight + thirdHeight, pos, thirdHeight, 90, color.activeBarMiddle, color.activeBarBottom);
// Draw the passive background bar
e.FillGradRect(pos, 0, ww-pos, wh, 90, color.inactiveBarTop, color.inactiveBarBottom);
// Draw the frame
e.DrawRect(0,0, ww-1, wh-1, 1.0, color.frame);
// Draw the seek text
//e.DrawString(text, seekbarFont, color.textBack, 0, 0, ww + 2, wh + 1, 0x11205000);
//e.DrawString(text, seekbarFont, color.textFront, 0, 0, ww, wh – 1, 0x11005000);
}

function on_mouse_lbtn_down(x, y) {
shouldBeDragged = 1;
}

function on_mouse_lbtn_up(x, y) {
on_mouse_move(x,y);
shouldBeDragged = 0;
}

function on_mouse_move(x, y) {
if ( shouldBeDragged ) {
var v = x / window.Width;
fb.PlaybackTime = v * fb.PlaybackLength
}
}

function on_playback_seek() {
window.Repaint();
}

function on_playback_time() {
window.Repaint();
}

function on_playback_stop() {
window.Repaint();
}

//EOF

WSH_volumeのConfigure

 
「Edge style」をGreyにして、以下のスクリプトを記述。

// vi:set ft=javascript ff=dos ts=4 sts=4 sw=4 et:

function RGB(r, g, b) {
return (0xff000000 | (r << 16) | (g << 8) | (b));
}

// gdi.Font is changed, the last paramter is style flags
// FontStyleRegular = 0,
// FontStyleBold = 1,
// FontStyleItalic = 2,
// FontStyleBoldItalic = 3,
// FontStyleUnderline = 4,
// FontStyleStrikeout = 8
// Here is 0, means FontStyleRegular
var g_font = gdi.Font(“Tahoma”, 12, 0);
var g_drag = 0;

function on_paint(gr) {
gr.SetTextRenderingHint(5);
var ww = window.Width;
var wh = window.Height;
var volume = fb.Volume;
var pos = window.Width * ((100 + volume) / 100);
var txt = (Math.ceil(volume)) + “dB”;
// gr.FillGradRect(0, 0, pos, wh, 90, RGB(240, 240, 240), RGB(100, 230, 100));
gr.FillGradRect(0, 0, pos, wh, 90, RGB(255, 255, 255), RGB(70, 70, 255));
// gr.FillGradRect(pos, 0, ww – pos, wh, 90, RGB(240, 240, 240), RGB(190, 190, 190));
gr.FillGradRect(pos, 0, ww – pos, wh, 90, RGB(255, 255, 255), RGB(0, 0, 0));
gr.DrawString(txt, g_font, RGB(64, 64, 128), 0, 0, ww, wh, 0x11005000);
// gr.DrawRect(0, 0, ww – 1, wh – 1, 1.0, RGB(150, 150, 150));
gr.DrawRect(0, 0, ww – 1, wh – 1, 1.0, RGB(70, 70, 255));
}

function on_mouse_lbtn_down(x, y) {
g_drag = 1;
}

function on_mouse_lbtn_up(x, y) {
on_mouse_move(x, y);
g_drag = 0;
}

function on_mouse_move(x, y) {
if (g_drag) {
var v = x / window.Width;
v = (v < 0) ? 0 : (v < 1) ? v : 1; v = -100 * (1 - v); if (fb.Volume != v) fb.Volume = v; } } function on_mouse_wheel(delta) { if (delta > 0) fb.VolumeUp();
else fb.VolumeDown();
}

function on_volume_change(val) {
window.Repaint();
}

その他の設定など
Colour設定

 
Artwork viewの背景が白くなったりするので、以下のように設定。
foobar2000_10

Channel spectrum panelの設定

 
パネルの上で右クリックして「Config」を以下のように設定。
foobar2000_11

タイトルバーの変更

 
foobar2000のwiki から、UI Hacks をダウンロード。解凍して、「foo_ui_hacks.dll」をfoobar2000の「components」フォルダに入れる。再起動して「Ctrl+P」からPreferencesを開くと、「Default User Interface」に「Main Windows」が追加表示されているので、「Caption style」から「Small」を選択(Hiddenにするとタイトルバーが消えるが、移動が面倒なのでSmallにした)。同じくPreferencesの「Columns UI」で、「Main windows title format script」を、『 [%title%] 』だけにして、タイトルバーの表示をすっきりさせた。

おわりに

 
以下は一通り設定を終えたスキン。
(設定完了)
foobar2000_12

(ウィンドウサイズを変更させた時)
foobar2000_13

ノートPCなどで起動する際にウィンドウを小さくしてもあまり違和感がないように、スキンの設定では表示するフォントを少し小さくして、各パネルの設定を相対位置で記述している(この位置の指定を決めるのに、昔、何度も試行錯誤して苦労した記憶がある)。今回はこのメモに残すために再度インストールからやり直したが、インストールをPortable版にしたので、フォルダごと別のPCにコピーすれば起動できるのは便利だと思った。残念なことは、ダウンロードさせて頂いた元のスキンにはせっかく色々と設定してあったのに、自分の勉強不足で機能を必要最小限に設定して消してしまったスクリプトが多いことである。また時間を見つけたらスキンをいじって遊んでみたい。

参考

 
上記までの設定をExportしたファイル ojamemo.rev0.fcl を、参考までに保存しておく。

 
(PCの前では、この”foobar2000″を使っているが、通勤時などはMP3プレイヤーを使っている。もう何年も使っているのだが、今は新しく買ってもそれほど高くない(楽天市場での「MP3プレイヤー」の検索結果)ので、携帯用の音楽プレイヤーも近いうちに買い換えたいと思う。)

 
スポンサーリンク





Excelでの横スクロールについて

横スクロールについて

 
Acrobat ReaderやGimpなど、ほとんどのソフトでShift+ホイールで横スクロールが可能であるが、Excelではこの横スクロールが効かない。以前は、職場で然程不便を感じることはなかったのだが、いつだったか列数の多い表を扱うようになってから、この「Shift+ホイール」が効かなくてイライラすることが多くなった。
実は、自宅では「SoftTilt」( Vectorの「SoftTilt」へのリンク先 )というソフトを使っていたのだが、セキュリティの関係で個人でアプリケーションをインストールできない職場のPCでは、このSoftTilt(インストールして使用するソフト)を使うことができない。
そこで、インストール不要のソフトでExcelの横スクロールができるものを色々探して、見つけたのが「かざぐるマウス」である。

かざぐるマウスについて

 
「かざぐるマウス」は、すでに作者の方が公開を終了されているようなのだが、現在でもこちらのサイトからダウンロードが可能である。
ダウンロードしたかざぐるマウス(~.zip)を解凍すると、インストールは不要なので、あとは「Kazaguru.exe」を実行するだけである。

kazagurumouse_001

上図のように「拡張スクロール」タブで「Shift+スクロール」にて水平スクロールを選択し、(自分はこの”Shift+スクロール”は水平スクロールにしか使わないので) 「すべて」にチェックを入れて、「OK」をクリックすれば設定できる。
 
もう一つ、自分はKensingtonのExpert Mouseを使っている(「トラックボール(Kensington)について」参照)のだが、この4ボタンの左上と右上のボタンを、それぞれ、かざぐるマウスの「中央ボタン」と「拡張1ボタン」に割り当てることができる。

kazagurumouse_002

kazagurumouse_003

このトラックボールのボタンの割り当ても、(例えば他の人のPCを扱うときなどに) Expert Mouseを繋いでUSB等にいれた「かざぐるマウス」を起動するだけで使用することができるので、本当に重宝している。

 
スポンサーリンク





Thunderbirdへの移行について

メーラー(mailer)について

 
これまでOutlook2007を使用してきたのだが、急に動作が遅くなったり、他のPC(例えばノートPCなど)で作業する際にも簡単にメーラーを移行できるようにしたいと思い、長年使用してきたOutlookから他のメーラーに移行することにした。軽量で使い易そうなメーラーを探していたのだが、ブラウザには昔からFirefoxを使っていたこともあり、最終的に、同じMozillaのThunerbirdへ移行することにした。

移行手順について

 
Outlookには昔からのメールデータを残していたので、いざメーラーを移行しようと思うと勇気が要ったのだが、終わってみると意外にスムーズにできたので、忘れないうちにメモしておく。

Thunderbirdのダウンロード

 
Thunderbirdは、PC移行時やバックアップの簡易性や、ノートPCなどでも使うことを考慮して、インストール不要のPortable版を利用することにした。ダウンロードは“PortableApps.com”にアクセスし、ページ中段にある「日本語」版から行った。

Thunderbirdを任意のフォルダにインストール(解凍)し起動すると、初期起動時にウィンドウが立ち上がるので、「メールアカウントを設定する」をクリック。

thunderbird_01

次に、「(受信者に表示される)名前」と、Outlook2007で使用していた、「メールアドレス」、「パスワード」を入力すると、自分の環境では「アカウント設定をメールプロバイダから検索しています」と表示されたのち、しばらくすると・・・ 「アカウント設定がMozilla ISP データベースから見つかりました。」と表示され、受信サーバ、送信サーバが自動で設定された。

Thunderbird側の設定は、メールアドレスとパスワードさえ分かっていれば、後は特に何も設定することなく普通に使えるようになり、「受信」ボタンを押すとメールが受信され始める。デフォルトでは、「ダウンロード後もサーバにメッセージを残す」にチェックが入っていて、「ダウンロードしてから2週間以上経過したメッセージは削除する」ことになっているので、気軽に試用することができた。

Outlook2007からのデータの保存について

 
次にOutlook2007からのデータの移行について色々調べてみると、Thunderbird側からOutlook2007のデータをインポートすることができる・・・ というような情報をいくつか見つけた。しかし、いざやってみると、自分の環境ではどういうわけか上手くインポートできなかった(Outlook2007が通常使うブラウザになっていなければいけない、などの情報を元に何回か試してみたがダメだった)。

そこで、Outlook2007からメールデータをeml形式に保存して、Thunderbird側に移行することにした。Outlook2007からのeml形式でのデータのエクスポートは、「Outlook Export Tool」というソフトを使用した(Vectorの「Outlook Export Tool」紹介ページよりダウンロード)。

Outlook2007を起動しておき、ダウンロードした「Outlook Export Tool」を起動すると、Outlook2007のフォルダ構成が表示されるので、そこから、必要なフォルダを選択してエクスポートする。

thunderbird_02

自分は、「受信トレイ」の中をフォルダで分けていたり、これまでの送信済メールなども残していたので、「受信トレイ」、「送信トレイ」、と必要のフォルダを選択しては、「サブフォルダを含めてエクスポート」をクリック。エクスポート形式(eml形式)や必要な項目を設定し、「保存するフォルダ」を選択して「OK」とするとエクスポートが開始される。

Thunderbirdへのデータの移行について

 
Thunderbirdへのデータの移行については、できあがったemlファイルをThunderbirdのウィンドウ上に「ドラッグ&ドロップ」するだけで終了。ついでに、「受信トレイ」の中にいくつもある「サブフォルダ」についてもこれを機に整理することにした。

色々、面倒な手順や操作があるだろうと危惧していたのに、本当にあっけなく移行が終了したのには少し驚いた。

使ってみると、これまでのOutlookの操作感とほとんど変わらないので大きな不満もなかったのだが、1点、デフォルトではメニューバーがタブの下に表示されているのに少し戸惑った。

thunderbird_03

調べてみると、「Menu On Top」というアドオンを入れるとメニューバーを上部に表示できるというので、早速導入してみた。

thunderbird_04

これでメニューバーが上に表示されたのだが、マウスでのドラッグがウィンドウ上部でできなくなった。「Menu On Top」のアドオンの「設定」を見てみると、「Paint menu in Titlebar」というのがあったので、これにチェックを入れると下のようにタイトルバーが表示され、ウィンドウ上部でのドラッグもできるようになった。

thunderbird_05

使い勝手によっては他のメーラーを探そうと思っていたのだが、これまでと大きく操作方法は変わらず、こうしてアドオンを導入できることも分かったので、これからはThnderbirdを使っていこうと思う。

 
スポンサーリンク





デュアルディスプレイの壁紙について

デュアルディスプレイについて

 
ウチでは、24インチのディスプレイをモニタアームで2つ並べて使用している。本当は2つとも横置きで並べたかったのだが、隣にいる妻から場所を取りすぎだという苦情がきたので、仕方なく1つは縦置きにした。しかし、最初は縦置きのディスプレイを補助的に使っていたのだが、ブラウジングやBLOGの記事編集をする際は、あまりスクロールしなくても全体を見通せるのが非常に便利で、いつのまにか縦置きディスプレイで作業することが多くなっていたりする・・・

壁紙の設定について

 
デュアルディスプレイにした際の壁紙の指定には、「MultiWallpaper」というフリーソフトを使用している(Vectorの”MultiWallpaper”紹介ページ)。
 
使い方は、ダウンロードした「MW~.zip」を解凍して、「MultiWallpaper.exe」を実行するだけである。

dualdisplay_001

①でディスプレイを選択して、②でそれぞれのディスプレイの壁紙を設定し、③で「適用」または「OK」とすると壁紙が変更される。
デュアルディスプレイにした当初は壁紙をどう設定すればよいのか悩んだ記憶があるのだが、使用方法が簡単で便利なこの「MultiWallpaper」を大変重宝している。

 
スポンサーリンク





Pukiwikiの設定について

Wikiについて

 
Wikipediaで”ウィキ”を見ると、「ウェブブラウザを利用してWebサーバ上のハイパーテキスト文書を書き換えるシステムの一種」とある。以前より、Localネットワーク内でWikiを立ち上げて情報を家族で共有できるようにしているのだが・・・ 専ら妻が「見る」だけで書き込まれることはほとんどない。とはいえ、自分で情報を整理してメモしておくのにも便利なのでWikiを使用しているのだが、ここでは、その設定方法についてメモしておく。

Pukiwikiの導入について

 
Wikiには色々な種類があるが、ここではLocalネットワーク内で「pukiwiki」を使う場合のについてメモする。

ApacheとPHPのダウンロード

まず、Apache(Webサーバソフト)をインストールする(Apacheの公式サイトよりダウンロード)。公式サイトに行くと、いつのまにかWindows版のインストーラがなくなっていたので、その他のディストリビューション (公式サイト>最新版の「Download」>Files for Microsoft Windows>Apache Haus>「Apache ○.○.○ x86/x64」の「Download Locations」をクリック) をダウンロードすることにした。
 
ダウンロードしたzipファイルを解凍し、「Apache24」フォルダを任意の場所(ここでは、「D:/Program_data/Apache24」とする)に置く。

次に、(PHPの公式サイトよりPHP5をダウンロードする(Pukiwiki_1.5.0はPHP5.5対応なので、公式サイト>Downloads>Current Stable PHP 5.5.32>Windows downloads>PHP5.5のVC11 x64 Thread Safe版を選択)。
 
ダウンロードしたzipファイルを解凍してできたフォルダ「php5.5」にリネームして、を任意の場所に置く(ここでは、「D:/Program_data/php5.5」とする)。

Pukiwikiのダウンロード

 
pukiwikiの公式サイトから、現状の最新版をダウンロードする(ダウンロード>PukiWiki/Download/1.5.0>pukiwiki-1_5_0_utf8.zip)。

ウチでは、1つのサーバーマシンに2つのIPアドレス(192.168.○○○.○○○、192.168.△△△.△△△)を設定し、その1つにはアドレスによるアクセス制限をかけてwikiを2つ運用するので、ダウンロードした「~.zip」ファイルを解凍し、ファイルをコピーしてリネームした2つのフォルダを準備した(ここでは、「D:/Wiki_data/wiki1」と「D:/Wiki_data/wiki1」とする)。

Apache(httpd.conf)の設定

先のApache24フォルダの中の「conf」フォルダにある「httpd.conf」を編集する。以下は、最初にコメントアウト行を全て削除し、追加/修正したものは「#####」で始まるコメント行でメモしたもの。


#####以下の”SRVROOT”を修正
Define SRVROOT “D:/Program_data/Apache24”


ServerRoot “${SRVROOT}”

Listen 80

#LoadModule access_compat_module modules/mod_access_compat.so
LoadModule actions_module modules/mod_actions.so
LoadModule alias_module modules/mod_alias.so
LoadModule allowmethods_module modules/mod_allowmethods.so
LoadModule asis_module modules/mod_asis.so
LoadModule auth_basic_module modules/mod_auth_basic.so
#LoadModule auth_digest_module modules/mod_auth_digest.so
#LoadModule auth_form_module modules/mod_auth_form.so
#LoadModule authn_anon_module modules/mod_authn_anon.so
LoadModule authn_core_module modules/mod_authn_core.so
#LoadModule authn_dbd_module modules/mod_authn_dbd.so
#LoadModule authn_dbm_module modules/mod_authn_dbm.so
LoadModule authn_file_module modules/mod_authn_file.so
#LoadModule authn_socache_module modules/mod_authn_socache.so
#LoadModule authnz_fcgi_module modules/mod_authnz_fcgi.so
#LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
LoadModule authz_core_module modules/mod_authz_core.so
#LoadModule authz_dbd_module modules/mod_authz_dbd.so
#LoadModule authz_dbm_module modules/mod_authz_dbm.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_host_module modules/mod_authz_host.so
#LoadModule authz_owner_module modules/mod_authz_owner.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule autoindex_module modules/mod_autoindex.so
#LoadModule buffer_module modules/mod_buffer.so
#LoadModule cache_module modules/mod_cache.so
#LoadModule cache_disk_module modules/mod_cache_disk.so
#LoadModule cache_socache_module modules/mod_cache_socache.so
#LoadModule cern_meta_module modules/mod_cern_meta.so
LoadModule cgi_module modules/mod_cgi.so
#LoadModule charset_lite_module modules/mod_charset_lite.so
#LoadModule data_module modules/mod_data.so
#LoadModule dav_module modules/mod_dav.so
#LoadModule dav_fs_module modules/mod_dav_fs.so
#LoadModule dav_lock_module modules/mod_dav_lock.so
#LoadModule dbd_module modules/mod_dbd.so
#LoadModule deflate_module modules/mod_deflate.so
LoadModule dir_module modules/mod_dir.so
#LoadModule dumpio_module modules/mod_dumpio.so
LoadModule env_module modules/mod_env.so
#LoadModule expires_module modules/mod_expires.so
#LoadModule ext_filter_module modules/mod_ext_filter.so
#LoadModule file_cache_module modules/mod_file_cache.so
#LoadModule filter_module modules/mod_filter.so
#LoadModule headers_module modules/mod_headers.so
#LoadModule heartbeat_module modules/mod_heartbeat.so
#LoadModule heartmonitor_module modules/mod_heartmonitor.so
#LoadModule http2_module modules/mod_http2.so
#LoadModule ident_module modules/mod_ident.so
#LoadModule imagemap_module modules/mod_imagemap.so
LoadModule include_module modules/mod_include.so
LoadModule info_module modules/mod_info.so
LoadModule isapi_module modules/mod_isapi.so
#LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so
#LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
#LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so
#LoadModule lbmethod_heartbeat_module modules/mod_lbmethod_heartbeat.so
#LoadModule ldap_module modules/mod_ldap.so
#LoadModule logio_module modules/mod_logio.so
LoadModule log_config_module modules/mod_log_config.so
#LoadModule log_debug_module modules/mod_log_debug.so
#LoadModule log_forensic_module modules/mod_log_forensic.so
#LoadModule lua_module modules/mod_lua.so
#LoadModule macro_module modules/mod_macro.so
LoadModule mime_module modules/mod_mime.so
#LoadModule mime_magic_module modules/mod_mime_magic.so
LoadModule negotiation_module modules/mod_negotiation.so
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
#LoadModule proxy_connect_module modules/mod_proxy_connect.so
#LoadModule proxy_express_module modules/mod_proxy_express.so
#LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
#LoadModule proxy_html_module modules/mod_proxy_html.so
#LoadModule proxy_http_module modules/mod_proxy_http.so
#LoadModule proxy_scgi_module modules/mod_proxy_scgi.so
#LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
#LoadModule ratelimit_module modules/mod_ratelimit.so
#LoadModule reflector_module modules/mod_reflector.so
#LoadModule remoteip_module modules/mod_remoteip.so
#LoadModule request_module modules/mod_request.so
#LoadModule reqtimeout_module modules/mod_reqtimeout.so
#LoadModule rewrite_module modules/mod_rewrite.so
#LoadModule sed_module modules/mod_sed.so
#LoadModule session_module modules/mod_session.so
#LoadModule session_cookie_module modules/mod_session_cookie.so
#LoadModule session_crypto_module modules/mod_session_crypto.so
#LoadModule session_dbd_module modules/mod_session_dbd.so
LoadModule setenvif_module modules/mod_setenvif.so
#LoadModule slotmem_plain_module modules/mod_slotmem_plain.so
#LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
#LoadModule socache_dbm_module modules/mod_socache_dbm.so
#LoadModule socache_memcache_module modules/mod_socache_memcache.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
#LoadModule speling_module modules/mod_speling.so
LoadModule ssl_module modules/mod_ssl.so
LoadModule status_module modules/mod_status.so
#LoadModule substitute_module modules/mod_substitute.so
#LoadModule unique_id_module modules/mod_unique_id.so
#LoadModule userdir_module modules/mod_userdir.so
#LoadModule usertrack_module modules/mod_usertrack.so
#LoadModule version_module modules/mod_version.so
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
#LoadModule watchdog_module modules/mod_watchdog.so
#LoadModule xml2enc_module modules/mod_xml2enc.so


#####以下のModuleを追加
LoadModule php5_module “D:/Program_data/php5.5/php5apache2_4.dll”


&ltIfModule unixd_module>
User daemon
Group daemon
&lt/IfModule>


#####以下のServerAdmin/Nameをコメントアウト
#ServerAdmin admin@example.com
#ServerName localhost:80


&ltDirectory />
AllowOverride none
Require all denied
&lt/Directory>


#####以下、2つのVirtualHostを追記

&ltVirtualHost 192.168.○○○.○○○:80>
ServerName 192.168.○○○.○○○:80
ServerAdmin admin@example.com
DocumentRoot “D:/Wiki_data/wiki1”
&lt/VirtualHost>

&ltVirtualHost 192.168.△△△.△△△:80>
ServerName 192.168.△△△.△△△:80
ServerAdmin admin@example.com
DocumentRoot “D:/Wiki_data/wiki2”
&lt/VirtualHost>

#####以下のデフォルトのDocumetRootをコメントアウト
#DocumentRoot “${SRVROOT}/htdocs”
#&ltDirectory “${SRVROOT}/htdocs”>
#&ltbr />
# Options Indexes FollowSymLinks
# AllowOverride None
# Require all granted
#&lt/Directory>

#####以下、2つのDocumentRootを追記

&ltDirectory “D:/Wiki_data/wiki1″>
Options Indexes FollowSymLinks ExecCGI
AllowOverride None
Require all granted
&lt/Directory>

&ltDirectory “D:/Wiki_data/wiki2″>
Options Indexes FollowSymLinks ExecCGI
AllowOverride None
Require ip 192.168.□□□.□□□
Require ip 192.168.×××.×××
&lt/Directory>


&ltIfModule dir_module>


#####以下、index.phpを追加
DirectoryIndex index.html index.php


&lt/IfModule>

&ltFiles “.ht*”>
Require all denied
&lt/Files>

ErrorLog “logs/error.log”

LogLevel warn

&ltIfModule log_config_module>
LogFormat “%h %l %u %t \”%r\” %>s %b \”%{Referer}i\” \”%{User-Agent}i\”” combined
LogFormat “%h %l %u %t \”%r\” %>s %b” common

&ltIfModule logio_module>
# You need to enable mod_logio.c to use %I and %O
LogFormat “%h %l %u %t \”%r\” %>s %b \”%{Referer}i\” \”%{User-Agent}i\” %I %O” combinedio
&lt/IfModule>

CustomLog “logs/access.log” common
&lt/IfModule>

&ltIfModule alias_module>
ScriptAlias /cgi-bin/ “${SRVROOT}/cgi-bin/”
&lt/IfModule>

&ltIfModule cgid_module>
&lt/IfModule>
&ltDirectory “${SRVROOT}/cgi-bin”>
AllowOverride None
Options None
Require all granted
&lt/Directory>
&ltIfModule mime_module>
TypesConfig conf/mime.types

AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz


#####以下2行を追記
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps


&lt/IfModule>

Include conf/extra/httpd-autoindex.conf

Include conf/extra/httpd-info.conf

&ltIfModule proxy_html_module>
Include conf/extra/httpd-proxy-html.conf
&lt/IfModule>

&ltIfModule ssl_module>
#Include conf/extra/httpd-ssl.conf
Include conf/extra/httpd-ahssl.conf
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
&lt/IfModule>
&ltIfModule http2_module>
ProtocolsHonorOrder On
Protocols h2 h2c http/1.1
&lt/IfModule>


#####以下にphp.iniのディレクトリを追記
PHPIniDir “D:/Program_data/php5.5”

PHP(php.ini)の設定

php5.5フォルダには「php.ini-development」と「php.ini-production」の2つが入っているので、ここでは、「php.ini-development」を「php.ini」にリネームしてファイルを開き、以下の行だけ追記/修正した。


;;;;;以下のコメントアウトをとる
extension_dir = “ext”

;;;;;以下のコメントアウトをとる
extension=php_mbstring.dll


[mbstring]


;;;;; 以下のコメントアウトをとる
mbstring.language = Japanese

;;;;; 以下のコメントアウトをとる
mbstring.internal_encoding = UTF-8

;;;;; 以下のコメントアウトをとる
mbstring.http_input = UTF-8

;;;;; 以下のコメントアウトをとる
mbstring.http_output = pass

;;;;; 以下のコメントアウトをとる
mbstring.encoding_translation = Off

;;;;; 以下のコメントアウトをとる
mbstring.detect_order = auto

;;;;; 以下のコメントアウトをとる
mbstring.substitute_character = none

;;;;; 以下のコメントアウトをとる
mbstring.func_overload = 0

;;;;; 以下のコメントアウトをとる
mbstring.strict_detection = On

Apacheの起動

上記まででApache、PHPとpukiwikiの準備ができたので、管理者権限でコマンドプロンプトを立ち上げて、Apacheをサービスに登録, 起動する。

C:/Windows/System32>cd /d D:/Program_data/Apache24/bin
httpd.exe -k install
httpd.exe -k start

ブラウザより、「http://192.168.○○○.○○○」にアクセスすると、pukiwikiが表示される。

pukiwiki_01

最後に

 
以前、Apacheのインストーラーが配布されていた頃は、PCを起動するとタスクバーに「ApacheMonitor」が表示されていたのだが、今回はインストーラーからの導入ではないので、手動で「D:\Program_data\Apache24\bin」の中にある「ApacheMonitor.exe」を、スタートメニューの中に入れておくことにする。

これまでウチで使っていたApache、PHP、pukiwikiを、今回は全てバージョンアップしてみたのだが、色々と仕様が変わっていたので、最初はうまく起動しなかった(httpd.confで、以前のアクセス制御の記述だとエラーがでたり、以前のpukiwikiとファイル構造が変わっていてそのまま参照させただけでは表示されなかったり・・・)。

まだ Pukiwiki については、これまで使っていた”1.4.7″から”1.5.0″への移行がちゃんとできていないので、もう少し時間をかけて調べてみたい。

 
スポンサーリンク