唐突ですが、私は左利きです…そんな訳でマウスの選択肢が絞られてしまいます
外観の選択肢は前述の2つしかない訳ですが、後者の左利き専用は論外。今までに合計すると数万円ばかりの投資を行い、左利きマウスを購入、使用してみましたが、どれも駄目でした。左手でマウスを使っている人が設計、開発に関ってないようなものばかりです。まぁ、つまり、左利きの事は左利きの人にしかわからないというか、その人の立場になって物事を思考できないという事ですね
話はちょっとズレましたが、これまで、私が使用する全ての PC には Microsoft IntelliMouse Optical の択一でした。理由としては…
で、このブログの更新が滞っている一因として、EverQuest II というゲームが原因の一つなんですが、このゲームをプレイ中に困った事態になってきました。それは、ボタンがあと 2つ程欲しくなったということです。そこで、左右対称デザイン、7ボタン以上のマウスとなると、私が探した限りこれしかなかった訳です
購入価格は ¥10,980- と、高かったです。どの位高いかというと、今まで長年愛用してきた Microsoft IntelliMouse Optical の 5個パック が購入できるほどの値段ですので、事前に購入した店頭展示品で感触を確かめ、購入しました 2
実際のセットアップですが、SteelSeries – Downloads にて、最新のドライバー(ファームウェア込み) をダウンロード、使用する PC にインストールします。すると、プログラムメニューに Xai Configuration というソフトウェアがインストールされるので、これを実行して、マウス内部のファームウェアを最新バージョンにします
さて、問題はこの Xai Configuration こいつが駄目すぎます。何が駄目かというと、
2 のバグというのは、Xai Configuration の Advanced Macro Editor でマクロ作成し、そのマクロを実際ボタンに Assign する際に右のような画面が表示されてしまいます。これの対処方法は以下のようにすれば回避できます
ソフトウェア面がまるで駄目ということがわかりましたが、ハードウェア的には良い作りになっています
総じて…Xai Configuration が我慢ならない酷い作りなので、割高感は拭えません。実際のプロファイルが 5つあるのはいいんですが、プロファイルの切り替えが動的ではなく手動で行わなければならず面倒なので、局所的な用途にしか向かないマウスと言わざるを得ません。ソフトウェア(Xai Configuration) がハードウェアを駄目にしてるいい例の製品ですね。お薦めはしませんが、左右対称、7ボタンマウス、握った時のフィット感の良さ(私的に)、予算に余裕があるなら…って所ですね
WordPress を 3.0.3 4 にしました。その影響で、テーマファイルで独自で作成していた機能が対応できなくなっていて、不具合が各所で見られる事を現在確認済みです。少しずつ修正を行うので、一部閲覧によって不都合が発生しています。修正されるまでご容赦ください
日付 | 内容 |
2011/01/03 (月) |
|
2010/12/27 (月) |
|
超久しぶりの更新です。現在は、EverQuest II という MMORPG ゲームをプレイ中です。赤アドーン商人の前で悩んでる時間が勿体ないので、一覧表を作って見ました
アドーンメント | 頭 | 胴 | 肩 | 前 腕 |
手 | 脚 | 足 |
---|---|---|---|---|---|---|---|
フォーカス:アサルト VII | |||||||
フォーカス:コール・トゥ・アーム VII | |||||||
フォーカス:シールドバッシュ VIII | |||||||
フォーカス:セントリー・ウォッチ | |||||||
フォーカス:タウント・ブロウ VIII | |||||||
フォーカス:バトルクライ VII | |||||||
フォーカス:バトル・タクティクス VI | |||||||
フォーカス:クライ・オブ・ウォーリアー | |||||||
フォーカス:センティネル・ストライク | |||||||
フォーカス:ディフェンシブ・マインデッド | |||||||
アドーンメント | 頭 | 胴 | 肩 | 前 腕 |
手 | 脚 | 足 |
フォーカス:ポテンシー | |||||||
フォーカス:クリティカルボーナス | |||||||
フォーカス:アーマー | |||||||
フォーカス:クリティカル発生率 | |||||||
フォーカス:クリティカル軽減力 | |||||||
フォーカス:スウィーピング・スウィング | |||||||
アドーンメント | 頭 | 胴 | 肩 | 前 腕 |
手 | 脚 | 足 |
フォーカス:ダブルアタック | |||||||
フォーカス:フラーリィ攻撃 | |||||||
フォーカス:ブロック発生率 | |||||||
フォーカス:ヘイト低減 | |||||||
フォーカス:再使用速度 | |||||||
フォーカス:反撃 | |||||||
アドーンメント | 頭 | 胴 | 肩 | 前 腕 |
手 | 脚 | 足 |
フォーカス:反撃ダメージ | |||||||
フォーカス:呪文ダブルアタック | |||||||
フォーカス:命中力 | |||||||
フォーカス:獲得ヘイト | |||||||
フォーカス:矢/弾保存 | |||||||
フォーカス:詠唱速度 | |||||||
フォーカス:貫通 |
日付 | 内容 |
2010/07/28 (水) |
|
普段はあまり気にしていなかったのですが、先日に foobar2000 本体やコンポーネントをアップデートした際に異様に起動が遅い…foobar2000 をインストールしたディレクトリを覗いてみると custominfo_sqlite.db のサイズが 6MB 超えている…
なんでだろうと思い、一旦 foobar2000 を終了し SQLite Database Browser にて custominfo_sqlite.db の中を見てみると、同じ曲の fieldname が PLAYED_TIMESTAMP のレコードがやたらとできてる…多分コレのせいでしょう…
Preferences › Playback Statistics Custom › Playback Statistics Custom Settings の Play Stamp をチェックしていると Playback Statistics Update Timing に合致する度にレコードが挿入されてしまう。要はコレは再生履歴なんですが、foobar2000 じゃこのデータを使う手段や使い道がないのでチェックオフにしておく
で、PLAYED_TIMESTAMP フィールドは UI の中でも使用していないので、このレコードを削除する事にします。SQLite Database Browser で行ってもいいんですが、PHP で以下のような簡易ダイエットスクリプトを作成して実行
- <?php
- $dbf = './custominfo_sqlite.db';
- $dbh = new PDO( 'sqlite:'.$dbf );
- $stmt = $dbh->query( 'DELETE FROM quicktag WHERE fieldname = "PLAYED_TIMESTAMP"' );
- echo 'row count: '.$stmt->rowCount()."\n";
- echo 'error code: '.$stmt->errorCode()."\n";
- $stmt = $dbh->query( 'VACUUM' );
- echo 'error code: '.$stmt->errorCode()."\n";
- ?>
上記スクリプトを実行する事によって、約 25000 レコードが削除され、6.02MB だったファイルが 1.19MB までに小さくなりました。小さくなった custominfo_sqlite.db を foobar2000 のディレクトリに戻し、起動…サックリ起動するようになりました
使用しているフィールド PLAY_COUNT, FIRST_PLAYED_TIMESTAMP, LAST_PLAYED_TIMESTAMP が UI 側で正常に表示される事を確認して終了です
と言っても、0.9.5.1 から 0.9.5.2 へのバージョンアップです…0.9.5.3 から作者が暴走し始めたので、1 0.9.5.2 にしました
取り敢えず、自分が使用しているコンポーネントの覚え書き
コンポーネントもアップデートして、自分が作った UI が動作する事も確認して終了…また、暇をみて UI 弄りでもしましょうかね…
ここのブログシステムに WordPress を使用していることはフッター表示で解ると思いますが、スパムブロックには Akismet という同梱プラグインを使用しています。非常に優秀なプラグインで、ほとんどのスパムをブロックしてくれます…が、しかし、ブロックした後の処理がないので件の様なプラグインを作成しました
以下のようなケースの場合に .htaccess の更新を行うプラグインです
以上のケースの場合に、承認ステータスがスパムとなっているコメントを書き込んだ IP アドレスのリストをアクセス拒否として、.htaccess を更新します
.htaccess の更新内容は # BEGIN written by WordPress plugin - Akismet htaccess writer と # END written by WordPress plugin - Akismet htaccess writer ブロック内で行われます。ブロックが存在しない場合にはファイルの末尾に追加で書き込まれます。以下、サンプルです
- # BEGIN written by WordPress plugin - Akismet htaccess writer
- Order Allow,Deny
- Allow From All
- Deny From aaa.bbb.ccc.ddd
- Deny From eee.fff.ggg.hhh
- .
- .
- .
- Deny From www.xxx.yyy.zzz
- # END written by WordPress plugin - Akismet htaccess writer
.htaccess ファイル名が設定されていない、または書き込み可能ではないと .htaccess ファイルは更新されません。また、.htaccess ファイルを書き込み可能にする場合は、HTTPD プロセスが PHP モジュールを実行する際のユーザーに限定して、ファイル属性の設定を行う事を推奨します
このプラグインに関して、決して Akismet プラグイン作者に連絡は取らないでください
PHP を 5.2.5 から 5.2.6 へアップデートしたので、その時のインストールメモです
extension_dir の指定も忘れずに…
- extension_dir=./ext/
- extension=php_mbstring.dll
- extension=php_exif.dll
- error_log = "C:/logs/php_error.log"
- include_path = ".;C:\PHP\pear;C:\PHP\includes;"
>path C:\php;%path%
>set pathext=.php;%pathext%
>assoc .php=PHP_Script
>ftype PHP_Script="C:\php.exe" "%1" %*
httpd.conf を使っている Apache のバージョンに合わせて編集します
- AddType application/x-httpd-php .php
- Action application/x-httpd-php "/php/php-cgi.exe"
- PHPIniDir "C:/php"
- # for Apache 1.x
- LoadModule php5_module "C:/php/php5apache.dll"
- # for Apache 2.x
- LoadModule php5_module "C:/php/php5apache2.dll"
- # for Apache 2.2.x
- LoadModule php5_module "C:/php/php5apache2_2.dll"
- AddType application/x-httpd-php .php
- PHPIniDir "C:/php"
Apache を再起動、確認して終了です
Pear のセットアップとパッケージのインストール を参照してください
私が解っている範囲で他のシステムと関係のあるファイルを列挙しておきます
日付 | 内容 |
2008/07/10 (木) |
|
OpenSearch maker なるモノを作ったもののマニュアルがないので作成…('A`)
各入力フィールドやチェックボックス、ラジオボタンなどを設定して、generate searchplugin ボタンを押す事によって、OpenSearch に対応している UA で使用できます。以下、各項目について、PHP の関数を検索を行うプラグインを作成する例にならって説明していきます
XML ヘッダーを出力する の項目をチェックする事によって XML ヘッダー が生成されるファイルの先頭に付きます。OpenSearch の仕様では、XML ヘッダー は付きません
- <?xml version="1.0" encoding="UTF-8"?>
必須項目で省略できません。設定した名前が Firefox の検索バーに表示されます
- <ShortName>PHP 関数検索</ShortName>
省略できます。検索エンジンの簡単な説明を記述します
- <Description>PHP 関数を検索</Description>
省略できますが、省略された場合 UTF-8 が使われます。GET および POST メソッドで検索エンジンに対してリクエストされる際のエンコードを指定します。ここで指定するエンコード文字セット名称は IANA Character Set Assignments を参照してください
- <InputEncoding>UTF-8</InputEncoding>
省略できます。検索バーに表示される縦16ドット、横16ドットのアイコンファイルを指定します。base64 をチェックすると、アップロードされたアイコンファイルを Base64 でエンコードします。チェックしないと URL エンコード されます。アップロード処理が何らかの原因でエラーになった場合はサーチプラグインファイルは生成されません
- <Image width="16" height="16">data:image/x-icon;base64,Qk02AwAAAAAAADYAAAAo… (省略)</Image>
必須です。検索エンジンのサイト URL を記述します。実際に検索が行われる URL でなければなりません。URL として正しくない値を入力するとエラーとなり、サーチプラグインファイルは生成されません
GET または POST のいずれかを指定しなければなりません。簡単に説明すると GET メソッドは検索エンジンサイトのホスト名や検索語などのパラメーターを URL としてリクエストします。一方、POST メソッドは URL とは別に検索語などのパラメーターをデータとして送信し、検索エンジンにリクエストします
- <Url type="text/html" method="POST" template="http://www.php.net/search.php">
GET メソッドを指定した場合の例を以下に示します。後述のパラメーターを指定する事によって以下の様に出力します
- <Url type="text/html" method="GET" template="http://blog.alphaziel.info/">
- <Param name="s" value="{searchTerms}"/>
- </Url>
GET メソッドを指定し、パラメーターを指定しなかった場合には以下の様に出力します
- <Url type="text/html" method="GET" template="http://blog.alphaziel.info/?s={searchTerms}" />
メソッドが POST の場合は必須です。検索バーで入力した検索語をサーチプラグインに渡す為のキーワード {searchTerms} は値のどこかに設定しなければ、サーチプラグインに検索語が渡りません。また。記述する名前、値のどちらかが欠けていれば、エラーとなり、サーチプラグインファイルは生成されません
- <Param name="pattern" value="{searchTerms}"/>
- <Param name="lang" value="ja"/>
- <Param name="show" value="quickref"/>
generate searchplugin を押す事によって、サーチプラグインを生成し、ダウンロードダイアログが表示されるのでダウンロードを行います。アップロードされたアイコンファイルや生成されたサーチプラグインはダウンロードの段階で削除されます
ダウンロードしたサーチプラグインファイルを Firefox のプロファイルディレクトリの中の searchplugins ディレクトリにコピーまたは移動し、Firefox を再起動します
hr 要素が未だに廃止予定にないので、たまに記事の中で使ってますが、align, noshade, size, width 属性が廃止予定なのと CSS の border 関係のプロパティと見た目が余りに違うので、統一して使用してます。この記事では、その見た目を同じにする CSS の小技を一つ…
- hr
- {
- padding: 0em;
- border-top: 1px solid #dcdcdc;
- border-left: none;
- border-bottom: none;
- border-right: none;
- color: #212121;
- background-color: #212121;
- }
斜体部分の色指定はお好みで…因みにこんなのでもいいです
- hr
- {
- padding: 0em;
- border: none;
- border-top: 1px solid #dcdcdc;
- color: #212121;
- background-color: #212121;
- }
サイトの管理に時間が取れる様になったので、テンプレートや古い記事などを改修中です。ついでによく閲覧される記事のトップ 10 をサイドバーに表示するプラグイン WP-PostViews 1.30 Readme を導入してみました。取り敢えず、古い記事の中で改修の優先順位はここを参照する事に…
meta 要素の name 属性値 keywords の内容を、記事単体表示の場合には可変にしてみました。ある種実験的な試みなので、内容にはまったく影響ありません…('A`)
バグ発覚…直ちに修正…('A`) みっともない PHP エラーを御覧になった方、ごめんなさい…('A`)
Firefox はサーチプラグインによって、検索バーに検索エンジンを容易に追加できます。このサーチプラグインの仕様は Firefox 独自の MozSearch と、IE など他のブラウザでも使用できる OpenSearch の二つの形式をサポートしています
詳細な資料は MDC の Creating OpenSearch plugins for Firefox - MDC と Creating MozSearch plugins - MDC です。後者の MozSearch は Mozilla プロジェクトのみの仕様なので、非標準となっています
実際に自分で OpenSearch プラグインを作成して見ようと色々と試してみて、解った事
で、MDC の資料を見ながら、実際にこのサイト用の検索プラグインを作って、検索プラグインの自動検出もできる様にしてみました…ついでに、検索部分のテンプレート多少手直し…
検索プラグインを作成する際に、いちいちエディタを起動して…なんてめんどくさいので、OpenSearch maker なるものを作ってみました。右のコンテンツメニューからもアクセスできます
HTTP リクエストのメソッドが POST のサイトの場合、Proxomitron 1 などを使っていくつか検索プラグインを作ってみました。名前を付けてリンク先を保存(K)... でダウンロードしてください
Firefox 3 のロケーションバーにマルチバイト文字を入力して、サイトにアクセスすると正しく URL が渡らない。検索エンジンなどで使用すると、一部の検索エンジンで入力した文字列が正しくサイト側に伝わらず文字化けしてしまうという問題が…('A`)
ロケーションバーを見ると、何やら URL がエンコードされている様です…この件で検索してみると、やっぱり同じような問題が見つかりました。about:config の network.standard-url.encode-query-utf8 の値を true に変更する事で問題が解決しました
user_pref("network.standard-url.encode-query-utf8", true);
ところが、この問題は半分解決したといった方がいいでしょう。何故なら、この設定はサイト側の URL エンコード処理が UTF-8 の場合しか効果がありません。例えば 緑のgoo に以下の様に文字列を渡してやると、やはり文字化けします 1
http://green.search.goo.ne.jp/search?MT=漢字入力ですよ
入力エンコード指定の URL パラメーターにて、以下の様にエンコードを指定してやれば 緑のgoo に関しては、解決です
http://green.search.goo.ne.jp/search?MT=漢字入力ですよ&IE=UTF-8
サイト側でこの問題を解決する方法もあります。URL パラメーターとして入力された文字列をサイト側で処理すべき文字エンコードに変換してやればいいのです。以下の例は PHP の例です 2
- foreach ( $_GET as $key => $value ) {
- echo '1 key: ' . $key . ' value: ' . $value . "<br />\n";
- echo '2 key: ' . mb_convert_encoding( $key, 'UTF-8', 'UTF-8,SJIS,EUC-JP' ) . ' value: ' . mb_convert_encoding( $value, 'UTF-8', 'UTF-8,SJIS,EUC-JP' ) . "<br />\n";
- }
他の UA でも試してみましたが、Opear, IE6 は駄目でした。特に Opera 3 は酷く、ロケーションバーにマルチバイト文字を入力してエンターキーを押すと URL エンコードどころか、激しく文字化けし、4 しかもその文字化けしたデータをそのまま URL としてサイトにアクセスします。なので、サイト側で解決しても駄目です
どうも、この問題は思っていたほど根が深いようです。時間がある時に調べてみたいと思います
WordPress の記事内に PHP コードを記述し、実行するプラグインがないかと検索してみました。Exec-PHP と runPHP の二つのプラグインが見つかりました
取り敢えず、後者の runPHP をインストール、ダッシュボードのプラグイン設定にて使用するように設定し、echo 文だけの PHP コードを記事に書き込み、投稿、閲覧しても何故か実行されません 1 次に前者の Exec-PHP をインストールし、同じようにテスト用の記事を閲覧するとこちらの方のプラグインは実行されました
このプラグインを入れておくだけでは面白くないので The people sending SPAM なるページを作って見ました。このページは WordPress に最初から同梱されているスパムブロッカーのプラグイン Akismet がスパムと判断したコメントの投稿者の IP アドレスを閲覧できるようにしたものです 2
Firefox 3 において keyconfig アドオンを使用してのショートカットキーの割り当てです。私は合わせて functions for keyconfig も使用しています
通常、新しいウィンドウにページのソースが表示されてしまいますが、それを新しいタブ内に表示するように変更
- var sourceURL = 'view-source:' + content.document.location.href;
- gBrowser.selectedTab = gBrowser.addTab( sourceURL );
なぜか CTRL + I を押しても、サイドバーにブックマークが表示されてしまうので、ページ情報ダイアログを表示するように変更
- BrowserPageInfo();
ファンクションキーでタブの切り替えを行いたいので変更
- gBrowser.mTabContainer.advanceSelectedTab(-1,true);
ファンクションキーでタブの切り替えを行いたいので変更
- gBrowser.mTabContainer.advanceSelectedTab(+1,true);
現在表示しているページの URL をクリップボードにコピーします
- var w = window._content;
- var d = w.document;
- var txt = d.location.href;
- const CLIPBOARD = Components.classes["@mozilla.org/widget/clipboardhelper;1"].getService(Components.interfaces.nsIClipboardHelper);
- CLIPBOARD.copyString(txt);
現在表示しているページのタイトルをクリップボードにコピーします
- var w = window._content;
- var d = w.document;
- var txt = d.title;
- const CLIPBOARD = Components.classes["@mozilla.org/widget/clipboardhelper;1"].getService(Components.interfaces.nsIClipboardHelper);
- CLIPBOARD.copyString(txt);
現在表示しているページの URL とタイトル等の情報を元に HTML のアンカー要素を生成し、クリップボードにコピーします。本サイトのアンカー要素の生成はコレで行っています
- var w = window._content;
- var d = w.document;
- /* var l = d.documentElement.attributes[0].value; */
- var l = '';
- var txt = '<a target="_blank" hreflang="' + l + '" href="' + d.location.href + '" title="' + d.title + '">' + d.title + '</a>';
- const CLIPBOARD = Components.classes["@mozilla.org/widget/clipboardhelper;1"].getService(Components.interfaces.nsIClipboardHelper);
- CLIPBOARD.copyString(txt);
3行目がコメントになってますが、ページの言語情報がページによってはうまく取得できないで、ここだけは手入力してます…('A`)
検索バーのサーチエンジンをキーボードの入力フォーカスを移す事なく切り替えます。トップの場合は最後の検索エンジンに切り替えます
- var search = document.getElementById("searchbar");
- var newIndex = search.engines.indexOf(search.currentEngine);
- if ( --newIndex < 0 ) newIndex = search.engines.length-1;
- search.currentEngine = search.engines[newIndex];
検索バーのサーチエンジンをキーボードの入力フォーカスを移す事なく切り替えます。最後の場合はトップの検索エンジンに切り替えます
- var search = document.getElementById("searchbar");
- var newIndex = search.engines.indexOf(search.currentEngine);
- if ( ++newIndex >= search.engines.length ) newIndex = 0;
- search.currentEngine = search.engines[newIndex];
前述の 検索バー切り替え↑ と 検索バー切り替え↓ と合わせて使うととても便利です
- var sel = window._content.getSelection( );
- var s = '';
- if ( !sel.rangeCount || sel.getRangeAt(0) == '' ) return ;
- for ( i = 0; i < sel.rangeCount; ++i ) {
- s += sel.getRangeAt(i).toString().replace( /^\s+|\s+$/g, '' ) + ' ';
- }
- s = s.replace(/[\+\s]+$/g,'');
- document.getElementById( "searchbar" ).doSearch(s, 'tab');
選択文字列(複数対応) を検索エンジン(googleの場合) で検索し、ページを新しいタブに表示します。14 行目を変更する事によって、他の検索エンジンや検索エンジンへ渡す URL パラメーターを変更できます
- var win = window._content;
- var doc = win.document;
- var sel = win.getSelection( );
- var s = '';
- var sURL = '';
- if ( !sel.rangeCount || sel.getRangeAt(0) == '' ) {
- return ;
- }
- for ( i = 0; i < sel.rangeCount; ++i ) {
- stmp = sel.getRangeAt(i).toString().replace( /^\s+|\s+$/g, '' );
- s += (encodeURIComponent(stmp) + '+').toString().replace(/%20/g,'+');
- }
- s = s.replace(/\++$/g,'');
- sURL = 'http://www.google.co.jp/search?q=' + s + '&lr=lang_ja&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&client=firefox-a';
- gBrowser.selectedTab = gBrowser.addTab( sURL );
選択文字列の中に空白が含まれている場合のバグを修正 (11行目)
選択文字列(複数対応) を検索バーの入力ボックスへセットします
- var win = window._content;
- var doc = win.document;
- var sel = win.getSelection( );
- var s = '';
- if ( !sel.rangeCount || sel.getRangeAt(0) == '' ) {
- return ;
- }
- for ( i = 0; i < sel.rangeCount; ++i ) {
- s += sel.getRangeAt(i) + ' ';
- }
- document.getElementById("searchbar").value = s.replace(/^\s+|\s+$/g,'');
検索バーをクリアします
- document.getElementById("searchbar").value = "";
Firefox を再起動します
- const nsIAppStartup = Components.interfaces.nsIAppStartup;
- var os = Components.classes["@mozilla.org/observer-service;1"].getService(Components.interfaces.nsIObserverService);
- var cancelQuit = Components.classes["@mozilla.org/supports-PRBool;1"].createInstance(Components.interfaces.nsISupportsPRBool);
- os.notifyObservers(cancelQuit, "quit-application-requested", null);
- if (cancelQuit.data) return;
- Components.classes["@mozilla.org/toolkit/app-startup;1"].getService(nsIAppStartup).quit(nsIAppStartup.eRestart | nsIAppStartup.eAttemptQuit);
再起動時に終了時の状態復元が必要なければ、2~5行目は不要です
帰国してから早々と行ったのが WordPress のバージョンアップ作業でした。前のバージョンは確か 2.3.3 を使用していました。1 以前のバージョンでも私の場合は問題無かったのですが、ダッシュボードの大幅な変更や 500 以上にも及ぶ修正点 2 をダラダラと眺めてバージョンアップする事にしました
WordPress | 日本語 から、バージョン 2.5.1 日本語版をダウンロードし、解凍。私はローカルにもほぼ同じ環境を構築しているので、取り敢えずローカル環境にインストールしてみる事にしました
インストールは単に解凍したディレクトリ/ファイルをコピーするだけなんですが、私の場合は自分で修正したファイルが幾つかあるので、それをコピー、リネームして待避。そして、そのままコピーしてインストールは終了。アップグレードなので /wp-admin/upgrade.php にアクセスしてあっけなくアップグレード作業は終了
一通りの動作テストを済まし、レンタルサーバーの方もバージョンアップしようと、作業を開始する事に。開始の前に Maintenance Mode Plugin にてメインテナンスモードへ移行。そして、ローカルと同じようにインストール作業を行い、最後にアップグレードを作業を行う所でとんでもない事が発覚…
/wp-admin/upgrade.php にアクセスしてもメインテナンスモードに…('A`) ダッシュボードにアクセスしようにも、やはりメインテナンスモード…('A`) どうやら WordPress をインストールした所は全てメインテナンスモードになってしまったようです
しょうがないので phpMyAdmin にてデータベースを書き換えて、通常モードに変更して事なきを得ました。なんで、こんな事態に陥ってしまったかというと、メインテナンスモードプラグインの設定にアクセス許可設定を設定してなかった為に、全てのディレクトリ/ファイルにアクセスしてもメインテナンスモードになってしまったようです。アクセス許可設定を設定し、一通りの動作確認を行って全てのバージョンアップ作業は終了しました 3
Firefox を 2 から 3, 4 へアップグレードしたのはいいが、userChrome.css がほとんど反映されていなかったので、DOM Inspector を使いながら userChrome.css を修正していきました。この記事はそれをまとめたものです 1
幾つのバージョンからは不明ですが、ブックマークメニューの余計なセパレーターの非表示にできなかったのが、現行バージョン (3.6.13) で可能となったので、その部分の対応部分です
/* セパレーター (3.6.13) */
#bookmarksMenuPopup > menuitem:first-child + menuitem + menu + menuitem + menuitem + menuseparator + menu + menuseparator,
#bookmarksMenuPopup menuseparator[class="bookmarks-actions-menuseparator"]
{
display: none !important;
}
ブックマークツールバーは通常はアイコンとテキストの両方を表示してますが、私はブックマークツールバーに入れているブックマークアイテムのテキストは 1文字にしていますので、2 アイコンの表示は必要ないので、非表示にします
/**
* ブックマークツールバーフォルダのアイコン非表示
*/
hbox#bookmarksBarContent .toolbarbutton-icon
{
display: none !important;
}
hbox#bookmarksBarContent toolbarbutton[image*="data:image"] .toolbarbutton-icon
{
display: none !important;
}
.bookmark-item > .toolbarbutton-icon { /* 4.0 用 */
display: none !important;
}
私にとっては邪魔なだけなので、消えてもらいます
/*
* 検索バーの検索ボタン(虫メガネアイコン)を非表示
*/
#searchbar .search-go-button
{
display: none !important;
}
まったく使わないので消えてもらいます
/*
* メニューの「履歴」を非表示
*/
#history-menu
{
display: none !important;
}
邪魔なので消えてもらいます
/*
* ステータスバーのリサイズパネルを非表示
*/
#status-bar .statusbar-resizerpanel
{
display: none !important;
}
まったく使わないので消えてもらいます
/*
* ブックマークのメニューから以下の項目とその下のセパレーターを非表示にする
*/
/* このページをブックマーク */
#bookmarksMenuPopup menuitem[command="Browser:AddBookmarkAs"],/* このページを購読... */
#bookmarksMenuPopup #subscribeToPageMenuitem,
#bookmarksMenuPopup #subscribeToPageMenupopup,/* すべてのタブをブックマーク... */
#bookmarksMenuPopup menuitem[command="Browser:BookmarkAllTabs"],/* ブックマークの管理... */
#bookmarksMenuPopup menuitem[command="Browser:ShowAllBookmarks"],/* セパレーター */
#bookmarksMenuPopup #organizeBookmarksSeparator,/* よく見るページ 最近ブックマークしたページ
最近付けたタグ ブックマークツールバー */
#bookmarksMenuPopup .bookmark-item[label*="よく見るページ"],
#bookmarksMenuPopup .bookmark-item[label*="最近ブックマークしたページ"],
#bookmarksMenuPopup .bookmark-item[label*="最近付けたタグ"],
#bookmarksMenuPopup .bookmark-item[label*="ブックマークツールバー"],/* セパレーター */
#bookmarksMenuPopup menuseparator[builder="start"]
{
display: none !important;
}
修正、項目を加えました。凄く…スッキリしました
危険なので消えてもらいます
/*
* ブックマークのメニューから タブですべて開く とその上のセパレーターを非表示にする
*/
#bookmarksMenuPopup menuitem[label*="タブですべて開く"],
#bookmarksMenuPopup menuseparator[builder="end"]
{
display: none !important;
}
何故か 3 になってから色が変化しません…なので、背景色を変更します
/*
* ロケーションバーの背景色変更
*/
#urlbar[level="high"][pageproxystate="valid"],
#urlbar[level="low"][pageproxystate="valid"],
#urlbar[level="high"][pageproxystate="valid"] > :not(#identity-box):not(#urlbar-icons),
#urlbar[level="low"][pageproxystate="valid"] > :not(#identity-box):not(#urlbar-icons),
#urlbar[level="high"][pageproxystate="valid"] > :not(#identity-box)>:not(dropmarker):not(progressmeter):not(.progress-bar),
#urlbar[level="low"][pageproxystate="valid"] > :not(#identity-box)>:not(dropmarker):not(progressmeter):not(.progress-bar)
{
color: #000000 !important;
background-color: #e0ffff !important;
}
#e0ffff の部分はお好みで変更して使用します。Firefox 2 の時の色は #f5f6be です
ID や class 名称が変更になっているので、DOM Inspector で探し当てるのがめんどくさかった…特にブックマークメニューやセパレーターが ID, class 名が割り振られていないので、CSS Selectors を使用してやや強引にしてあります。取り敢えず、私の環境では無問題なのでコレで良しとします
日付 | 内容 |
2011/03/26 (土) | ブックマークツールバーのアイコンを非表示に に 4.0 対応部分を追加 |
2010/12/29 (水) | 現行バージョン (3.6.13) 対応部分 を追加しました |
前回の記事 今日もガクリ('A`) » Internet Explorer 終了のお知らせ に続き、Firefox 2 から 3 へアップグレードしました。 ダウンロードを行ったのはちょうど Spread Firefox | Download Day 2008 のイベントが開始された直後にダウンロードしました
このダウンロードイベントによる Firefox 3 の一日辺りのダウンロードカウントは全世界で約 830 万ほどになったようです
ダウンロードはしたものの、アドオンの関係でインストールは暫く様子を見ようかと思いましたが、インストールの準備の為にプロファイルディレクトリの中身を覗いててアドオンの問題を解決する方法 1 が思いついたのでインストールする事にしました
インストール手順は以下の様に行いました
起動し、まず驚いたのが、Firefox 2 の環境をキッチリと受け継いでくれた事。ブックマークもキチンと引き継がれました。2 あとはなんと言っても、全体的なブラウジングの速度が飛躍的に向上したこと。起動も速くなった事。と、私にとってはとても満足のいくアップグレードでした
ただ、幾つかのアドオンと userChrome.css 等が有効となって無い事が判明。この事に付いては別の記事に詳細を記述していこうかと思います
約5ヶ月ぶりの更新です。日本を離れて、ヨーロッパ、北米、カナダと遊び周ってました。ネットカフェなどから、スパムの処理など基本的な管理は行っていました。先月に日本に戻ってきてたんですが、色々と状況が変化したようですね…1これから、マイペースでちょこちょこと更新していきます
当ブログで使用している WordPress のプラグイン Customizable Post Listings 1 の修正点
ローカルで構築した MySQL のバージョンだと、GROUP BY 句を指定していると正常に SELECT されないので、以下の様に修正$sql .= "GROUP BY $tableposts.ID ORDER BY $orderby $order";
$sql .= "ORDER BY $orderby $order";
上記の最初の if 文で $orderby 変数を置き換えてしまっているので、2番目の if 文では真とはなりません。なので、関数の最初で別変数に保持するように修正if ($orderby != 'rand()') $orderby = "$tableposts.post_$orderby";
・
・
・if ('modified' == $orderby) $sql .= "AND $tableposts.post_modified_gmt <= '$now' ";
$o = $orderby;
・
・
・if ('modified' == $o) $sql .= "AND $tableposts.post_modified_gmt <= '$now' ";
単に投稿日時と更新日時が同じでないレコードを抽出するように条件を加えただけif ('modified' == $o) $sql .= "AND $tableposts.post_modified_gmt <= '$now' AND $tableposts.post_date_gmt <> $tableposts.post_modified_gmt ";