31 KiB
Оформлення KSwitcher Files
Far Manager є зразком для оформлення файлового менеджера. Основне вікно використовує системний заголовок Windows. Панелі, меню й діалоги операцій використовують моноширинний шрифт менеджера та оформлення в стилі Far.
Скорочення
-
Enter і подвійний клік відкривають папку в поточній панелі, а локальний документ — у програмі, призначеній для його типу у Windows. EXE запускається окремим процесом. BAT і CMD виконуються в поточній сесії вбудованого термінала, а їхній вивід з’являється під панелями. Щоб відкрити файл із панелі LAN, спочатку скопіюй його до локальної папки.
-
У головному вікні клавіатурний фокус залишається в командному рядку. Tab перемикає активну панель, клік вибирає рядок, а стрілки вгору й вниз, Page Up і Page Down пересувають курсор у панелі навіть під час набору команди. Меню й діалоги тимчасово приймають фокус. Ctrl+V і Shift+Insert вставляють текст із буфера обміну в позицію курсора або замінюють виділення. Enter запускає введену команду або відкриває поточний елемент, якщо рядок порожній. Escape очищає рядок. Промпт і текст команди вирівняні по спільній базовій лінії.
-
Ctrl+F вставляє повний шлях елемента під курсором активної панелі в позицію курсора командного рядка або замінює виділення. Подвійні лапки додаються лише до шляхів із пробілами. Для
..вставляється шлях батьківської папки. -
Ctrl+C копіює весь введений у командний рядок текст, навіть коли виділено лише його частину.
-
Ctrl+E підставляє останню команду. Повторне натискання підставляє старішу, доки не досягне початку історії. Alt+F8 відкриває історію з групуванням за датами. Enter або подвійний клік у списку підставляє вибрану команду в поле. Для запуску натисни Enter у самому полі.
-
Історія зберігає 1000 останніх непорожніх команд, надісланих із поля KSwitcher Files, включно з повторами. Вона зберігається локально в профілі Windows між запусками. Options → Command line → Command history змінює обидві комбінації, перевіряє конфлікти та дозволяє відновити типові значення.
-
Ширина історії підлаштовується під найдовшу команду в межах робочої області монітора. Рядок, який не вміщується, закінчується трьома крапками. Вибір підставляє до командного рядка повний текст.
-
Пошук в історії фільтрує команди за всіма введеними словами, незалежно від регістру. Збіги за текстом або датою йдуть перед тематичними. Тематичні ключові слова визначаються локально й використовуються лише для пошуку, зокрема в раніше збережених записах. Кожна команда відображається один раз, за датою останнього запуску.
-
Історія використовує оформлення діалогів Delete і Copy та спільне поле Far. Підпис, поле й список вирівнюються за відступами Dialog frame. Рядки команд і роздільники дат мають власний внутрішній відступ. Вікно історії бірюзове, поле пошуку сіро-бірюзове. Поки історія відкрита, дії в панелях, меню й командному рядку заблоковано. Заголовок і рамка головного вікна доступні для переміщення, зміни розміру та керування вікном. Escape або клік поза діалогом закриває історію. Заголовок і рамка головного вікна залишають історію відкритою під час керування вікном. Історія центрується відносно головного вікна й рухається разом із ним. Tab циклічно переводить фокус між пошуком і списком. Стрілка вгору або вниз із пошуку одразу пересуває вибір у списку. Висота списку залежить від кількості результатів. Коли місця бракує, прокручується список.
-
Alt із символом шукає початок назви файлу чи папки. Після першого збігу внизу активної панелі відкривається компактне поле Search у подвійній рамці. Наступні символи можна набирати без Alt. Пошук враховує поточну розкладку та ігнорує регістр. Backspace прибирає останній символ, Escape закриває пошук, а Enter відкриває поточний елемент.
-
F9 перемикає головне меню Files. Після закриття фокус повертається в командний рядок. Коли меню відкрите, Alt з літерою верхнього рівня відкриває відповідний пункт.
-
Коли головне меню відкрите, L, F, C, O та R відкривають Left, Files, Commands, Options та Right. У підменю підсвічена літера викликає відповідну команду. Літери унікальні в межах поточного рівня. Усталені мнемоніки мають пріоритет, зокрема X для Exit.
-
Глобальне скорочення Open KSwitcher Files можна змінити або очистити в налаштуваннях. Для профілю без цього поля пропонується Ctrl+Alt+F, якщо Windows реєструє комбінацію і вона вільна серед прив’язок KSwitcher.
-
Глобальне скорочення повертає до відкритого вікна Files у поточній сесії Windows або запускає Files, якщо такого вікна немає. Пункт Files у треї відкриває нове вікно.
-
Ctrl+Shift+0–9 відкриває діалог Title і Path із поточною папкою. OK додає запис без дублювання, Escape скасовує. Title необов’язковий, порожнє значення показує шлях. Записи LAN зберігають ID ПК, а редагування Path залишає запис на тому самому ПК.
-
Ctrl+0–9 одразу відкриває єдину папку. Для кількох папок відкривається компактний попап Far з одним заголовком Folder shortcuts у подвійній рамці та коротким рядом клавіш у нижній рамці. Ширина залежить від найдовшого запису й обмежується розміром вікна, а висота — кількістю видимих рядків. Нижня рамка показує Ins Del F4 Ctrl+Up Ctrl+Down. Insert додає поточну папку через Title і Path, Delete відв’язує, F4 редагує, Ctrl+Up і Ctrl+Down змінюють і зберігають порядок. Enter відкриває папку. Escape або клік поза попапом закриває його й повертає фокус до панелі. Commands → Folder shortcuts дає вибрати зайняту цифру й відкрити той самий попап навіть для єдиного запису. Brief і Wide доступні в меню Left/Right та Options.
Налаштування Files
-
Options у головному меню одразу відкриває стандартний діалог Windows. Ліворуч є пошук за назвою категорії чи параметра й дерево результатів. Вибір дочірнього вузла відкриває лише його редактор праворуч. Пошук за назвою окремої властивості відкриває вузол, що її містить. Перемикання вузлів зберігає незастосовані зміни.
-
File panel modes має вузли Panel layout, Wide panel columns і Status line columns. У Colors кожен колір має власний вузол. В Appearance шрифт редагується у вузлі Font. Діалог змінює розмір від розміру, який вміщує всі параметри. Ширина лівої навігації стала, дерево росте по висоті, а права область використовує додатковий простір. OK, Cancel та Apply лишаються внизу праворуч.
-
Reset selected to defaults скидає вибраний рівень дерева. Корінь All settings скидає всі параметри, навіть коли пошук приховує частину дерева. У редакторах із кількома параметрами Reset property скидає лише вибрану властивість. Скидання змінює чернетку до Apply або OK. Стандартний Panel background —
#000080. -
Apply доступна, коли чернетка відрізняється від застосованих налаштувань. Після Apply або повернення всіх значень до застосованих вона вимикається. Apply одразу зберігає зміни й перемальовує панелі за відкритим діалогом. OK робить те саме й закриває діалог. Cancel і Escape відкидають зміни після останнього Apply та повертають фокус до командного рядка.
-
Colors → File type styles налаштовує текст, фон, підкреслення й закреслення для правил за розширенням і групи System and hidden. Розширення можна вибрати зі списку Windows або додати вручну з крапкою чи без неї. Вони зберігаються в KSwitcher, незалежно від асоціацій Windows. Курсор, позначки й результат передачі зберігають свої сигнальні кольори. Кольори правила можна перевизначити окремо для звичайного рядка, позначки Insert, курсора у фокусі та курсора без фокуса. Позначка має пріоритет над курсором, а підсвічування передачі має пріоритет над кольорами курсора. Без перевизначення стан зберігає звичайний вигляд панелі. Мініпанель унизу редактора одразу показує всі чотири стани на синтетичних рядках до Apply.
-
Нижня область показує живе прев’ю для кольорів, шрифту, режимів панелей, широких колонок і рядка стану. Для Popup background, Menu selection і Command bar зразок показує відповідний елемент. Прев’ю читає чернетку, зокрема після Reset, і не потребує реальних файлів. Воно заповнює простір від останнього видимого елемента редактора до нижніх кнопок зі сталими відступами. Зі зміною розміру росте область зразка, а рядки зберігають масштаб шрифту.
-
Підписи File type, Windows extension or custom extension і Row state стоять над відповідними полями зі спільним лівим краєм. Ширина списків враховує найдовші значення, шрифт, DPI й доступне місце. Add і Remove стоять одразу після своїх полів.
-
Початковий набір правил охоплює EXE, Markdown, системні й приховані елементи, архіви, зображення, аудіо й відео, офісні документи й PDF, код і скрипти. Збережений набір правил завантажується як є, включно з видаленими правилами. Reset у File type styles відновлює весь початковий набір у чернетці.
Панелі
-
Обидві панелі автоматично підхоплюють створення, зміну й видалення файлів у відкритих локальних папках. Фокус залишається там, де був, а курсор лишається на поточному елементі, якщо той ще існує.
-
Ctrl+8 відкриває список усіх ярликів папок. Кожен рядок показує групу й назву або шлях. Enter відкриває папку в активній панелі, F4 редагує ярлик, а Delete прибирає його зі списку.
-
У Change drive повідомлення No paired computers з’являється після успішної відповіді з порожнім списком. Збої локального запиту до KSwitcher відображаються окремо.
-
Якщо команда у вбудованому PowerShell змінює поточну папку, панель, з якої надіслано команду, переходить до цієї папки.
-
Коли список LAN-дисків змінює розмір меню Change drive, рамка й список змінюють позицію разом. Рамка повністю перемальовується після зміни розміру, а список має однаковий внутрішній відступ зліва і справа.
-
Тайм-аут запиту дисків відображається як Connection timed out. Якщо ввімкнено Write log, Files записує помилки запитів пар і дисків в окремий журнал
data/kswitcher-files.log. Системні помилки містять код Windows. -
Застосовані налаштування Files одразу підхоплюють інші відкриті вікна. Apply зберігає поля, змінені в поточній чернетці. Якщо два вікна одночасно редагували набір стилів файлів, відкрий Options заново, щоб побачити свіжі правила.
-
Типовий колір тексту для ZIP-архівів — світлий коралово-рожевий.
-
Меню Change drive показує літеру, тип, загальний обсяг і вільне місце. Відкриття меню запускає нове LAN-виявлення. Секція KSwitcher LAN показує збережені пари, зокрема офлайн. Після кожного відкриття меню асинхронно запитує диски й показує їх під назвою відповідного ПК. Поки триває запит, видно стан завантаження. Якщо запит не вдався, видно помилку. Повторне відкриття запускає новий запит. Кожна панель має власний диск і шлях, а в заголовку віддаленої панелі перед шляхом показано назву ПК.
-
Список дисків і файлові операції використовують права облікового запису Windows, під яким працює віддалений KSwitcher. Достатньо спарювання й доступного TCP 45885, спільні папки налаштовувати не потрібно.
-
F5, F6, F8 і Shift+Delete у віддалених панелях використовують спільні підтвердження, попередження й прогрес. F5/F6 працюють із файлами та деревами папок між локальними й віддаленими панелями, зокрема між двома різними ПК. Між шляхами одного віддаленого ПК вміст копіюється на ньому. F8 використовує кошик того ПК, на якому лежить файл.
-
Після розриву з’єднання повтори F5 або F6 до того самого призначення. Віддалене копіювання відновлюється з підтвердженої позиції, якщо збережені байти відповідають початку вихідного файла. Підтверджене скасування видаляє частковий запис поточного файла. Завершені файли лишаються на місці. Наявний файл призначення замінюється після повного запису, а при переміщенні джерело видаляється після підтвердження запису призначення.
-
Після F5 або F6 успішно оброблені елементи коротко підсвічуються в панелі, що показує папку призначення. Підсвітка тексту відрізняється від курсора й не переносить фокус.
-
У широкому режимі ширина під вирівняні розширення залежить від найдовшого розширення в поточній панелі. За вузької панелі залишай місце для імені та колонки Size.
-
Бірюзовий курсор поточного рядка видно в активній панелі. Кожна панель зберігає свою позицію курсора. Коли панелі видимі, F5 і F6 з командного рядка діють на активну панель.
-
Клік у панелі нижче списку ставить курсор на останній рядок, а клік вище списку — на перший.
-
Поточний шлях відображається по центру верхньої подвійної лінії панелі. Лінію видно з обох боків напису. Бірюзове тло активної панелі охоплює лише напис шляху з невеликими відступами. Довгий шлях скорочується в межах панелі.
Спільні елементи діалогів
-
Власні діалоги Files блокують дії панелей і командного рядка, залишаючи системний заголовок і рамку головного вікна доступними. Клік поза діалогом діє як Cancel. Для прогресу копіювання, переміщення й видалення це відкриває підтвердження скасування.
-
Enter активує кнопку у фокусі. Для кнопок із власним малюванням використовуй спільний обробник
dialogButtonEnter. У підтвердженні скасування початковий фокус стоїть на No. -
При перенесенні вікна між моніторами з різним DPI оновлюй шрифт, висоту рядків панелей і компонування відкритого прогресу копіювання. Перевір перенесення під час активного копіювання.
-
Для власних діалогів і списків Far використовуй спільні метрики та малювання подвійної рамки. Еталон Delete задає 8 px від краю тла до першої лінії та 14 px від внутрішньої лінії до бічної межі вмісту при 96 DPI. Обидва відступи масштабуються за DPI. Вертикальний відступ враховує висоту заголовка та нижніх підказок. Діалоги й списки зберігають свою палітру та поведінку.
-
Appearance → Dialog frame налаштовує зовнішній і внутрішній відступи від 0 до 24 px при 96 DPI. Row text padding додає від 0 до 4 ширин символу з кожного боку тексту в рядках Folder shortcuts. Inner padding задає відстань від рамки до краю списку. Ширина попапа враховує обидва текстові відступи, а довгі шляхи скорочуються в межах доступної ширини. Живий зразок показує чернетку. Apply зберігає значення, Cancel відкидає незастосовані зміни, Reset selected to defaults повертає 8 px, 14 px і 0 символів. Профілі без цих параметрів використовують ті самі значення.
-
У ресурсі чи виклику задавай назву кнопки й клавішу доступу. Спільна функція
paintDialogButtonцентрує текст, підсвічує фокус і додає фігурні дужки для дії за замовчуванням та квадратні для решти кнопок. -
Нижні секції з кнопками у Copy, Warning і вікні прогресу мають однакову висоту, прив’язану до висоти рядка шрифту. Використовуй
layoutDialogButtonsдля такої секції таcenterDialogRowдля інших рядків між роздільниками. Межі секції визначають положення рядка. -
Для текстових полів Far використовуй ресурс
FAR_EDITі спільну підготовку та палітру діалогів. Поля призначення Copy/Rename і Title/Path використовують нативний Win32 Edit без рамки, моноширинний шрифт і вертикальне центрування. Кольори Text і Popup background діють на всі ці поля, зокрема на поле Copy лише для читання. У відповідних розділах Options → Colors зміни видно на зразку поля. Existing files у Copy є списком без редагування. Поля та редагований список Windows Options мають системне оформлення. -
Для позиціонування роздільника використовуй невидимий маркер, якщо межу не задає інший елемент секції. Спільний обробник малює лінію.
-
Випадаючі списки Far використовують бірюзове тло палітри менеджера. Текст і стрілку вирівнюй вертикально по центру. Прапорці в діалогах операцій використовують позначки
[ ]та[x]і видимий клавіатурний фокус. -
Повторно використовуй спільне оформлення. Текст, дії та стан операції передавай із коду конкретної операції. Наприклад, Warning повертає відповідь і стан прапорця, а копіювання вирішує, чи застосувати відповідь до наступних конфліктів.
Діалог Copy
- Вирівнюй підпис Existing files по вертикальному центру списку. Ширше поле списку починається ближче до підпису, а його правий край збігається з правим краєм поля імені.
- Зберігай однакові проміжки від верхнього роздільника до поля імені й до списку. Підпис, поля та прапорець мають читатися повністю.
- Відступ після прапорця до нижнього роздільника дорівнює відступу від верхнього роздільника до списку.
- Кнопки Copy та Cancel стоять по центру компактної нижньої секції. Висота кнопок має вміщати весь текст поточного шрифту.
Вікно прогресу копіювання
-
F6 використовує спільне оформлення діалогів Copy і прогресу. Заголовок підтвердження — Rename/Move, кнопка за замовчуванням — Rename, заголовок прогресу — Move.
-
Поле призначення F6 початково містить шлях іншої панелі. Для одного елемента просте ім’я задає перейменування в поточній папці. Для кількох елементів діалог показує їх кількість і приймає один шлях до папки.
-
Секції поточного файла й загального прогресу мають однаковий вертикальний відступ від вмісту до верхньої та нижньої ліній. Cancel стоїть по центру спільної нижньої секції.
-
Обидві шкали займають усю ширину вмісту. Відсотки показуються по центру шкали, а її висота враховує поточний шрифт.
Попередження про конфлікт
-
Для однойменних файлів Warning показує точний розмір у байтах із розділенням тисяч і місцевий час останньої зміни окремо для вхідного файла та файла в папці призначення.
-
Після розрахунку остаточної висоти центр Warning збігається з центром вікна прогресу.
-
Remember choice стоїть по вертикальному центру власної секції. Кнопки Overwrite, Skip і Cancel стоять по центру нижньої секції.
-
Tab проходить Remember choice, Overwrite, Skip і Cancel. Стрілки вліво та вправо циклічно перемикають три кнопки в порядку їх розташування.
-
Стрілки вгору й вниз переходять між сусідніми секціями з інтерактивними елементами. У Warning стрілка вгору з ряду кнопок переводить фокус на Remember choice, а вниз із прапорця — на Overwrite.
Видалення
- F8 показує сіре підтвердження з дією Move. Shift+Delete і підтвердження непорожньої папки мають темно-червоне тло. Вікно прогресу видалення має сіре тло, як у Copy.
- Escape у початковому підтвердженні повертає фокус до командного рядка. Поточний рядок активної панелі зберігається, а стрілки одразу працюють.
- F8 переміщує підтверджені елементи в кошик Windows. Shift+Delete видаляє підтверджене дерево від вкладених елементів до батьківської папки. Прогрес і підсумок окремо показують успішні, пропущені й невдалі дії.
- Cancel і Esc у вікні прогресу відкривають спільне червоне підтвердження скасування. Yes зупиняє операцію, а No або Esc у підтвердженні повертає до прогресу. Початковий фокус стоїть на No.
Перевірка змін
Відкрий Copy і Warning в одній збірці та порівняй висоту нижніх секцій, центрування, повноту підписів і видимість фокуса. Перевір Tab, стрілки й Esc. Після узгодження нового правила онови відповідний розділ цього документа.