[RndTbl] setting "word-chars" in gnome-terminal

Trevor Cordes trevor at tecnopolis.ca
Wed Dec 2 02:29:44 CST 2015


As per a comment I made maybe a year ago at a general meeting during 
roundtable regarding gnome-terminal removing the ability to set your own 
set of "word stop characters".  This annoyed me (as an admin and 
programmer) to no end because all of a sudden I was forced to accept that 
double-clicking a word would also select : and #, and some other crazy 
characters that aren't "word chars" to me.

They finally fixed this bug earlier in the year.  Fedora 22 has the fix 
(vte 0.28 and gnome-terminal 3.16 and newer in any OS).

However, the fix does not provide a GUI way to change the chars.  
Furthermore, the new method is pretty confusing.  I haven't seen a good 
explanation/documentation yet on the net, in the bugzillas or elsewhere.  
Here's mine:

First, get your gnome-terminal (g-t) "profile id".  Right-click in your 
g-t -> Profiles -> Profile Preferences (make sure your desired / usual 
profile is selected).  The UUID-ish looking thing in the General tab after 
"Profile ID" is what you need.  You can select it, and paste it below (or 
retype it).

For ease of manipulation, we'll put that profile-id into a shell var:

csh/tcsh:
set z=b1dcc9dd-5262-4d8d-a863-c897e6d979b9

sh/bash/ksh:
z=b1dcc9dd-5262-4d8d-a863-c897e6d979b9

Note, that string might be the same for you, that's my default profile id, 
and it seems to pop up in other people's comments so it may be some kind 
of hardcoded value for the default profile.

See what your values are set to:
dconf read /org/gnome/terminal/legacy/profiles:/:$z/word-char-exceptions
dconf read /org/gnome/terminal/legacy/profiles:/:$z/word-chars

Your word-char-exceptions may be blank, and your word-chars may be set to 
something if you are on a box you've upgraded from old versions.  Anyhow, 
you'll notice word-chars is being ignored.  It's obsolete.  Hose it (or 
just ignore it, but it confused me to no end until I confirmed with a dev 
it was being ignored):

dconf reset /org/gnome/terminal/legacy/profiles:/:$z/word-chars

Now we set the word-char-exceptions we want.  Here's the confusing part: 
this value is what we WILL consider a word-char, and so chars you put in 
here will be selected when you double-click.  Even worse, A-Za-z0-9 seem 
hardcoded in there, so you don't need to specify them.  The nomenclature 
stinks because to me what you are setting aren't "exceptions", they are 
actual word-chars.  Perhaps it should have been named word-char-additions.

Here's how you set it:
dconf write /org/gnome/terminal/legacy/profiles:/:$z/word-char-exceptions '@ms "-/@_&.?"'

If you had word-chars previously set and liked it, just remove A-Za-z0-9 
from that list and put the remainder chars in the word-char-exceptions 
list.

You must move the dash to the front, right after the double-quote, like in 
a regex character class.  You can specify ranges (in ascii) of chars using 
the dash elsewhere.

I have no idea what the @ms and extra quoting is for, but the dev put that 
in his example and it works.  I'm not sure how you'll get a ' or " in the 
list, but I'm sure it's possible (single quote should be easy but who 
knows how dconf wants the double escaped).  As a programmer, making either 
quote a word char is insanity so I leave that as an exercise for the 
reader.

The write to dconf takes effect immediately in your running g-t's, no need 
to restart anything.

I (strongly) assume this writes to a persistent store somewhere so you 
don't have to do it on each boot.

The devs say they'll put the GUI option back in the preferences dialog 
sometime in the future.  That'll be much nicer!  Why it was ever removed 
is beyond me.  Now, onto another bz as to why the --title option in g-t 
was removed...

Big thanks to Egmont Koblinger for being (one of) the driving force behind 
getting this option put back in.


More information about the Roundtable mailing list