dconf の word-char-exceptions が効果を発揮しない

dconf の word-char-exceptions が効果を発揮しない

このコマンドを使用して単語の文字境界を設定し、ダブルクリックしても空白の間の単語全体が選択されるのを防ぎました。たとえば、/user/ab/deb で「ab」をダブルクリックすると、/user/ab/deb ではなく ab が選択されるようにしたいのですが、現在これが起こっています。私はここの投稿に従いました。https://unix.stackexchange.com/questions/174728/gnome-classic-terminal-mouse-double-click-selection

dconf write /org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/word-char-exceptions '@ms "-#%&+,./:=?@_~"'

コマンドラインと dconf-editor の両方でプロパティを確認できます。

~>dconf list /org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/
default-size-columns
default-size-rows
use-theme-transparency
scroll-on-output
visible-name
word-char-exceptions

しかし、値は有効にならず、ダブルクリックしても、指定された文字ではなく、スペースで囲まれた単語全体が選択されます。ターミナルなどを再起動しました。

答え1

@ms 変数の問題は、逆ロジックを持つ可能性があることです。私の場合、dconf は機能します。そこで、2 クリック選択を制御するためのコマンドを次に示します。

UUID=$(gsettings get org.gnome.Terminal.ProfilesList default | tr -d \')
dconf write /org/gnome/terminal/legacy/profiles:/:${UUID}/word-char-exceptions "@ms '_.^~'"

Ubuntu 20.04.5 LTS の場合。

答え2

dconf アプローチは、Ubuntu 20.x LTS や他の OS では機能しなくなったようです。私の場合は、次の方法で機能しました:

UUID=$(gsettings get org.gnome.Terminal.ProfilesList default | tr -d \')
gsettings set org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:${UUID}/ word-char-exceptions '@ms "-/@_&.?"'   

関連情報