ほるっふー

自宅のベランダに鳩が住み着いた話を5万人の前ですること。

毎日killall Dockして「最近使った項目」を強制的に更新する

1年以上前に紹介した記事だが、依然としてDock内のアイコンを右クリックした時に現れる「最近使った項目」が更新されない。

blacksmithltw.hatenablog.com

手動で

[MBA] smith: ~ $ killall Dock

を実行すれば更新されるが毎度行うのは面倒だ。

適当なシステムで定期的に実行してやれば良い。

crontabもあるがMacなら例えばlaunchdを使うことにする。

qiita.com

 

詳しいやり方はこちらの記事を参照として最低限の情報だけ載せておく。

例えば、毎日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から選び直しても最前面に来ないことはある。

スクリーンショットの周囲を切り落としたい

サーバー上でXウィンドウを飛ばしてプロットを作った時
転送するのが面倒なのでMacの画面をそのまま ⌘+Shift+4 でスクリーンショットを撮って済ませたくなる。

しかし、これをスライドに載せようと思った時には見栄えが悪いし作り直すのも、手動でトリミングするのも面倒だ。

f:id:blacksmithltw:20170810152608p:plain

 

元々のアイディアはこちらから

askubuntu.com

自分の環境で動かなくて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

でくり抜ける。ワイルドカードも使える。

f:id:blacksmithltw:20170810152611p:plain

 

一度くり抜いたものは飛ばしたり、スクリーンショットを撮る時に最前面にいたかどうかで影のサイズが変わってしまうのでそのあたりもうまいことできたらいいなと思っている…

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: ~

認証関係だ。
エラー文で検索すると幾つか同じ症状を抱えている人がいるが、解決策を試しても直らなかったという人が多い。

d.hatena.ne.jp

私もここに載っている手法は全て試したが警告文は出続け、結局XQuartzの再インストールで消え去った。
原因が分からない解決は気持ち悪いけど書き残しておく…