- If you are using a locale source file named gwm
, copy the provided locale source file that is closest to the desired character collation order to a file named gwm.src
. This name cannot be the same as any previously defined locale. The system-defined locales are listed in "Understanding Locale".
cd /usr/lib/nls/loc
cp en_GB.ISO8859-1.src gwm.src
 
- Edit the newly created gwm.src
 file to change the lines that are associated within the LC_COLLATE category that is associated with the characters you want to change:
vi gwm.src
   change
      <a>   <a>;<non-accent>;<lower-case>;IGNORE
      <b>   <b>;<non-accent>;<lower-case>;IGNORE
      <c>   <c>;<non-accent>;<lower-case>;IGNORE
      <d>   <d>;<non-accent>;<lower-case>;IGNORE
   to
      <a>   <d>;<non-accent>;<lower-case>;IGNORE
      <b>   <c>;<non-accent>;<lower-case>;IGNORE
      <c>   <b>;<non-accent>;<lower-case>;IGNORE
      <d>   <a>;<non-accent>;<lower-case>;IGNORE 
 
- Generate the new gwm
 locale:
localedef -f ISO08859-1 -i gwm.src gwm
 
- Set the LOCPATH environment variable to the directory containing the new locale. If the new locale is in /u/foo
, then enter:
LOCPATH=/u/foo:/usr/lib/nls/loc; export LOCPATH
The default for LOCPATH is /usr/lib/nls/loc.
Note: All setuid and setgid programs ignore the LOCPATH environment variable.
 
- Change the LC_COLLATE environment variable to the name of the newly defined gwm
 locale binary:
LC_COLLATE=gwm; export LC_COLLATE
Any command will now use the collation order specified in the gwm
 locale. In this example, the characters a-d
 are sorted in reverse order by commands such as li, ls, and sort.