Skip to content

Jkaotlic/timer-widget

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

⏱️ Timer Widget

Version Electron Platform License

Элегантный прозрачный таймер для рабочего стола с современным дизайном

✨ Возможности📦 Установка🚀 Использование🎨 Кастомизация📁 Структура


✨ Возможности

🎯 Основные функции

  • Полноэкранный таймер — 4 стиля отображения для презентаций и выступлений
  • Мини-виджет таймера — компактный always-on-top виджет для рабочего стола
  • Виджет часов — аналоговые/цифровые часы с датой и часовым поясом
  • Панель управления — удобный интерфейс с вкладками

⏰ Функции таймера

  • ⏲️ Установка времени в часах, минутах и секундах
  • ⏸️ Пауза и продолжение
  • 🎯 Быстрые пресеты: 5, 10, 15, 30, 45, 60 минут
  • 🔄 Режим переработки (overrun) с настраиваемым лимитом
  • 🚦 Цветовые индикаторы: норма → предупреждение → критично → переработка

🖥️ Стили полноэкранного таймера

Стиль Описание
⭕ Circle Круговой прогресс-бар
🔢 Digital Крупные цифровые часы
🔄 Flip Анимированные flip-карточки
🕐 Analog Стрелочные часы

🔊 Звуковые уведомления

  • 12 встроенных звуков: колокольчики, гонги, сигналы, мелодии
  • Загрузка своих звуков — поддержка MP3, WAV, OGG (до 5 MB)
  • 🔔 Звук окончания таймера
  • ⏱️ Звук каждую минуту

🎨 Полная кастомизация

Режим фона Описание
🎨 Сплошной цвет Любой цвет по выбору
🌈 Градиент Два цвета с плавным переходом
🌐 URL изображения Картинка из интернета
📁 Локальный файл Загрузка с компьютера
  • 🎭 Готовые темы: Default, Ocean, Sunset, Forest, Lavender, Midnight
  • 🖼️ Режимы масштабирования и затемнение для изображений
  • 🎨 Настройка цветов: primary, secondary, warning, danger, overtime

🖼️ Мини-виджет таймера

  • 👻 Прозрачный, всегда поверх окон
  • 📐 4 размера + ручное масштабирование
  • ⚡ Быстрые кнопки управления
  • 🔍 Настраиваемая прозрачность

🕐 Виджет часов

  • Аналоговый и цифровой формат
  • Отображение даты
  • Выбор часового пояса

📦 Установка

💿 Готовый установщик (рекомендуется)

Скачайте нужный файл из Releases:

Файл Описание
TimerWidget-Setup-*.exe Установщик для Windows
TimerWidget-Portable.exe Портативная версия, без установки
TimerWidget-*.dmg Установщик для macOS

🛠️ Сборка из исходников

# Клонируйте репозиторий
git clone https://github.com/Jkaotlic/timer-widget.git
cd timer-widget

# Установите зависимости
npm install

# Запустите в режиме разработки
npm start

# Соберите для текущей платформы
npm run build

🚀 Использование

⚡ Быстрый старт

  1. Запустите приложение
  2. Установите время на панели управления (или выберите пресет)
  3. Нажмите Старт
  4. Откройте полноэкранный режим или мини-виджет

⌨️ Горячие клавиши

Клавиша Действие
Esc Выход из полноэкрана
Space Пауза / Продолжить

🎮 Управление виджетом

Действие Как сделать
Перетаскивание За любую область виджета
Масштабирование Тяните за углы окна
Быстрый зум Ctrl + колесо мыши
Кнопки управления Наведите курсор

🎨 Кастомизация

🖌️ Вкладка «Стиль»

  • Выберите готовую тему или настройте цвета вручную
  • Установите фон: цвет, градиент или изображение
  • Для локальных изображений настройте режим отображения и затемнение

🔔 Вкладка «Звук»

  • Выберите звук из 12 встроенных вариантов
  • Загрузите свой звук (MP3, WAV, OGG до 5 MB)
  • Включите уведомления каждую минуту

📁 Структура проекта

timer-widget/
├── electron-main.js          # Главный процесс Electron
├── electron-control.html     # Панель управления
├── electron-widget.html      # Мини-виджет таймера
├── electron-clock-widget.html # Виджет часов
├── display.html              # Полноэкранный таймер
├── display-script.js         # Логика полноэкранного режима
├── preload.js                # Безопасный мост main ↔ renderer
├── ipc-compat.js             # Совместимость IPC
├── security.js               # Валидация и безопасность
├── utils.js                  # Общие утилиты
├── constants.js              # Константы проекта
├── styles.css                # Общие стили
├── components.css            # Стили компонентов
├── sounds/                   # Звуковые файлы
├── build/                    # Ресурсы для сборки (иконки)
├── tests/                    # Unit-тесты
│   ├── status-progress.test.js
│   ├── time-utils.test.js
│   └── validation-utils.test.js
└── docs/                     # Документация
    ├── bugs/                 # Баг-трекинг
    ├── planning/             # Архитектура и роадмап
    └── changelog/            # История изменений

📜 NPM-скрипты

Команда Описание
npm start Запуск приложения
npm run dev Запуск в dev-режиме
npm test Запуск тестов
npm run lint Линтинг кода
npm run ci Линтинг + тесты
npm run build Сборка для текущей платформы
npm run build:win Сборка для Windows
npm run build:mac Сборка для macOS
npm run build:all Сборка для всех платформ

📚 Документация


🤝 Вклад в проект

Приветствуются Pull Request'ы! Для крупных изменений сначала откройте Issue.

  1. Форкните репозиторий
  2. Создайте ветку (git checkout -b feature/amazing-feature)
  3. Закоммитьте изменения (git commit -m 'Add amazing feature')
  4. Запушьте (git push origin feature/amazing-feature)
  5. Откройте Pull Request

📄 Лицензия

MIT © 2024–2026 Jkaotlic


Поставьте звезду, если проект полезен!

GitHub stars GitHub forks

About

⏱️ Elegant transparent desktop timer widget with circular design

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors