Document v0.6.18 and reconcile changes since v0.6.14
@@ -56,3 +56,5 @@
|
||||
Ранг статичний і не змінюється від використання; менше число означає частіше слово. Завантажувач сортує записи й прибирає дублікати в пам’яті, тому вручну сортувати за абеткою вже не потрібно. Неправильний формат рядка або рангу все ще спричиняє помилку. Після редагування натисніть **OK → Save** для перезавантаження. Перед ручною заміною файлів збережіть копію власних змін.
|
||||
|
||||
Дані словників походять із FrequencyWords, ліцензія CC BY-SA 4.0; джерела та ліцензійні повідомлення містяться в архіві.
|
||||
|
||||
Особисті слова мають містити 1–32 літери вибраної мови. Українська `і` дозволена; схожа латинська `i` належить англійському словнику й відхиляється в українському. Це перевірка мови символів, а не помилка мінімальної довжини.
|
||||
|
||||
@@ -56,3 +56,5 @@ Prefer **My dictionary** for adding personal words. **Open dictionary folder** o
|
||||
The rank is static, not learned from your usage; a smaller number means a more common word. The loader sorts entries and removes duplicates in memory, so manual alphabetical sorting is no longer required. Invalid row formats or ranks still cause errors. After editing, click **OK → Save** to reload. Back up custom file edits before replacing dictionary files manually.
|
||||
|
||||
Dictionary data comes from FrequencyWords under CC BY-SA 4.0; the archive includes sources and license notices.
|
||||
|
||||
Personal words must contain 1–32 letters of the selected language. Ukrainian `і` is accepted; visually similar Latin `i` belongs in the English dictionary and is rejected in Ukrainian. This is a language check, not a minimum-length error.
|
||||
|
||||
+9
-1
@@ -66,4 +66,12 @@
|
||||
|
||||
## Діагностика
|
||||
|
||||
Відкрийте **Settings → View log**. Таблиця має колонки часу, спроби, події та Details; Details займає вільну ширину при розтягуванні. Виберіть рядки й натисніть **Copy selected / Ctrl+C**, щоб скопіювати їх; **Ctrl+A** вибирає всі. Скопійований лог не додається до історії буфера. Журнал містить діагностику збоїв із попереднім контекстом; перед публікацією перевірте його на особисті дані.
|
||||
Відкрийте **Settings → View log…** або журнал із меню трея. Кожна нова проблемна операція має рядок із колонками **Time, Program, Command, Source layout, Target layout, Result**. Натискайте заголовок для сортування; фільтруйте за **Program**, **Command**, **Result** або ввімкніть **Only problems**. **Reset filters** повертає повний збережений список. Вибір рядка показує початковий, очікуваний і прочитаний текст, стан перевірки, тривалість та попередні етапи в окремій панелі.
|
||||
|
||||
Коли ввімкнено **Write log**, після ручної конвертації програма читає активне поле через Windows Accessibility, не рухаючи курсор, не змінюючи виділення й не копіюючи повторно. Результати розрізняють **Conversion unchanged** — розрахунок не змінив текст; **Original text remained** — у полі залишився початковий текст; **Readback differs** — прочитане відрізняється; **Paste not verified** — вставку не підтверджено. Незмінений результат ручної команди вважається проблемою навіть за однакових визначених розкладок. Недоступне чи захищене поле, зміна фокуса або перевищення ліміту позначаються явно: саме надсилання Ctrl+V не доводить успіх. Читання обмежено 4096 символами; затримки редактора й особливості обліку символів можуть завадити перевірці.
|
||||
|
||||
Успішні операції **не** створюють окремих записів у файлі. Їхні етапи зберігаються в пам’яті: до 40 подій за 30 секунд, і потрапляють у файл лише як контекст проблеми. Вимкнення **Write log** очищає цей контекст і вимикає додаткове читання результату. Звичайні помилки застосунку також можуть записуватися. Усе працює у звичайній Release-збірці.
|
||||
|
||||
Оберіть **Current log** або **Previous log** і натисніть **Refresh**. **Copy selected / Ctrl+C** копіює рядки з подробицями; **Ctrl+A** вибирає всі. Скопійований журнал не додається до історії буфера. **Clear log** очищає лише вибраний файл. Старі неструктуровані записи залишаються доступними в подробицях, але нові поля фільтрації для них не відновлюються. Після перевищення 256 KiB поточний файл ротується, зберігається один попередній. Текстові поля підсумку обмежено 4096 одиницями UTF-16 із позначкою обрізання; старі поля етапів — 512 одиницями. Перед поширенням перевіряйте записаний текст на особисті дані.
|
||||
|
||||
Від v0.6.16 перевірка оновлень не пропонує повторно встановити поточну чи старішу версію. Актуальний застосунок продовжує працювати без завантаження пакета.
|
||||
|
||||
+9
-1
@@ -66,4 +66,12 @@ The updater shows download percentage and size, package verification, installati
|
||||
|
||||
## Diagnostics
|
||||
|
||||
Open **Settings → View log**. The table has Time, Attempt, Event and Details columns; Details fills the remaining width when resizing. Select rows and use **Copy selected / Ctrl+C**; **Ctrl+A** selects all. Copied log text is excluded from clipboard history. Logs contain failure diagnostics with preceding context; check for personal data before sharing them.
|
||||
Open **Settings → View log…** (also available from the tray). Each new problem operation has a row with **Time, Program, Command, Source layout, Target layout and Result**. Click a heading to sort; filter by **Program**, **Command** or **Result**, or use **Only problems**. **Reset filters** restores the full saved list. Select a row to see original, expected and read-back text, verification status, timing and preceding stages in the separate panel.
|
||||
|
||||
With **Write log** enabled, manual conversion reads the focused editor through Windows Accessibility after paste. It does not move the caret, change the selection or copy again. Outcomes distinguish **Conversion unchanged**, **Original text remained**, **Readback differs**, and **Paste not verified**. A manual operation that calculates the original text is a problem even if the detected source and target layouts match. An inaccessible/protected control, changed focus, or readback limit is reported explicitly; sending Ctrl+V alone does not prove success. Readback is limited to 4096 characters; delayed editor updates and provider-specific character units can prevent verification.
|
||||
|
||||
Successful operations do **not** create separate file entries. Their stages stay in memory, bounded to 40 events and 30 seconds, and are saved only as context when a problem occurs. Disabling **Write log** clears that context and skips the additional readback check. Normal application errors may also be logged. This works in the normal Release build.
|
||||
|
||||
Select **Current log** or **Previous log** and click **Refresh**. **Copy selected / Ctrl+C** copies rows with their details; **Ctrl+A** selects all. Copied diagnostics are excluded from clipboard history. **Clear log** clears only the selected file. Older unstructured records remain readable in Details, but do not gain the new filter fields retroactively. The current file rotates after exceeding 256 KiB, retaining one previous file. Summary text fields are bounded to 4096 UTF-16 units and show truncation; older stage fields retain 512 units. Review captured text before sharing diagnostics.
|
||||
|
||||
From v0.6.16, update checks do not offer to reinstall the same or an older version. An up-to-date installation stays running without downloading another package.
|
||||
|
||||
+9
-5
@@ -37,7 +37,7 @@ KSwitcher — нативне C++/Win32-переписування Windows-фун
|
||||
|
||||
## Можливості на скриншотах
|
||||
|
||||
Скриншоти містять лише демонстраційні дані. Налаштування, словники, буфер, OCR та сніпети знято у v0.6.14; приклад редактора знімків збережено з попередньої документації.
|
||||
Скриншоти містять лише демонстраційні дані. Налаштування, словники, буфер та OCR знято у v0.6.14; приклади сніпетів оновлено для v0.6.18; приклад редактора знімків збережено з попередньої документації.
|
||||
|
||||
<a id="feature-1"></a>
|
||||
|
||||
@@ -115,7 +115,7 @@ KSwitcher — нативне C++/Win32-переписування Windows-фун
|
||||
|
||||
Задайте `;hello` для привітання, `;thanks` для підпису або `;check` для багаторядкового списку. `{cursor}` ставить курсор у потрібне місце розгорнутого тексту. Тригери працюють між розкладками.
|
||||
|
||||

|
||||
Приклад: `;run` → `rider .{enter}` (вставлення тексту й натискання Enter).
|
||||
|
||||
[Докладніше](https://gitea.hrynco.com/hrynco/hrynco-kswitcher/wiki/Snippets-uk)
|
||||
|
||||
@@ -155,12 +155,16 @@ KSwitcher — нативне C++/Win32-переписування Windows-фун
|
||||
- [Гарячі клавіші, буфер обміну та шаблони](https://gitea.hrynco.com/hrynco/hrynco-kswitcher/wiki/Usage-uk)
|
||||
- [Оновлення, дані та поширені запитання](https://gitea.hrynco.com/hrynco/hrynco-kswitcher/wiki/FAQ-uk)
|
||||
|
||||
Документацію та огляд усіх 11 можливостей актуалізовано для **v0.6.14**. Інтерфейс застосунку англійською; назви кнопок у посібнику наведені як у програмі.
|
||||
Документацію та огляд усіх 11 можливостей актуалізовано для **v0.6.18**. Інтерфейс застосунку англійською; назви кнопок у посібнику наведені як у програмі.
|
||||
|
||||
[](https://send.monobank.ua/jar/88h2TddKfS)
|
||||
|
||||
[Відкрити банку Monobank](https://send.monobank.ua/jar/88h2TddKfS) · Дякую, що підтримуєте KSwitcher!
|
||||
|
||||
## Останні зміни — v0.6.14
|
||||
## Останні зміни — v0.6.18 (2026-10-31)
|
||||
|
||||
Автокорекція починається після пробілу без очікування паузи; подальше введення зберігається в черзі. Підтримуються слова з клавішами пунктуації на кшталт `hj,bnm` → `робить`. Діалог автокорекції розтягується разом із полями особистих словників. Оновлювач показує прогрес і встановлену версію після завершення.
|
||||
Ручна конвертація тепер перевіряє фактичний текст після вставлення. Журнал має сортування колонок, фільтри за програмою, командою та результатом і окрему панель подробиць. Успішні операції залишаються в обмеженому буфері пам’яті; окремі рядки у файлі створюються лише для проблем.
|
||||
|
||||
Документація також охоплює зміни після v0.6.14: надійне розгортання сніпетів із дією Enter, вимкнення редактора до вибору сніпета, захист від повторного встановлення поточної версії та обмеження напрямку олівця з Shift. Див. [діагностику](FAQ-uk), [сніпети](Snippets-uk) та [малювання](Screenshots-uk).
|
||||
|
||||
[Завантажити v0.6.18](https://gitea.hrynco.com/hrynco/hrynco-kswitcher/releases/download/release-v0.6.18/KSwitcher-win-x64.zip) · [Контрольні суми](https://gitea.hrynco.com/hrynco/hrynco-kswitcher/releases/download/release-v0.6.18/SHA256SUMS.txt)
|
||||
|
||||
+9
-5
@@ -36,7 +36,7 @@ To correct text manually, select it and press **Next layout**. With **Convert re
|
||||
|
||||
## Features in screenshots
|
||||
|
||||
Screenshots contain demonstration data only. Settings, dictionaries, clipboard, OCR and snippets were captured in v0.6.14; the annotation-editor example is retained from the earlier documentation.
|
||||
Screenshots contain demonstration data only. Settings, dictionaries, clipboard and OCR were captured in v0.6.14; snippet examples are updated for v0.6.18; the annotation-editor example is retained from the earlier documentation.
|
||||
|
||||
<a id="feature-1"></a>
|
||||
|
||||
@@ -114,7 +114,7 @@ Images are recognized locally in the background, so searching a word can find it
|
||||
|
||||
Use `;hello` for a greeting, `;thanks` for a signature, or `;check` for a multiline checklist. `{cursor}` positions the caret inside the expanded text. Triggers work across keyboard layouts.
|
||||
|
||||

|
||||
Example: `;run` → `rider .{enter}` (insert text and press Enter).
|
||||
|
||||
[Guide](https://gitea.hrynco.com/hrynco/hrynco-kswitcher/wiki/Snippets)
|
||||
|
||||
@@ -154,12 +154,16 @@ Enable **Start with Windows**. For elevated target applications, optionally enab
|
||||
- [Keyboard shortcuts, clipboard and snippets](https://gitea.hrynco.com/hrynco/hrynco-kswitcher/wiki/Usage)
|
||||
- [Updates, data and frequently asked questions](https://gitea.hrynco.com/hrynco/hrynco-kswitcher/wiki/FAQ)
|
||||
|
||||
Documentation is current through **v0.6.14**. The application interface is in English. This wiki is available in English and Ukrainian; use the language links at the top of each page to open its translation.
|
||||
Documentation is current through **v0.6.18**. The application interface is in English. This wiki is available in English and Ukrainian; use the language links at the top of each page to open its translation.
|
||||
|
||||
[](https://send.monobank.ua/jar/88h2TddKfS)
|
||||
|
||||
[Donate via Monobank](https://send.monobank.ua/jar/88h2TddKfS) · Thank you for supporting KSwitcher!
|
||||
|
||||
## Recent changes — v0.6.14
|
||||
## Recent changes — v0.6.18 (2026-10-31)
|
||||
|
||||
Auto-correction starts after Space without waiting for a typing pause; subsequent input is queued. Words containing punctuation keys such as `hj,bnm` → `робить` are supported. The auto-correction dialog resizes with its personal dictionary editors. The updater shows progress and the installed version on completion.
|
||||
Manual conversion now checks the text actually present after paste. The diagnostic viewer has sortable columns, program/command/result filters and a separate detail panel. Successful operations stay in bounded memory; only problems create operation rows in the file.
|
||||
|
||||
This documentation also includes changes since v0.6.14: reliable snippet expansion with Enter actions, disabled snippet editing until an entry is selected, prevention of reinstalling the current version, and Shift-constrained pencil strokes. See [diagnostics](FAQ#diagnostics), [snippets](Snippets), and [drawing](Screenshots).
|
||||
|
||||
[Download v0.6.18](https://gitea.hrynco.com/hrynco/hrynco-kswitcher/releases/download/release-v0.6.18/KSwitcher-win-x64.zip) · [Checksums](https://gitea.hrynco.com/hrynco/hrynco-kswitcher/releases/download/release-v0.6.18/SHA256SUMS.txt)
|
||||
|
||||
@@ -65,3 +65,7 @@
|
||||
## v0.6.8: типовий інструмент малювання
|
||||
|
||||
Редактор відкривається з вибраним **Олівцем / Freehand (F)**. **Pointer (V)** дозволяє вибирати й редагувати об’єкти без малювання. Нові картинки розпізнаються у фоні для пошуку тексту; див. [OCR та опціональний Tesseract](Clipboard-uk).
|
||||
|
||||
## Обмеження напрямку олівця (v0.6.17)
|
||||
|
||||
Утримуйте **Shift** під час малювання олівцем, щоб обмежити сегмент горизонталлю, вертикаллю або діагоналлю 45°. Відпустіть Shift для довільного продовження того самого штриха. Відійдіть більш ніж на 50 пікселів зображення від активної лінії, щоб змінити напрямок зі збереженням попередніх сегментів. Діагональ зберігає кут біля меж картинки. **Ctrl** і далі дозволяє малювати поверх об’єктів; Undo/Redo обробляє весь штрих як один об’єкт.
|
||||
|
||||
@@ -65,3 +65,7 @@ See also: [Clipboard history](https://gitea.hrynco.com/hrynco/hrynco-kswitcher/w
|
||||
## v0.6.8: default drawing tool
|
||||
|
||||
The editor starts with **Pencil / Freehand (F)**. Use **Pointer (V)** to select and edit objects without drawing. New captures are recognized in the background for text search; see [OCR and optional Tesseract](Clipboard).
|
||||
|
||||
## Constrained pencil strokes (v0.6.17)
|
||||
|
||||
Hold **Shift** while drawing with Pencil to constrain a segment to horizontal, vertical or 45-degree diagonal. Release Shift to continue freehand within the same stroke. Move more than 50 image pixels away from the active line to change direction while retaining earlier segments. Diagonal strokes keep their angle at image boundaries. **Ctrl** still draws over existing objects; Undo/Redo treats the complete stroke as one object.
|
||||
|
||||
+7
-1
@@ -11,7 +11,7 @@
|
||||
|
||||
Виберіть наявний запис, щоб змінити його; **Delete** видаляє вибраний сніпет. Тригери розпізнаються між розкладками, тому не потрібно перемикати мову спеціально для шаблону.
|
||||
|
||||

|
||||
Приклад: `;run` → `rider .{enter}` (вставлення тексту й натискання Enter).
|
||||
|
||||
## Приклади
|
||||
|
||||
@@ -42,3 +42,9 @@ Release checklist
|
||||
`{cursor}` не вставляється як текст: курсор опиниться на місці маркера. У привітанні це місце після коми й пробілу, де можна одразу вписати ім’я. Для буквального тексту `{cursor}` використовуйте `{{cursor}}`.
|
||||
|
||||
Обирайте незвичні тригери з префіксом, наприклад `;`, щоб звичайний набір не запускав шаблон випадково.
|
||||
|
||||
## Дія Enter та безперервне введення
|
||||
|
||||
`{enter}` натискає Enter після вставлення й розміщення курсора — один раз на кожен маркер. Наприклад, `rider .{enter}` вставляє `rider .` і натискає Enter. `{{enter}}` вставляє буквальний маркер. Enter може надіслати повідомлення або виконати команду в цільовій програмі; звичайний перенос у тексті заміни натомість вставляє багаторядковий текст.
|
||||
|
||||
Введення одразу після тригера буферизується й відтворюється після розгортання. Автокорекцію пригнічено для розгортання та його буферизованих клавіш; глобальне налаштування зберігається для подальшого введення. Від v0.6.17 поля тригера й заміни, Delete та кнопки маркерів вимкнені до вибору або додавання запису. Видалення вибраного сніпета очищає й вимикає редактор.
|
||||
|
||||
+7
-1
@@ -11,7 +11,7 @@ Open **Settings → Snippets…**. A snippet replaces a short trigger with a gre
|
||||
|
||||
Select an existing entry to edit it; **Delete** removes the selected snippet. Triggers are recognized across keyboard layouts, so you do not need to switch language just to invoke one.
|
||||
|
||||

|
||||
Example: `;run` → `rider .{enter}` (insert text and press Enter).
|
||||
|
||||
## Examples
|
||||
|
||||
@@ -42,3 +42,9 @@ Release checklist
|
||||
`{cursor}` is not inserted literally: the caret moves to that marker. In the greeting, it lands after the comma and space, ready for a name. Use `{{cursor}}` to insert the literal text `{cursor}`.
|
||||
|
||||
Choose distinctive triggers with a prefix such as `;` to avoid expanding templates during ordinary typing.
|
||||
|
||||
## Enter actions and continuous typing
|
||||
|
||||
Use `{enter}` to press Enter after insertion and cursor placement, once for each marker. For example, `rider .{enter}` inserts `rider .` and then presses Enter. `{{enter}}` inserts the literal marker. Enter may submit a message or command in the target application; a line break written in the replacement is plain multiline text instead.
|
||||
|
||||
Typing immediately after a trigger is buffered and replayed after expansion. Automatic correction is suppressed for the expansion and its buffered typing; the global setting stays enabled for subsequent input. Since v0.6.17, the trigger/replacement fields, Delete and marker buttons are disabled until an entry is selected or added. Deleting the selected entry clears and disables the editor.
|
||||
|
||||
+3
-1
@@ -55,6 +55,8 @@ Hello, {cursor}!
|
||||
|
||||

|
||||
|
||||

|
||||
Приклад: `;run` → `rider .{enter}` (вставлення тексту й натискання Enter).
|
||||
|
||||
[Докладна інструкція та приклади сніпетів](https://gitea.hrynco.com/hrynco/hrynco-kswitcher/wiki/Snippets-uk).
|
||||
|
||||
Маркер `{enter}` натискає Enter після вставлення сніпета й розміщення курсора, перед відтворенням черги клавіш; `{{enter}}` вставляє його буквально. Поведінку дій і станів редактора описано в [посібнику сніпетів](Snippets-uk). Для збоїв конвертації використовуйте [журнал діагностики](FAQ-uk).
|
||||
|
||||
+3
-1
@@ -55,6 +55,8 @@ Use snippets for greetings, signatures and repeated replies. Triggers are recogn
|
||||
|
||||

|
||||
|
||||

|
||||
Example: `;run` → `rider .{enter}` (insert text and press Enter).
|
||||
|
||||
[Full snippets guide and examples](https://gitea.hrynco.com/hrynco/hrynco-kswitcher/wiki/Snippets).
|
||||
|
||||
The `{enter}` marker presses Enter after snippet insertion and cursor placement, before queued typing resumes; `{{enter}}` escapes it. See the [snippet guide](Snippets) for action semantics and editor states. For conversion failures, use the [diagnostic viewer](FAQ#diagnostics).
|
||||
|
||||
Reference in New Issue
Block a user