The project is now TNCat, after HEIDENHAIN's TNC controls. Binary, QML module URI, settings path, bundle id and .desktop entry follow; the environment switches are TNCAT_*. Entertainment: a curled steel chip skitters in every minute or two, the cat runs it down and bats it away a few times before sitting back looking pleased. Mood changes flash the matching machine code above its head, G00 for a sprint, G01 for a stroll, M08 while it washes, G28 for a stretch, M30 for a nap. Window handling was split into two layouts. X11 and macOS keep one small window per object, positioned by the app. Wayland gets a screen-filling overlay whose input region is masked down to the cat, since a Wayland client cannot place its own window. Overlay mode is automatic there and available elsewhere via TNCAT_OVERLAY=1. Also adds a ground-line setting so the cat can walk above a softkey row. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
14 lines
405 B
QML
14 lines
405 B
QML
pragma Singleton
|
|
import QtQuick
|
|
import TNCat
|
|
|
|
// Maps CatController::Mood onto the strings Cat.qml understands.
|
|
QtObject {
|
|
readonly property var names: ["walking", "running", "sitting", "grooming", "stretching",
|
|
"sleeping", "loving", "alert", "chasing", "batting"]
|
|
|
|
function name(mood) {
|
|
return names[mood] !== undefined ? names[mood] : "sitting"
|
|
}
|
|
}
|