毎日killall Dockして「最近使った項目」を強制的に更新する
1年以上前に紹介した記事だが、依然としてDock内のアイコンを右クリックした時に現れる「最近使った項目」が更新されない。
手動で
[MBA] smith: ~ $ killall Dock
を実行すれば更新されるが毎度行うのは面倒だ。
適当なシステムで定期的に実行してやれば良い。
crontabもあるがMacなら例えばlaunchdを使うことにする。
詳しいやり方はこちらの記事を参照として最低限の情報だけ載せておく。
例えば、毎日0時0分に実行したいと思った場合。
1.次のファイルを用意
~/Library/LaunchAgents/killallDock.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>killallDock</string>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/killall</string>
<string>Dock</string>
</array>
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key>
<integer>0</integer>
<key>Minute</key>
<integer>0</integer>
</dict>
<key>StandardOutPath</key>
<string>/dev/null</string>
</dict>
</plist>
2.次のコマンドを実行して登録
[iMac] simth: ~ $ launchctl load ~/Library/LaunchAgents/killallDock.plist
以上だ。
Mission controlから特定のアプリを最前面に持ってこれない
Mac book を Sierraにアップデートしてから Mission control (3本指で上にスワイプ) をしてFinderを選択しても最前面に一瞬来るのだがまた後ろに引っ込んでしまうようになった。
ストレスマッハである。
症状としては、Dockから「オプション」「割り当て先」を「すべてのデスクトップ」にしているアプリケーションをMission controlから最前面に持ってこれないようだ。
Finderはどのデスクトップでも使いたいので「すべてのデスクトップ」に割当していたがMission controlから選べないとストレスで胃袋が溶けてしまいそうなので修正されるまでは「なし」に戻そうと思う…
(追記:2017/10/19)
いつからかは分からないがこのバグは直った気がする。
ただし既に最前面にあったものをMission controlから選び直しても最前面に来ないことはある。
(追記:2019/11/30)
このバグは結局直っていなかった。
スクリーンショットの周囲を切り落としたい
サーバー上でXウィンドウを飛ばしてプロットを作った時
転送するのが面倒なのでMacの画面をそのまま ⌘+Shift+4 でスクリーンショットを撮って済ませたくなる。
しかし、これをスライドに載せようと思った時には見栄えが悪いし作り直すのも、手動でトリミングするのも面倒だ。
元々のアイディアはこちらから
自分の環境で動かなくてpython3 のせいだとおもっていたが ImageMagick のidentifyコマンドを持っていなかったことに気がついた頃にはオリジナルのshellを書いていた。
convertコマンドを使って上下から決められた幅を切り落とす。
canvasのサイズがいくらであっても上下の幅は変わらないからね。
crop_screenshoot
#!/bin/bash
#crop screen shoot
#crop dimensions
top=56
bottom=29
right=22
left=22
#loop
for image in "$@"
do
if file -b "$image" | grep "PNG image data"; then
size=($(file -b "$image" | tr -cd '0123456789 \n'))
w=$(expr ${size[0]} - $left - $right)
h=$(expr ${size[1]} - $top - $bottom)
x=$left
y=$top
convert "$image" -crop $w"x"$h"+"$x"+"$y +repage "$image"
fi
done
を保存し実行権限を与えて
[iMac] smith: Desktop $ ./crop_screenshoot hoge.png
でくり抜ける。ワイルドカードも使える。
一度くり抜いたものは飛ばしたり、スクリーンショットを撮る時に最前面にいたかどうかで影のサイズが変わってしまうのでそのあたりもうまいことできたらいいなと思っている…
XQuartzがsshログイン時に警告文を出す
ある日を境にXQuartzがsshログイン時に次のような警告文を出すようになった。
同じローカルネットワークに接続したことのあるPCは全部この症状に感染していた。
[MBA] smith: ~ $ ssh -X server.ac.jp
Warning: untrusted X11 forwarding setup failed: xauth key data not generated
Last login: Tue Aug 1 09:42:32 2017 from local
[server] smith: ~ $ ログアウト
Connection to server.ac.jp closed.
[MBA] smith: ~ $ ssh -Y server.ac.jp
Warning: No xauth data; using fake authentication data for X11 forwarding.
Last login: Tue Aug 1 09:43:09 2017 from local
[server] smith: ~ $
認証関係だ。
エラー文で検索すると幾つか同じ症状を抱えている人がいるが、解決策を試しても直らなかったという人が多い。
私もここに載っている手法は全て試したが警告文は出続け、結局XQuartzの再インストールで消え去った。
原因が分からない解決は気持ち悪いけど書き残しておく…