Electronで動作する2画面ファイラを作った

teknocat/electron-ttf: Electron based dual-pane file manager for Linux

f:id:teknocat:20190402230243g:plain

開発始めてから9ヶ月、内部的には紆余曲折あったが、とりあえず最低限動くレベルまで持ってこれたので公開することにした。

Linux版(Ubuntu/CentOS7で確認)は、以下のアーカイブを適当なところに展開して ettf を実行してください。

https://github.com/teknocat/electron-ttf/releases/download/v0.1.0/ettf-0.1.0.zip

詳細は GitHub ページを参照。

一応 Windows 版(Windows7で確認)も準備しているが、素直にあふwを使った方が幸せになれます。

https://github.com/teknocat/electron-ttf/releases/download/v0.1.0/Electron.TTF-0.1.0-win.zip

開発初期の画面イメージと比較して、変わったようなそうでもないような。

f:id:teknocat:20190402230203g:plain

2019/04/10 追記

最新版はこちらから。

Releases · teknocat/electron-ttf

React学習用にazviewerのWeb版を作っていた

過去作っていた Android 向け青空文庫ビューアである azviewer のWeb版的なもの。

React学習用に作り始めたまま一年近く放置してたのを、何とか公開出来るところまでいじった。

http://orbit.teknocat.jp/azviewer/


ソースはこちら。
https://github.com/teknocat/azviewer-webapp-prototype


swagger など古すぎなのだが、調整しきれなかった(主にモチベーション面で)。
そういうところもあり prototype の名をくっつけた。

Huawei nova 買った

http://consumer.huawei.com/jp/mobile-phones/nova/index.htm

Nexus5からの機種変更。ヨドバシでネット注文して、店舗で受け取った。
キャリアコーナーであーだこーだやり取りしないで済むのでストレス無く、時間も節約出来て非常によい。

動機

  • Nexus5 ガラス割れ。一回交換しているが、また割れた
  • 上面スピーカ壊れてスピーカモードでしか電話出来ない
  • イヤフォンジャック接触不良で、繋いでいないのにいきなり接触した状態になったりする
    • BT で音楽、電話していても切れてしまう
    • ジャック付近を押さえると改善する場合がある
  • 前面カメラ故障
  • Android 7.0 にアップデートされない
  • Pixel 未だに発売されない
    • 発売されたとしてもセキュリティアップデート期間が短い可能性大
  • Pixel 2 のリーク情報だと小さい方はイヤフォンジャック無くなるらしい

なぜ nova を選んだか

  • Nexus5 に性能的な不満はほぼ無い。最新のハイスペック機はおそらく不要
    • ただし、音ゲーがまともに動かなくなるほどなのはNG
      • Snapdragon 以外だと影響あり、という情報があったのでスナドラ機
  • サイズ大きいのは嫌
    • せめて Nexus5 と同程度
  • 電池の持ちは重視したい
    • 比較的大容量バッテリ
  • せっかくなので Android 7.0 が使えるもの
  • イヤフォンジャックは必須

良かったところ

  • 故障していた各機能が普通に使える(当然ではあるが…)
  • Android 7.0 動く実機が手に入った
  • ROM容量が少ないのは辛かったので、microSD が使えるのは大きな魅力
    • 外部メモリありな端末は久しぶり(IS01以来)
  • カメラの機能が豊富
    • 写真撮る機会多いので嬉しい
  • USB Type-C 使うの初めてだけど、裏表関係ないのが良い

いまいちなところ

  • BT/Wi-Fiが弱く感じる。Nexus5 の時より切れやすい印象
    • 一度繋がればそこまで切れるわけではない。あくまでも比較しての話
  • サービス系アプリが毎々落ちる -> 解決
    • 電源管理がアグレッシブなため。個別にホワイトリストに入れればOK
    • Nexus5 から持ってきたアプリが対象。新規にインストールしたものは最初からホワイトリスト入りしている模様
  • 5GHz Wi-Fiに非対応
    • 自宅環境だと遅いが、致命的ではない
  • Nexus5 に比べて画面と音声のズレが大きい気がする。設定で調整可能な範囲ではある

その他苦労したところ

  • Nexus5 はmicro SIM、nova はnano SIM
    • 交換することも考えたがリードタイムが嫌だった
    • SIMカッター導入して切り取った。現時点では問題無いが、切る時は意を決した
  • Android Wear(LG G Watch R) が認識してくれなかった
    • いくらBT検索しても出てこない
    • G Watch Rを工場初期化で出てくるようになった
  • 工場初期化後、ウォッチフェイスが初期のものしか出なくなった
    • nova側からインストールしてもダメ
    • ウォッチフェイスをアンインストール後、G Watch Rからインストールしてみたところ認識するようになった
    • 一度G Watch Rからインストールしたら、それ以降はnova側からでOK
  • 音ゲー(Cytus/Deemo)が動作しない
    • 再インストールで解決

総括

  • 結果的に Nexus5 とあまり変わらない使用感が得られるようになった
  • コストパフォーマンスは非常によい
  • ROMが多く使えるので、音楽データを大量に突っ込めるのが嬉しい。Google Play Musicだとパケット使用量嵩む
  • Pixel 2 が出てもしばらくは大丈夫、かな…

例の 5問題を Ruby で書いてみた

1時間以内に解けなければプログラマ失格となってしまう5つの問題が話題に

IntelliJ IDEA の動作確認も兼ねて、慣れない Ruby で一通り書いてみた。

アルゴリズムは思いついても Ruby での書き方が出てこなくて苦労した。
問題4はソートさせるとハマりそうな予感がしたので総当たりにしたけど、やっぱり罠があったようだ。

ConnectBotでSHIFTキーを普通に

twitterで話が出てたのを見かけてしまったので、対応してみた。

http://github.com/downloads/teknocat/connectbot/ConnectBot-1.7.0-AZ20101028-2.apk

標準ではSHIFT+数字がファンクションキーに割り当たっているため、!とか#とかがSHIFTキーで入力できない。

替わりにALTキーを使うことになるのだけど、AZのキーボードだと違和感ありまくりなので、さっくりファンクションキー機能を潰してしまった。

うまく両立出来る方法があればいいのだが…。設定用意するのは面倒だなぁ。


追記:
上書きインストールに失敗するみたいなので、一度アンインストールしてから再インストールしてください。お手数お掛けします。

dynabook AZ対応版ConnectBot

SSHクライアントの ConnectBotdynabook AZのTAB/CTRLキーを使えるようにしてみた。

http://github.com/downloads/teknocat/connectbot/ConnectBot-1.7.0-AZ20101002.apk

ESCも使いたいけど、BACKキーと一体化してるんだよなぁ…。

azviewer 1.0.1

azviewerをバージョンアップしたけど、dynabook AZにはAndroid マーケットが無いので、同じものを置いておきますね。

azviewer 1.0.1


Androidマーケットでの説明:

青空文庫を表示するためのアプリです。

サクサク読めることを目指しているので、縦書きやルビ表示といった機能は今のところ持っていません。


特徴:

  • 自動しおり機能
  • 2種類のテキスト表示形式
  • SDカードにコンテンツを保存
  • 画面タップ/カーソル左右、スペース、バックスペース各キーによるページスクロール
  • テキストサイズを5段階に変更


制限事項:

※その他はヘルプをご覧ください


開発端末:
HT-03A / dynabook AZ


v1.0.1:

  • キーボード操作でページスクロール
  • キーボード操作を考慮したフォーカス制御