Hatena::ブログ(Diary)

はけの徒然日記 このページをアンテナに追加 RSSフィード

2005 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2006 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 04 | 05 | 08 | 09 | 10 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 10 | 11 |
2011 | 01 | 02 | 03 | 04 | 11 | 12 |
2012 | 02 | 03 | 05 |
2014 | 02 | 03 | 04 | 05 | 12 |
2015 | 05 | 07 | 08 | 09 | 10 | 11 | 12 |
2016 | 01 | 02 | 04 | 05 | 08 | 09 | 11 | 12 |
2017 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 10 |
2018 | 02 | 03 | 04 |

2006-05-31(Wed)

OpenZaurus - GPE化断念

一旦SL-C860をNAND RestoreをしてQtopia環境に戻した上で初期化→最初からインストールをおこないました。今度は左下にメニューボタンが表示されました、ログアウトもできます。

そこでGPEの日本語化を見ながら作業、日本語の表示は上手くいきました。

ところがAnthyインストール

# ipkg install anthy_7716_arm.ipk

ipkg: fork failed
Segmentation fault

というエラーが……orz。こうなるともう私の手に負えません。

ipkg install自体どういうわけかメチャクチャ時間がかかりますし、Opie版の様にお気楽インストールというわけにはいかないようです。

追記

SDカードswapを作成したらanthyインストール自体はできましたがuimで更にエラーがそのほかにもいろいろあって結局断念です。行ったメモを以下に置いておきます(参考になるかどうか(^^ゞ)

続きを読む

Ruby 1.8.4-4

dipusさんトコでRubyバージョンアップしてました。これで外部ライブラリが全て使用できるようになったのかな?

OpenSSLが0.9.8対応ということでw3mを含めていろいろ入れ替えてみようか。。。


Private Linux Zaurus Packages for Emacsen(http://www.focv.com/ipkg/

徒然な覚書(http://tty0.exblog.jp/3675570/

q2ch - サーバー仕様変更対応

2ちゃんねる側の仕様変更で書き込みできなくなる問題の対応版、先日ダウンロードしていたので実験。ついでにPC用のブラウザバージョンアップ

こういうのに迅速に対応してもらえるのは嬉しいですね。


q2ch_0.3.27y17oresama1_arm.ipk

冬眠中…のページ(http://www.medias.ne.jp/~k_yanase/)より入手

[test]書き込みテスト専用スレッド 69[テスト]

http://qb5.2ch.net/test/read.cgi/operate/1148900884/

2006-05-30(Tue)

OpenZaurus - GPEに挑戦したけど

最初は順調にいってたんですよ。ところが環境変数の設定を反映させるためにログアウトしようとしたら、方法がわからない。。。

いろいろ探した挙句に文市さんトコの画像と自分のSL-C860を見比べると画面左下のオレンジ色のメニューボタンが無いじゃないですか……orz


そこで気力が萎えてしまったので今日は終わり。また挑戦します。

2006-05-29(Mon)

hake2006-05-29

OpenZaurusを入れてみる

何やら盛り上げっているので試しにSL-C860にいれてみました。OpieとGPEがあって、OpieはQtopia派生でGPEはX11ベースとのことです、今回はOpie版を入れました。

QPOBox日本語入力できるところまでできました。さすがに動作が速いですねー

QPOBox日本語入力のキーボードからのON/OFFとSDカードGUI上でのアンマウントはできるのかな?

無線LANカードWN-B11/CFZは認識しなかったので有線LANCF-10Tを使用しました。





以下、導入手順。文市さんトコを参考にインストール

続きを読む

2006-05-28(Sun)

KeroPlayer 0.3.1

昨日に引き続きのアップデートです。変更点は以下のとおり。

  • キー操作関連の見直し
  • アプリ終了時に確認を行うようにした(しない設定も可)

キー操作については具体的に下記の変更をいれました。これでそれなりに使い易くなったのではないかと思います。

ブログメニューとエントリリストの選択が実際よく使用するのではないかと思い、それぞれへのフォーカス移動をつけてみました。

アプリ終了時の確認は誤って終了させないための処理です。確認が不要という人はkeroplayer.confを修正してください。

3桁ザウルス用のリモコン(CE-RH1)のキーコード情報を引き続き募集しています(^^ゞ

キーコードが同じということがわかりましたので、そのまま対応ということにします。


Cancelによる停止操作について、当初QAccelでもkeyPressEventでも上手く処理できなかったので諦めかけていたのですけれども、closeEvent内の処理でQCloseEvent.acceptを実施する前にreturnしてしまえば終了しないということに気がついたので案外簡単に実装できてしまいました。

2006-05-27(Sat)

KeroPlayer 0.3.0

4ヶ月ぶりのアップデートです。

今回はダウンロードしたファイルのリモコンによる使用面についての機能をご要望いただきましたので、追加してみました。

変更点は以下です。


3桁ザウルス用のリモコン(CE-RH1)に対応していないのは単純にキーコードが不明だからです、どなたか教えてくださいませ。yaktyさんのKeyHelperConfで調べることができます。

あと別館のページにも書きましたがリモコンの再生ボタンを押すとデフォルトでMusicPlayerが起動して音源の取り合いになってしまうので、使用される方はqpe.confを修正してご利用下さい。

2006-05-26(Fri)

iPod用FMトランスミッタ

一昨日アマゾンに注文したのが届いたので、自動車で近所をひと回りして音を確認。

すばらしいです。

今まではまだザウルスで音楽を聞いていた頃に購入した製品(昨年の9日1日の日記)を使用していました。最初の頃は音質はこんなものだろうと思っていたのですが、FMラジオと比較して音がこもる・音量が小さい・ノイズが入るとだんだんに不満を感じるようになっていました。そこに某iPod系掲示板でこのトランスミッタのことを知り、ネットで評価をみるとなかなかに良さそうなので少し値段が高めでしたけど注文したというわけです。

前に使っていたものと比較して気に入った点

  • 音質・音量が改善した。FMラジオ相当のレベルになったというだけでもうスゴイ改善です、音のレベルも2倍くらいになりました(前の機種ではボリュームレベルを12位にして聞いていたのが6で満足できるようになった)
  • ノイズが無くなった。ヘッドホンジャックからでなくてiPodのDockコネクタから直に取っているのが関係あるのでしょうか?
  • 設定周波数範囲が広い。前のは3種類の周波数固定だったので、よりノイズの少ない周波数が選べるようになった。
  • iPodの電源が取れる。iPodのバッテリ残量を気にしなくて良いというのは、iPodのメモリ容量の大きさをフルに発揮させることができるので長時間の運転でも問題なくなります。これがあればもうCDチェンジャーなんて不要です。

反面、不満点もあります。といっても些細なことですけど

  • ディスプレイが赤い。ボタンや周波数表示部に赤いLEDを使用しているのですけどこれは良くないです、LEDは青か緑の方が落ち着いてよいです。
  • ケーブルが太い。以前のはケーブル巻取り式で場所をとらなかったけれども、これはケーブルの太めなので使用していないときの収納に若干のスペースをとります。でも太いケーブルも音質に影響してるんだろうなぁーとも思ったり

というわけで、もうスッゴイ満足です。高めの値段でも十分に元が取れたという感じですね。

ヨコハマ買い出し紀行 14

ヨコハマ買い出し紀行 (14) (アフタヌーンKC (1176))

ヨコハマ買い出し紀行 (14) (アフタヌーンKC (1176))

あーっ、ついに終わってしまった。

てろてろの時間が流れる夕凪の時代にも人々は暮らし成長してゆく

でもやっぱり変わらないものもあるんだという、そんな作品。

2006-05-25(Thu)

hake2006-05-25

QtDesigner

にゃののんさんの日記を拝見してQtアプリのレイアウトに使用するQtDesignerというアプリを知りました。自分のクロスコンパイル環境の/opt/Qtopia/bin/をみると確かにdesignerというファイル存在します。

起動して使用してみると、いろいろなウィジェットの配置や色などのパラメータ変更が自在にできてこりゃ便利だわ、こんなのがフリーで使えるなんてスゴイなぁ。いろいろなアプリソースをみてると偶に拡張子uiファイルがあったのはこれを使ってたのですね。

一応手順をメモ

$ /opt/Qtopia/bin/designer    QtDesigner起動、レイアウト作業、ファイル拡張子はui

$ /opt/Qtopia/bin/uic sample.ui -o sample.h          ヘッダファイル生成
$ /opt/Qtopia/bin/uic sample.ui -i sample.h -o sample.cpp  プログラムファイル生成

ただし自分の環境ではMakefileを作ってコンパイルするとmocがどーたらというエラーになります。ザウルス用でもエミュレーション用でも同じエラーになるので環境構築でなにかが足りないのかもしれません。まぁその辺は追々に解決していくつもり。

2006-05-24(Wed)

GW-CF11X

本日衝動買い、その一

以前より安くなっていたので予備用にと注文。いや今買っておかないと無くなりそうな気がしたので(^^ゞ

SL-C860でも使用できるので無駄にはならない……と思う。

Monster iCarPlay Wireless Plus for iPod FMトランスミッター AIP FM-CH

本日衝動買い、その二

iPod専用FMトランスミッタ

音質についてネット上での評判が良さげだったので注文、iPodの充電もできるのがポイント高いっス。

2006-05-23(Tue)

lsof - 使用中のファイルを探す

以前、cooldadさんの「メール起動の怪」コメントつけさせていただいたのですが、SDカードを取り外そうと画面右下のSDアイコンタップするとメールマルチメディア辞書が起動して挙句にSDカード取り外しに失敗するという現象が発生していました。

今日2ちゃんねるスレッドを読んでいたところlsofというコマンドを利用すれば原因を突き止められるという書き込みを発見して早速実行。lsofのftpサイトftp://vic.cc.purdue.edu/pub/tools/unix/lsof/)からソースを持ってきてセルフコンパイルしようしたのですが上手く行かなかったので、ザウルス用のパッケージがないか探したところこちらバージョン4.57のパッケージを見つけました。

ターミナルから実行してSDカード(/usr/mnt.rom/card)に関係している情報ピックアップしてみます。

$ lsof | grep /usr/mnt.rom/card

qpe       7266   root  mem    REG       60,1    1568       504
 /usr/mnt.rom/card/backup/.anthy/private_dict_default.tt
qpe       7266   root   21u   REG       60,1    1568       504
 /usr/mnt.rom/card/backup/.anthy/private_dict_default.tt


$ lsof /usr/mnt.rom/card/backup/.anthy/private_dict_default.tt

COMMAND  PID USER   FD   TYPE DEVICE SIZE NODE NAME
qpe     7266 root  mem    REG   60,1 1568  504 /usr/mnt.rom/card/backup/.anthy/private_dict_default.tt
qpe     7266 root   21u   REG   60,1 1568  504 /usr/mnt.rom/card/backup/.anthy/private_dict_default.tt

詳しい見方がわかりませんけど、SDカードにある.anthy/private_dict_default.ttというファイルが使用中であるようです。これはザウルス再起動後にはSDカードの取り外しが可能なのにAnthyを用いた日本語変換を行った後は取り外しが不可能になることに合致します。

というわけで原因はanthyの辞書ファイルでした(メールと辞書が起動するのは依然として不明ですけど)

対策はやっぱりAnthy関連ファイルHDD上に持ってくるしかないのかなぁ。


それはともかくこのlsofといコマンドは何がファイルを開いているかだけでなくて、TCPポートについても調査ができるのでいろいろと使いでがありそうな気がします。

http://www.atmarkit.co.jp/flinux/rensai/linuxtips/652chkopenuser.html

http://www.atmarkit.co.jp/flinux/rensai/linuxtips/664useportps.html

2006-05-22(Mon)

hake2006-05-22

w3mでフレーム表示

デフォルトの状態でフレーム表示しなかったんで無理だと思っていたら、設定画面で「Render frames automatically」をYESにすることで表示できることを発見した。うん、これで少し便利になった。

エンディミオン〈上〉〈下〉

これも量あるなぁ、読み終わるまでどのくらいかかるか。。。

2006-05-20(Sat)

rubyのクロスコンパイル(続き)

昨日の続き

cursesとreadlinerequireできるようにしてみる。何故この二つかというとirbを使用しているときに上下カーソルキーでヒストリが利用できるようになるから、というのをdipusさんの1.8.4-2を試していて気がついた。

まずはncursesとreadllineのクロスコンパイルから

$ LDFLAGS='-static-libgcc' CFLAGS='-Os -static-libgcc -mcpu=xscale -mtune=xscale' \
  CC='arm-linux-gcc' \
  ./configure --prefix=/opt/QtPalmtop \
  --host=arm-linux --target=arm-linux --build=i686-pc-linux-gnu
  --enable-shared (←これは付けなかったかも)
$ make
$ su
# export PATH=/usr/local/zaurus/bin:$PATH  ←readlineのインストールで必要、arm-linux-hogeにパスを通している
# make install
--with-curses-dir=/opt/QtPalmtop
--with-readline-dir=/opt/QtPalmtop
$ arm-linux-objdump -x xxxx.so | grep NEEDED
  • 普通コンパイルするとreadline.soがlibreadline.so.5を必要とするようになってしまう。rubyパッケージだけで動作させたい。スタティックリンクさせる明確なオプションが不明なので、とりあえずlibreadline.so.5を別名に変更してlibreadline.aだけが見えるようにしたらできたみたい。
  • パッケージ化してザウルスインストールしたときに他のライブラリを必要とする旨のメッセージが出ないので良さそう。
  • irb上でrequre 'readline'するとfalseを返すのが謎、cursesはtrueを返す。でもサンプルを動かした限りではちゃんと動作してるんだよなぁ (コメントいただいて理由が判明しました。irb起動時に既にロードされていたのでfalseを返すのでした(^^ゞ)

2006-05-19(Fri)

rubyのクロスコンパイル

もはや自分にとってザウルス上でのテキスト情報の整理を行う上で必須の存在になっているruby。せっかくcoLinux上のクロスコンパイル環境を構築したのだから、これくらいは自分でビルドしたいと思い、勉強をかねて挑戦。

$ tar zxvf ruby-1.8.4.tar.gz
$ cd ruby-1.8.4
  • とりあえずcoLinux上で動くrubyを作ってみる、これは./configure; makeで問題なく作成できた。
  • 次にザウルス用にクロスコンパイル、ちなみに使っているのはgcc3.4.6です。 ./configureの途中でsetpgrpがどーたらというエラーで止まってしまったのでググってみたところ「ac_cv_func_setpgrp_void=yes」というオプションが必要らしい、つけたら通った。
  • コンパイルしてできたバイナリザウルスインストールしたら、Ryby/Qteのアプリが動かない。libruby.so.1.8が必要らしい。というわけで「--enable-shared」をつけて再度ビルド
  • 今度はlibgcc_s.soが無いと怒られた。「-static-libgcc」をつけてたのに良くわからん。
  • Makefileの中を覗くとLDSHARED行に「-static-libgcc」を付けると良さそう、というわけで./configure時に付加
  • makeのログをみるとsocket.soのビルドに失敗してたので、メッセージ通りに「--enable-wide-getaddrinfo」を追加

追記

  • 最適化オプションについてネット上ではサイズを小さくする「-Os」が多く使用されているのでこちらにする。
  • 上で書いたsocket.soのビルド失敗については「--disable-ipv6」で対応するのが一般的らしい
  • 最終的に以下になった
$ export PATH=/usr/local/zaurus/bin:$PATH
$ export LD_LIBRARY_PATH=usr/local/zaurus/lib:$LD_LIBRARY_PATH

$ LDFLAGS='-static-libgcc' CFLAGS='-Os -static-libgcc -mcpu=xscale -mtune=xscale' \
  CC='arm-linux-gcc' LDSHARED='arm-linux-gcc -shared -static-libgcc' \
  ./configure --prefix=/opt/QtPalmtop \
  --host=arm-linux --target=arm-linux --build=i686-pc-linux-gnu \
  ac_cv_func_setpgrp_void=yes --enable-shared --disable-ipv6
$ make
$ su
# make DESTDIR=/ipkg/ruby install

今回のは、zlibやらopensslやら外部のライブラリが使えないので使えるようにしてみたいなぁ。そのためにはzlibやらのコンパイルも必要なのか。。。

2006-05-18(Thu)

zvol 0.0.4

以前、ミュート機能のご要望があったのですが実現方法がわからずにそのままにしていたところ、cheekcatさんより方法を教えていただき早速取り入れさせていただきました。cheekcatさん、ありがとうございましたm(_ _)m

というわけで今回の変更点は以下のとおりです、別館のSHOUTcasyPlayerのページzvolのページからダウンロードして下さい。

  • ミュート機能を追加しました

今回はミュート機能を既存のクラスの中に取り入れたため、TKmixさんのソースに追加させていただきました。

使用方法は以下のとおりです

$ zvol 50	音量を絶対値指定(範囲は0〜100)
$ zvol +10	音量を相対値指定
$ zvol -20	 同 上
$ zvol +m	ミュートON
$ zvol -m	ミュートOFF
$ zvol m	ミュートON/OFF反転

2006-05-17(Wed)

スペカv18f→v18h

fastfpeのバグで浮動小数点の演算結果が異なる(いろいろなアプリで2の平方根が2.0になる等)というトンデモない問題が見つかったので早速アップデート

NeoCalとRubyのMathで確認したところ正常な結果を返すようになりました。

http://tetsu.homelinux.org/zaurus/kernel/index.html

2006-05-16(Tue)

hake2006-05-16

ザウルスで数独

今日は少し移動時間があったのでザウルス用の数独(Zudoku)で遊んでいました。

ルールは縦一列・横一列・3×3のマス目各々に1〜9までの数字を重複させないように埋めていくというだけの至ってシンプルなもの。昨年は欧米でかなりヒットしたゲームみたいですね。で、やってみると結構難しいですけど良い暇つぶし&脳トレになります。


入手先:http://www.figlabs.com/catalog/zudoku.phpメアドを入力するユーザー登録が必要)

他にもJavaで動くZsudoku(http://www.killefiz.de/zaurus/showdetail.php?app=4773)がありました。

徒然に

  • 固定資産税の納付通知書が郵便受けに、5月支払いってことをすっかり忘れてたよorz……出費がかさむなぁ
  • 新尾道三部作の残りのDVD、近所のレンタル屋さんに無かったよ。みれないじゃん。
  • coLinux上でw3m(& w3m-img)をインストールしたら、ちゃんと画像も表示すんですねスゴイです。ザウルスX/Qt入れてdipusさんとこのw3m入れたら快適さは変わらないで画像表示してくれのだろうか。
  • なにやらSONYからスゴいマシンの発表があったみたい(http://www.sony.jp/CorporateCruise/Press/200605/06-0516B/)外見はいかにもPDAって感じ。値段を考えなければザウルスの置き換えにもなるのですけどね。ところでUMPCはどうなったのでしょう?
  • YouTubeの動画、某サイトを経由するとザウルスw3mでもダウンロード可能なことを発見こりゃ便利

2006-05-15(Mon)

hake2006-05-15

バックアップファイル

久しぶりにSDカードに対して全体バックアップを取ったら容量不足のメッセージが、おいおいと思いながら本体ディスクにとったファイルのサイズをみると約200MBの数字が……SL-C3000購入当時にとったバックアップファイルのサイズをみると約19MB。ずいぶんでかくなったなぁ思いつつこれは2GB越のSDカードを買えということなのでしょうかね。やっぱemacs関連のファイルインストールした影響が大きいのかな。

それはともかくひとつ不安が、SL-C1000/3100以降のプログラム領域は128Mのフラッシュ上ですよね。もし将来後継機に買い替えした場合はこのSL-C3000みたいにお気楽にどんどんインストールしていくなんてこと出来なくなるなぁ。

ふたり

ふたり デラックス版 [DVD]

ふたり デラックス版 [DVD]

新尾道三部作の第一作

神様の自宅が事故現場ってことにまずビックリ。尾美としのりも5年たって大人になったなぁと思いつつ。

ドジで愚図な妹が、必ずしも幸せとはいえない環境幽霊となった姉の助けを得て家庭や学校の問題、恋愛を経験して成長し自立していく物語。反面、成長してゆく妹を見守りながら止まった刻の中で少しずつ居場所を失くしていく姉の存在が哀しいです。

前にみた旧三部作は雰囲気としては好きだったけど、この作品は更にお話としても好きかも……っていうかエラく感動しました。主題曲の「草の想い」も何ともいえない物悲しさが作品に良くマッチしたいい曲でした。

2006-05-13(Sat)

coLinux上でQteエミュレーション

最近ザウルス用のQtアプリ勉強コンパイル速度や画面の広さといった理由でWindowsPC上に構築したCygwin上のクロスコンパイル環境で行うことが多くなっていました。ところが動作確認の段階でいちいちバイナリザウルスの移動する作業が面倒なのでエミューレションできるqvfbを導入すべくいろいろと努力していたのですがどうも上手くいかない。qvfbの単体起動で「bad systemcall」と表示されるに至ってスッパリと断念、coLinux上にQtクロスコンパイル環境エミュレーション環境を作ることにしました。

f:id:hake:20060513110204j:image

で、できたのが上の画像、実行しているのは先日のdrawtestのプログラムです。画面がWindowsっぽく無くなっていてなんか嬉しい(笑) ちなみにXサーバーCygwin/Xを使用しています。

ただし実際に動かしてみると若干の問題点もありますね、挙げると以下のとおり。

まぁC++勉強につかう分にはなんら不満ではないのでこのまま使用してみようと思います。これでCygwinはXサーバー機能以外は必要なくなったかもしれない。

以下、導入手順

続きを読む

2006-05-12(Fri)

hake2006-05-12

ちょっとした発見

無線LANで接続中に気がつきました。画面右下の「接続中」ダイアログの「i」アイコンタップすると接続IPの情報を表示しますね。

自動車税

のお知らせが来たので昼に納付してきました。今年から封書ではなくてハガキになってました。今月はガソリンの値上げといい自動車関係の出費が多いですな。

2006-05-11(Thu)

MOON LIGHT MILE 12

MOONLIGHT MILE 12 (ビッグコミックス)

MOONLIGHT MILE 12 (ビッグコミックス)

4月末にでてたのに、気がつかんかった。

過去の遺物であるH供檻ロケットで宇宙へ向かおうとする吾郎とかつての技術者たち、ん〜、燃える展開。しかし某国のテロリスト潜入(某国ってどこだ)でキナ臭くなってきました。

2006-05-10(Wed)

ZPLayerでYouTube

りなざうテクノウさんのとこで知りました。

最近よく話題になっているYouTubeのflv形式の動画mplayerで再生できるとのことなので早速挑戦。動画ダウンロードについては少しググッたら方法がわかったのでそのとおりにしてファイルを取得。

あとは普通プレイリストに登録して再生したところ他のファイルと同じく全画面表示で再生できました! 試したファイルはスペカのノーマルクロックでも普通に観賞できたけど動きの速いものはクロックアップした方が良いかもしれない。

早送りができないのがちょっと辛いけど、最近のは最大10分程度なので致命的ではないですね。それよりもYouTubeの多くの資産を利用できるメリットは大きいです。

C++でQTアプリ(その10) 描画処理

Ruby/Qteの勉強で行ったQPainterを用いた線の描画プログラムを書いてみた。画面下のテキストエリアの関数の定義を書き、Drawボタンを押すと関数の曲線を描きます。

関数の評価の方法がわからない(evalみたいなのはC++にもあるのだろうか)のでslcalcソースを使わせてもらいました。

描画はQPainter *pを宣言してp->begin()からp->end()の間で描画内容を記述します。今回はX=-319〜319の範囲での定義した関数によるYの値で決まる座標に線を引いています。

f:id:hake:20060510205535j:image:small

続きを読む

2006-05-08(Mon)

C++でQTアプリ(その9) ダイアログの作成

クラスQDialogを使ってダイアログ用サブウィンドウを作成してみる。クラスDlgはQDialogを継承ボタンAcceptReject、Closeを配置して各々同名のスロットウィンドウを閉じるようにしている。またgetStatus関数によってCloseEventの発生を知ることができるようにしてみた。

ダイアログウィンドウクラスDialogTest上のnewで新規ウィジェットを作成し、execで表示を行い結果を取得している。ちなみにダイアログはモーダルで作成している。

これでウィンドウの閉じ方による返り値とCloseEventの発生の有無を調べてみると以下の様な結果となる。

 OK(右上):Accepted、CloseEventなし
 X(右上):Rejected、CloseEvent発生
 Accept :Accepted、CloseEventなし
 Reject :Rejected、CloseEventなし
 Close  :Rejected、CloseEvent発生

CloseEventはウィンドウを閉じる全ての場合に発生するものでは無いらしい。というかAcceptRejectは実際にはウィンドウを閉じていない?

続きを読む

2006-05-06(Sat)

C++でQTアプリ(その8) QCopメッセージ送信

昨日作成したrcvqcopにメッセージを送信してみる。

ボタンRaiseを押すとメッセージraise()が送信される、ボタンMessageではtest(QString)が引数付きで送られる。いずれもrcvqcopが起動していない場合はメッセージ受信により起動する。

メッセージの送信にはQCopEnvelopeを使用。リファレンスを見るとQCopChannel::sendでも送信ができそうで実際コンパイルも通ったが動作はしなかった。

なお、通常ターミナルアプリ起動に使用するメッセージ

QPE/System 'execute(QString)' rcvqcop

を送信してみたがQVGAモードで起動するような素振りをみせたけど起動しなかった。また、メッセージ中に指定している数の引数を付けないでメッセージを送信した場合Qtopiaが落ちたので注意が必要。引数が複数存在する場合は「<<」で接続していく。

続きを読む

Special Kernel v18f

が公開されていたので約一ヶ月ぶりに18dからアップデート

例によってZBenchで測定、いずれも再起動直後の5回測定の平均値。スゴイッす、浮動小数点演算が倍以上になってるよ。

v18d@SL-C3000
The average with 5 times.
[    Integer     ] time is  4.884 sec
[ Floating point ] time is  4.789 sec
[   Draw Text    ] time is 13.347 sec
[  Draw Graphic  ] time is  9.227 sec

v18f@SL-C3000
The average with 5 times.
[    Integer     ] time is  4.883 sec
[ Floating point ] time is  2.074 sec
[   Draw Text    ] time is 13.245 sec
[  Draw Graphic  ] time is  6.987 sec

時をかける少女、さびしんぼう

時をかける少女 [DVD]

時をかける少女 [DVD]

さびしんぼう [DVD]

さびしんぼう [DVD]

「かみちゅ!」を見てからみようみようと思って延び延びになっていた大林宣彦監督の尾道三部作のうちの二作品(残念ながら「転校生」はレンタル屋さんになかった)

作品全体がセピア色に染まっているようなノスタルジックな作品、決して素晴らしいお話というわけでもないのだけれども何ともいえない懐かしさが滲み出てくるような作品たち、なかで使われている「桃栗三年」の歌(これって曲がついていたのか)や「別れの曲」も心に染み渡るような不思議な感じです。

特典映像監督が仰っていましたが映画のシーン使われた場所のいくつかはもう存在しなくなっているとか、観る側にしてみれば少し悲しいですね。いつか尾道に行ってみたいぞっ!


「時を〜」のラストで二人がすれ違って、ぐぐっと距離が開くところはどうやって撮っているんだろう?

2006-05-05(Fri)

C++でQTアプリ(その7) QCopメッセージ受信

ザウルスQTアプリケーションではQCopを使って相互にメッセージのやりとりを行うことができる、その実験。

クラスQCopChannelを用いてQCopチャンネルを設定、QCopメッセージを受信するとシグナルreceivedが発生するので、connectを用いて処理を行うスロットに接続する。下のプログラムではメッセージtest()またはtest(QString)を受信した場合にその旨を表示、それ以外の場合はUnknownと表示するようにしている。

コンパイルしてできた実行ファイルrcvqcopを/home/QtPalmtop/binの下に置いて適当アイコン登録して起動。ターミナルからQCopメッセージを送ってみる。

$ qcop QPE/Application/rcvqcop 'test()'
$ qcop QPE/Application/rcvqcop 'test(QString)' 'Send QCop Message'

ちなみにrcvqcop起動時と他のアプリから切り替えたときにはメッセージraise()を受信するのがわかる。

f:id:hake:20060505212206j:image:small


追記

QCopChannnelを使用しない方法もありました、7月28日の日記を参照


続きを読む

2006-05-03(Wed)

C++でQTアプリ(その6) イベント処理

予め用意されているイベントに処理を追加。下のプログラムでは画面をペンでタップすると文字を表示する。

クラスQMultiLineEditを継承して新たにEditというクラスを作成、ここでmousePressEventの処理で“mousePressEvent発生”の文字を挿入するようにしている。ちなみにmousePressEventは、QMultiLineEditの継承を遡ってQWidgetにあるイベントである。ヘッダーファイルでの宣言にvirtualがくっついているのはリファレンスのProtected Membersで書かれていたのでそのとおりにした、理由は不明。

続きを読む

2006-05-02(Tue)

C++でQTアプリ(その5) テキストファイルのアクセス

テキストファイルの読み書きをしてみる。ファイルリードボタンを押すと/home/zaurus/Documents/sjis.txtの内容をテキストエリアebに表示、ファイルライトボタンを押すとテキストエリアの内容を/home/zaurus/Documents/sjis2.txtへ出力する。

アクセスするファイル文字コードはQTextCodecで指定する。ファイルへのアクセスは QTextStreamを介して行う。ストリームを使用することで行単位の読み込みや「<<」を用いての出力が可能になる。ファイルリードについてはQFileのリファレンスの例題をそのまま使用した。

テキストエリアebの行数が多い場合は、eb->textをストリームにして1行ずつ出力した方が良いのかもしれない。

QTesxtCodecは各スロットではなくコンストラクタ文字コードを定義して使用したかったのだけど、やり方が不明。


以下余談、C++は文字列の扱いが大変っていうイメージがあったのだけれども、QTクラスを扱う限りではかなりRubyライクなプログラミングができている。これがコンソールアプリを作るとなると、こんなにお気楽にはできないのだろうなぁ。


続きを読む

涼宮ハルヒの憤慨

涼宮ハルヒの憤慨 (角川スニーカー文庫)

涼宮ハルヒの憤慨 (角川スニーカー文庫)

雑誌掲載の中編2編を掲載。う〜ん、ゲストキャラが登場する作品はどうもイマイチ感が強いなぁ。長門作品の暗喩を考察して楽しむのが正しい読み方なのか。

それにしてもキョン作品のオチが解らなかった自分って一体……orz

2006-05-01(Mon)

C++でQTアプリ(その4) ファイルの選択

ディレクトリを移動してファイルを選択する。下のプログラムではカレントディレクトリの内容をQListViewにリストを表示する。リストディレクトリを選択した場合はディレクトリ移動を行って、その内容をリスト表示。

ディレクトリ関係の処理はQDirクラスを使用。更にQdir.entryInfoList()とQFileInfoListおよびQFileInfoListIteratorを用いることでディレクトリ下の各要素各々に対して処理を行うことが可能、RubyDir.each{|file| … }と同じ感じ。関数makeFileList()は、リファレンスの例題をそのまま使用した。

        const QFileInfoList *list = d.entryInfoList();
        QFileInfoListIterator it( *list );      // リストイテレータの作成
        QFileInfo *fi;                          // 走査を行うポインタ
        while ( (fi=it.current()) ) {           // 各ファイルに対し...
            処理
            ++it;                               // リストの次の要素へ進む
        }

ファイル名についてはQStringを用いているせいかUTF-8日本語でも問題なく処理してくれた。

QDir.setSortingの設定はQListView側で勝手ソートしてしまうので意味を成さない。QListView側でもう一つカラムを追加してQListView.insertItem毎にインクリメントする数値を設定していけば良いと思う。

f:id:hake:20060501204744j:image:small

続きを読む