Стендап Сьогодні 📢 Канал в Telegram @stendap_sogodni

🤖🚫 AI-free content. This post is 100% written by a human, as is everything on my blog. Enjoy!

27.08.2024

Сповіщення про закінчення задачі

Навздогін до попереднього посту — запуск тривалих тестів завжди полегшується, якщо закінчення легко помітити. Інакше ризикуємо відвертати увагу та згадувати про тести надто пізно (тобто рідко.) Так само і з іншими задачами. Навіть герої канонічного коміксу XKCD ніяк не здогадаються, що пора йти працювати.

Я колись писав про використання системних сповіщень та це гарний варіант. Проте не єдиний — є й такі, що не потребують спеціальних утиліт для створення сповіщень.

Команда say в MacOS вміє промовити голосом буквально будь-який текст. Хоч статичне, хоч say "$?", щоб дізнатися код результату, хоч взагалі промовити весь вихід з нашої задачі: make test | say.

Якщо копнути ще глибше, то стандартні термінали “посигналять”, якщо їм зустрінеться символ BEL. Його можна отримати різним чином, наприклад, tput bel або echo \7. Хоча сьогодні помітив, що VSCode так зробить тільки якщо увімкнути відповідну опцію accessibility.signals.terminalBell. Ну, та й сигнал менш помітний, ніж say.

Також є цікаве рішення на той випадок, якщо команда вже запущена, займає більше часу, ніж очікувалось, та ти хочеш відійти, але дізнатись про завершення. Тут треба відправити задачу в фон традиційною комбінацією Ctrl+Z, а потім повернути з фону командою fg з додаванням потрібного “хвоста”: fg; say "all done".