feat(ui): frameless transparent window with drag
This commit is contained in:
@@ -12,16 +12,26 @@
|
||||
- GUI: [Slint](https://slint.dev/) (Native-speed, Declarative UI)
|
||||
- Запуск процессов: std::process::Command
|
||||
|
||||
## 🏗 План на выходные (MVP)
|
||||
## 📊 Текущий статус
|
||||
|
||||
- Настройка проекта: Инициализация cargo и установка зависимостей Slint.
|
||||
- Верстка UI: Создать чистое окно с кнопками установленных браузеров (Firefox, Chrome, Edge и т.д.).
|
||||
- Логика запуска: Реализовать передачу URL из аргументов командной строки в выбранный браузер.
|
||||
- Регистрация в системе: Написать скрипт/инструкцию, как сделать приложение браузером по умолчанию.
|
||||
- Frameless-окно с прозрачным фоном: карточка парит над рабочим столом со скруглёнными углами
|
||||
- Тёмная и светлая темы (переключение кнопкой, env `BP_THEME=light`)
|
||||
- Перетаскивание окна за хедер, Esc — закрыть, центрирование при старте
|
||||
- Дизайн-макеты: [refs/dark.html](refs/dark.html) / [refs/light.html](refs/light.html)
|
||||
|
||||
## 📝 Заметки для реализации
|
||||
## 🔧 Разработка
|
||||
|
||||
- Использовать no-frame: true в Slint для кастомного дизайна окна.
|
||||
- Для иконок браузеров использовать формат SVG (Slint отлично их рендерит).
|
||||
- Конфигурацию путей к браузерам вынести в простой config.toml (в будущем).
|
||||
- загружать конфигурацию браузера из ярлыка
|
||||
План работ и цикл визуальной разработки с ИИ-агентом — [docs/dev-workflow.md](docs/dev-workflow.md).
|
||||
|
||||
```powershell
|
||||
cargo run # запуск
|
||||
tools/render-refs.ps1 # PNG-референсы из макетов
|
||||
tools/run-and-shot.ps1 # собрать, снять скриншот окна
|
||||
tools/run-and-shot.ps1 -Light # то же в светлой теме
|
||||
```
|
||||
|
||||
## 🗺 Дорожная карта
|
||||
|
||||
1. Список браузеров с логотипами, запуск выбранного браузера с URL (MVP)
|
||||
2. Регистрация в системе как браузер по умолчанию
|
||||
3. config.toml + страница настроек
|
||||
|
||||
Reference in New Issue
Block a user