nyanotech / oneko Goto Github PK
View Code? Open in Web Editor NEWThis project forked from ireneknapp/oneko
An update of the classic digital kitten.
This project forked from ireneknapp/oneko
An update of the classic digital kitten.
oneko - Neko runs over the windows. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Original program written by Masayuki Koba Modified by Tatsuya Kato ([email protected]) Modified 20 years later by Irene Knapp ([email protected]) 以前、fj.sources に xneko という X Window 上で動く「猫」が投稿されてい ましたが、残念ながらこの「猫」は一つのウインドウを作ってそのウインドウ の中でマウスを追いかけて走り回るものでした。 そこで私が「猫をおりに閉じ込めておくのは可哀想じゃないか」と思い、画面 の上を縦横無尽に走り回るように改造してあげました。 その名も "oneko"。最初は 'oclock' の 'o' を取ったつもりだったのですが、 oclock って丸いから 'o' なんじゃなくて o'clock の 'o' ですよね。で、' o' のこじつけに "Neko runs Over the windows" の 'o' をつけました。(苦 しい) # nとmは隣合わせのキーなのでくれぐれも間違って入力しないようにして # 下さい。 このプログラムを実行するには X Window System が必要です。X のバージョ ンは R3 または R4 ですが、R4 で採り入れられた Shape extention を使って いますので R3 で実行する場合はつまらない実行結果になってしまいます。 (Shape extention がなくてもコンパイルはできるようにしてあります。) 実行するマシンは Sun4/330 と、NCD のX端末でしか試してませんが、X端末 でははっきりいって遅いです。Sun のコンソールでやった時にはパラメータの 設定でかなりの速度まであげられるのですが ......。 お試しください。 <バージョンアップによる機能拡張> ◎ オプションはすべてリソースからも指定できるようになりました。ただし、 Xrm ライブラリ関数を使用せず、XGetDefault でリソースの取得を行なっ ています(X11R1 相当の機能)ので、アプリケーションデフォルト (/usr/lib/X11/app-default にあるファイル)でのリソース指定はまだで きません。 ◎ NTTSOFT local で好評だった(?)とら猫にする機能を採り入れました。 実行時に % oneko -tora とすると猫の模様が変わります。 ◎ 色の指定ができるようになりました。起動時のオプションで -fg, -bg を 指定して下さい。 ◎ この猫は、寝ている時にねずみをゆっくり移動させると気づかずに寝て います。これは一定時間内にマウスの動いた距離がある値を越えなければ 気がつかないようになっているのですが、この「ある値」をオプションで 変えられるようにしました。デフォルトは6になっているのですが、 % oneko -idle 20 とすると「より鈍い」猫の出来上がりです。 ◎ コンパイラに gcc を使うと動かないそうです。(私も確認した)このため 今度の Imakefile では強制的に cc でコンパイルするように指定していま す。 ◎ Shape extention のライブラリがなくてもコンパイルできます。もしあな たの使用しているXが R4 ではなくて、かつ SONY NEWS ではない場合は Imakefile の DEFINES = -DSHAPE という行を消して下さい。(NEWS で使えるかどうかは試してません。誰か 確認して下さい。) <コンパイルの仕方> 1. まず、この記事を unshar してソース一式を取り出してください。 2. Makefile を作ります。oneko のディレクトリに移って、 % xmkmf を実行してください。もし、このコマンドがなければ、 % imake -DUseInstalled -I/usr/lib/X11/config でも同じです。 3. make を実行します。 % make これで、実行可能な「猫」が出来ます。もし、/usr/bin/X11 にいれて、みん なで使いたいのでしたら # make install を(スーパユーザで)実行してください。 これでコンパイルは終了です。あとは、 % oneko & を実行して楽しんでください :-) <使用方法> 基本的にオプションはいりません。が、こんなおぷしょんもあります。 help を除くオプションはリソースからも変更できます。 -help オプションの help を表示します。 -tora 猫がとら猫に変わります。 -time <n> 猫が使うインターバルタイマの値を変えます。デフォルトは micro second 単位で 125000 になっていますが、この値を 小さくするほど猫が速く動きます。 -speed <n> 猫が一度に移動する距離をドットの数で指定します。デフォ ルトは 16 ですが、この値を大きくするほど猫が速く移動し ます。 -idle <n> 猫が寝ている時、どれだけの速度でねずみが動いたら起きる のかを指定できます。デフォルトは 6 です。 -rv 色を反転します。(カラーのディスプレイでは fg, bg で指 定できるので、あんまり意味がありません。) -noshape X の Shape Extension を使わずに実行します。速度はかな り速くなりますが、表示がつまらなくなります。(実際にやっ てみてください。) -fg <color> フォアグラウンドの色を指定します。モノクロームのディス プレイでは無視されてしまいます。 -bg <color> バックグラウンドの色を指定します。モノクロームのディス プレイでは無視されてしまいます。 また、インストールすると tora にも symbolic link を張ります。tora とい うコマンド名で起動した時にはデフォルトで -tora オプションをつけた時と 同じになります。 リソースで指定した場合はこうです。 oneko.foreground: black oneko.background: red oneko.time: 100000 oneko.reverse: true コマンドが oneko ではなく、tora という名前で起動された場合リソース名は tora.* になりますから tora.foreground: sienna tora.background: moccasin としてとら猫の設定と普通の猫の設定を別にすることも可能です。とら猫の色 はそのままでは白黒になってしまうので上の2行を resoerce にいれて下さい。 また、コマンド名でなくてクラス名("Oneko")で始まるリソースも読むよう にしました。ですから speed, time など、全ての猫に共通なリソースはクラ ス名で、猫の種類(普通の猫、とら猫)によって変えたい色などのリソースは コマンド名(インスタンス名)で指定するのがいいでしょう。 この辺の implement は始めから Xrm* を使えばよかったのですが、この関数 の存在を知らなかったので XGetDefault を使って「無理矢理」書いています。 <ばぐ、これからバージョンアップしたいところ> 複数の猫を同時に動かせるようにしたい。今のままでは oneko を2つ実行す ると同じ動きをするので重なってしまいます。(-speed や -time を変えて実 行するとそれなりに動いてくれますが。試してみて下さい。) 猫が走った後の領域に Expose が起きるので、kterm 等だとちらちらします。 Save Under も試してみましたが、遅くてやめてしまいました。何かいい方法 がないでしょうか? カーソルがルートウィンドウの上と猫の上にある時にはネズミに変わりますが、 ネズミの色は単に猫の色を反転したものになっています。時間があれば直すの はすぐなのですが、急いだのでそのままになっています。バージョンアップを 期待していて下さい。 速度を早くしたい ...... けど、これ以上は無理かな? どなたか「こうした らもっと速くなる」という方法を教えて下さい。(近藤@ふ研 さんの提案し て下さった Map/Unmap を使った方法はまだ試してません。暇がなくって。) 仕事している時、猫を動かしていると時々猫にキー入力を邪魔されることがあ ります。キー入力を無視して下のウインドウに渡すことが出来るのでしょうか? (そういっている割には今のバージョンの猫はキーイベントを Select input しています。) # 基本的にPDSですが、バグ修正や機能拡張は(こっそりでもいいですか # ら)私([email protected])に教えて下さいね。バージョンアップもするつ # もりです。
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.