googler で web browser を選択する備忘録

Environment
Photo by hyt.

この blog で以前に取り上げた googler で,検索結果を開くときに使うウェブブラウザを変更する方法についての備忘録です.元ページには情報が無かったので少し調べてみました.

GitHub - jarun/googler: :mag: Google from the terminal
:mag: Google from the terminal. Contribute to jarun/googler development by creating an account on GitHub.

googler の実行ファイルは,python3 のスクリプトです.ウェブブラウザを呼び出している部分は,

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
def open_url(url):
"""Open an URL in the user's default web browser."""
logger.debug('Opening %s', url)
_stderr = os.dup(2)
os.close(2)
_stdout = os.dup(1)
os.close(1)
fd = os.open(os.devnull, os.O_RDWR)
os.dup2(fd, 2)
os.dup2(fd, 1)
try:
import webbrowser
webbrowser.open(url)
finally:
os.close(fd)
os.dup2(_stderr, 2)
os.dup2(_stdout, 1)
def open_url(url): """Open an URL in the user's default web browser.""" logger.debug('Opening %s', url) _stderr = os.dup(2) os.close(2) _stdout = os.dup(1) os.close(1) fd = os.open(os.devnull, os.O_RDWR) os.dup2(fd, 2) os.dup2(fd, 1) try: import webbrowser webbrowser.open(url) finally: os.close(fd) os.dup2(_stderr, 2) os.dup2(_stdout, 1)
def open_url(url):
    """Open an URL in the user's default web browser."""
    logger.debug('Opening %s', url)
    _stderr = os.dup(2)
    os.close(2)
    _stdout = os.dup(1)
    os.close(1)
    fd = os.open(os.devnull, os.O_RDWR)
    os.dup2(fd, 2)
    os.dup2(fd, 1)
    try:
        import webbrowser
        webbrowser.open(url)
    finally:
        os.close(fd)
        os.dup2(_stderr, 2)
        os.dup2(_stdout, 1)

のように,python の webbrowser モジュールの機能を利用しています.で,python の webbrowser モジュールから標準以外のウェブブラウザを使うには,環境変数 BROWSER に使いたいブラウザを指定すれば良いようです.

だから,例えば MacOS で googler から Chrome を呼び出すには

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
$ export BROWSER="/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"
$ export BROWSER="/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"
$ export BROWSER="/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"

としてから googler を使えば良い訳ですね.環境変数に設定するだけなので,Cygwin などでも問題なく動作します.

Environment
スポンサーリンク
Following hyt!
タイトルとURLをコピーしました