MacBook AIr」カテゴリーアーカイブ

JXA error: NSMakeRect in Mojave

我が comipoli.js が Mojave で起動できない理由が判明。

NSMakeRect よ、お前が原因か。
NSMakeSize は問題ないので書き方が変わったという訳では無いようだ。
検索するとあったわ。

Problems with Mojave? ? Issue #44 ? JXA-Cookbook/JXA-Cookbook ? GitHub

NSRect を関数で得た場合でもエラーというオマケ付きかよ。
こりゃどうにもならん、修正を待つしかない。

Old mac to New mac

さて、新 Macbook Air を使えるようにしなければ。
とりあえずデフォルト以外で必要なアプリをば。

Visual Studio Code (以下 vscode)
Google Chrome (以下 chrome)
KeepassXC

が最小限だな、Gedit さえ使えれば Fedora とまったく同じなのに。
ちなみに mac で動画は Youtube くらいしか見ない、音楽は聴かない。
ただ App Store にはドレも無いんですけど。
しかたがないので一つづつ公式サイトから落としていく。

vscode って今は app のまま配布しているのね。
しかしこのマシンはドラッグアンドドロップが凄くやり辛いぞ!
3D Touch のせいだけどドラッグする時は軽めにタッチ。

後は以下を旧マシンからコピーして設定は元通り。
~/Library/Application Support/Code/User
このマシンだと起動が超速いな、テキスト編集はもうこれ一つでいいや。

chrome は書くまでもなくログインで元通り。
今頃知ったけど macOS 版も F12 でデベロッパーツールなんだね。
safari の開発ツールはタッチのエミュができないのが痛い。

KeepassXC は Fedora から kdbx をコピーして元通り。
command+V を試しに押下してみると警告ダイアログが出たので

とやると、おぉ command+V が使えるじゃん!
これでパスワード管理も Fedora と同様に使えるようになった。

後は普通にカスタムだ。
US 配列キーボードなのにバックスラッシュが円記号になるのはなんか笑える。
これはキーボードの設定で変更できる、それ以外は好みだよね。
拡張もコピペしなければ。

macOS アプリを JXA (AppleScript) で拡張 – L’Isola di Niente
を使おうと又しても警告が。

なんかダイアログ出過ぎ、今までこんなにウザかったか?
Fedora 等と違って初心者も使うからなんだろうけどさ。
拡張スクリプトなんて初心者は手を出さないだろ。

ところで、macOS 新規には .bash_profile, .bashrc が無いんだね。
Mac(OSX)で.bashrcを編集する ? GitHub
前のマシンはあったような気がするけど、とにかく新規作成。
.bashrc には

# User specific environment
PATH="$HOME/.local/bin:$HOME/bin:$PATH"
export PATH

# Fedora like Prompt
PS1='[\u@\h \W]\$ '

# alias
alias ll="ls -l"
alias jxa="osascript -i -l JavaScript"
alias jsc=/System/Library/Frameworks/JavaScriptCore.framework/Versions/A/Resources/jsc

こんな感じで落ち着いた。
osascript はファイルを渡すと js の拡張子で振り分けするので jxa コマンドはインタラクティブで使う時用のみ設定すれば良かった。

後は Apache の設定か。
アップデートでリセットされちゃうのをなんとかしなければ、後日。

Macbook Air 2018

Macbook Air が届いたので軽くレビュー。
第一印象、あれ?小さい。
旧型に比べベゼルが削減されているだけなので画面の感じは変わらない。

Touch ID の所は電源ボタンを兼ねているのね、押せる。
初回起動時に Touch ID や Siri や ApplePay の設定が出る。
なんかもうマジで iPhone みたい。

OS 起動時はパスワードのみ、スリープ復帰は Touch ID で。
うん iPhone と同じ、若い人達にも自然に受け入れられると思う。

起動して使えるようになるまでの時間は半分くらいに。
だってそりゃ 2011 モデルとの比較だし、新しいって凄い。

キーボードは、ウルセェ!
第三世代バタフライって音が小さくなったんじゃなかったの?
前世代ってドンだけウルさかったんだよ。

そんなことより。
command+space と control+space が逆だ!

MacのUSキーボードでcontrol + spaceの日本語入力と英字入力の切り替えをcommand + spaceに変更する設定方法

Yosemite から新規はこうだったのか。
筆者はデフォルトのまま使う主義なので慣れで…
って無理だ、指が勝手に動く!

だって Fedora(GNOME) も真似して Super+Space なんだもん。
スーパーキー (キーボード) – Wikipedia
素直に変更させて頂きます。

Fedora との共有は samba で以下のように。
ディスクの暗号化は選択しなかった、という前提で。

gcc, clang, swift 等のコマンドが最初からある、けど。

使おうとすると超バカデカい Xcode 一式を落とさせようとする。
java どころか jjs まであった、こっちは当然 JDK を落とさせようとする。

python は 2.7、もういかげん python3 にしてくれ!
Fedora デフォルトに python2 は入らない、Linux のほうが進んでいる。

ruby は無いみたいだけど、homebrew が使うはずだけど。
って筆者は homebrew も Xcode も使わないんだけーが。

jxa は自作の comipoli.js が動かなかった。

むーやることがまた増えてしまった。
第一印象ここまで、また何か気が付いたら。

Air

Fedora 29 が出た、その前に。

MacBook Air – Apple(日本)

これぞ Air という型とサイズ、今まで使っていたケースが使える!
アップグレード対象から外れた筆者の 2011 モデルをついに買い替えだ!

Touch Bar は無いのに Touch ID はある、そうだよコレが欲しかった。
バタフライキーボードも第三世代みたいだし改良されているはず。
感圧トラックパッド、Retina Display、T2 チップ、まさかの全部乘せ!

今持っている 2011 Air の下取りオンライン見積りは現時点で 14,500 円。
そんなもんだよね、コイツは持ち運び Fedora にしてしまう予定。
この古い以外は完璧すぎるマシンをこの値段で手放すのはもったいない。

よし US 配列キーボードは選べるな、ポチる。

いやメインマシンはデスクトップ Fedora のままでいくよ。
上記でも使うので今回は久々に iso からクリーンインストール。
19 はとうとう 1.8GB か、デカくなりすぎだよ。
仕事に行かないといけないのでインストールは後日。

mac: unzip 文字化け

macOS 版 Comipoli が cbz 内部で日本語があるとエラー。
原因を色々探ってみたら zipinfo がこういうことになっていた。

Fedora

macOS

macOS の zipinfo が日本語ファイル名を出力できないだけだった。
どちらも LANG=ja_JP.UTF-8 だし、Terminal.app も日本語出力は普通にできるし。
でも何故か展開すると普通に日本語ファイル名になる。

個別取り出しも日本語指定で取り出せる、意味ワカンネ!
つまり、この出力を日本語にて得られないと個別取り出しができないってことだ。

いくら検索しても shift-jis のことしか出てこない、んなもん常識以前だろ!
UTF-8 が化けることに誰も気がついていないのか。。。。。

NSStringEncoding – Foundation | Apple Developer Documentation

コイツを色々試したけどドレも日本語に戻せない。
iconv も試しているけどお手上げ状態。
日本語は非サポートってことで済ませようかな。。。。。

現状を置いておきます、日本語ファイル名でなければ動くんだけど。
comimac-0.0.2.tar.gz

ところでオプションでなんとかしようと漁っていたらこんなのが。
macOS ではオプションに出ない -O, -I って何だろう?

Unzip の日本語ファイル名の取り扱いについて | FreeBSD | daily memorandum 3.0.0

ってつまり。

#!/bin/sh
unzip -Ocp932 "$@"


_Zip932 とかの名前で Nautilus Script に登録しておけば Fedora も例の文字化けを回避。
macOS の奴はパッチが当たっていないようなのでこの手段は使えない。
Ubuntu の奴はコレを自動判別しているだけ、ってことみたい。

Comipoli は進まなかったけど面白いことを知った。