-
-
Notifications
You must be signed in to change notification settings - Fork 2
Charu3 SE Wiki (English)
Charu3 SE is a text input support tool for Windows. You can invoke the "Data Tree View", select canned text previously registered there, and paste it into the active window. The data to be registered in the Data Tree can be structured hierarchically using folders.
There are also a number of other features.
Microsoft Windows Vista and later
Ready-made binary releases are in https://github.com/itagagaki/charu3-SE/releases
Extract the zip file to a location of your choice. There is no installer. System repositories are not used.
Run Charu3.exe at the extracted location.
NOTE: Older versions (from 3.8.0 to 3.8.2) had a bug in the initialization of settings that may have resulted in incorrect settings. If you have run these versions before, please follow the procedure below to reset the settings once. Sorry for the inconvenience.
To reset to the default settings, start Charu3 while holding down the Shift key and select "Yes" in the dialog box that appears.
When you run Charu3 SE for the first time, a dialog box will appear asking you to create a data file or open an existing data file. Please create a new data file in a folder of your choice or specify an existing data file in Charu3 format.
Once the data file has been successfully set, the dialog will not appear again. The data file can be switched in the menu.
To open the menu, right-click on the notification area icon
The user can register the canned text that he/she often enters as data.
This data is in the form of a tree-structured list that can be selected or edited in the "Data Tree View" window.
The Data Tree View window can be popped up with any hotkey.
(Or, by default, it can be opened by left-clicking on the notification area icon.)
Which hotkey to be used can be set in the "General" tab of the "Settings" menu.
The initial setting is Alt
+X
.
Left-click in the data tree view to display the context menu. New data or folders can be added using the [New].
Selecting an item in the data tree view and typing Eneter
or double-clicking the item will paste the data (text) of that item into the currently active window.
This is done by placing the text into the system clipboard once and letting Charu3 SE automatically type the keys to paste (typically Ctrl
+V
).
Some applications may keys other than Ctrl
+V
for pasting. (For example, Ctrl
+Y
for Emacs).
Therefore, you can also configure copy and paste keys according to the caption (title) of the active window.
Please add the configuration to "Configuration in specific windows" in the "Key Event Settings" tab of the "Configuration" menu.
The Data Tree View window closes when:
- The item is decided
- The
ESC
key is pressed - The Data Tree View window loses focus due to the focus being moved to another window, etc.
- You can perform common operations -- click to select or rename items, expand/collapse folders, drag and drop items, move with the wheel, etc.
- Right-clicking brings up a menu.
- Double-clicking a data item puts the data into the clipboard, pastes it, and closes the window.
- Double-clicking a data item while holding down the
Shift
key puts the data into the clipboard and closes the window without pasting.
Key | Function |
---|---|
ESC |
Close the window |
Alt |
Menu |
Enter |
(if the selected item is data) put the data into the clipboard, paste it, and close the window; (if the selected item is a folder) expand it; (if the name of the item is being entered) complete the entry |
Shift +Enter
|
Put the data into the clipboard (if the selected item is data) and close the window without pasting; otherwise, the same as Enter
|
↑ or Shift +Space
|
Move to previous item |
↓ or Space
|
Move to next item |
Shift +↑
|
Move to previous folder (or any item if there is none) |
Shift +↓
|
Move to next folder (or any item if there is none) |
→ |
(if the selected item is in a collapsed folder) expand it; (if the selected item is in an expanded folder) move to a child item |
← |
Collapse if the selected item is an expanded folder, otherwise move to parent item (if any) |
Shift +←
|
Collapse all ancestors of the selected item |
Ctrl +Shift +←
|
Collapse all |
Home End PgUp PgDn
|
Move |
Delete |
Delete selected item |
Tab or Ctrl +Space
|
Select multiple item |
Ctrl +F
|
Open Find dialog |
F1 |
Move the mouse pointer over the selected item -- useful for displaying tooltips |
F2 |
Rename selected item |
F3 |
Find next |
Shift +F3
|
Find previous |
There are two types of data: Permanent Data and One-time Data.
One-time data is data that is automatically deleted from the data tree when it is read from the data tree for pasting. Data that is automatically added to the data tree in Storage Mode is one-time data.
Clicking on the icon of the one-time data item in the data tree view changes it to permanent data.
There are two types of folders: Normal Folders and History Folders.
To create a normal folder, select [New] → [Folder] from the Data Tree View menu. If you select a folder and choose [Edit] from the menu, you can toggle between a normal folder and a history folder in the Edit dialog.
The history folder automatically saves text that is copied to the clipboard.
By default, up to two of the most recently copied items are saved, and earlier items are automatically deleted.
This number can be set in the optional property Count=<Number>
for each folder.
In stock mode, text copied to the clipboard is automatically added to the Charu3 data tree as one-time data, and when a paste operation is performed, the text is extracted from the tree one by one in order for pasting.
The order in which data is retrieved can be selected from the [Stock Mode] tab in the [Settings] menu by selecting "First-In First-Out (FIFO)" or "Last-In First-Out (LIFO)".
Optional properties that can be set for data and folders are in the form property-name=value
and include the following
property-name | value | Description |
---|---|---|
Macro |
format-name | Specifies the name of the DLL that performs replacements in data formats other than Charu3 |
BeforeKey |
key-descriptor | Keys to press before pasting; e.g.: BeforKey=tab;5 |
AfterKey |
key-descriptor | Keys to press after pasting; e.g.: BeforKey=enter;5 |
HotKey |
hotkey-descriptor | Set a hotkey to open the Data Tree View and select this item |
DirectCopyKey |
hotkey-descriptor | Set a hotkey to copy the selected text to this item |
property-name | value | Description |
---|---|---|
Move |
yes or no
|
yes moves selected and pasted data to the top of the folder. The default is no . |
property-name | value | Description |
---|---|---|
Count |
Positive integer | Maximum number of data to store |
ArchiveUnit |
Positive integer | Unit of measure for archiving stored data |
ClearRec |
yes or no
|
If set to yes , previous history data will not be loaded when starting Charu3. The default is no . |
Lock |
yes or no
|
If yes , data is permanent data; if no , data is temporary data. The default is yes . |
Number |
yes or no
|
Whether to number data names. The default is yes . |
TitleLen |
Positive integer | Length of the name of the data to be stored. Default is 32 (bytes). |
DuplicationCheck |
yes or no
|
If yes , the same data as last time will not be imported. The default is yes . |
Above the text box in the Edit data dialog, there is a snippet list (① in the figure). Selecting a snippet name from this list will insert the snippet data at the cursor position of the text box.
Using ②, you can select a file and insert its path name at the cursor position of the text box.
The list of snippets can be customized by editing _locale\en\snippets.json
(if your Windows display language is not Japanese) in the Charu3.exe folder.
The following replacements are applied to text between <charuMACRO>
and </charuMACRO>
in the data. <charuMACRO>
and </charuMACRO>
will not be inserted.
Note: Although it looks like XML at a glance, it cannot be nested.
String to be replaced | Result |
---|---|
$Y |
replaced by the current 4-digit year |
$Y |
replaced by the current 2-digit year |
$M |
replaced by the current 2-digit month |
$MM |
replaced by the current month (3-letter abbreviated English Jan, Feb, Mar, ...) |
$D |
replaced by the current 2-digit day of the month |
$ddd |
replaced by the current day of the week in English (Sunday, Monday, Tuesday, ...) |
$dd |
replaced by the current English day of the week (3-letter abbreviation Sun, Mon, Tue, ...) |
$d |
replaced by the current day of the week in Japanese (日, 月, 火, ...) |
$H |
replaced by the 2-digit hour (24-hour notation) of the current time |
$h |
replaced by the 2-digit hour (12-hour notation) of the current time |
$m |
replaced by the 2-digit minute of the current time |
$s |
replaced by the 2-digit second of the current time |
$AMPM |
replaced by AM or PM of the current time |
$ampm |
replaced by 午前 or 午後 (Japanese) of the current time |
$SEL |
replaced by the selected text in the active window |
$CLIP |
replaced by the clipboard contents |
$SHELL<command-line> |
runs command-line , replaced by empty |
$RELATE<pathname-of-a-file> |
opens the file with the associated program, replaced by empty |
$PLUG-IN<DLL,string> |
calls DLL with string as a parameter and replaced with the string returned by the DLL |
Create a subfolder rw_plugin
in the Charu3.exe folder and put the data compatibility plugin in it, it will be detected automatically.
However, I have not confirmed the functionality of the previous plugins. Also, I found bugs in the sample sources for the old Charu3 plugin. Therefore, we do not consider older plugins to be completely safe to use, as they may contain bugs.
We have noticed that old plugins do not work properly with the Charu3 SE. So, I tried to rebuild those plugins again in the current development environment and found that they could not be built due to missing source code. I have tried to contact the original author, but have not received a response yet.
You can start a data search from the data tree view menu or by pressing Ctrl
+F
.
In addition to this normal search, you can select an item by typing its name. For example, in the data tree view, typing p
will take you to an item whose name begins with the letter "p". Then quickly typing i
will take you to an item whose name begins with "pi". In this way, typing the name of an item will take you to that item. This feature can be adjusted in the [Data Tree View] tab of the [Settings] menu.
You can customize the style of the data tree view by going to [Settings] → [Style].
The [Read Style Settings File] button in the dialog allows you to load a json file like the one below. Each value you load will be reflected in the dialog.
{
"backgroundColor": "#ffffee",
"borderColor": "#ff9900",
"fontName": "Arial",
"fontSize": 90,
"iconFile": "itemIcon.bmp",
"textColor": "#663300"
}
In [Settings] → [Styles], you can specify a BMP image file with 22 18x18 pixels icons side by side, 18 pixels high and 396 pixels wide for 'Icon Set File'. The icons represent the following data or folders from left to right.
- Normal folder (closed)
- Normal folder (open)
- History folder (closed)
- History folder (open)
- One-time data (closed)
- One-time data (open)
- General data (closed)
- General data (open)
- Data containing date and time (closed)
- Data containing date and time (open)
- Data to run application (closed)
- Data to run application (open)
- Data to open a file with the default program (closed)
- Data to open a file with the default program (open)
- Data containing text in selection (closed)
- Data containing text in selection (open)
- Data containing text in clipboard (closed)
- Data containing text in clipboard (open)
- Data containing plug-in call (closed)
- Data containing plug-in call (open)
- Data that performs keystrokes (closed)
- Data that performs keystrokes (open)
Green (#00FF00) pixels are treated as transparent.
The location of the user settings save file settings.json
and the state save file state.json
is the folder %AppData%\Charu3
.
In Windows 10 %AppData%
is usually C:\Users\(user name)\AppData\Roaming
.
Normally AppData
is a hidden folder, so to view it in Explorer, select the Show hidden files option in the View tab of Explorer.
If you place a plain file named FORCE_INTO_PORTABLE_MODE
(empty or otherwise) in the folder of the Charu3.exe to be executed and run it, it will be in portable mode, and the user settings save file and the status save file will be read and written to the folder with the Charu3.exe instead of %AppData%\Charu3
folder.
Press the Windows logo key + R
key, type shell:startup
and select OK. This will open the Startup folder.
Paste the Charu3.exe shortcut there.
You can enter tabs using the Ctrl
+ Tab
keys.
You can drag the border of the dialog to enlarge the data editing column.
Selecting "By the Caret" causes the data tree view to appear by the caret (text entry cursor) in the active window. Unfortunately, this does not work as expected in all applications. For applications that do not report the caret position, the data tree view will appear in the upper left corner of the window.
There are options to set the delay time for copying and pasting. The smaller these values are, the faster and more comfortable the pasting will be. However, if they are too short, pasting may not work properly. The default value is 50 milliseconds, but this just follows the original Charu3, and we do not know if this time is appropriate for your system. Please try to set it to a range where the pasting can be performed normally.
When Charu detects new text on the clipboard, it will store (stock) it or put it in the history folder. Add the filename or full pathname of the program you want to ignore to the [Stealth Programs] list in the [Advanced] tab of the [Settings] menu. For example, you might want to register a password manager application.
The default setting for Emacs window titles is (multiple-frames "%b" ("" invocation-name "@" system-name))
, but I have changed it to
;; frame title
(setq frame-title-format '(multiple-frames ("%b - Emacs@" system-name) ("Emacs@" system-name)))
This will ensure that Emacs@
is included in the window caption for both single and multiple frames.
Then, if you add a key setting for windows whose "window name contains Emacs@
" in the "Configuration in specific windows" of the "Key Event Settings" tab in the "Settings" menu of Charu3, you should be able to use Charu3 with Emacs as well.
You may want to set Ctrl
+Y
as the key to use for pasting.
(unless you have changed your Emacs key bindings)
As for the key to use for copying, we have to think a bit.
The first thing that comes to mind is Alt
+W
(kill-ring-save
), but this command gives an error if there is no selection (no mark set).
As for the key to use for copying, we have to think a bit.
The first thing that comes to mind is Alt
+W
(kill-ring-save
), but this command gives an error if there is no selection (no mark set).
So I created my own copy function for Charu3 and assigned it to Ctrl
+Alt
+X
as follows.
;; copy region for charu
(global-set-key (kbd "C-M-x") '(lambda ()
(interactive)
(if (use-region-p)
(let ((str (filter-buffer-substring (region-beginning) (region-end)))) (kill-new str))
(kill-new ""))))
This is perfect for Emacs support👍