feat: console only in debug, update config parsing

This commit is contained in:
2026-08-26 11:59:05 +05:00
parent 9dfb72f0ea
commit 55e30ecfe6
4 changed files with 279 additions and 186 deletions
+40
View File
@@ -0,0 +1,40 @@
# bropicker config
# Расположение: %APPDATA%\bropicker\config.toml
# Открывается из пикера кнопкой шестерёнки (subl/notepad)
# [[browsers]] — один блок на запись пикера.
# path — полный путь к exe (или имя из PATH)
# flags — аргументы запуска; пробелы внутри значения — в кавычках
# icon — необязательно: путь к png/svg, иначе подбирается по имени
[[browsers]]
name = "Firefox"
path = 'C:\Program Files\Mozilla Firefox\firefox.exe'
flags = ""
# Профили Chrome: имена каталогов профилей смотри на chrome://version
# (Profile Path: ...\User Data\Default → "Default",
# ...\User Data\Profile 1 → "Profile 1")
[[browsers]]
name = "Chrome — Work"
path = 'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe'
flags = '--profile-directory="Default"'
[[browsers]]
name = "Chrome — Personal"
path = 'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe'
flags = '--profile-directory="Profile 1"'
[[browsers]]
name = "Firefox — Work"
path = 'C:\Program Files\Mozilla Firefox\firefox.exe'
flags = '-P "Work"'
# Запомненные домены: домен = имя записи из [[browsers]]
[remembered]
"github.com" = "Chrome — Work"
[settings]
remember_choice = true
always_ask = true
+7
View File
@@ -149,6 +149,13 @@ HTML-макеты → PNG: **headless Edge** (`--headless --screenshot`), он
cwd = system32 и иконки бы отвалились); проверено запуском из
LOCALAPPDATA с cwd=System32
- [x] Release-профиль: lto + codegen-units=1 + strip
- [x] Release без консоли: `windows_subsystem="windows"` только для не-debug
(в debug консоль остаётся); весь вывод → `%APPDATA%\bropicker\bropicker.log`
(config::log с unix-timestamp)
- [x] Парсер флагов понимает кавычки (`split_flags`) — профили браузеров:
`flags = '--profile-directory="Profile 1"'` (Chrome), `-P "Work"` (Firefox);
пример: docs/config.example.toml
- [x] Cold start release: 131 ms (после добавления файлового лога)
## Этап F — релиз