GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — fix(linux): CSS keyframe animations, mouse enter/leave/move and ActivityIndicator spin by triniwiz · Pull Request #11623 · NativeScript/NativeScript

Conversation

@triniwiz

@triniwiz triniwiz commented Nov 8, 2026

Copy link
Copy Markdown
Member

Linux fixes found running the shadcn desktop template on MasonKit.

CSS keyframe animations (ui/animation/index.linux.ts). KeyframeAnimation sets the style's keyframe values when it starts, and they win over local values. The Linux Animation wrote local values every frame, so nothing visible changed until the animation ended (animate-pulse never pulsed). Like iOS and Android, an animation with valueSource: 'keyframe' now writes the keyframe values.

mouseEnter, mouseLeave, mouseMove (ui/core/view/index.linux.ts). Linux raised none of them. While any has a listener, a GtkEventControllerMotion on the view's widget raises them (mouseMove with getX/getY in the view's coordinates) and keeps the hover visual state, as Windows does. MasonKit's :hover and onMouseLeave depend on these.

ActivityIndicator (ui/activity-indicator/index.linux.ts). When busy was set before the spinner was on screen, GTK left its CSS animation still until a theme change restyled it. Starting it from inside the map signal had the same result. It now starts on the turn after the spinner is mapped.

Tested on Ubuntu 22.04 (GTK 4.6, Pop!_OS): the skeleton pulses, chart hover and :hover styles work, and the spinner turns without a theme change.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
triniwiz added 3 commits November 8, 2026 06:07
@triniwiz
fix(linux): CSS keyframe animations write keyframe values
701b612
KeyframeAnimation sets the style's keyframe values when it starts, and they win
over local values, so the Linux Animation's local writes didn't show until the
animation ended (animate-pulse never pulsed). Like iOS and Android, an animation
with valueSource 'keyframe' now writes the keyframe values.
@triniwiz
feat(linux): mouseEnter, mouseLeave and mouseMove events
b813a6b
A GtkEventControllerMotion, attached while any of them has a listener, raises
the events (mouseMove with getX/getY) and keeps the hover visual state, as
Windows does. MasonKit's :hover and onMouseLeave relied on them.
@triniwiz
fix(linux): ActivityIndicator spins when busy is set before it's shown
61d876d
GTK left the spinner's CSS animation still when gtk_spinner_start ran before
the widget was on screen (or inside its map signal), until a theme change
restyled it. It now starts on the turn after the spinner is mapped.
@triniwiz triniwiz mentioned this pull request Nov 8, 2026
fix: chart hover, one-line tooltips, input group text and font-manager on Linux triniwiz/nativescript-desktop-starter-template-shadcn#2
Merged
@nx-cloud

nx-cloud Bot commented Nov 8, 2026 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown

View your CI Pipeline Execution ↗ for commit 61d876d

Command Status Duration Result
nx run-many -t build -p core,webpack5,vite ✅ Succeeded 21s View ↗

💡 Verify your cache is correct by running tasks in a sandbox. Read docs ↗


☁️ Nx Cloud last updated this comment at 2026-11-08 10:14:10 UTC

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@pkg-pr-new

pkg-pr-new Bot commented Nov 8, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/@nativescript/core@11623
npm i https://pkg.pr.new/@nativescript/vite@11623
npm i https://pkg.pr.new/@nativescript/webpack@11623

commit: 61d876d

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@triniwiz
triniwiz merged commit 9f94e72 into feat/linux Nov 8, 2026
5 of 7 checks passed

Uh oh!

There was an error while loading. Please reload this page.

@triniwiz
triniwiz deleted the fix/linux-keyframes-pointer-spinner branch November 8, 2026 10:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

No reviews

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

1 participant

@triniwiz
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.