Skip to content

Repository files navigation

TermJ

English · Русский

Лёгкие терминальные виджеты и аудиовизуализатор «Пульсация» прямо на рабочем столе macOS.

Лёгкие терминальные виджеты и аудиовизуализатор «Пульсация» прямо на рабочем столе macOS.

Лёгкие терминальные виджеты и аудиовизуализатор «Пульсация» прямо на рабочем столе macOS.

License: GPL v3

Что это

TermJ — это desktop-виджеты для macOS: терминалы с произвольными командами и визуализатор, который реагирует на музыку и подстраивается под цвета обоев.

Возможности

  • Терминальные виджеты — запускай любые команды (top, htop, cava, btm, свои скрипты).
  • «Пульсация» — Canvas-визуализатор с файловыми пресетами.
  • Адаптация под обои — автоматически извлекает палитру текущих обоев и подстраивает виджеты под фон.
  • Multi-monitor — отдельная палитра на каждый дисплей: виджеты берут цвета того монитора, на котором находятся. Перекрашиваются при смене обоев и подключении/отключении экранов.
  • Автообновление — проверяет новые версии с GitHub раз в сутки при запуске и по запросу из меню (Статус-бар → «Проверить обновления…»). Скачивает бандл и заменяет его в один клик.
  • Режим «Радуга» — Пульсация переливается всеми цветами обоев в такт музыке.
  • Панч на кик — опциональный рывок масштаба на бас-удар.
  • Прозрачный фон, скругление, привязка к сетке — как в Rainmeter, но для macOS.
  • Пользовательские пресеты — импортируй свои .js-пресеты для Пульсации.

Установка

Готовый .app

  1. Скачай TermJ.app из Releases.
  2. Перенеси в /Applications.
  3. Запусти open /Applications/TermJ.app.

При первом запуске macOS может спросить разрешения для записи экрана и доступа к аудио — они нужны для визуализатора.

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

git clone https://github.com/titovcode/termJ.git
cd termJ
./build-app.sh
# Готовый бандл появится в ./TermJ.app

Требования: macOS 12+, Xcode Command Line Tools, Swift 5.9+.

Как пользоваться

Виджет терминала

  • Правый клик по виджету → Изменить — задать startup-команды.
  • Пустая строка в командах = нажатие Enter.
  • /wait<N> — пауза в секундах.
  • Чистый режим скрывает prompt и сами команды, оставляя только вывод.

Виджет «Пульсация»

  • Правый клик → Стиль — выбрать пресет волны.
  • Правый клик → Kick Punch — включить/выключить рывок масштаба на бас.
  • Настройки → последний квадрат палитры — режим «Радуга».

Пресеты

Пользовательские пресеты клади в:

~/Library/Application Support/TermJ/presets/

Или открой папку через меню: правый клик по Пульсации → СтильПапка пресетов.

Формат пресета — обычный .js:

// @name Моя волна
function renderPreset(ctx, w, h, audio, colors, helpers) {
  // ctx — Canvas 2D context
  // audio.waveform, audio.smoothWave, audio.bands, audio.peaks
  // colors.wave, colors.glow
  // helpers.rgba(c, a), helpers.applyEdgeFade(ctx, w, h)
}

Настройки

Общие настройки открываются через иконку в статус-баре:

  • прозрачность фона,
  • скругление углов,
  • язык интерфейса,
  • выбор акцента из палитры обоев или режим «Радуга».

Конфиг хранится в:

~/.config/termj/config.json

Релизы (для мейнтейнера)

Автообновление берёт последний релиз с https://github.com/titovcode/termJ/releases/latest и ищет ассет, оканчивающийся на .zip.

  1. Обнови версию в файле VERSION (например 0.2.0).
  2. Собери: ./build-app.sh — рядом появится TermJ-<VERSION>.zip (ассет релиза).
  3. Залей тег и релиз:
    git tag v<VERSION> && git push --tags
    gh release create v<VERSION> TermJ-<VERSION>.zip --title "v<VERSION>" --notes "..."

При автообновлении бандл заменяется по тому же пути, поэтому разрешения TCC (запись экрана/аудио) могут запроситься заново — приложение пока не нотаризовано.

Поддержать проект

TermJ бесплатен и с открытым исходным кодом. Если приложение нравится и хочется, чтобы оно развивалось:

Лицензия

Распространяется под лицензией GNU GPL v3.

About

Run any command and a music-reactive «Pulse» audio visualizer as lightweight desktop widgets on macOS. Colors sampled per-display from each monitor's wallpaper and adapted to the background; multi-monitor aware — every screen gets its own palette. Canvas presets, Kick Punch on bass. Like Rainmeter, but for macOS.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages