i built a green blob that lives on my desktop. now it has feelings.
Описание и применение
Создание легкого десктоп‑питомца на Linux, который реагирует на пользовательскую активность, поддерживает простые взаимодействия и таймеры фокусировки, при этом избегая навязчивости.
Задача
Create a lightweight, non‑intrusive desktop companion on Linux that feels alive, reacts to user activity, and supports simple interactions like feeding and focus sessions without becoming a demanding productivity tool.
Результат
Mochi evolved from a simple animated blob to a persistent, emotionally aware desktop companion that reacts to user activity, supports feeding, emotes, and a Pomodoro timer, all while managing complex state and desktop integration on Linux.
Рабочий процесс
- 1. Design minimal UI with GTK4 and Cairo for a small window.
- 2. Implement basic animation states (idle, walk, sleep, blink).
- 3. Add event handlers for mouse clicks and keyboard activity to trigger reactions.
- 4. Create a persistent bond system storing progress in a local file.
- 5. Build an emote catalogue and state machine to manage concurrent animations.
- 6. Integrate activity detection (terminal, editor, media) via semantic signals.
- 7. Add feeding interaction with simple UI and state updates.
- 8. Implement Focus with Mochi: Pomodoro timer, gentle encouragement, and rain soundscape.
- 9. Ensure all features coexist by managing timers, input grabs, and window lifecycle across Wayland/XWayland.
- 10. Test across multiple monitors, negative coordinates, and shutdown cleanup.
Доказательства
Mochi started as a pixel‑art desktop companion for Linux.
v0.3 introduces persistent bond progression.
Focus with Mochi. You can start a focus session, choose the focus and break lengths, select your rounds, enable gentle encouragement, and even use a rain soundscape.
- Дата записи: 2026-09-22T05:30:21.332Z