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