C++ SCHX ยท rev 4
OS UI ยท current

Custom cursor compositor

The browser-side cursor service used across Desktop and application windows, including the native-cursor suppression rule that caused the recent Desktop visibility bug.

currentstatus
UI developers ยท OS developersaudience
School-GIT docssource
SCHX nativeruntime
SCHX / FEATURE LAYER

Source map

  • components/cdn/CustomCursor.tsx
  • components/cdn/Desktop.tsx
SCHX / FEATURE LAYER

One global compositor

The cursor component tracks pointer events at the document level, resolves semantic cursor roles and renders an SVG/motion cursor in a high-level portal. Desktop mounts the service so child windows can share one cursor instance.

SCHX / FEATURE LAYER

Semantic role resolution

Explicit data-cursor attributes can select roles such as copy, grab, not-allowed or zoom. Standard DOM/CSS behavior is also inspected so ordinary links, text fields and resize regions can select the correct shape.

SCHX / FEATURE LAYER

The self-hiding bug

The cursor service hides the native browser cursor with cursor:none. The role resolver previously mapped computed CSS none to the custom role hidden, causing the custom cursor to hide itself on plain Desktop elements.

The corrected default interpretation keeps the custom cursor visible while the native cursor remains suppressed.

text// Native browser cursor is suppressed globally.
// Do not interpret that compositor-owned CSS as "hide the custom cursor".
none: "default"
SCHX / FEATURE LAYER

Release impact

Because CustomCursor.tsx is an OS component, this kind of fix should be included in a new OS release for installed users instead of relying on live source changes.

SCHX / FEATURE LAYER

Related documentation