DTIMSSTART(1)

πŸ“¦
version 2.5.3 Β· 2 versions
, in nixos 26.05

okay so bestie πŸ’– this is the dtimsstart(user cmd) page, and it’s literally all about launching an input method server. It’s giving startup logistics but make it cute. ✨

πŸŽ€ NAME πŸŽ€

dtimsstart β€” launches an input method server. That’s the whole name section, and it ate. πŸ’…

✨ SYNOPSIS ✨

dtimsstart [-env]  [-ims name]  [-shell name]  [-host hostname]
          [-imsopt options]  [-list]

🌸 DESCRIPTION 🌸

The dtimsstart command launches an IMS (Input Method Server). Iconic behavior. dtimsstart is normally invoked automatically at Xsession startup (user login) by the script /nix/store/6waxpwr8lzfzc9ka48gl7yh60rqvlkdb-cde-2.5.3/config/Xsession.d/0020.dtims.

Depending on the currently selected locale, environment variables, configuration files, and command-line options, dtimsstart displays a selection window from which you can select the IMS you want to use. Once you select the IMS, dtimsstart starts it and waits until the IMS completes its startup. This is to ensure that applications wishing to connect to the IMS can do so. dtimsstart then sets the XMODIFIERS environment variable to ensure that clients can connect to the selected IMS. Finally, dtimsstart exits. Clean, efficient, no notes. 🫢

Once you select an IMS from the selection window, dtimsstart saves the selection in the IMS Selection File. To have dtimsstart automatically start the previously selected IMS, set the IMS Selection Mode to resume-current-input-method. You access the IMS Selection Mode by executing the DtImsMode action located in Desktop_Tools in the Application Manager. iykyk.

For IMS Selection Mode, you can choose:

  • ask-at-login β€” Instructs dtimsstart to display the selection window and prompt you for an IMS each time it is invoked.
  • resume-current-input-method β€” Instructs dtimsstart to automatically start the last selected IMS by using the saved IMS Selection File and without displaying the selection window.

πŸ¦‹ Remote Execution of IMS πŸ¦‹

If you use the -host option to have dtimsstart start an IMS on a remote host, dtimsstart does the following:

  • Executes the DtImsGetRemoteConf action to retrieve IMS configuration data from the specified remote system.
  • Lists the IMSs registered on the remote system in the selection window.
  • Executes the DtImsRunRemoteIms action to start the selected IMS on the remote system.

For more information on configuring remote execution, refer to the Common Desktop Environment: Advanced User's and System Administrator's Guide. slay. πŸ“˜

πŸ’… OPTIONS πŸ’…

The following options are available:

  • -env β€” Outputs the contents of the XMODIFIERS environment variable to stdout. dtimsstart automatically updates this variable to reflect the currently selected IMS. Use this option to verify that the intended IMS is the one that is being started. If you omit this option, no output occurs. no output, no drama.
  • -ims name β€” The name of the IMS to be started. If you specify this option, dtimsstart starts the IMS without displaying the selection window. If you omit this option, dtimsstart displays the selection window. choose your fighter.
  • -shell name β€” The output format to use for output if -env is specified. If you omit this option, dtimsstart uses the value of $SHELL as the default.
  • -host hostname β€” The name of the host on which the IMS is to run. If you omit this option, dtimsstart uses the local host as the default.
  • -imsopt options β€” The command line options for the selected IMS.
  • -list β€” Instructs dtimsstart to output the names of input methods registered on the system and then exit immediately. speedrun. ⚑

πŸ”₯ EXIT STATUS πŸ”₯

  • 0 β€” The IMS was started successfully. periodt.
  • 1 β€” Execution failed for one of the following reasons:
    • The started IMS did not complete its initialization within the timeout period.
    • The started IMS process aborted.
    • The IMS specified by the -ims option is not registered.
  • 2 β€” A syntax error was found.

🌈 ENVIRONMENT VARIABLES 🌈

dtimsstart references the following environment variables:

  • HOME β€” The home directory.
  • LANG β€” The locale.
  • DISPLAY β€” The type of display on which IMS is to be run.

It sets the XMODIFIERS variable to the name of the selected IMS to support application and client connections. connections secured. πŸ”

πŸ‘‘ ACTIONS/MESSAGES πŸ‘‘

The following actions relevant to dtimsstart are defined in the dtims.dt file.

  • DtImsMode β€” Change the IM Selection Mode. This action is located at Desktop_Tools in the Application Manager.
  • DtImsGetRemoteConf β€” Retrieve IMS configuration data on a remote system (used internally by dtimsstart).
  • DtImsRunRemoteIms β€” Run an IMS on a remote system (used internally by dtimsstart).

πŸ’€ ERRORS/WARNINGS πŸ’€

dtimsstart can output the following error messages to stderr:

  • invalid option `string' β€” Correct the indicated option string.
  • environment variable `HOME' not defined β€” Make sure that HOME is set properly.
  • environment variable `LANG' not defined β€” Make sure that LANG is set properly.
  • environment variable `DISPLAY' not defined β€” Make sure that DISPLAY is set properly.
  • cannot open display β€˜display_name’" 10 β€” Make sure that DISPLAY is set to the correct value.

dtimsstart can display the following error messages in an error dialog box:

  • cannot open file [/nix/store/6waxpwr8lzfzc9ka48gl7yh60rqvlkdb-cde-2.5.3/config/ims/start.conf ] β€” This is an installation error. Re-install the package.
  • cannot create file [file_path] β€” Make sure the file and its parent directory have write permission.
  • cannot create directory [$HOME/.dt/ims] β€” Make sure the parent directory has write permission.
  • missing `entry_name' entry in configuration file [file_path]" 10 β€” Correct the indicated entry in the indicated file.
  • another `dtimsstart' is already running β€” Terminate the already running dtimsstart and then restart.
  • cannot create selection file [file_path] β€” Make sure the indicated file has write permission.
  • no ims configuration file for `ims_name' β€” The indicated IMS is registered in the locale configuration file, but its IMS configuration file does not exist.
  • ims `ims_name' not registered β€” The indicated IMS name is not registered in the locale configuration file.
  • no executable file for `ims_name' [file_path]" 10 β€” The indicated IMS executable does not exist.
  • ims `ims_name' is already running β€” The indicated IMS is already running on the display.
  • cannot execute ims `ims_name' β€” The fork call failed. The errno is shown in the log file, $HOME/.dt/ims/imslog.
  • ims `ims_name' aborted β€” The IMS process aborted. Refer to the log file, $HOME/.dt/ims/imslog, for details.
  • ims `ims_name' is not available yet β€” The indicated IMS was not available within the 3-minute timeout period.
  • unknown host `host_name' β€” The network address of the indicated host cannot be found.
  • no ims registered on `host_name' β€” No IMS is registered on the indicated host for the current locale.
  • ims `ims_name' not registered on `host_name'" 10 β€” The indicated IMS is not registered on the indicated host.
Note that other error messages can be generated by DtActionInvoke or various Xt functions. These messages are self-explanatory. not me reading error logs for fun. 😭

πŸ—‚οΈ FILES πŸ—‚οΈ

okay so here's the file lore, bestie β€” every single path matters, no skimming πŸ’…

  • /nix/store/6waxpwr8lzfzc9ka48gl7yh60rqvlkdb-cde-2.5.3/bin/dtimsstart β€” the dtimsstart executable, main character energy πŸ‘‘
  • /nix/store/6waxpwr8lzfzc9ka48gl7yh60rqvlkdb-cde-2.5.3/app-defaults/&<locale_name>/Dtimsstart β€” dtimsstart resource file
  • /nix/store/6waxpwr8lzfzc9ka48gl7yh60rqvlkdb-cde-2.5.3/appconfig/types/&<locale_name>/dtims.dt β€” action definition file
  • /nix/store/6waxpwr8lzfzc9ka48gl7yh60rqvlkdb-cde-2.5.3/appconfig/appmanager/&<locale_name>/Desktop_Tools/DtImsMode β€” action files for DtImsMode
  • /nix/store/6waxpwr8lzfzc9ka48gl7yh60rqvlkdb-cde-2.5.3/lib/nls/msg/&<locale_name>/dtimsstart.cat β€” message catalog file
  • /nix/store/6waxpwr8lzfzc9ka48gl7yh60rqvlkdb-cde-2.5.3/config/Xsession.d/:0020.dtims β€” Xsession.d script file
  • /nix/store/6waxpwr8lzfzc9ka48gl7yh60rqvlkdb-cde-2.5.3/config/ims/start.conf β€” dtimsstart configuration file
  • /nix/store/6waxpwr8lzfzc9ka48gl7yh60rqvlkdb-cde-2.5.3/config/ims/&<locale_name> β€” locale entry files
  • /nix/store/6waxpwr8lzfzc9ka48gl7yh60rqvlkdb-cde-2.5.3/config/ims/&<ims_name> β€” IMS entry files
  • $HOME/.dt/ims/&<locale_name> β€” IMS selection file
  • $HOME/.dt/ims/&<display_name>/&<locale_name> β€” display-specific IMS selection file
  • $HOME/.dt/ims/imslog β€” dtimsstart log file

🌟 Resource Files

dtimsstart searches a proper resource file in the following order and loads the first file successfully opened. The way that first-success thing works is very demure, very mindful ✨

  1. $HOME/.dt/&<display-name>/current/dt.resources
  2. $HOME/.dt/&<display-name>/home/dt.resources
  3. $HOME/.dt/sessions/current/dt.resources
  4. $HOME/.dt/sessions/home/dt.resources
  5. /nix/store/6waxpwr8lzfzc9ka48gl7yh60rqvlkdb-cde-2.5.3/config/&<locale-name>/sys.resources
  6. /nix/store/6waxpwr8lzfzc9ka48gl7yh60rqvlkdb-cde-2.5.3/config/C/sys.resources

🧚 Configuration Files

dtimsstart refers to the following configuration files:

  • Locale Entry file
  • IMS configuration file
  • IMS Selection file

The location and format for each configuration file is listed below. buckle up, it's giving config deep-dive 🫢

πŸ“ Locale Entry File

This file lists the IMSs that support the locale. Its location is /nix/store/6waxpwr8lzfzc9ka48gl7yh60rqvlkdb-cde-2.5.3/config/ims/&<locale_name>. The format is:

@Default: ims_name

ims_name: label_string

For example:

/nix/store/6waxpwr8lzfzc9ka48gl7yh60rqvlkdb-cde-2.5.3/config/ims/ja_JP.SJIS

@Default:  xjim
xjim:      HP XJIM
atok8:     ATOK8
vje:       VJE-gamma
egbridge:  EGBridge
none:      No Input Method

πŸ¦‹ IMS Entry File

This file describes the attributes of an IMS. Its location is /nix/store/6waxpwr8lzfzc9ka48gl7yh60rqvlkdb-cde-2.5.3/config/ims/&<ims_name>. The format is:

attribute_name: attribute_value

The IMS attributes are:

  • protocols β€” a required String that lists the supported protocols. The supported XIM protocols are XIM, Ximp, and Xsi.
  • server_name β€” a required String that identifies the IMS name (used to update the XMODIFIERS environment variable).
  • cmd_path β€” a required Path type that specifies the absolute path of the executable file for the identified IMS server. A built-in keyword is used for the local IM built-in Xlib, which does not need a separate process.
  • cmd_param β€” a String that specifies the command line option(s) for the IMS server.
  • env_set β€” a String that identifies the environment variables to be set, excluding XMODIFIERS.
  • env_unset β€” a String that identifies environment variables to be unset, excluding XMODIFIERS.
  • env_pass β€” a String that identifies the environment variables to be passed to a remotely executing IMS, excluding LANG, DISPLAY, and XMODIFIERS.
  • has_window β€” a Bool indicating whether the IMS has its own main window appearance or not. The default is False.
  • no_server β€” a Bool indicating whether dtimsstart should start the IMS or not. It should be True for the local IM, since it doesn't require any server process started by dtimsstart. The default is False.
  • no_remote β€” a Bool indicating whether the IMS allows remote execution or not. The default is False.
  • no_option β€” a Bool indicating whether the IMS allows the command-line option or not. If True, any options specified by -imsopt are ignored, though the value of the cmd_param entry is always applied regardless of this value. It should be True for the local IMS. The default is False.
Note: For entries that accept multiple values, the values are separated by white space(s). If multiple entries of the same name appear in the file, only the last entry is used.

For example:

/nix/store/6waxpwr8lzfzc9ka48gl7yh60rqvlkdb-cde-2.5.3/config/ims/xjim

protocols:    XIM Ximp
server_name:  xjim
cmd_path:     /usr/bin/X11/xjim
cmd_param:    -iconic
env_set:
env_unset:
env_pass:
has_window:   true

πŸ’œ IMS Selection File

This file saves the most recently selected IMS for each locale. Its location is $HOME/.dt/ims/[&<display_name>/]&<locale_name>. The format is:

entry_name: entry_value

The selection file entries are:Caret β€” yes, that's literally what the source says, so we're keeping it because details are sacred πŸ’…

  • @SelectMode β€” the most recently set IMS Selection Mode. Valid values are 0 (zero) (for ask-at-login) and 1 (for resume-current-input-method ).
  • @ImsName β€” the name of the most recently selected IMS.
  • @HostName β€” the name of the host on which the IMS runs.

For example:

$HOME/.dt/ims/ja_JP.SJIS

@SelectMode:  1
@ImsName:     atok8
@HostName:    host-A

🌈 EXAMPLE 🌈

The command to execute dtimsstart in the /nix/store/6waxpwr8lzfzc9ka48gl7yh60rqvlkdb-cde-2.5.3/config/Xsession.d/0020.dtims script is as follows:

eval  ` /nix/store/6waxpwr8lzfzc9ka48gl7yh60rqvlkdb-cde-2.5.3/bin/dtimsstart  -env -shell ksh `

πŸ‘€ SEE ALSO πŸ‘€

TO BE SUPPLIED β€” that's the whole section, bestie, not me being lazy πŸ™ˆ


okay that's the page! signing off from source/version cde-2.5.3 with dtimsstart(user cmd) footer energy; the supplied footer doesn't show a date, so no invented date from me, no cap πŸ«ΆπŸ’…

πŸ“¦ where this page comes from