ハッカーのためのブラウザ、Nyxt
(nyxt.atlas.engineer)- Nyxtは、インターネット上の情報をすばやく分析・探索・抽出したいユーザー向けに、キーボード中心で設計されたブラウザ
- リンクヒント、Jump Headings、ファジー検索ベースのタブ切り替えにより、マウスなしで文書とタブをすばやく行き来できる
- 文字列で複数のタブを選び、一度にコマンドを実行できるため、関連ページを閉じるような反復作業を減らせる
- 内蔵REPLで短いスクリプトや新しいワークフローを試せて、Nyxtのあらゆる要素は拡張・改変可能
- タグベースのブックマーク検索、関数型オートフィル、クリップボード履歴、ツリーベースの閲覧履歴が、探索と入力の履歴を保持してくれる
キーボードだけで移動する探索フロー
- Nyxtは、ユーザーがキーボードから手を離さずにWebを探索できるよう設計されたブラウザ
- リンクヒントを使えば、マウスポインターなしでキーボードからリンクをたどれる
- Aerodynamic Forces ページへ移動する流れが例として示されている
- Jump Headings は、文書のヘッダータグをファジー検索して、目的の章へ直接移動できるようにする
- Intelligence and Learning セクションへジャンプする方式
- タブ切り替えは、開いているタブをファジー検索で絞り込み、関連タブを探す仕組み
- 開いている11個のタブを、キー入力のたびに絞り込んでいく流れが見られる
- 複数タブ検索は、複数のタブで同時に内容を検索する機能
- 複数のページでペンギンの食性を探す状況が例として使われている
反復作業と拡張可能なブラウザ環境
- 複数のタブをグループとして選択したうえでコマンドを実行し、反復作業を減らせる
- ゾウに関するオンライン調査を終え、
"ele"という文字列に一致するすべてのWebページを選択して閉じる作業が例
- ゾウに関するオンライン調査を終え、
- コマンド実行は、関連コマンドをファジー検索してすぐ実行する方式なので、メニューを探し回る必要がない
- 内蔵REPLは、Nyxtを直接プログラミングするための入口として使われる
- 短いスクリプトの実行や新しいワークフローの試行が可能
- Nyxtのあらゆる要素は完全に拡張可能で、改変も可能
ブックマーク、入力、閲覧履歴の管理
- プロンプトバッファは、タグ付きブックマークを賢く検索するのに使われる
- オートフィル(autofill)はフォーム入力を埋める機能で、通常の文字列にも関数にもできる
- 関数型オートフィルは、現在の日付を埋めるといった動作が可能
- クリップボード履歴は、コピーした項目を記憶し、いつでも再度貼り付けられるようにする
- ツリーベースの閲覧履歴は、訪問したすべてのページを検索・巡回可能なツリーに保存し、以前訪れた場所を見失わないようにする
1件のコメント
Hacker Newsのコメント
FirefoxバックエンドやuBlock Originのようなものとの互換性は見たいし、新しいUIを売りにしたまた別のChrome派生ブラウザは求めていない
Vimiumではない理由はこちらを参照: https://nyxt-browser.com/article/nyxt-versus-plugins.org
Nyxtの良い点の1つは、レンダラーに縛られない方向を目指していることだ。現実的にどこまで可能なのかは分からないが、そういう発想を聞くと、より良い世界のために当然正しい方向のように感じる
「マウスは便利なのに、なぜキーボードを使う人たちはこんなにエリート主義的なんだ」という反応について言えば、Nyxt側は愛すべきマウスに対して聖戦をしているわけではない。これはratpoisonではない
Nyxtブログや他の場所で、マウスユーザーは人間ではなく、優れたブラウジング体験を享受する権利もない、などと主張しているのを見たことはない。見落としているならリンクで示してくれればいい
ratpoisonのページからリンクされている文章だが、何年か前に面白く読んだし、今見てもやはり笑える
どうしてratpoisonを離れたのか分からない
Vimスタイルの操作感が好きなら、このブラウザの拡張を試してみる価値はある。普通のウェブブラウジングをしながらでも、自分の習慣に合わせられる
それでもブラウザがもっと良くなることを願っているし、またダウンロードしてしばらく使ってみるつもりだ
https://chromewebstore.google.com/detail/vimium/dbepggeogbai...
コンセプトは本当に気に入ったが、当時はバグが多すぎて、クラッシュし続けたので諦めた。また一度試してみるつもりだ
ただし古いハードウェアでは少し遅く、もたつく。Chromiumも似たようなものなので、WebKitとBlinkがGeckoよりかなり重いからだろう
FirefoxはLinuxで動かすと、少なくとも古いハードウェアでもとても高速で、メモリ使用量も妥当だ
いつか時間ができたら自分で直そうと、ずっと自分に言い聞かせている
とりあえずこれも一度試してみるつもりだ
ブラウザだけでなく、ほぼあらゆるものにキーボードでアクセスできるようにしてくれる。もちろんNyxtはスクリプティングのような別の機能も提供している
[1] https://shortcat.app/
ただ、よく知らない開発者が作ったアプリに画面全体へのアクセス権を与えるのはためらわれる
自然と比較対象になるはずだが、FAQでは触れられていない
[1] https://github.com/qutebrowser/qutebrowser
ブックマークにはタグもディレクトリもなく整理がひどく、ハック可能性も低い。たとえばNyxtならできるはずに見える機能: https://github.com/qutebrowser/qutebrowser/issues/3933
大きな空白もある: https://github.com/qutebrowser/qutebrowser/issues/2328 https://github.com/qutebrowser/qutebrowser/issues/2492 https://github.com/qutebrowser/qutebrowser/issues/5731 (!!!)
ドメイン/URLごとの設定も、初期の属性セット以降ほとんど進展がなかった: https://github.com/qutebrowser/qutebrowser/issues/3636
広告ブロックは hosts ファイルよりはましだが、uBlock と比べるとまだかなり見劣りする: https://github.com/qutebrowser/qutebrowser/issues/6480 uBlock の「高度モード」のようなスクリプト遮断マトリクスもまったくない
長い間、バグ修正と依存関係の変更対応に縛られて停滞している印象だった。Nyxt が実用的になるのを待ちながら Firefox に移り、Nyxt 4 がその時点になりそうだ
コーディングを学ぶ必要のないエンドユーザーの立場から、潜在的な利益と代替機能が何を指すのか気になる
例えば Bypass Paywalls Clean と Cookie AutoDelete に相当する代替機能は何なのか?
Common Lisp で新しい拡張を書くのがそれほど簡単なら、なぜ利用可能な拡張が 2 つしか載っていないのかも疑問だ: https://nyxt.atlas.engineer/extensions
Nyxt と qutebrowser はパワーユーザーを狙っていながら WebExtension サポートを外している。それをサポートしていれば、はるかに人気が出ていたと思う
ただ、ハッカー = キーボードという考え方にはあまり関心がなく、マウスを使うほうが好きだ
Nyxt は最初の起動時から Emacs と Vim ユーザーに良い体験を提供しようとしているが、CUA バインディングもあり、ポインティング、クリック、ドラッグといった完全に標準的なサポートもある
binary_slinger、マウスを握る手の準備をしておけばいい。1 と 0 は Nyxt の中で飛び回る準備ができている