This is the enhancement of a long time forgotten feature.
To override the current toolbar icons, we needs 2 things: "toolbarIcons.xml" file and one icons set.
Here are the instructions to customize toolbar icons:
1. Put the file "toolbarIcons.xml" (Note 1) in the same folder of "config.xml" file (Note 2).
2. Create a new folder "toolbarIcons" in the folder where you put "toolbarIcons.xml" file.
3. Edit the file "toolbarIcons.xml": put the icon set name you want in "icoFolderName" attribute (Note 3).
for example: `<ToolBarIcons icoFolderName="myAwesomeIcons" />`
4. Go into "toolbarIcons" folder and create a new folder with the exact name of the icon set name you provided in "icoFolderName".
5. Put all your customized icons into "[toolbarIcons.xml's folder]\toolbarIcons\myAwesomeIcons\".
6. Now it's the magic moment: Relaunch Notepad++ and you'll see your icon set instead of the default icons.
Note:
1. The content of "toolbarIcons.xml" is following:
```xml
<?xml version="1.0" encoding="UTF-8" ?>
<NotepadPlus>
<ToolBarIcons icoFolderName="nppLagacyIcons" />
</NotepadPlus>
```
2. If you find the file "doLocalConf.xml" in the Notepad++ installed directory, you will find the "config.xml" in Notepad++ installed directory. Otherwise it should be in "%APPDATA%\Notepad++\" directory.
3. if "icoFolderName" value is an emptty string, the path of icons will be in "[toolbarIcons.xml's folder]\toolbarIcons\default\" folder.
Each replacing icon (45 icons) has the fixed and specific name:
| index | Normal icon | Disabled icon |
|-------|--------------------------|---------------------------------|
|1 | new.ico | |
|2 | open.ico | |
|3 | save.ico | save_disabled.ico |
|4 | save-all.ico | save-all_disabled.ico |
|5 | close.ico | |
|6 | close-all.ico | |
|7 | print.ico | |
|8 | cut.ico | cut_disabled.ico |
|9 | copy.ico | copy_disabled.ico |
|10 | paste.ico | paste_disabled.ico |
|11 | undo.ico | undo_disabled.ico |
|12 | redo.ico | redo_disabled.ico |
|13 | find.ico | |
|14 | replace.ico | |
|15 | zoom-in.ico | |
|16 | zoom-out.ico | |
|17 | sync-vertical.ico | |
|18 | sync-horizontal.ico | |
|19 | word-wrap.ico | |
|20 | all-chars.ico | |
|21 | indent-guide.ico | |
|22 | udl-dlg.ico | |
|23 | doc-map.ico | |
|24 | doc-list.ico | |
|25 | function-list.ico | |
|26 | folder-as-workspace.ico | |
|27 | monitoring.ico | monitoring_disabled.ico |
|28 | record.ico | record_disabled.ico |
|29 | stop-record.ico | stop-record_disabled.ico |
|30 | playback.ico | playback_disabled.ico |
|31 | playback-multiple.ico | playback-multiple_disabled.ico |
|32 | save-macro.ico | save-macro_disabled.ico |
It's not necessary to have all complete set (45 icons). The absent icons won't just be substituted.
Fix#9913
Add an option "Make current line folding/unfolding commands togglable" in Editing section of Preference dialog to make both Collapse/Uncollapse Current level commands togglable.
Fix#11529, fix#9196, close 11699
Select the entire DebugInfo text, with the command line params inserted.
This is a minor fix for an issue resulting from the last-minute changes in commit 0f8d572 (Add command line argument for plugin, a related notification and an API).
Close#11697
Fix also an issue that the word where the cursor is on in the edit zone is selected after running ABOUT box, that makes all the occurence of same word highlighted in the edit zone.
Fix#11639, fix 11671, close#11673
Fix crashes when re-invoked with -udl command line parameter with more than 7 characters as its value:
Serialize _udlName from generic_string to wchar_t _udlName[MAX_PATH].
Fix#11633, close#11681
1. Add a cmd argument for plugin: -pluginMessage="SPECIFIC_PLUGIN_MESSQGE" where SPECIFIC_PLUGIN_MESSQGE is a string which can contain white space. For example: -pluginMessage="arg1 arg2 arg3".
2. NPPN_CMDLINEPLUGINMSG notification: which will be triggered by -pluginMessage and plugins will get their specific message "arg1 arg2 arg3" via idFrom field:
//scnNotification->nmhdr.code = NPPN_CMDLINEPLUGINMSG;
//scnNotification->nmhdr.hwndFrom = hwndNpp;
//scnNotification->nmhdr.idFrom = pluginMessage; //where pluginMessage is pointer of type wchar_t
3. Add NPPM_GETCURRENTCMDLINE API for getting the latest command line.
4. Update command line dynamically in Debug info dialog.
Fix#11576, close#11589
Changes:
1) Removal of redundant lines (redundancy as defined by absence from the English version, I have not gone on to check the code for where each term is used, refer to Issue https://github.com/notepad-plus-plus/notepad-plus-plus/issues/11561#issue-1210847469)
2) Addition of lines which are found in the English version but were absent in the Tamil
3) Spelling error rectifications (eg: "கீல்" is an erroneous form of கீழ்)
4) Retention of English words for certain terms best left untranslated (eg: Macro; பெருநிரல் _does_ convey the literal meaning, but would be extremely confusing, as such usage is specialized and not directly connected to the literal meaning. Macro here performs much like a proper noun, an untranslatable, and I opine that translating that would be quite similar to translating Notepad++, Windows etc. In other cases, perceived rarity of the term's usage, potential confusion, and lack of sufficient systematicity in the usage of programming terms in Tamil have also been reasons)
5) Rewording certain terms as they seem of a fringe usage, and replacing them with commoner alternatives (eg: படி எடு for Copy has been replaced by நகலெடு, whose use is fairly universal nowadays, in OSs, apps, websites, etc. which display in Tamil. It must be noted that the previous version seems to be nearly ten years old, and probably the usage was more fluid and non-standard back then.)
6) Removal of lines that are plainly copied out from the English version untranslated, and cannot be translated
7) Addition of &/alt codes (I'm not sure exactly what they're called) as in English
Unresolved Problem Points:
1) The alt codes have been presented to a user using the Latin/English keyboard. (eg: for "&File", "கோப்பு (&F)" has been provided instead of the equally viable "&கோப்பு") This, although in keeping with the previous version, may present Tamil users an inconsistent display, what with the numerous bracketed and seemingly random English letters beside Tamil text, and inconvenience users of Tamil keyboard(s).
The example of other Indian languages may be used to argue for "&கோப்பு", while the example of Chinese, Japanese and Korean may be used to argue otherwise (it must be noted, though, that Tamil and Indian languages have their own keyboards as well as phonetic typing from English, whereas Chinese et.al. are typed, as far as I am aware, solely using the phonetic English method, and therefore the first argument may not stand)
To be very honest, I almost set out removing all the old bracketed-English-letter style stuff and creating them based off Tamil letters, but chickened out seeing the utter scale. I also am not sure how this would be welcomed by users, since they may now be quite habituated to using the English letters, and tampering with the functionality of the application (to a tiny extent, admittedly) is _not_ what I thought I was taking into my hands when I started doing this
2) Most of the popup messages have been left untranslated, coming to more than hundred lines (I'm sorry, I'm not doing any more now, maybe later, or hopefully someone else who uses N++ in Tamil/knows Tamil can step up and help; I'm sure my version of even those parts that I _have_ edited is not up to snuff either)
3) There are some technical vocabulary issues. For instance, there is a general confusion between அழி, நீக்கு and அகற்று for delete and remove. I have chosen அகற்று for remove, and kept the other two both for delete, due to how often both were used. But I think there could be a better solution, and a more systematic one. This is also, incidentally, just the tip of the iceberg.
4) I was also unsure about where to draw the line between translating an English word to Tamil and retaining the English word. In several cases, I used my familiarity with the words in a technical context to make such a decision. Since I also relied quite a bit on online dictionaries, and cross checked them across websites to be sure, I cannot vouch for all of them, and probably quite a few have been excessively Tamilised, or retained in English even when a patently viable and common alternative exists. I hope some others can account for those
Close#11579
Preferences Dialog - MultiInstance UI:
1. Increased the height of the 1st groupbox by 3 units.
2. Shifted the controls inside it by 4 units.
3. Reduced the height of the 2nd groupbox by 3 units.
4. Shifted the groupbox top and the checkbox only down by 3 units.
Style Configurator Dialog:
5. Added 'BS_CENTER' modifier to "Font Style" & "Colour Style" groupboxes.
Fix#11590, close#11591
In Scintilla4 reloaded document keeps its syntax highlighting without re-applying the lexer for its syntax highlighting.
It seems the behaviour has been changed in Scintilla5. Hence this workaround to force to apply syntax highlighting after reloading.
Fix#11606, close#11610