有料 Mac アプリ Bartender で何ができるのか

有料 Mac アプリ Bartender で何ができるのか

👉 Bartender 5 - Take control of your Menu bar hatena-bookmark

現在、2728円の有料アプリです。

 

💻 何がうれしいのか

便利な機能がいろいろありますが、一つだけ必須な機能を挙げてみます。

例えば、Android Studio を開いてみます。

14インチ Mac Book Pro で、解像度はデフォルトです。

有料 Mac アプリ Bartender で何ができるのか

画面上部メニューバーには、利用しているアプリのメニューが表示されます。

Android Studio を開いてみます。

画面上部中央のカメラレンズのあるノッチをまたいでメニューバー幅の6~7割ほどが利用中のアプリである Android Studio のメニュー項目で占められてしまいます。

有料 Mac アプリ Bartender で何ができるのか

macOS 上で常駐で動いてるアプリのアイコンたちは、利用中の Android Studio のメニューたちで隠れてしまっています。

常駐アプリのアイコンを見る方法は、利用中のアプリを Finder などのメニュー数の少ないアプリに切り替えるしかありません。

これを Bartender を使うと、以下のようになります。

有料 Mac アプリ Bartender で何ができるのか

有料 Mac アプリ Bartender で何ができるのか

有料 Mac アプリ Bartender で何ができるのか
メニュー数の多い Android Studio を利用しながらでも隠れた常駐アプリアイコンをメニューバー下部に表示することができます。

有料 Mac アプリ Bartender で何ができるのか

 

💻 まとめ

似たような無料アプリはありますが、メニューバーの下に並列して表示できるアプリは見つけることができませんでしたので、今はこれがベストではないかと思っています。

常駐アプリのアイコンはいつでも確認できる状態にしておきたいです。

無料アプリあれば教えてください。

ソースがオープンであれば参考につくってみたいです。



gradle コマンドを補完しようとして brew にも補完があることを知る今さら感

 

👩‍💻 gradle/gradle-completion

本家から公開されてたんですね!

Gradle ./gradlew を補完しようとして brew の補完を知る今さら感

👉 gradle/gradle-completion: Gradle tab completion for bash and zsh hatena-bookmark

./gradlew でも利用できるようなのでインストールしてみました。


brew install gradle-completion

しかし、補完されないので調べる。


❯ brew info gradle-completion
...
==> Caveats
zsh completions have been installed to:
  /opt/homebrew/share/zsh/site-functions
...


❯ ls /opt/homebrew/share/zsh/site-functions
_brew@     _gradle@   _lsd@      _starship@

手動でロードしてみると弾いてるが。


❯ source /opt/homebrew/share/zsh/site-functions/_gradle

_arguments:comparguments:327: can only be called from completion function
_tags:comptags:36: can only be called from completion function
_tags:comptry:55: can only be called from completion function
_tags:comptags:60: can only be called from completion function
_tags:comptags:67: can only be called from completion function

どうなってるんや。

 

👩‍💻 Basic installation doesn't work on macOS with zsh #95

issues にこんな。


if [ $commands[brew] ]
then
  fpath=("$(brew --prefix)/share/zsh/site-functions" $fpath)
fi

gradle-completion/issues/95#issuecomment-1165679687

見てみると FPATH にない。


❯ echo $FPATH | tr ':' '\n'
/opt/homebrew/share/zsh-completions
/usr/local/share/zsh/site-functions
/usr/share/zsh/site-functions
/usr/share/zsh/5.9/functions

ここに、gradle-completion のインストール先である


/opt/homebrew/share/zsh/site-functions

を追加すると補完は効き始めた。

 

👩‍💻 Homebrew Shell-Completion

さっきの解決方法の issue コメントに書いてあったページをみてみる。

To make Homebrew’s completions available in zsh, you must insert the Homebrew-managed zsh/site-functions path into your FPATH before initialising zsh’s completion facility. Add the following to your ~/.zshrc:


if type brew &>/dev/null
then
  FPATH="$(brew --prefix)/share/zsh/site-functions:${FPATH}"

  autoload -Uz compinit
  compinit
fi

👉 brew Shell Completion — Homebrew Documentation hatena-bookmark

.zshrc に追加すると、brew コマンドでも TAB キーで補完が効き始める。


❯ brew i

info                  -- Display brief statistics for your Homebrew installa
install               -- Install a formula or cask
install-bundler-gems  -- Install Homebrew's Bundler gems
irb                   -- Enter the interactive Homebrew Ruby shell

知らんかった。

 

👩‍💻 まとめ

Homebrew のコマンド補完を以下で有効にしておくと、


# .zshrc
if type brew &>/dev/null
then
  FPATH="$(brew --prefix)/share/zsh/site-functions:${FPATH}"

  autoload -Uz compinit
  compinit
fi

Homebrew で以下にインストールされる補完スクリプトたちも、


❯ ls $(brew --prefix)/share/zsh/site-functions
_brew@     _gradle@   _lsd@      _starship@

インストール直後にそのまま使えるようになる。


【Mac】コピペしようとしたら出てくる「"調べる”では、Web、iTunes、App Store、映画の上映時間、近隣エリアの情報などの候補がパーソナライズされて表示されるようになりました。」を出さない設定

ブラウザなどのテキストをコピーしようとしたら出てくるこれ。

【Mac】コピペしようとしたら出てくる「"調べる”では、Web、iTunes、App Store、映画の上映時間、近隣エリアの情報などの候補がパーソナライズされて表示されるようになりました。」を出さない設定

【Mac】コピペしようとしたら出てくる「"調べる”では、Web、iTunes、App Store、映画の上映時間、近隣エリアの情報などの候補がパーソナライズされて表示されるようになりました。」を出さない設定

機能名が分からないので調べようもなくて放置していましたが。

私としましては不要なので表示されないように機能を無効にしたい。

 

🧑‍💻 機能名は「調べる&データ検出」

機能名は「調べる&データ検出」のようです。


[ システム設定 ]

      ↓

[ トラックパッド ]

      ↓

[ ポイントとクリック ] 

      ↓

[ 調べる&データ検出 ]

「調べる&データ検出」

どうやら、「1本指で強めのクリック」で発動していたようです。

とりあえず「オフ」にしておきました。

便利な機能かも知れんけど。


【macOS】gnubin への PATH を一括で通す

【macOS】GNU パッケージの PATH
GNU gsed をインストールした後の表示。


GNU "sed" has been installed as "gsed".
If you need to use it as "sed", you can add a "gnubin" directory
to your PATH from your bashrc like:

     PATH="$HOMEBREW_PREFIX/opt/gnu-sed/libexec/gnubin:$PATH"

👉 gnu-sed — Homebrew Formulae hatena-bookmark

sed のように利用するには PATH を優先しておく、とのことだが。

GNU パッケージは、「パッケージごとに」シンボリックシンクが分かれている。


Commands also provided by macOS and the commands dir, dircolors, vdir have been installed with the prefix "g".
If you need to use these commands with their normal names, you can add a "gnubin" directory to your PATH with:
    PATH="$HOMEBREW_PREFIX/opt/coreutils/libexec/gnubin:$PATH"

👉 coreutils — Homebrew Formulae hatena-bookmark

自分のマシンで見てみる。


❯ ls -l $(brew --prefix)/opt/*/libexec/gnubin
/opt/homebrew/opt/gnu-sed/libexec/gnubin:
total 0
lrwxr-xr-x@ 1 mao  admin  14 Nov  7  2022 sed@ -> ../../bin/gsed

/opt/homebrew/opt/gsed/libexec/gnubin:
total 0
lrwxr-xr-x@ 1 mao  admin  14 Nov  7  2022 sed@ -> ../../bin/gsed

/opt/homebrew/opt/libtool/libexec/gnubin:
total 0
lrwxr-xr-x@ 1 mao  admin  18 Mar 17  2022 libtool@ -> ../../bin/glibtool
lrwxr-xr-x@ 1 mao  admin  21 Mar 17  2022 libtoolize@ -> ../../bin/glibtoolize

そうか、インストール時に作ってくれてるんだシンボリックリンク。

sed@ が2個あるけど実体は同じでした。


❯ ls -al /opt/homebrew/opt/gnu-sed
lrwxr-xr-x@ 1 mao  admin  21 Oct  5 22:58 /opt/homebrew/opt/gnu-sed@ -> ../Cellar/gnu-sed/4.9

❯ ls -al /opt/homebrew/opt/gsed
lrwxr-xr-x@ 1 mao  admin  21 Oct  5 22:58 /opt/homebrew/opt/gsed@ -> ../Cellar/gnu-sed/4.9

よって、以下のようにして GNU パッケージの PATH を一括で通すと良い、とな。


if type brew &>/dev/null; then
  HOMEBREW_PREFIX=$(brew --prefix)

  # gnubin; gnuman
  for d in ${HOMEBREW_PREFIX}/opt/*/libexec/gnubin; do export PATH=$d:$PATH; done

  # I actually like that man grep gives the BSD grep man page
  #for d in ${HOMEBREW_PREFIX}/opt/*/libexec/gnuman; do export MANPATH=$d:$MANPATH; done
fi

👉 macos - Homebrew: Easy way to add 'gnubin' to path for multiple packages? - Ask Different hatena-bookmark

他パッケージのインストーラーがこけたりするときないのか、と思ったので眺めておきました。


【macOS Sonoma】sudo のパスワード入力を Touch ID (指紋認証) で永続的に越えてゆく

Touch ID (指紋ボタン) を使って、sudo パスワードを入力する。

Touch ID can be allowed for sudo with a configuration that persists across software updates using /etc/pam.d/sudo_local. See /etc/pam.d/sudo_local.template for details.

こんなことできたんですね。

で、こんな新機能が紹介されています。


Touch ID can be allowed for sudo with a configuration that persists across software updates using /etc/pam.d/sudo_local. See /etc/pam.d/sudo_local.template for details.

👉 What's new for enterprise in macOS Sonoma - Apple Support hatena-bookmark


❯ ls -al /etc/pam.d/sudo*
-r--r--r--  1 root  wheel  283 Sep 16 22:28 /etc/pam.d/sudo
-r--r--r--  1 root  wheel  179 Sep 16 22:28 /etc/pam.d/sudo_local.template

❯ cat /etc/pam.d/sudo
# sudo: auth account password session
auth       include        sudo_local
auth       sufficient     pam_smartcard.so
auth       required       pam_opendirectory.so
account    required       pam_permit.so
password   required       pam_deny.so
session    required       pam_permit.so

ということで、OSアップデートの度に更新されてしまう /etc/pam.d/sudo


auth       include        sudo_local

が追加されたそうです。

便利です。

👉 macOS Sonoma 14.xでsudo実行時にTouch IDで認証する機能を有効化する手順 - Qiita hatena-bookmark
👉 Enable Touch ID for Sudo / Terminal (Sonoma Ready) | by La Clementine | Aug, 2023 | Medium hatena-bookmark
👉 Persistent Touch ID for sudo hatena-bookmark