久しぶりの更新になりますが,またもやPC関連の話.
結論を先に書いておくと,
つないでいるWi-Fiの情報から今いる場所を判断して,
ロケーション毎に好きな挙動を取らせるAppleScriptを作りました
という話.
つないでいるWi-Fiの情報から今いる場所を判断して,
ロケーション毎に好きな挙動を取らせるAppleScriptを作りました
という話.
TwitterのTweetを流すように変更しまして,
これはこれでTwitterがつぶやき感を取り戻した感じでいいなぁ
と思っていました.
普通のフォロワーのTweetを見なくなってきていたので...
ワークタイムにもGrowlのポップアップが出るので,
気が散って仕方がないという点.
っていうかちょっと不謹慎で罪悪感ある.
Twitterのクライアントを自動でオフにすることはできないもんか
と考えました.
これが意外と難しい.
曜日の指定ができないし,
CronniXというのは
切り替えの時刻にスリープしているとオンオフできない.
CronniXで10分ごとに時刻を確認するというのも考えたけど,
あんまりスマートとは言えない.
自分で作るしかないかなと考えていると,ふと気づく.
そもそも時間帯で分けるって方法が不便なんじゃないか?
日によって全然違う.
遅めのミーティングのときに,
いきなりTweetが流れ出したらまずい...
っていうか,つないでるWi-Fiの情報使えば,
今どこにいるかわかるし!!
結局自分で作ることに.
AppleScriptでシステム関連の情報を得るには
これで
時々変わるしスマートじゃない.
他にも以下のような使い方ができるらしいが,
ネットワーク名(SSID)とかはなさそう.
primary Ethernet address of (get system info)
long user name of (get system info)
short user name of (get system info)
CPU type of (get system info)
AppleScript Studio version of (get system info)
AppleScript version of (get system info)
user ID of (get system info)
user locale of (get system info)
home directory of (get system info)
boot volume of (get system info)
computer name of (get system info)
host name of (get system info)
CPU speed of (get system info)
physical memory of (get system info)
agrExtRSSI: 0
agrCtlNoise: -92
agrExtNoise: 0
state: running
op mode: station
lastTxRate: 117
maxRate: 130
lastAssocStatus: 0
802.11 auth: shared
link auth: unknown
BSSID: 0:22:cf:2f:e:49
SSID: <ネットワーク名>
MCS: 14
channel: 4
以下のAppleScriptを組んでみた.
if ssid contains "<ネットワーク名>" then
tell application "<アプリケーション名>" to launch
else
tell application "<アプリケーション名>" to quit
end if
シェルからネットワーク名を含む情報を得て,
変数ssidに格納.
そこに<ネットワーク名>が含まれれば,
<アプリケーション名>をバックグラウンドで立ち上げ.
含まれなければ終了.
という感じ.
この点はあんまりスマートじゃない.
スリープからの復帰をトリガーにするとか考えたけど難しいみたい.
もっとおもしろいことがいろいろできそう.
満足.
0 件のコメント:
コメントを投稿