ガジェットの画像を一定間隔で切り替える

そんな訳で、ガジェットの画像を切り替えます。

最終的には、特定のURLからXMLデータを拾ってきて(画像ファイル一覧とか)、それにしたがって、ぐるぐると廻すのが良いのですが、ひとまず画像を切り替える部分だけ。

ガジェットの中身はDOMで、普通のブラウザのように扱えます。なので、背景画像を切り替える場合でも、src プロパティの値を変えるだけです。

ガジェット内での指定は、「url( images/photo.png )」のように指定しています。これを、http で指定すれば、そのまま外部サーバーから画像を持ってこれます。

 

     <script type=”text/jscript” language=”jscript”>

var timerid;
var sec = 0;
var count = 0;


function start_timer()
{
 timerid = setInterval( “interval()”, 5000 );
}
function interval()
{
 sec += 5;
 if ( sec >= 30 ) {
  sec = 0;
  count++;
  if ( count >= 4 ) {
   count = 0;
  }
        var oBackground = document.getElementById(“imgBackground”);
        oBackground.src = “url(http://moonmile.net/images/photo”+count+”.png)”;
 }
 var dd = new Date();
 var hour = dd.getHours();
 var min  = dd.getMinutes();
 var s    = dd.getSeconds();
 var status = (“00″+hour).slice(-2,4) + “:” + (“00″+min).slice(-2,4)+”:”+(“00″+s).slice(-2,4);
    var clock = document.getElementById(“clock”);
 clock.innerText = status;
}


        // ——————————————————————–
        // Initialize the gadget.
        // ——————————————————————–
     function init()
     {
         var oBackground = document.getElementById(“imgBackground”);
         oBackground.src = “url(http://moonmile.net/images/photo0.png)”;
   interval();
   start_timer();
        }
     </script>
    </head>
 
<body onload=”init()”>
    <g:background id=”imgBackground”>
 <div id=”clock”>00:00</div>
 <div id=”copyright”><a href=”http://bijo-linux.com”>bijo-linux.com</a></div>
 </g:background>
</body>
</html>

あとは、タイマーを使って、一定間隔で呼び出されるようにすればOK。

上のソースでは、時刻も表示していますが、デバッグ用なので、後で消してしまいます。

あとは、コマンド検索ですね。これは、サーバーに対してxml-rpcとかが良いかな。

 

カテゴリー: サイドバーガジェット | ガジェットの画像を一定間隔で切り替える はコメントを受け付けていません

ガジェットに画像を貼りつける

Windows サイドバーガジェットの続き。

まずは、画像関係を変えてしまいましょう、ってな訳で、

株式会社Linuxジャパン | Linuxに関わるソリューションをご提供
http://linux-japan.co.jp/

からロゴを拝借。

20101102_04.jpg

変えないといけないのは、

  • 左上のロゴでてくる、大き目なアイコン。
  • 右下の説明用の小さなアイコン
  • 左下の説明文

ですね。

これは、gadget.xml を書き換えます。

HelloWorld のガジェットをコピーして、ちまちまと変えればOK。

20101102_05.jpg

大きめなガジェットになると、namespace を変えたほうがいいような気もするので、一応変更。

他に、背景の画像を変えたいので、

     function init()
     {
         var oBackground = document.getElementById(“imgBackground”);
         oBackground.src = “url(images/photo1.png)”;
        }
     </script>
    </head>
 
<body onload=”init()”>
    <g:background id=”imgBackground”>
 <div id=”copyright”><a href=”http://bijo-linux.com”>bijo-linux.com</a></div>
 </g:background>
</body>
</html>

↑なところを変えます。

背景色が透明なPNGを使うと、デスクトップが透けて見えますね。

Developing a Gadget for Windows Sidebar Part 2: The G:BACKGROUND, G:IMAGE, G:TEXT Presentation Elements and GIMAGE Protocol
http://msdn.microsoft.com/ja-jp/library/bb676240(v=VS.85).aspx

↑を見ると、body タグの background で指定することもできますが、透明色を指定しないと駄目なので、いまいちかなぁと。

そういう訳で、途中経過がこれです。

20101102_06.jpg

<注 肖像権があるので、他にコピーはしないでくださいね>

写真を貼りつけるぐらいならば、これでOKという訳です。

リンクのほうは、普通に a タグを付ければOKなようです。

あと、ガジェットを作る時なのですが、いちいち zip ファイルを作って、拡張子を gadget に変えて、というのは面倒なので、

C:\Users\<ユーザー名>\AppData\Local\Microsoft\Windows Sidebar\Gadgets\

のフォルダを直接編集すれば効率が良くなります。一度ガジェットを消して、もう一度デスクトップに追加し直せばガジェットが更新されています。

 

 

カテゴリー: 開発, サイドバーガジェット | ガジェットに画像を貼りつける はコメントを受け付けていません

サイドバーガジェットを作る(準備)

美女linux 関連で、調べものを。

デスクトップに出てくるツールですが、「ウィジット」と言ったり「ガジェット」と言ったりするようで、、、

Windows 的には「サイドバーガジェット」が正式名称みたいです。

Developing a Gadget for Windows Sidebar Part 1: The Basics
http://msdn.microsoft.com/ja-jp/library/bb456468(v=VS.85).aspx

↑から辿ると、諸々のチュートリアルとサンプルをダウンロードできます。

ひとまず、ガジェットのサンプルのダウンロードをすると、

Gadget Samples For Windows Sidebar
http://msdn.microsoft.com/ja-jp/library/bb735517(v=VS.85).aspx

  • SDK_docked.gadget
  • SDK_Flyout.gadget
  • SDK_Graphic.gadget
  • SDK_HelloWorld.gadget
  • SDK_Settings.gadget
  • SDK_SystemDebug.gadget

というサンプルのファイルがあります。

この拡張子を gadget から zip にして解凍すると、中の HTML や javascript が見れます。

20101102_01.jpg

HelloWorld.html を眺めると、普通にHTMLだったりします。

20101102_02.jpg

# このあたりの仕組みは、adobe air とか yahoo! ウィジットとかと同じですね。
# 多分、iGoolge ウィジットも同じかと。

デザインはさておき ^^;

当面、私がやりたいことは、

  • 画像を表示させる。
  • 特定の URL へジャンプ(ブラウザを開くで十分か)。
  • 一定間隔で、画像をダウンロードして表示?
  • コマンド検索ができると良いかなと。

ってなぐらいで、大したことをやりたい訳ではありません。

なので、この位は、さっくりとできなくちゃね。。。と自分を追い込んでおいて、次へ続く。。。

 

カテゴリー: 開発, サイドバーガジェット | サイドバーガジェットを作る(準備) はコメントを受け付けていません

つい読み専用ブラウザ TwiNetReader ver.0.4

ツールの公開が続いていますが、、、どうにも、IE8でnewtwitterの調子がおかしいので、しばらく旧版に戻して使うことにしました。

で、旧版に戻すと、トップにある「新しいtwitterが公開されました!」ってのが、うざったいのです。

なので、これを消します(苦笑

ダウンロードは、こちらから。

IE8だと、こんな風に余計なものが。。。

20101021_02.jpg

つい読みブラウザだと、こんな風になります。

20101021_03.jpg

どうも、newtwitterの不具合は、IE8のJavascript関係のエラーなんですよね。FirefoxやChromeだと、うまく動きます。IE8のJavascriptの遅いのが原因なのかもしれず、IE9だと大丈夫なんじゃないかなぁ、と思ったりもするのですが。

ただ、この動きだとIE8を使っている人にはtwitter自体を勧められませんよねぇ、とか思ったりします。別なクライアントを使えばいいんでしょうけど、最初はtwitter.comが提供しているものを使うのがベターですから。

 

カテゴリー: ツール | つい読み専用ブラウザ TwiNetReader ver.0.4 はコメントを受け付けていません

特定の検索ロボットを(クローラー)を排除する

ちょっと忘備録的に。

尖閣問題で、百度(Baidu)のクローラーを排除じゃ、とはツイッターで書いたのですが、ま、岡崎図書館の例もあるので、試しに、特定のクローラーを排除してみます。

特定 IP で排除しても良いのですが、クローラーの場合は複数ある場合が常なので、UserAgent で排除します。

UserAgent は偽装している場合も多いのですが、最近のクローラーは律儀に設定してくれるので、これで排除できます。

本来は、robots.txt で排除すべきなんでしょうが、robots.txt のほうは、

  • クローラー側で、クロールするか否かを決定する。

という欠点(私には致命的な欠点だと思うのですが)があります。Googleなどのような行儀の良いクローラーの場合は効果があるんでしょうが、自作のクローラーなんかだと、チェックしていない可能性は大ですよね(単なるプログラマのサボり、という意見もあるでしょうが、ちょっとしたクロールをしたい場合なんかは、さっくりと robots.txt を無視しかねません)。

なので、サーバー側で自己防衛するのが、良い手段かな、と。

というわけで、wordpress 側でブロックできる方法を探していたのですが、どうやら apache のほうでブロックできるので、それを使います。

まず、apache のログから、Baidu が使っているクローラーの UserAgent をチェックします。

Baiduspider+(+http://www.baidu.jp/spider/)

多分、百度の日本法人サーバーから飛んできているのでしょう。URLも書いてあります。

これを、「Baiduspider」の文字列を含む UserAgent をガードする場合、.htaccess に以下の記述をします。

SetEnvIf User-Agent “Baiduspider” deny_ua
order allow,deny
allow from all
deny from env=deny_ua

SetEnvIf を使って、一旦 deny_ua という変数に割り当てた後、deny で拒否する、という流れだそうです。

この .htaccess を wordpress がインストールされているディレクトリに置けばOKです。

参照元

WordPressもUserAgentでスパムを拒否してみる
http://blog.browncat.org/2007/06/wordpressuseragent.html

実は、このブログに来る百度のクローラーは、全体の5%ぐらいなので負荷的には大したことはありません。つまりは、営業/露出的にも大したことがないということで、ひとまずカット。

ちなみに、Googleのクローラーは

Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)

な感じで UserAgent を付けてくるので、「Googlebot」でガードしてしまえば良さそうです。

試験サイトを公開する(Googleにはクロールされたくないとか)場合に使えますね。

試験サイトの場合は、特定のクライアント(社内からのアクセスとか、個人宅からのアクセス)となることが多いので、アクセスするときの IP で許可するのも良いかと思います。

 

カテゴリー: 開発 | 特定の検索ロボットを(クローラー)を排除する はコメントを受け付けていません

アメブロ自動ペタツール ThxPeta ver.0.6

本当は、「アリぷら」の委譲編を書きたいのですが(「アリぷら」ってのは「アリスはプラダがお好き」の略です)、なんとなく自動ペタツールをヴァージョンアップ。

まあ、単純にIEのかちかち音を消しただけです。

ダウンロードは、こちらから。

20101019_03.jpg

今回は2枚 WebBrowser を持っています。

ペタペタする時は、後ろに隠れた WebBrowser を使います。非表示にしている間は、Navigate で URL を指定しても、かちかち音が鳴りません。

# 過去ログなんかを眺めると、非表示にしたときにうまくデータ取れない時があるようなので、要注意ですが。自動ペタのほうは大丈夫です。

 

カテゴリー: ツール | アメブロ自動ペタツール ThxPeta ver.0.6 はコメントを受け付けていません

IEのかちかち音(クリック音)を消す

試しに、IEのかちかち音を消すツールを作ってみました。

ダウンロードは、こちらから。

20101019_02.jpg

やっぱり、かちかち音だから、かちかち山じゃなくちゃね。ということで、画像選びのほうが時間が掛かっていたり。

Visual Studio 2010 で作ったソース付きです。

要は、Internet Explorer が使っているレジストリを変更すればいい訳で、このレジストリを読み込むタイミングが WebBrowser の Navigate メソッドが呼ばれた時なんですね。

HKEY_CURRENT_USER\AppEvents\Schemes\Apps\Explorer\Navigating\.Default

ソースは、こんな感じ

        private string keyCurrent = @&quot;AppEvents\Schemes\Apps\Explorer\Navigating\.Current&quot;;
        private string keyDefault = @&quot;AppEvents\Schemes\Apps\Explorer\Navigating\.Default&quot;;

        /// <summary>
        /// クリック音をON
        /// </summary>
        /// <param name=&quot;sender&quot;></param>
        /// <param name=&quot;e&quot;></param>
        private void btnOn_Click(object sender, EventArgs e)
        {
            // .Defaultの値を読み込んで、.Currentに書き込み
            RegistryKey key = Registry.CurrentUser;
            key = key.OpenSubKey(keyDefault);
            string data = (string)key.GetValue(null);
            key.Close();

            key = Registry.CurrentUser;
            key = key.OpenSubKey(keyCurrent,true);
            key.SetValue(null, data);
            key.Close();
        }
        /// <summary>
        /// クリック音をOFF
        /// </summary>
        /// <param name=&quot;sender&quot;></param>
        /// <param name=&quot;e&quot;></param>
        private void btnOff_Click(object sender, EventArgs e)
        {
            // .Currnetを @&quot;&quot; にする。
            RegistryKey key = Registry.CurrentUser;
            key = key.OpenSubKey(keyCurrent,true);
            key.SetValue(null, &quot;&quot;);
            key.Close();
        }

なので、アプリケーション毎に動作を変えたい場合は、

  • アプリケーション起動/終了時に、この値を変える。

あるいは

  • Navigate の呼び出し前後で、OFF/ON を繰り返す。

ってのが方法です。

前者の方法だと、アプリが立ち上がっている間は、IEのかちかち音が鳴らなくなるので、どちらかと云えば、後者がベスト。

ただ、レジストリを読み書きする回数が増えるのが、ちょっと嫌なので、アメブロ自動ペタの例で云えば、

  • ペタを開始する時に、OFFする。
  • ペタを終了した後で、ON にする(元に戻す)。

が良いかなと。

が、実は、WebBrowser を非表示(Visuble を false)にすると、かちかち音はならないのです。

なので、バックグラウンドで隠れ WebBrowser を利用しておいて、表面上は別の WebBrowser を、というのが良いですね。という訳で、こっちのほうは別のエントリーで。

カテゴリー: 開発 | IEのかちかち音(クリック音)を消す はコメントを受け付けていません

アメブロ自動ペタツール ThxPeta ver.0.5

しばらく、ほっといていましたが、アメブロの自動ペタツール ThxPeta をヴァージョンアップしました。

バージョンアップのポイントは、

  • 再取得ボタンを実装。
  • 「ランキング」へのショートカット
  • 「アクセス解析」へのショートカット
  • 「ブログを書く」へのショートカット

ですね。実に、大雑把なヴァージョンアップで…大した変更もしていません。

ま、常に立ち上げておいて、ちまちまと閲覧、ちまちまと自動ペタ、という使い方を想定しています。

ダウンロードは、こちらから。

20101018_01.jpg

さて、この中で、自動ペタをしている途中に「かちッ、かちッ」と、音が鳴る分けですが、これが IE でリンクをクリックした時の音なのです。ぺたぺたしている間に、かちかちなってうるさいッたらありゃしあない。

ちっとばかし探しては見たのですが、WebBrowserだけのクリック音を変えるのは無理なそうで、

富士通Q&A – Internet Explorer でクリックしたときの音を変更する方法や音を消す方法を教えてください。 – AzbyClub サポート : 富士通
http://www.fmworld.net/cs/azbyclub/qanavi/jsp/qacontents.jsp?rid=421&PID=5003-6126

にあるように、コントロールパネルの「サウンド」から「ナビゲーションの開始」の音をOFFにすると良いそうです。

# まあ、IE のクリック音も消えてしまいますが。あまり必要ないし。

WebBrowser がこの設定(多分レジストリ)を見ているはずなので、ピンポイントで消せるような気もしますけどね。

 

 

カテゴリー: ツール | 4件のコメント

台湾Silverlight

時流に乗り遅れましたが、台湾Silverlight

Microsoft Silverlight 第一彈 光 誕生
http://www.microsoft.com/taiwan/silverlight/default.htm

20101011_01.jpg

いわゆる、萌えキャラをトップページに持ってきた感じで、名前が「Hikaru」なのは、日本語で英語が混じると「かっこいい」(ような気がする)的な感じかと。

プロフィールは、初音ミクに似ているのは、キャラ設定が少々やっつけなんでしょう。微妙にデッサンが狂っている(左手の向き、左目とか)は、そういう「記号」に則るので、良しとするかなぁ、なぞと。

Siliverlight カラーである、透明な青を基調としているところが好感が持てます。

あと、「四女」ってことは、上に三人いるってことですね。

# 実は、この発表時点で、Silverlight 4 となるので「四女」かと。
# そうなると、長女、次女、三女は出て来ない可能性が高い。という言及がぽちぽちと。

ちなみに、窓辺ななみは、どこにいっちゃったんでしょうねえ?とか。

20101011_02.jpg

 

Microsoft Silverlight girl hates spicy foods, has no nose — Engadget
http://www.engadget.com/2010/09/28/microsoft-silverlight-girl-hates-spicy-foods-has-no-nose/

20101011_03.jpg

Why can’t the US have an anime mascot dang it!

というコメントもあるので、反応は日本と同じかも。敢えて、萌えキャラ路線を主流にしなくてもいいけど、傍流ではありかなぁ、とか。

 

 

 

カテゴリー: 雑談 | 台湾Silverlight はコメントを受け付けていません

携帯プラグインをアメブロ風にする

wordpress の携帯プラグイン ktai style のテンプレートをアメブロ風に修正している途中。

まずは、携帯で使えるCSSを利用

参考資料・オープンウェーヴ社が定めているCSSのプロパティ – 携帯電話向けコンテンツの書き方
http://www.marguerite.jp/Nihongo/WWW/Mobile/CSS-Note.html#PROPERTIES

手元にあるsoftbank携帯(実はvodafon時代のもの)で使うので、特別はカスタマイズせずにしようかなぁと。

大まかな確認はは、goo モバイルを使っています。

サイトビューア goo モバイル
http://emu.mobile.goo.ne.jp/emu/emu.php

あまりにも大まかなので、Docomoのエミュレータも併用していますが。

■全体的にフォントの大きさを小さくする。

携帯電話の通常のフォントだと、横12文字しか使えないので(私の携帯が古いというのもありますが)、これをもう少し小さくします。

wp-conent/plugins/ktai-style/themes/redportal/header.php

<?php ks_wp_head(KTAI_NONE_PC_HEAD); ?>
<style type=”text/css”>
h1 {
font-size: small;
color: white;
background-color: green;
text-align: center;
padding: 5px;
}
body { font-size: small; }
</style>
</head>

こんな風にスタイルシートが使えます。

■横幅をはみ出た文字列を自動スクロールさせる。

通常は、横幅以上の文章は折り返しになるのですが、リストなんかの場合はカーソルをあてたときに自動でスクロールするといいですよね。

PCの場合はスクロールバーが出ますが、携帯の場合は自動スクロール(マーキーみたいな感じ)します。

<div mode=”nowrap”>…</div>

のように nowrap 指定すればOK。

wp-conent/plugins/ktai-style/themes/redportal/home.php にあるリストの部分を書き換えます。

 <img localsrc=”508″ alt=”” /><a href=”<?php the_permalink(); ?>”><?php the_title(); ?></a><br />

これを

<div mode=”nowrap”><img localsrc=”508″ alt=”” /><a href=”<?php the_permalink(); ?>”><?php the_title(); ?></a></div>

こんな風に書き換えます。

これを goo モバイルで見ると

20100929_01.jpg

な感じ。ちょっと文字が小さくなって読みやすくなったかも。

 

カテゴリー: Wordpress | 携帯プラグインをアメブロ風にする はコメントを受け付けていません