Skip to content

Update cua-driver-bin to 0.33.4, which captures multi-monitor Hyprland desktops again - #807

Merged
spencerbull merged 1 commit into
masterfrom
cua-driver-bin-0.33.4
Oct 9, 2026
Merged

spencerbull merged 1 commit into
masterfrom
cua-driver-bin-0.33.4

Conversation

@spencerbull

Copy link
Copy Markdown
Contributor

cua-driver-bin has been held at 0.28.2 because Cua Driver 0.28.3 through 0.33.3 refuse desktop capture on Hyprland when more than one output is active, or when the only output is away from 0,0 (trycua/cua#4161). Driver 0.33.4 fixes that (trycua/cua#4305), so this moves the package to it. 0.33.4 also carries the native Hyprland foreground fixes released in 0.33.2 (trycua/cua#4396): page-scroll units, keyboard-first cursor placement, AT-SPI geometry on native Wayland and stale-zoom refusals.

The plugin package does not change. Its sources are identical from Driver 0.32.0 through 0.33.4, both sides speak input protocol v3, and the cua-hyprland-plugin 0.32.0-3 already on edge is built from those sources; its README now names this pairing instead of explaining the hold. Cua's own Edge kit for this source records the same compositor and header hashes as #772's profile.

The recipe changes only the version and the release's checksums. The vendor installer URL still appears four times in the binary on both architectures and is rewritten to pm.sh as before, and the release's THIRD_PARTY_NOTICES.md is now installed beside the license. Upstream updates stay held ("sync": false), so the driver still moves only through a reviewed bump like this one.

…d desktops again

Driver 0.28.3 through 0.33.3 refused desktop capture on Hyprland with more than one output or one output away from the origin (trycua/cua#4161), which is why the package was held at 0.28.2; 0.33.4 fixes it (trycua/cua#4305). The plugin sources are unchanged from 0.32.0 through 0.33.4 and speak the same input protocol, so the plugin package stays and only its README names the new pairing.
@spencerbull

Copy link
Copy Markdown
Contributor Author

Replayed this on an Omabot Edge worker running Hyprland 0.56.2-4 and cua-hyprland-plugin 0.32.0-3. I built this branch's package, served it as a local repository ahead of [omarchy], and upgraded with pacman -Syu from 0.28.2-3 to 0.33.4-1. Everything below passed, with each check run before and after the upgrade unless it says otherwise.

  • Package: the upgrade is clean and pacman -Qkk cua-driver-bin reports no problems. LICENSE and the new THIRD_PARTY_NOTICES.md are installed. The binary carries four file:///usr/lib/cua-driver/pm.sh rewrites and no vendor installer URL. cua-driver update --apply refuses with "managed by pacman" and writes nothing to ~/.local/bin.
  • Capture: desktop and window capture work at scale 1, 1.25 and 1.6, with a monitor offset to 320,200, and across two monitors. With two monitors, 0.33.4's desktop capture is 2240x800; 0.28.2's was 1280x800. At 1.25 and 1.6, 0.33.4 reports the logical size with its scale (1024x640 and 800x500), where 0.28.2 reported 1280x800 at scale 1.0.
  • Plugin pairing: the 0.32.0-3 plugin loads alongside 0.33.4 with protocol 3, a ready transport and ime_popup_guard on, and the driver's consumer verification passes.
  • Background input: with a terminal focused and the real pointer over it, the driver selected Inkscape's rectangle tool, drew a rectangle and saved with Ctrl+S. The saved SVG gained a <rect>, and focus never left the terminal (screenshot below).
  • Stricter drags: 0.33.4 refuses a drag point outside the window geometry it last captured ("input point outside attested logical target geometry"), where 0.28.2 delivered it. Anything driving it has to keep its points inside the snapshot it took.
  • Foreground typing: a full printable-ASCII string typed into the terminal byte-exact.
  • Browser: an isolated Chromium binds exactly, and text typed through the page route lands. A trusted CDP scroll is still refused on Linux (browser_input_trust_unavailable), as it was with 0.28.2.
  • Remove and reinstall: both are clean.

Not covered yet: the same pairing on real hardware with two monitors, one of them away from 0,0. The rig for that is offline.

Codex XHigh reviewed the PKGBUILD and README diff and found nothing blocking. CI's build jobs fail before they reach this package. The builder image fetches the repository key from keys.openpgp.org, and GitHub's runners could not reach it at 06:19Z or on the rerun at 06:49Z. This stays a draft until CI builds it, and merging is your call.

With the terminal focused, Inkscape draws and saves a rectangle in the background

🤖 Generated by Opus 5.5 in Claude Code. Reviewed by Codex XHigh.

@spencerbull

Copy link
Copy Markdown
Contributor Author

CI builds it now that keys.openpgp.org is answering again. The x86_64 package CI built from 24beb37 has the same payload as the one the replay installed: 14 files with identical hashes, and a .PKGINFO that differs only in build date, packager and size. Both architectures carry the four pm.sh rewrites and no vendor installer URL. Marked ready for review, and merging is your call.

🤖 Generated by Opus 5.5 in Claude Code.

@spencerbull
spencerbull marked this pull request as ready for review October 5, 2026 07:21
@spencerbull
spencerbull merged commit 5c6444e into master Oct 9, 2026
16 of 28 checks passed
@spencerbull
spencerbull deleted the cua-driver-bin-0.33.4 branch October 9, 2026 03:08
@github-actions

github-actions Bot commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

Publish succeeded → live

Packages: cua-driver-bin (x86_64, PR artifact); cua-driver-bin (aarch64, PR artifact); cua-hyprland-plugin (x86_64, already published, skipped)

  • edge/x86_64: cua-driver-bin-0.33.4-1-x86_64
  • edge/aarch64: cua-driver-bin-0.33.4-1-aarch64

Some planned slots did not run because an earlier slot failed.

Commit 5c6444e · run

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant