birdどん詰まりまで戻りきったらそのタブを閉じるChrome拡張

普段Androidのスマホなどを利用していると、Webページのリンクの設定でたとえ「新しいタブを開く(target="_blank"等が指定されている)」となっている場合も、フツーにBackボタンを押せば自動的にそのタブを閉じ、元のタブに戻ってこれます。そのような操作性にすっかり慣れてしまっていると、PC版Chromeで新しいタブが開かれたとき、単にマウスの戻るボタンを押しても戻れないのが地味に煩わしく思っていました。

ちょっと前からそういった機能を実現する設定や機能拡張は無いものかと探していたんですが、Firefox用としてかなり近いものは見つけたものの1、Chrome用にはぴったり来るものが見つけられずにいました。

そんな時ふと、「もしかしたら自分でも作れるんじゃ?」と思いちょっと調べてみたところ、思いの外あっさり作ることが出来たので、ここに記録しておきたいと思います。ただし僕があっさり作ることが出来たのには実はいろいろな幸運が重なっていました。おそらく僕と同じような環境でMac版Google Chromeを使っている人はあまり多くないと思いますので、適用可能なシーンはあまり多くないものと思います。どうもスミマセン。

注意点

僕の場合の幸運、別の言い方をすると特殊事情は以下の通りです。

  • 我が家では、通常Macに利用されているMagic MouseやMagic Trackpadのようなジェスチャーでスクロールや進む/戻るを行えるようなポインティングデバイスではなく、フツーのWindowsマシンに利用されるようなBluetoothの5ボタン+ホイール付きマウスを使っています2。ただしMacの場合、そういったマウスをそのまま繋ぐだけではブラウザの進む/戻るといった機能は利用できないため、Karabinerというツールを使ってマウスの3〜5ボタンを有効にしています。その辺りの顛末はこちらを参照してください。
  • Karabinerでマウスボタンを有効にしている、ということはすなわち、それらのマウスボタンを押した時に発生するイベントがマウスイベントではなくキーボードイベントとなる、ということを意味します。これが今回機能拡張のJavaScriptで簡単にイベントを処理出来た理由でした。Magic Mouse等でのジェスチャー由来の進む/戻るは言わずもがな、Windows版Chromeでのマウスの進む/戻るボタンのイベントをブラウザのJavaScriptで拾うのは実はとても大変なようです(今回そちらは結局分かりませんでした)。

というわけで、ここで説明する機能拡張は「Mac版Chromeで、かつ通常の5ボタンマウスをKarabiner経由で利用している場合」のみ利用可能、ということになります3

機能拡張の詳細

以下に機能拡張の詳細を記録しておきます。これらのファイルをすべて同じディレクトリに置いて、Google Chromeの拡張機能のページを開き、右上の「デベロッパーモード」のチェックボックスをチェックした後、「パッケージ化されていない機能拡張を読み込む」から読み込ませれば利用可能と思います。

manifest.json

{
   "manifest_version": 2,
   "name": "Dead End To Close",
   "description": "dead end to close.",
   "version": "1.0.0",
   "content_scripts": [ {
      "all_frames": true,
      "matches": [ "http://*/*", "https://*/*", "ftp://*/*" ],
      "js": [ "detc.js" ]
   } ],
   "icons": {
      "48": "back48.png",
      "128": "back128.png"
   },
   "permissions": [ "tabs", "https://*/*", "http://*/*" ]
}

これ以上ないくらいシンプルなmanifestなので説明は不要でしょう(^^;。

detc.js

var back_on = false;
var popstate = false;

window.addEventListener('popstate', function(stateEvent) {
	popstate = true;
}, false);

window.addEventListener('keydown', function(keyEvent) {
	if (keyEvent.keyCode == 219 && keyEvent.metaKey == true) {
        back_on = true;
        popstate = false;
	} else
        back_on = false;
}, false);

window.addEventListener('keyup', function(keyEvent) {
	if (keyEvent.keyCode == 91 && back_on)
        setTimeout(function(){
            if (!popstate)
                window.close();
        }, 200);
	back_on = false;
}, false);

実質、このプログラムの本体は上記のみです。やっていることの本質は極めてシンプルで、ブラウザで開くすべてのページにkeyCode = 91のkeyUpイベントが来たら「200ms後にwindows.close();を実行」するタイマーを仕込む、というイベントリスナーを設定してるだけ。

どうしてこれでうまく動くかというと、実際に「戻る」が発生すると元のページに設定されていたイベントリスナーやタイマーは直ちに破棄されるようで、このイベントリスナーが発動することはないんですね。どん詰まりのページ、つまり戻るボタンを押しても何も起きないページでのみ、実際にイベントリスナーによりタイマーが発動し、200ms後にページが閉じます。

どん詰まりのページではunloadやbeforeunloadイベントが発生しないことを利用したもっと凝ったロジックを利用したコードも見つけたりしたんですが、今回僕がいろいろ調べた限り、少なくとも家の環境では上記だけで期待通りに動いているようでした。

なお、タブを閉じるのに利用しているのが「window.close();」なので、そのmethodを使う時の一般的な注意点、つまりscript等により動的に開かれたtab以外は閉じない、といった制約はそのままかかります。ただこの制約は今回の場合むしろusabilityを上げてくれる形で作用しているので(閉じてほしくないページまで閉じてしまうことがない、という意味で)、そのままにしています4

(11/9 追記) オリジナルのcodeではまさに単純にkeyupイベントでkeyCode = 91が来たらタイマーセット、というものでしたが、それだとコピペ目的などでCommandキーを使った途端に暴発してしまうことに気がついたので(^^;、keydownイベントも監視し「戻る」に相当するキーシーケンス、つまりCommand+[が来た場合のkeyupイベント(keyCode == 91)にのみ反応するようにしました。これで大抵のケースでの暴発は防げるはず。

(12/28 追記) 上記修正で総じてごきげんに使えていたのですが、ごくたまにまだ戻れるhistoryがあるのにタブが閉じてしまうページがあって、ナンジャラホイ?と思っていました。年末になって少し時間が取れたので調べてみたところ、どうもpushState/popStateを使ってJavaScriptでhistoryを操作しているページではタブcloseが暴発してしまっていたようでしたので、その対策を入れてみました。あとaddEventListenerの第3引数 (useCapture) もどこかのページからコピペした時のまま意味もわからずtrueにしていたのを(^^;、この例ではfalseでも良いはずなのでfalseに直しました。

画像

back128.pngback48.png

おしまい

少しでもお楽しみいただければ幸いでした。

birdきょうのつぶやき@digitune

きょうのつぶやき@digitune

#kinoppy 「新刊があります」通知から直接飛べるアプリの「お持ちの本の新刊・続刊」画面が、いつ行っても「検索条件に一致する情報は見つかりませんでした。」になり、しかしストアトップの同コーナーにはちゃんと表示されている。ずっと前からある不思議なバグ。 (12:03 Plume for Androidから・詳細)

調子の悪いWG1200HP中継器の件、昨日またPOWER/CONVERTER LED以外が全部消灯で通信不能状態が再発(24時間持たなかった…orz。ので12時間毎に再起動するよう変更)したんだけど、なんとこの状態で親機側から中継器のWeb UIにアクセス出来、再起動出来た…。 (12:43 Twitter Web Clientから・詳細)

LEDの状態的には親機とのリンク切れを表しているはずなんだが、実際は親機とのリンクは生きており、中継器側の無線LAN AP機能 or ルータ機能が死んでる、と。リモートから再起動かけられる、という意味では朗報だけど、なんだかなぁ。 (12:44 Twitter Web Clientから・詳細)

Mac上のブラウザで以前から欲しかった「マウスのバックボタンを押したとき、戻るページがなかったらそのタブを閉じる」機能、ずっとChrome拡張に見つからない…と思ってたけど、そういえば、と思って自分で作ってみたら超簡単に作れた(^^;。もうしばらく動作確認してそのうち公開しよ。 (23:20 Twitter Web Clientから・詳細)

ここTwitterやFacebook、それからGoogleニュースのような、基本的にリンクが「新しいタブを開く」形になっているサイトを見る時にその方が便利なんですよね。Androidのバックボタンでは当たり前の挙動なので、もはやそうなってないと不便に感じてしまう。 (23:24 Twitter Web Clientから・詳細)

birdきょうのつぶやき@digitune

きょうのつぶやき@digitune

FirefoxやChromeの開発者ツールに、webサーバとのやり取りを「cURL形式でコピー」する超お便利機能があったことに今さらながら気がついた(「ネットワーク」タブで各通信を右クリック)。これスゴい便利。 (07:47 Twitter Web Clientから・詳細)

調子の悪いWG1200HPの件、考えてみればWG1200HPはWeb UIから再起動をかけることが出来るので、おうちサーバからcronでそこを叩いてとりあえず毎日再起動してみることにしてみた。これで様子を見てみよう…。 (07:51 Twitter Web Clientから・詳細)

image 0無線LANルータ再起動スクリプトについて記録しておきました>NEC Aterm WG1200HPを毎日再起動する - Digitune [memo] http://memo.digitune.org/2015/wg1200hp_reboot/ (08:13 Twitter Web Clientから・詳細)

最近の記憶力低下について、記憶自体が出来なくなってるというよりも、「思い出す」ためのフックを維持できなくなってる感じがする。やらないといけないことがあって覚えておかなくちゃ、と思っていても、そのこと自体が意識から消えてしまう。何かの拍子にそのことを意識すると、ちゃんと思い出せる。 (10:27 Plume for Androidから・詳細)

しかしアンチパターンにしろベストプラクティスにしろ日々変わっていくモノだからなぁ…。過去の経験に過剰に期待するのは危険な気がする。 (10:28 Plume for Androidから・詳細)

もちろんアルゴリズム的な意味でのアンチパターンのように古びない知識もあるけどね。 (10:30 Plume for Androidから・詳細)

「インモラリスト」ってなんのアニメで使われてた歌だっけ? (10:34 Plume for Androidから・詳細)

ドラクラか。 (10:35 Plume for Androidから・詳細)

ドラクラはEDも良かったな。 (10:36 Plume for Androidから・詳細)

image 1オモロイ。皆さん何やってんすかw>Sun 4.1.3 上で NCSA Mosaic を動かすまでの顛末 - Togetterまとめ - http://togetter.com/li/896398 (11:15 Plume for Androidから・詳細)

image 2何か引っかかるタイトル…と思ったら単純に「モナリザ・オーヴァドライヴ」に似てるからか>「ウタカタ・オーバードライブ」制作発表会 水島精二の参画が発表 | アニメ!アニメ! - http://animeanime.jp/article/2015/11/05/25561.html (11:22 Plume for Androidから・詳細)

今のところはまだお気に入りのミュージシャンのCDもボチボチ買っているけれど、Google Playミュージックを聴いていると「買うには至らなかったが気になっていた曲」にしばしば遭遇し、そういうものはアルバムごとダウンロードしてしまう。そのうち後者だけになってしまうんじゃないか、 (12:39 Plume for Androidから・詳細)

そうなったらやっぱりミュージシャンの人達は立ちゆかなくなってしまうんじゃなかろうか、とかなり心配になる。 (12:40 Plume for Androidから・詳細)

そういや今朝のルータ再起動スクリプト、最後から二番目の実際に「再起動」ボタンを押したときにPOSTされるHTTPリクエストだけ投げれば再起動されるんじゃ…とお思いかもしれませんが、残念ながらそれだけでは再起動されなかったんですよね。 (12:49 Plume for Androidから・詳細)

ダメな公衆無線LANを掴んじゃってモバイル網以下の状態になっちゃう時って、電波状態が不安定な時よりも電波はギンギンなのにアップリンクが詰まってて全くパケットが流れてこない時の方が多い気がする。そういうときにもうまいこと回避してくれるような機能が欲しい。 (20:27 Plume for Androidから・詳細)

あ、ひょっとしてこないだUSで集団訴訟起こされてたiOSの新機能がそんな感じでしたっけ? (20:28 Plume for Androidから・詳細)

「いきなりステーキ」は新宿と八王子のお店に行ったけど、予想よりもお店ごとの味の差が大きいような気がした。お肉の質はさほど違わないけど、切り方、焼き方の差が大きい。僕が行った二店では新宿のお店の方が美味しかった。 (20:51 Plume for Androidから・詳細)

birdNEC Aterm WG1200HPを毎日再起動する - 改め、中継器の先へpingが届かなくなったら再起動する

無線LANの中継器用途として「デュアルバンド中継機能」に期待して買ったNEC Aterm WG1200HPが、親機とのリンクに2.4GHz帯側を使っているせいか一日くらいすると親機とのリンクが勝手に切れて通信不能になってしまう、という謎の症状が出て困っていました。ググると同じような症状を訴えている人をチラホラ見かけるので初期不良、というよりもこの機種の持病っぽい感じ。

考えてみるとこの機種に限らず最近の無線LAN機器はWeb UIの管理画面を持ち、そこからリブートしたりすることも可能です。そんなわけでとりあえずのその場しのぎとして、毎日自動的に再起動するスクリプトをおうちサーバに仕掛けて様子を見てみることにしました。自宅に常時稼働のサーバがある人(そんな人は最近はあんまり多くないと思いますが^^;)ならば同じようなことをするのも難しくないと思います。

(12/27 追記) WG1200HPのファームウェアを1.0.14に上げてから、以前よりもかなり安定して少なくとも数日間は問題なく動くようになりました。ただ残念ながらまだ完治したわけでないらしく、一週間連続稼働はまだ出来ないようでしたので、「中継器の先にあるhostにpingが届かなくなったらWG1200HPをrebootする」というスクリプトを組んで実行することにしました。

また、rebootに利用しているweb formが1.0.14からCSRF対策としてone-timeのsession IDを要求するようになっていましたのでそちらにも対応してみました。

#!/bin/bash

converter_ip='192.168.0.241'
probe_ip='192.168.0.141'
admin_email='[email protected]'

rebooted=0

while /bin/true; do
	if /bin/ping -i 2 -c 5 $probe_ip; then
        echo "Link is normal."
        sleep 2
        rebooted=0
        continue
	else
        echo "Link seems broken. Converter rebooted."
        output=`curl -v "http://$converter_ip/reboot.htm" -H 'Accept-Encoding: gzip, deflate, sdch' -H 'Accept-Language: ja,en-US;q=0.8,en;q=0.6' -H 'Upgrade-Insecure-Requests: 1' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8' -H 'Connection: keep-alive' --compressed`
        curl -v -o /dev/null "http://$converter_ip/aterm.css" -H 'Accept-Encoding: gzip, deflate, sdch' -H 'Accept-Language: ja,en-US;q=0.8,en;q=0.6' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36' -H 'Accept: text/css,*/*;q=0.1' -H "Referer: http://$converter_ip/reboot.htm" -H 'Connection: keep-alive' --compressed
        curl -v -o /dev/null "http://$converter_ip/util_gw.js" -H 'Accept-Encoding: gzip, deflate, sdch' -H 'Accept-Language: ja,en-US;q=0.8,en;q=0.6' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36' -H 'Accept: */*' -H "Referer: http://$converter_ip/reboot.htm" -H 'Connection: keep-alive' --compressed
        curl -v -o /dev/null "http://$converter_ip/menu-images/h1_back.gif" -H 'Accept-Encoding: gzip, deflate, sdch' -H 'Accept-Language: ja,en-US;q=0.8,en;q=0.6' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36' -H 'Accept: image/webp,image/*,*/*;q=0.8' -H "Referer: http://$converter_ip/aterm.css" -H 'Connection: keep-alive' --compressed

        session_id=`echo "$output" | grep hidden | sed -e 's/.*hidden\" value=\"\([^\"]\+\)\".*/\1/g'`
        echo "sleep 3, session_id=$session_id"
        sleep 3

        curl -v -o /dev/null "http://$converter_ip/boafrm/formReboot" -H "Origin: http://$converter_ip" -H 'Accept-Encoding: gzip, deflate' -H 'Accept-Language: ja,en-US;q=0.8,en;q=0.6' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36' -H 'Content-Type: application/x-www-form-urlencoded' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8' -H 'Cache-Control: max-age=0' -H "Referer: http://$converter_ip/reboot.htm" -H 'Connection: keep-alive' --data "SESSION_ID=$session_id&reboot=%BA%C6%B5%AF%C6%B0+" --compressed
        curl -v -o /dev/null "http://$converter_ip/menu-images/h1_back.gif" -H 'Accept: image/webp,image/*,*/*;q=0.8' -H 'Cache-Control: max-age=0' -H "Referer: http://$converter_ip/boafrm/formReboot" -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36' --compressed
        if [ $rebooted -eq 0 ]; then
            echo "30 min sleep...sent an email"
            echo "link seems down? converter rebooted." | /usr/bin/mail -s "converter link seems down?" $admin_email
            sleep 1800
        else
            echo "2 hours sleep...sent an email"
            echo "ping probe seems down?" | /usr/bin/mail -s "ping probe seems down?" $admin_email
            sleep 7200
        fi
        rebooted=1
	fi
done

自宅Macでの通信をエミュレートしているのでUser-AgentがMac版Chromeになっています。またウチの場合再起動したいWG1200HPのIPアドレスが192.168.0.241なのでそちらにアクセスするようになっていますが、もし流用する場合は各々の設定に変更してください。ウチではこのスクリプトを下記のように起動して常時動作させています。loggerで受けているのでsyslogにたくさんログが出力されますが、その辺りのログは適宜rotateされるので最近のマシンでなら大きな問題はないかと。ノイズとして気になるなら/dev/nullへ捨てるなりしてください。

${HOME}/bin/wg1200hp_reboot.sh 2>&1 | logger -p local3.info -t wg1200hp_reboot &

crontabへも以下のように登録しておくと、おうちサーバをrebootした時にも自動的に起動してくれて便利です。

#
# reboot wifi converter
#
@reboot		${HOME}/bin/wg1200hp_reboot.sh 2>&1 | logger -p local3.info -t wg1200hp_reboot

birdきょうのつぶやき@digitune

きょうのつぶやき@digitune

先日wifi中継器として導入したNEC Aterm WG1200HP、動いてるときは快調なんだけど、24時間毎くらいにPOWERとCONVERTERモードを示すLED以外が全て消灯して通信不能になる、という症状に悩まされてる。親機とのリンクが切れた、とのことなんだけど、 (10:05 Plume for Androidから・詳細)

電源入れ直せば直るし、直前まで快調に通信できていたりするので訳が分からない。ファームウェアは最新のようだしなぁ。外れ(初期不良)引いたとするとめんどくさいなぁ。もう少し設定変えて様子を見てみよう。 (10:08 Plume for Androidから・詳細)

そういえば昨日あれだけ不安定だったBTイヤフォンが今日は安定してる。昨日からやったことと言えば、再ペアリングしてみたことと、そういえば、とBTを使ってるアプリとしてGarmin Connectを久しぶりに起動してみたこと、くらいか。どっちが聞いたのかは分からないけど一応覚えとこ。 (10:11 Plume for Androidから・詳細)

エレベーターって人が乗っているときに酔ったりしないように加減速を穏やかに行うよう制御されているけれど、逆に言うと人が乗っていないときはもっと激しく動かしてもよいんじゃないだろうか。そうすることで待ち時間を減らすような制御は可能そう。そんなエレベーターはないのだろうか? (19:28 Plume for Androidから・詳細)

今朝のWG1200HPの一日経つとリンク切れの件、価格.comのレビューで似たような症状について書いている人がいるな。それによると2.4GHz側固有の問題っぽいから、5GHz側でリンク出来るか帰ったら試してみよう。多分厳しいと思うんだけど…(距離は近いが間にコンクリの壁有り)。 (19:52 Plume for Androidから・詳細)

下町なんとかは我が家では毎回結構爆笑しながら見ているけど、あゆみさんがいつもツッコむのは「なんでロケット打ち上げプロジェクトに『スターダスト計画』とか名前付けちゃうの?!縁起悪すぎでしょ!」という点。わら。 (19:56 Plume for Androidから・詳細)

中継用WG1200HPと親機とのリンクを2.4GHzから5GHzに切り替えてみたところ、電波弱〜中くらいの状態だけどなんとかつながりそうな雰囲気。しばらくこれで様子を見てみるか…。 (20:52 Twitter Web Clientから・詳細)

親機ー子機間を5GHzに変えた件、やっぱり電波が弱すぎてリンクはされているのにパケットが流れない(DHCPが完了しない)、という結果だったので仕方なく元に戻すことに。そうなると一日ごとのリンク切れには再起動で対処するしかないのかなぁ…orz。 (23:03 Plume for Androidから・詳細)

birdきょうのつぶやき@digitune

きょうのつぶやき@digitune

Google Playミュージック、なぜかダウンロードしてあった曲が軒並み聴けなくなってる…。またダウンロードしないといけないのか。謎。 (09:29 Plume for Androidから・詳細)

今日は何だかBluetoothも不安定。再起動しても改善せず。何でだろ? (10:05 Plume for Androidから・詳細)

もしかして今日BTが不安定だったりGoogle Playミュージックのダウンロードしておいた音源が聞けなくなっちゃったのって、SDカードが死にかけてるからかも?もしそうなら嫌だなぁ。 (12:11 Plume for Androidから・詳細)

確か今私物スマホに入ってるmicroSDは一つ前のトランセンドが突然死したので別ブランドで…と思ってサンディスクにしたんだったか。まぁ同じくらいの価格帯なら信頼性も同じくらい、ってことですかねぇ。 (12:59 Plume for Androidから・詳細)

それにしても、スマホのストレージに置いてるモノの二大巨頭(コンテンツ)だった写真も音楽もGoogle先生のクラウドにおけるようになっちゃったから、SDは完全にキャッシュ化していて壊れても痛くもかゆくもないな。再ダウンロードが多少めんどくさい&時間がかかるくらいか。 (13:02 Plume for Androidから・詳細)

Android端末の日本語フォント、モトヤシーダじゃなくてモトヤマルベリの方が事実上の標準になっちゃったのって何が原因なんだろう?後から眺めている限り条件としてはどちらも同じだったように見えるんだけど… (19:18 Plume for Androidから・詳細)

相変わらずBTが不安定。10分おきくらいに「不具合が発生→終了」から再接続のループが起きてる。むーん。 (19:47 Plume for Androidから・詳細)

さっきふと思い出したのだけれど、そういや昨日寝てるときにベッドからスマホ落としたな。ほんの30cmくらいの高さだし目立つ傷や動作不良は無いと思ってたけど、それが原因だったらやだなぁ。 (19:49 Plume for Androidから・詳細)

落下でmicroSDやSIMが接触不良になってる可能性は既に考慮してさっき抜き差ししたりしてみたけど症状変わらず。 (19:50 Plume for Androidから・詳細)

今起こっている「問題が発生したのでBluetooth共有を終了します」エラー、観察してみるとかなり正確に10分毎に発生してるっぽい。いかにもソフト起因だけど、全く原因に心当たりがない…。 (20:08 Plume for Androidから・詳細)

birdきょうのつぶやき@digitune

きょうのつぶやき@digitune

Android 6でやってくるNoto Sansにもっと慣れるために自宅Mac上のChromeのデフォルトフォントもNoto Sansにしてみたんだけど、これまで指定してたMigu 2DSと比べるとずっとヒラギノに似ているのでなんだかつまらん(^^;。 (09:23 Twitter Web Clientから・詳細)

Nexusですでにマシュマロさんへアップグレードした人の中には「フォントがカクカク」とか「キモイ」と書いている人もいるようですが、むしろ今までのモトヤマルベリの方が標準フォントとしては異様だったような。海外アプリなどでの英字フォントとの組み合わせがどうにも不格好で僕は嫌だった。 (09:27 Twitter Web Clientから・詳細)

少し前にChromeがFlashコンテンツの自動再生を停止してしまったので、Flash広告はもはや効果半減どころの騒ぎでは無さそうですね。Webページ中にデカデカとグレイアウト+再生ボタン付きバナーが出ている様はかなり異様。 (09:31 Twitter Web Clientから・詳細)

む、えるかぴたん上のChromeがまたずっとレインボーカーソルで帰ってこなくなっちゃったんだが、そのタイミングではFirefoxのような他のブラウザも通信不能になってるんだな。するってーとOS側の問題か。確かにdmesgにもアヤシげなメッセージが出てるな… (09:52 Plume for Androidから・詳細)

そしてその状態になってしまうとChromeを強制終了してもネットワークは復旧せずOS再起動コース…orz。もしかするとifup/downで復活するかもしれないけど望み薄なので試してない。OS XはWin10と比べると再起動も遅いんだよなぁ。 (10:01 Plume for Androidから・詳細)

うーん今のところえるかぴたんへのアップグレードはマイナス点しかないなぁ。「軽くなった」実感もあまりなく。 (10:06 Plume for Androidから・詳細)

そんなわけでしばらく自宅MacでもFirefoxへswitchしてみよう。 (10:56 Twitter Web Clientから・詳細)

Mac版Firefox、Magic Mouseではないフツーのホイール付きマウスでのスクロール具合がイマイチなんだけど(スムーズではあるが遅い、アクセラレーションが唐突、など)、about:configにてパラメータチューニングすることでなんとか我慢できる範囲になった。 (10:57 Twitter Web Clientから・詳細)

デフォルト値から変えたのは、
general.smoothScroll.mouseWheel.durationMaxMS;700
general.smoothScroll.mouseWheel.durationMinMS;500
(続く) (10:59 Twitter Web Clientから・詳細)

mousewheel.acceleration.start;0

mousewheel.min_line_scroll_amount;1
といったところ。完璧ではないけど我慢できるレベル。 (11:00 Twitter Web Clientから・詳細)

ググる先生に聞いて出てきたページの推奨値を少し弄りました。 (11:00 Twitter Web Clientから・詳細)

FirefoxのデフォルトフォントもNoto Sansにしているのだけれど、ブックマークバーなどのメニューに使われているfont weightがちと大きすぎるのが気になる。300(light)か350(demi-light)くらいが好みなんだがMedium辺りが使われてる雰囲気。 (11:55 Twitter Web Clientから・詳細)

image 0NSXプロトばかりが注目されていたけど10ATとか1.0Lターボなどもあったのか>webCG|第320回:次世代技術の体感イベント「2015 Honda Meeting」(前編)テストコースで新型「NSX」の走りを試す http://www.webcg.net/articles/-/33429 (12:48 Twitter Web Clientから・詳細)

image 1RT @gekotan_gekotan: 『文化の日』ゲコタン4コマ|http://gekotan.sblo.jp/article/167036315.html (18:41 Plume for Androidから・詳細)

左手の小指が何故か非常に痛いのだが、指痛いとキーボード打つのが大変ね…。 (19:57 Twitter Web Clientから・詳細)

それにしてもウチには特に壊れてないが今は使ってない無線LAN関連機器(ルータ、AP、NIC等々)が山程あるな(汗。そのうちオークションにでも出そうかしら。でもさすがに11bのPCMCIAカードとかもう誰も要らないよね… (20:04 Twitter Web Clientから・詳細)

birdきょうのつぶやき@digitune

きょうのつぶやき@digitune

Facebook WebUIの更新を示す地球アイコンがフォーカスあたってないときも白く光ってるのって意図的な変更と言うより思いっきりバグな気がする。 (08:23 Twitter Web Clientから・詳細)

すごい雨たなぁ。 (09:01 Plume for Androidから・詳細)

それにしても「鉄血のオルフェンズ」の脚本の練り込まれっぷりがすごい。このままのペースで完走できるのだろうか…。 (09:08 Plume for Androidから・詳細)

えるかぴたんにアップグレードしてから、Google Chromeが応答不能になったり落ちたりしたことがすでに何度か。それまではもう覚えていないくらい昔にしか発生していなかったのでアップグレード起因だと思うのだけれど、早いとこ直ると良いなぁ…。 (11:17 Twitter Web Clientから・詳細)

さすがに今朝は長T一枚で外を歩くには寒すぎた(^^;。 (11:24 Twitter Web Clientから・詳細)

image 0おおこれは。それにしてもそれ町って2010年だったの?!そんなに昔だったっけ…>「それでも町は廻っている」が低価格Blu-ray BOX化。全12話を2枚に収録して18,000円 - AV Watch http://av.watch.impress.co.jp/docs/news/20151102_728579.html @avwatchさんから (14:03 Twitter Web Clientから・詳細)

今日は久しぶりに霧が出てるなぁ。 (20:24 Plume for Androidから・詳細)

Nexus7(2013)通称ネッちゃんの後継として通話もできる電子書籍端末、として探すと意外に候補が少ない…。ネッちゃんは1200x1920あったから横1200ドット以下にはしたくないし、電書目的だと大きめディスプレイが良いよな、と考えていくと結局Nexus6くらいしか残らない。 (21:36 Twitter Web Clientから・詳細)

あとはCPUパワーはソコソコで良いからネッちゃんくらい電池が持つと良いんだがな…。 (21:37 Twitter Web Clientから・詳細)

そんなわけで我が家の電波が届きづらい北側の部屋用のwifi中継器を超安かったWR8165Nからデュアルバンド中継機能が売りのWG1200HPに置き換え。基本子機は5GHz帯のwifiで家のどこでも使えるようになるのは大きい。2.4G onlyのデバイスはあんまり変わらんけど(汗。 (21:45 Twitter Web Clientから・詳細)

birdきょうのつぶやき@digitune

きょうのつぶやき@digitune

「OS X El Capitanが、Macの体験を新たな高みへ引き上げます。一段と洗練された、写真、Safari、メール、メモ、マップなどの欠かせないアプリケーション。」…どれ一つとして使っていない件。 (08:08 Twitter Web Clientから・詳細)

前にもこういうことあったな。なんだっけ…? (08:10 Twitter Web Clientから・詳細)

ウチは周りにほとんど何もないマンションなのに、自宅寝室から「.FREE_WI-FI_PASSPORT」というアクセスポイントが拾えるのは何でだろう?一体どこにAP設置しているのか?海外からの旅行者向けのAPみたいだけど… (09:23 Twitter Web Clientから・詳細)

今日はあゆみさんと道志みちへ紅葉を見にドライブ。すっごい綺麗だった!道中、一番道が狭くなる箇所辺りで崖崩れが起きてしまったらしく、片側交互通行になっていた(@@;。あと例によって中央道が激混みだった関係か、上りの交通量が道志みちとしてはありえないくらい多かった(^^;。 (20:14 Twitter Web Clientから・詳細)

birdきょうのつぶやき@digitune

きょうのつぶやき@digitune

wifiのAPってフツー起動時に電波の空きを調べて一番空いているチャネルを自動選択してくれるものだと思うけれど(安いAPはそうでもないのかしら?)、時々OS Xのairportコマンドなどで電波状況を調べるとしばしばめちゃくちゃ利用チャネルが偏ってるのって何でなんだろう? (11:14 Twitter Web Clientから・詳細)

定期的にAP再起動しないといけないのだろうか…orz。 (11:15 Twitter Web Clientから・詳細)

会社のWin8 PC、ウィルススキャン(ファイル数が多いので10時間以上かかる)が走っている時にタッチパッド二本指スクロールしようとするとマウスカーソルが固まってしまうことがある。キーボードからの入力は効く。数分待ってると急に動き出すので処理が詰まってる感じ。ボロい。 (11:19 Twitter Web Clientから・詳細)

で、一度その現象が発生してしまうとそれ以降二本指スクロールが効かなくなってしまうこともしばしば。ジェスチャー認識ロジック辺りの作りがヘボいのかなぁ。 (11:21 Twitter Web Clientから・詳細)

WG1200HPの「Wi-Fiデュアルバンド中継機能」が気になる…7千円か。 (11:53 Twitter Web Clientから・詳細)

えるかぴたん化完了。フォントレンダリングのパラメータ変わった?!見た目が全然違う… (13:51 Twitter Web Clientから・詳細)

SH-06Fの場合、wifiをスリープさせてもさせなくても電池の持ちはあんまり変わらない。なので基本スリープさせない運用に。 (14:03 Plume for Androidから・詳細)

巷で人気のつみ式ミクさんを見たあゆみさんの感想:「服じゃない」「胸より上が思ったよりひらひらしないので、おそらくヌーブラのようなもので胸に服を貼り付けているに違いない」「足とか細すぎなくて良い」だそうです。 (15:16 Twitter Web Clientから・詳細)

今回のYosemite→えるかぴたんはデザイン上の変化はあんまりないんですね。 (15:18 Twitter Web Clientから・詳細)

今日八王子はずっと暗くて寒い感じ。 (16:20 Twitter Web Clientから・詳細)

そういえば明日から国道16号八王子バイパスが無料になるんだっけ。記念に走りに行こうかしら?(^^; (16:45 Twitter Web Clientから・詳細)

First | Prev | 212 | 213 | 214 | 215 | 216 | Next | Last