海月玲二

やっと「ノートを常時表示する」という機能を付けた.まだ横画面のときでも下に出てしまうけど.

なんかアレだ,TreeNoteのときはSplitPaneLayoutとか用意していろいろやってたけど,今回は単にViewのサイズをその場で変更するだけの単純な形式にしている.別にこれで問題ないんじゃなかろうか.

あと子項目の展開・格納,最下部のマージンを空ける機能をつけた.前者は技術的にちょっと面白い.「完全に何も表示されなくなるSpan」というものが必要な場合,draw()を空にしてgetSize()でゼロを返すだけではなくchooseHeight()でもゼロを設定するようにしないと,空の行が表示されちゃうのな.

IME用に最下部にマージンを空ける機能は,ほかのアプリで見たことがないのだけど,実際にハードウェアキーボードでSKKと使ってるとすんごい便利である.入力中の文字がぴょこぴょこ上下しないので大変快適だ.というか,もしかすると普通のIMEは,ハードウェアキーボードを繋いでてもいちいち表示が出たり消えたりしないんだろうか? むしろSKKのほうで,候補表示のサイズのViewを表示し続けるようにしたほうがいいのかな?

内部的にもいろいろ整理して,だいぶんKotlinらしいプログラムになってきたかな.例によって一人で遊んでるだけだからよくわからないけど.

2018-01-10(水)

無題

いつも春と夏に二週間ばかり旅行に行くことにしているけど,この体制だとどうも近場の行き先に行かなくなりがちだ.どうしても「せっかく行くんだから普段行けないようなところにしよう」という心理が働くので.

そこで,普段の旅行に加えて,週末だけ使った小旅行を導入してみようかと考えている.最近はLCCがだいぶ普及してきたので,東京に行くのと大差ない値段で国際線に乗れたりするようになったしな.便利な時代になったものだ.

2017-12-31(日)

無題

キーボードの掃除も終わったので今年を振り返る.

今年作ったもの:

  • LEDマトリクス時計
  • AndroidSKK大型アップデート
  • KLOA(仮名)

時計は前面に黒アクリルを付けて見やすくなり,べんりなプログラマブル時計として連日稼働中である.俺の作ったものがなかなか実際に役立っており,Yにも驚かれる次第.

あとKLOAはわりに気にいってるので,しばらくこれを改善してみる予定.TreeNoteの改善を期待していたひとは,すみませんが自分でソースに手を入れたほうが早いと思われます.

今年の旅行:

マルタでは,俺にはリゾート地は合わねえということを痛感した.もう何度か挑戦してみたら,金をあまりかけずに楽しむコツもわかってくるだろうか.あと,タイって観光大国のわりに意外と英語通じないね.日本人に言われたくはないだろうけど.

今年の猫:

猫三号は格別美形でもないし,しかも大変あほなのであるが,毎日見ていたらかわいいような気がしてきた.最近は,猫一号ともそれなりに仲良く共存できるようになってきたし.

猫一号はもう8歳になるのであんまり若くないわけだが,三号のせいでときどき走りまわるはめになるのは,たまには運動になるので健康にいいのか,ストレスがかかってよくないのか,どうなのだろうか.とりあえず食事も睡眠もトイレも変化はないので,今のところは問題なさそうだけど.三号を避けようとするわけでもないし.

もうちょっと更新.

カットペーストや上下移動のときとかにレベルや親子関係がおかしくなるのとか,アンドゥでノートが復活しないのとか,いくつかバグを直してみた.なんとか普通に使えるようになってきたかな?

2017-12-20(水)

無題

流行りらしいので,KLOAはKotlinで書いてみた.というか,最初Javaで書いたやつを変換してからしこしこ直したんだけど.

Kotlinというのはアレね,いわゆるbetter XX系の言語なんだね.現実主義の.Javaと互換性を保ちながら,null安全とかラムダ式とか関数オブジェクトとかimmutable変数とかの今風の機能を入れたかんじ.まあ,JavaでAndroidアプリを書くときはboilerplateが多い,と思ってはいたので,それなりに便利でいいと思う.nullの扱いが厳密になってるのも,俺のようなあほが書いても多少落ちにくくなるしな.

Android Extensionとかいう奴も入れてみたら,なんかxmlで定義したViewが普通のフィールドみたいにアクセスできてしまって,便利なんだけどローカル変数と間違えそうな勢いだ.シンタクスハイライトで違う色にしてくれるといいのに.

Javaで書いてるときは,コレクションクラスの実装を使いわけてみようとか,改行位置を調べるときString##splitなんぞ使わず一文字ずつループしてみたりとか,効率とか気にしたりもしたんだけど,Kotlinはもっと上のレベルだけで書くようにできてるみたいな気がする.まあ,俺ごときが効率を考えるより,機械が最適化してくれるんならたぶんそのほうがマシだな.

あとなんかAndroid Studioがやたらにメモリ食う気がするんだけど,これはKotlinとは別に関係ないのかな.正直,ほかの用途ではメモリが足らないなどと思ったことはないので,ちょっと困惑.

さっそくいくつかバグがあったので修正した.ノートのないところでアンドゥすると落ちたりする致命的なやつとか,ファイルを保存してもアンドゥボタンが押せちゃったりするやつとか.あと「改行コードの設定」が全然そうなってなかった.コピーして直すつもりで忘れてた間抜けなバグである.

TreeNoteで文章とか書くとき,トピック新規作成のテキストボックスが分かれていたり,既存のトピックを修正するのにいちいち長押ししたりするのは面倒だと,かなり前から思ってはいた.「EditTextにTextWatcherをつけて,改行されるごとに自動的にBulletSpan的なものを貼りなおしてやれば,箇条書きモードみたいにできるのではないか?」というのも,だいぶ前から思ってはいたのだ.

というわけで,yet anotherなアウトライナーである.「ListView系のものを使っていない」というのがほぼ唯一の特徴だ.なんかPowerPointで箇条書きを書くみたいなかんじで使える.例によってキーボードショートカット機能も完備しているので,物理キーボードがあればTabとかShift+Tabで階層の上げ下げができたりして,ますますPowerPointみたい.

今回,キーボードショートカットの仕組みをだいぶ改善したので,なんとモディファイヤキーも自由に設定できる.PromoteをShift+TabにしてMove UpをCtrl+Alt+kにするとか普通に可能だ.けっこう気にいったので,AndroidSKKとかHowmmにも入れようかな.

現バージョンだと,各トピックに対するノート(TreeNoteで言うところの「本文」のぶぶん)は,なんとノート編集画面に行かないとそもそも表示されない.たぶん2ペイン派には使いにくいかも.ちょっとあんまりなのでそのうちなんとかしたいけど,どういう形が便利だろうか.正直俺自身は1ペイン派なので,もひとつぴんと来ない.

あと,少なくとも検索機能とホイスト(ズーム)機能はそのうち付ける予定.

初回なのでURLも貼っておくとここである.使ってみるという人は,設定から手動で権限を許可しないとファイルのセーブ・ロードができないかもしれないこと(ページ冒頭の注意のとおり)と,なにぶん初期バージョンなので不安定なことにご注意を.現在のところ,トピックを上下に動かした時に表示レイアウトが崩れることがある,というバグが判明している.何か一文字打ったら直るのだが,どうも見苦しい.うーん.

どうでもいいが,相変らずアプリ名やアイコンをデザインするセンスがない.何かマシな案はないだろうか.