hatena.dummyï¼ gmail.com

インターネットブラウザーのFloorpに、独自実装されている機能の制限をかける。

Firefoxから派生したブラウザに、Floorpというものがある。

floorp.app普段はFirefoxをメイン、Chromeをサブに使っているんだけど、Firefoxと同じエンジンの派生ブラウザも試してみたくなり、しばらく使っていた。

基本中身はFirefoxなので、カスタムCSSもuser.jsも同じ手続きで使えるのだけど、一つだけどうしても困った機能があった。

最初から独自機能としてビルトインされているタブツリーなんだけど、これが有効の状態だと、どうしてもリンク先を新しいタブで開いたときの挙動が、困ったことになる。

普段はタブバーを表示して、そのタブバーの上で複数のタブを管理しているのだけども、タブツリー機能があると、そちらの処理が優先されてしまい、

新しくタブを開いた時に、ツリー上での親タブの下位に開くため、通常のFirefoxとは違う振る舞いになることがある。

タブバーでは、1,2,3,4,5とタブが並んでいた時に、2のタブで新しいタブを開いた場合、1,2,6,3,4,5となってほしいんだけど、

タブツリー上でもしも3タブが2タブの子になってたりすると、新しいタブを開いた場合に、1,2(3),6,4,5と、タブバー上での順番が変わってしまう。

これがどうにも気持ち悪いので、タブツリーの機能を切ってしまいたかったのだけど、Floorp側にそういう設定項目がない。

 

config:aboutで思いつくワードを放り込んで、片っ端からfalseにしてみたりしたんだけど、これは効果がなかった。

次にHelp->他のトラブルシューティング情報を見てみると、「Floorp の機能」の項目に、Floorpにビルトインされている独自機能の一覧があり、その中にタブツリーの機能名(Tree Style Tab - ツリー型タブ)もあった。

で、これを削除してFloorpを再起動したところ、タブツリー機能が見事に停止していたので、一安心ということになった。

 

しかしこの機能はFloorpの売りの一つだろうから、それを停止させるくらいなら最初から使うなよ。という気はしないでもないけれど。

 

「Floorp の機能」の一覧にある機能は、プラグインの形で"C:\Program Files\Ablaze Floorp\browser\features\"の中に放り込まれている。

そこで、いらない機能をそのディレクトリから移動か削除してしまえば、任意に機能を停止させることができる。

例えば、Floorpを一旦閉じてから、"C:\Program Files\Ablaze Floorp\browser\features\treestyletab@piro.sakura.ne.jp.xpi"を取り除いて再起動したときには、タブツリー機能を停止させることができた。

 

この機能を作った人ごめんなさい。でもおかげさまで、他に気になる点もなく、このブラウザを利用できるようになった。

はてなブックマークのお気に入り(favorite)のページから、☆をつけるためのボタンが消えてしまっていたのを、復活させた。

bookmark.hatenastaff.comなんかしらないけど、6/2のこのアップデート後に、お気に入りページ(https://b.hatena.ne.jp/ユーザーのID/favorite)のコメント欄から、スターをつけるためのボタンが消えてしまっていた。

いつも、はてなブックマークを開いた時には、まず最初にお気に入りで他のユーザーのコメントをチェックしつつ、記事の閲覧とユーザーへのスターを付けてたので、そのルーチンワークができなくなって不便になった。

 

確かに"リンク"先を開いてブックマーク一覧のページを表示すれば、スターのボタンも表示されるけど、タブで開けば無駄にタブを閉じる作業が発生するし、直接開けば元のfavoriteページに戻った時に、それまで下にスクロールして順番に閲覧していた、ブックマークの位置が巻き戻ってしまい、どこまで読んだか管理するのが大変になる(この、ブックマークが重複したり、自動ページ読み込みのせいで表示が巻き戻る仕様、なんとかなんないの?)。

こんな面倒くさいことはやってられないので、なんとかしてみた。

 

なので、このボタンを再び使えるようにCSSを細工したのがこれ↓

お気に入りページのコメント欄に、☆ボタンを表示させた。

この部分の要素がdisplay:none !important;になってたので、ブロック表示するように書き換えただけ。

他に影響を及ぼさないようにclassを指定して処理したはずだけど、本当にこれで大丈夫かチェックしてないので自信はない。やる元気もない。

ぶっちゃけもっとスマートな書き方がありそう。

.centerarticle-reaction-menu > .is-hidden {
    display: block !important;
}

Stylusなどの、ブラウザのCSSを書き換えるツールで、使用するユーザーのブックマークページのURL(https://b.hatena.ne.jp/ユーザーのID/)を指定して、上のCSSを書いて有効にしておけば、誰でも使えるようになると思う。

 

ただ、わざわざここを隠してるってことは、将来的には隠すだけじゃなくて、機能そのものを運営が削除することもありえるので、心配してる。

備忘録:MacOS(Big Sur)環境で、KEXTの手動インストール。

普段使っていたアプリケーションを一度アンインストールしてから再インストールしたら、

アプリケーションが利用するカーネル機能拡張(KEXT)が正しくインストールされず、

まともに動作しなくなってしまった。

原因:

-El Capitanで追加された、システム整合性保護 (System Integrity Protection, SIP) が、サードパーティのドライバによってクリティカルな処理を行う事を制限する。

-Catalina以降、システム領域保護のためにMacintosh HD – DataとMacintosh HDが分離され、KEXTを格納するシステム領域(/System/Libraries/Extensions/)はread-onlyになった。

-Big SurでKEXTが原則禁止され、Big Sur環境でKEXTを無理やりシステム領域にコピーしても、動作せずにブロックされてしまうようになった。

 

 Big Sur環境では基本的に不要なKEXTは消しましょうね。で、KEXTを利用しているアプリケーションは、KEXTを使わずSystem Extentionで機能を実現できるように、アプリベンダーは努力してね。ということっぽい。

 KEXTは古い実装法でセキュリティにも問題があることからこうなっているわけで、しょうが無い。

じゃあ諦めましょうか。

 

 とも言いたくないので、解決した。

 

流れ:

-リカバリモードでブートする。

起動時にCommand-Rを押し続ければリカバリーモードで起動する。

できない場合は次のコマンドを、ターミナルで実行する。

sudo nvram internet-recovery-mode=RecoveryModeDisk
sudo reboot

-SIPを停止する。*1リカバリモードでブートして、ターミナルを起動し、次のコマンドを実行。

csrutil disable

-再起動。Big Surに入る。

-KEXTをシステム領域にコピーし、所有権を変更する。

リカバリモードでのターミナルコマンド直打ちがだるいので、GUIのツールを使った。

github.com

-KEXTの所有権を変更する。*2

chmod 755 /System/Libraries/Extentions/foobar.kext*3

chown root:wheel /System/Libraries/Extentions/foobar.kext

-KEXTのキャッシュを消す。*4

kextcache -system-prelinked-kernel

 -KEXTをロード。*5

sudo kextload /System/Libraries/Extentions/foobar.kext

-正しくロードできたか調べる。*6

sudo kextstat

-正しくロードできたら、もう一度リカバリモードでブートし直す。

sudo nvram internet-recovery-mode=RecoveryModeDisk
sudo reboot

-SIPを再開する。

ターミナルを起動し、次のコマンドを実行。

csrutil enable

 -再起動。Big Surに入る。

-KEXTがロードできているか調べる。

sudo kextstat

-KEXTを利用するアプリケーションが、正しく使用できるか調べる。

 

 これでとりあえずKEXTを手動でインストールすることができた。

わすれてしまう前に記録。

*1:直後に再起動し、もう一度リカバリモードに入ってからcpを使ってKEXTを直接システム領域にコピーすることもできるのだけど、リカバリモードのターミナルはパス補完がきかない上に、パスも/Volumesから始まるベタ打ちになるので、面倒くさいことこの上ないからやめた。実際にどうやってコピーしたかは、この後説明。

*2:ターミナルで実行

*3:foobar.kextは実際にコピーしたKEXTファイル名

*4:ターミナルで実行

*5:ターミナルで実行

*6:ターミナルで実行

ヘルプマークとは別に、欲しいマークのバッジを作ってみた。

 
 ぶっちゃけ、公式のサイトから画像を拾ってきて、
缶バッジオーダーメイドのサイトで頼んだだけなんで、
誰でも作れたりする。

それなりにtampermonkeyで動かすためのJavaScriptいじくってたら

あっというまに500行くらい書いてた
のはいいんだけど、JSの特性に適した書き方が全然解ってなくて、無駄が多い

node.querySelector()やnode.childNode()などで取得したDOM要素が
実体そのものなのか、スナップショット?なのか、それとも単なるコピーなのかいまいちよく解ってなくて
DOM操作するときにめちゃくちゃ手間取ってるんだけど
色々勘違いしてるような気がする
あとLazyLoadで要素の読み込みを遅延させてるサイトがすごく面倒臭い
特定の要素を遅延読み込みさせる方法はたくさん検索でヒットするんだけど
逆に遅延読み込みしてる要素を読み込まれる前に処理したいときに、どうするのが一番スマートなのか
いまいち最適解を見つけられてない

アカウント移行します

いろいろあって、アカウント移行することにしました。
前のアカウントに戻るかも。
次の世で会おう。

やっぱやめました。
思いとどまった。

永谷園のとり野菜みそスープ


賞味期限ぎりぎりのカップスープが出てきたから慌てて食べた
4月頃に近所のコンビニで「あれ?名古屋で石川県のとり野菜みそが売ってる」と物珍しさから買ったんだった
2つ買って、1つはすでに食べてたんだけどもう1つあったのを忘れてた
永谷園の製品なんだけど、期間限定のコラボ商品だったんだろうか?
最近見かけないし、ネットにも情報が少ないし
とり野菜みそがカップスープとなってコンビニで!!!byまつや(石川県) - サラダ部長の毎日食べ野菜!
インスタント『とり野菜みそスープ』を発見! ( 日々の出来事 ) - わたしのSOMETHING - Yahoo!ブログ
石川県名物「とり野菜みそ」のスープが発売中!野菜がたっぷりとれておいしい | ヌートン 新たな情報未発見メディア
本家まつやのとり野菜みそ
とり野菜みそオンライン
フリーズドライでも、お野菜がたっぷり入ってるとほっとするし
スープの味も好きなのでまた取扱があるといいな