最終更新: 2009-08-26T17:01+0900
要望を書いて次の日になんとかするセルフサービス > open_tab_right.diff
便利なメソッド( CTabWnd::ReorderTab )が既に用意されていたので楽でした。
結果はわりと希望通りの動作。
バックグラウンドでタブを開く機能はないから、連続してファイルを開いたときに新しいタブが右に延びるか左に延びるかということは考えていない。(01234...となるか 0...4321となるか。特別に考慮しなければ後者になる)
タブを閉じたときに次にアクティブになるタブは、多分直前にアクティブだったタブ。理想とする Firefox + TabsOpenRelativeだと、基本的に閉じたタブの右側のタブがアクティブになるものの、ある条件で元のタブ(閉じたタブの左側のタブ)がアクティブになる。タブを閉じたとき次にアクティブになるタブにこだわりはないので変更していない。
知らなかったけど svk diffの出力をリダイレクトしたファイルが CR/CRLF混合。diff自身のメッセージが CR区切りになってるからみたい。いったいどこの diffを使ってるんだ。
よくみると CRの部分は改行がダブってる。CRCRLFが CR+CRLFと解釈されてるみたい。CRLFの LFに誤って CRを補ってしまったのかも。(だれが?)
あとは、常に「前回開いていたファイルを復元する」機能が欲しいところ。タブの順序、カーソル位置、スクロール位置、検索文字列、アンドゥ記録(は無理か)などなどの復元も込みで。
Win9x:NO 64Bit:YES GiveIO:NO SpeedFan:YES Scanning ISA BUS at $0290... SuperIO Chip=FINTEK F71889F Scanning AtiIgp SMBus at $0B00... F75387 found on SMBus at $2E F75133S found on SMBus at $36 Scanning ISA BUS at $0600... F71882F found on ISA at $600 Found Hitachi HDT725050VLA360 on AdvSMART Found ST3250410AS on AdvSMART Loaded 6 events
めでたく Windows上で全てのファンの回転数の取得といくつかのファンの制御が可能になりました(以前の状況>20090501p01)。電圧も取得できるようになりました(+5Vと +12Vと VCC1.5Vの値が全然ラベル通りではないけど)。
MSI 790FX-GD70の SuperIOチップが Fintek F71889F。(F71889Fに対応しているという) AMD Over Driveは起動すらできないし、MSI謹製のツールでもできないし、不便だけど BIOSで調整できるからいいか、と半ばあきらめていたので嬉しい。ちょこちょこ暑い日があって、でも毎日暑いわけでもなくて、騒音と冷却のバランスとりが必要なんだよね。
Chip | Sensor | M/Bラベル | 回転数制御可否 |
---|---|---|---|
F71882F | Fan1/Pwm1 | CPUFAN1 | (PWM 1 modeを Manual set PWMにすることで)可 |
Fan2/Pwm2 | SYSFAN4 | 可 | |
Fan3/Pwm3 | SYSFAN2 | 可 | |
Fan4/Pwm4 | 存在せず | ||
F75387 | Fan1/Pwm1 | SYSFAN1 | 不可 |
Fan2/Pwm2 | SYSFAN3 | 不可 |
F75387というのが間違いの気がするんだよね。きちんと認識したら残る SYSFAN1/3の回転数制御もできるようにならないかな。
管理者権限がないと動かないと思ってショートカットの「管理者としてこのプログラムを実行する」にチェックを入れていた。それで再起動のたびにパスワードの入力を求められていた。
ためしにチェックを外して起動してみたらパスワードなしで起動するの。ファンの制御もできる。そういえば SpeedFanをインストールしたフォルダの speedfan*.cfgに Usersグループの書き込み権限を付け加えていたのだが、それが効いているのだろうか。HDD関連が検出からできていなくて全滅なこと以外これまで通り。
version 1.13からアップデートしたらツリーに Fintek F71882Fというノードが増えていた。
最終更新: 2009-09-02T23:17+0900
可聴域の変化を知るために書いておこう。15kHzまで聞こえた。16kHz、17kHzは見事にきれいさっぱり聞こえない。小さい頃は聞こえたのかなあ。スピーカーが出力していないという可能性は……ないない。あきらめなさい。
最終更新: 2009-09-02T23:17+0900
/usr/local/lib/compat/libpthread.so.2: Undefined symbol "__malloc_lock" (RuntimeError) /usr/local/lib/ruby/1.8/dl/import.rb:29:in `initialize'
Rubyは 1.8.6 p287だから新しくなってないのだけど。OSが今日の早くに FreeBSDの 6.1から 7.1へ。そしてエラー。
DLを使ってるのは sqlite3-rubyだろうなあ。
Undefined symbol "__malloc_lock"で検索したら Tracが動かなくなった人が見つかった。この人は万事解決といかなかったみたいだけど、自分は libsqlite.soをコンパイルし直したらうまくいった。Rubyや DLの問題ではなく sqliteライブラリの依存関係が原因だったよう。再コンパイルは UNIX系OSのバージョンアップにはつきものの作業なんだろうか。
最終更新: 2009-09-02T23:17+0900
おかしい。チェックが外れていると正規表現キーワードによる色分けも無効になる。
まずはこちら
242 //色指定でチェックが入ってなければ検索しなくてもよい …… 249 //正規表現では色指定のチェックを見る。 …… 255 //正規表現以外では、色指定チェックは見ない。 256 //例えば、半角数値は正規表現を使い、基本機能を使わないという指定もあり得るため
このコメントを読めばまさしく現在の状況が考慮されていることがわかる。
仕様がねじれている気もするが、正規表現キーワードに「正規表現キーワード3」という色指定より「ダブルクォーテーション文字列」という色指定をしたいのだよね。基本機能を無効にして正規表現キーワードだけを使いたい場合もあるし(今回のように)、基本機能を使いつつ正規表現キーワードを使って、標準的でない文字列形式(Rubyの %!string! など)を補いたい場合もあり、そのときに複数の色指定を同じに保つより「ダブルクォーテーション文字列」という一つの色指定で色を管理したい、という要求がある。この両方を満たすのが以前の仕様。
待ってても直らないかもしれないので*他人の修正を待てないので調べた。
17 if( TypeDataPtr->m_bUseRegexKeyword 18 && pcView->m_cRegexKeyword->RegexIsKeyword( cStr, nPos, &nMatchLen, &nMatchColor ) 19 ){ 20 this->m_nCOMMENTEND = nPos + nMatchLen; /* �L�[���[�h������̏I�[��Z�b�g���� */ 21 this->m_nCOMMENTMODE = ToColorIndexType_RegularExpression(nMatchColor); 22 return true; 23 } 24 return false;
21行目の ToColorIndexType_RegularExpression(nMatchColor); とは実質的に
(EColorIndexType)(COLORIDX_REGEX_FIRST + nMatchColor);
こういうことだ。nMatchColorとはそのまま色指定なのだから COLORIDX_REGEX_FIRSTという下駄をはかせる必要はなくて
(EColorIndexType)nMatchColor;
これで十分のはずだ。正規表現キーワードだからって正規表現キーワードNという配色とは限らないのだよ。
[訂正] これはわざとだった。どんな色指定をされていても正規表現キーワードを他と識別するために行っている。同じファイル(sakura_core\view\colors\CColorStrategy.h)内に下駄を外す処理もある。
デバッガで nMatchColorの値を見てみたら 29であって、これはシングルクォーテーション文字列に対応した色インデックスだから期待通り。でも色分けはなされない。
なんでだろー。
223 /* 現在の色を指定 */ 224 void CEditView::SetCurrentColor( CGraphics& gr, EColorIndexType eColorIndex ) 225 { 226 //インデックス決定 227 int nColorIdx = ToColorInfoArrIndex(eColorIndex); 228 229 //実際に色を設定 230 if( -1 != nColorIdx ){ 231 const ColorInfo& info = m_pcEditDoc->m_cDocType.GetDocumentAttribute().m_ColorInfoArr[nColorIdx]; 232 if( info.m_bDisp ){ 233 gr.SetForegroundColor(info.m_colTEXT); 234 gr.SetBackgroundColor(info.m_colBACK); 235 gr.SetMyFont( 236 GetFontset().ChooseFontHandle( 237 info.m_bFatFont, 238 info.m_bUnderLine 239 ) 240 ); 241 } 242 } 243 }
232行目。色指定のチェックの有無のチェックを無効にしたらとりあえず色分けはされた。正規表現キーワードが正規表現キーワードN以外の色指定をしている場合、チェックの有無をみてはいけない。ここでのチェックを期待しているコードがある場合、悪影響がある。
* r1576@2009-05-27 21:15 で直りました。
最終更新: 2009-11-26T01:48+0900
改行コードの意図しない混在が嫌で、ファイル中に存在する改行コードをステータスバーに列挙してみた。
CRLF改行のみの一般的な画面 | LFと CRLFが混在。コピペなんかしてるとよくこうなる。 |
まずないだろうという判断のもと表示スペースを削った結果、一部の文字が切れてます。(CRとLFとCRLFが混在) | 改行がなければステータスバーにも表示なし。 |
publicなメンバ変数、豊富なアクセサ、中身すけすけで便利な friendクラス指定、管理下のデータメンバを非constで晒す C...Mgrクラスの constメンバ関数。どれも利用する側からすれば便利だったけど、オープンすぎて必要最小限の変更をつかまえることができずに毎回のフルスキャン。
どうするのがいいのかなあ。
Ctrl+Sに改行コードチェックマクロ(これから書く)を割り当てて、保存前に「改行コードが混在してるがそれでいいのか?」と確認しようか。すでに Ctrl+Sには Subversionを使ったバックアップマクロが割り当てられているが、どちらも JScriptなので片方を eval()でチェインして……。
最終更新: 2011-02-01T14:21+0900
今日突然「ネットバリアベーシック」により閲覧できないページが見つかった。オプション*サービスの「セキュリティプラス1」が原因のよう。
2009.05.19 フレッツADSL対応セットに「ネットバリアベーシック」の提供を開始しました。
重要なサービス変更にはオフラインの通知手段を使いなさい。あえていうが、プロバイダなんて空気なんだから。
下り最大 1.5Mbpsもいいかげん限界だったので eo光にする。
「ネットバリアベーシック」は Bフレッツ+plalaでは何年も前に通った道みたい。そのときのデフォルトは「強」だったとか。よいこちゃんすぎてため息が出るね。くわばら、くわばら。
iTunes Storeに接続できません。 : パソコントラブル出張修理・サポート日記
* 強制適用しておいて何がオプション! 5年以上利用してるサービスをプロバイダの勝手な思惑でいじられて非常に不快。設定のデフォルトが間違ってる。利己的!独善的!
SSDか SMART DRIVEかあ。どっちも高いなあ。
振動の源は 2007年 9月の HGST 500GB。その HDDをあっちからこっちの HDDベイへ移動させたり、Feature Toolでアイドル時の回転数を下げたり、HDDとトレイをとめるネジを締めたりしているうちに初期の静音が戻ってきた。でもこれは危ういバランスの上に成り立っているものだろう。高音のノイズは気に障るけど、低音は低音で常時鼓膜を圧迫しつづけて神経を疲弊させる。快適 PCライフはなかなか難しい。