Skip to content

move-window-between-desktops: Add version 1.2#17402

Closed
FAI-solutions wants to merge 5 commits intoScoopInstaller:masterfrom
FAI-solutions:master
Closed

move-window-between-desktops: Add version 1.2#17402
FAI-solutions wants to merge 5 commits intoScoopInstaller:masterfrom
FAI-solutions:master

Conversation

@FAI-solutions
Copy link

@FAI-solutions FAI-solutions commented Mar 12, 2026

Closes #17401

Adds move-window-between-desktops, a lightweight AutoHotkey v2 script
that moves the active window between Windows 10/11 virtual desktops
using Ctrl+Shift+Win+Arrow keys. Includes a setup script that
automatically configures autostart via a scheduled task (with admin)
or Startup folder shortcut (without admin).

Repository: https://codeberg.org/FAI-Solutions/move-window-between-desktops
Homepage: https://fai-solutions.codeberg.page/move-window-between-desktops/
License: MIT

  • Use conventional PR title: move-window-between-desktops: Add to bucket
  • I have read the Contributing Guide

Summary by CodeRabbit

  • New Features
    • Added a Windows utility (v1.2) to move the active window between virtual desktops with configurable keyboard shortcuts, auto-update support, and an installer that selects and verifies the correct runtime component for the user's Windows build.
  • Documentation
    • Includes user-facing setup guidance (run as admin or add to startup), keyboard shortcut details, and links to full usage instructions.

@coderabbitai
Copy link

coderabbitai bot commented Mar 12, 2026

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Walkthrough

Adds a new public manifest bucket/move-window-between-desktops.json (v1.2) for an AutoHotkey v2 utility to move the active window between Windows virtual desktops; includes a Windows-build-aware PowerShell installer that downloads and verifies a platform-specific VirtualDesktopAccessor.dll, plus checkver/autoupdate and notes.

Changes

Cohort / File(s) Summary
New Package Manifest
bucket/move-window-between-desktops.json
Adds manifest v1.2 with metadata (description, homepage, MIT), depends on autohotkey, two release URLs with SHA-256 hashes, a Windows-build-aware PowerShell installer that picks/downloads/validates a platform-specific VirtualDesktopAccessor.dll, checkver and autoupdate templates, and user-facing notes describing setup and shortcuts.

Sequence Diagram(s)

sequenceDiagram
  participant User
  participant Installer as Installer (PowerShell)
  participant Releases as Release Server
  participant FS as Filesystem
  participant AHK as AutoHotkey

  User->>Installer: trigger install (scoop)
  Installer->>Installer: detect Windows build/version
  Installer->>Releases: request matching VirtualDesktopAccessor.dll
  Releases-->>Installer: return DLL binary
  Installer->>Installer: compute SHA-256 & compare expected hash
  alt hash matches
    Installer->>FS: write DLL and manifest files
    Installer->>AHK: ensure dependency (autohotkey)
    Installer-->>User: installation success
  else mismatch or download error
    Installer-->>User: fail with error message
  end
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

🐇 I hopped between desktops, swift and light,
A DLL snug under moonlit byte,
Ctrl+Shift+Win gave windows a nudge,
Screens danced—no fuss, no grudge,
A rabbit's tweak to make things right.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description check ✅ Passed The description includes the required elements: conventional PR title checkbox marked, contributing guide acknowledgment, linked issue reference, and comprehensive package details.
Linked Issues check ✅ Passed The PR fulfills all coding requirements from issue #17401: adds the package manifest with AutoHotkey v2 dependency, includes Windows build-aware installer script, provides setup instructions, and declares MIT license.
Out of Scope Changes check ✅ Passed All changes are scoped to the package addition requirement; only the manifest file is added with no unrelated modifications.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Title check ✅ Passed The PR title directly reflects the main change: adding version 1.2 of the move-window-between-desktops package to the bucket as a new manifest file.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
📝 Coding Plan
  • Generate coding plan for human review comments

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Tip

You can customize the tone of the review comments and chat replies.

Configure the tone_instructions setting to customize the tone of the review comments and chat replies. For example, you can set the tone to Act like a strict teacher, Act like a pirate and more.

@github-actions
Copy link
Contributor

Your changes did not pass all checks.

Please address the issues in the manifest and comment starting with /verify to rerun the checks.

move-window-between-desktops

  • Lint
  • Description
  • License
  • Hashes
  • Checkver
  • Autoupdate

Check the full log for details.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@bucket/move-window-between-desktops.json`:
- Around line 26-38: The script fails to set $dllUrl for Windows 11 builds in
the 22000–22630 range causing later download logic to break; update the
build-detection conditional around $build and $dllUrl to include an elseif
branch that handles 22000 - 22630 (or add a final else fallback) and assign the
appropriate VirtualDesktopAccessor.dll URL for that range so $dllUrl is always
set before it's used in the download logic.
- Around line 17-60: The installer currently performs a runtime download using
Invoke-WebRequest (references: $dllUrl, $dllName, Invoke-WebRequest, Test-Path)
which bypasses manifest URL+hash verification; update the manifest to include
separate url and hash entries for each DLL build variant and remove the
Invoke-WebRequest block from installer.script, then modify installer.script to
detect the Windows build ($build) and copy the appropriate pre-packaged DLL file
(e.g., choose the correct shipped artifact by name) into "$dir\\$dllName"
instead of downloading, retaining the post-install info writes
(".windows-build-detected.txt") and existing error handling around file
existence checks.
- Around line 12-16: The autoupdate hash array ("hash") includes entries for
README-SCOOP.txt but the file is not consistently present in tagged releases,
breaking CI; either ensure every tagged release includes the immutable
README-SCOOP.txt so the existing "hash" entries remain valid, or remove
README-SCOOP.txt from the url/hash/autoupdate logic by deleting its hash entries
from the "hash" array and any references that include README-SCOOP.txt (also
remove the duplicate references noted around the other hash entries), so the
autoupdate flow only verifies files guaranteed to exist.
- Around line 62-67: Replace the non-executable ".ahk" target in the manifest's
"bin" (currently "move-window-between-desktops.ahk") with a wrapper executable
script that explicitly calls AutoHotkey.exe and passes the
"move-window-between-desktops.ahk" file as an argument; update the "bin" entry
to point to that wrapper name and adjust any "shortcuts" entries if needed so
Scoop's shim will invoke AutoHotkey.exe reliably instead of relying on file
associations.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 226d02f2-1376-44b6-969d-75c893e42045

📥 Commits

Reviewing files that changed from the base of the PR and between f398c07 and 26768a0.

📒 Files selected for processing (1)
  • bucket/move-window-between-desktops.json

Comment on lines +17 to +60
"installer": {
"script": [
"# Detect Windows version and download appropriate DLL",
"$build = [System.Environment]::OSVersion.Version.Build",
"$dllUrl = $null",
"$dllName = 'VirtualDesktopAccessor.dll'",
"",
"# Determine correct DLL based on Windows build",
"# URLs verified from: https://github.com/Ciantic/VirtualDesktopAccessor/releases",
"if ($build -ge 26100) {",
" # Windows 11 24H2 or later",
" $dllUrl = 'https://github.com/Ciantic/VirtualDesktopAccessor/releases/download/2024-12-16-windows11/VirtualDesktopAccessor.dll'",
" Write-Host 'Windows 11 24H2+ detected' -ForegroundColor Green",
"} elseif ($build -ge 22631) {",
" # Windows 11 23H2",
" $dllUrl = 'https://github.com/Ciantic/VirtualDesktopAccessor/releases/download/2024-01-25-windows11/VirtualDesktopAccessor.dll'",
" Write-Host 'Windows 11 23H2 detected' -ForegroundColor Green",
"} elseif ($build -lt 22000) {",
" # Windows 10 (all versions)",
" $dllUrl = 'https://github.com/Ciantic/VirtualDesktopAccessor/releases/download/2019-windows10/VirtualDesktopAccessor.dll'",
" Write-Host 'Windows 10 detected' -ForegroundColor Green",
"}",
"",
"Write-Host \"Windows Build: $build\" -ForegroundColor Cyan",
"Write-Host \"Downloading from: $dllUrl\" -ForegroundColor Yellow",
"",
"# Download with error handling",
"try {",
" Invoke-WebRequest -Uri $dllUrl -OutFile \"$dir\\$dllName\" -UseBasicParsing -ErrorAction Stop",
" if (-not (Test-Path \"$dir\\$dllName\")) {",
" throw 'Download completed but file not found'",
" }",
" Write-Host \"Successfully downloaded: $dllName\" -ForegroundColor Green",
"} catch {",
" Write-Host 'ERROR: Failed to download DLL' -ForegroundColor Red",
" Write-Host \"Error details: $_\" -ForegroundColor Red",
" exit 1",
"}",
"",
"# Create info file only after successful download",
"\"Windows Build: $build\" | Out-File -FilePath \"$dir\\.windows-build-detected.txt\"",
"\"DLL Source: $dllUrl\" | Out-File -FilePath \"$dir\\.windows-build-detected.txt\" -Append",
"\"Install Date: $(Get-Date)\" | Out-File -FilePath \"$dir\\.windows-build-detected.txt\" -Append"
]
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Avoid runtime DLL download in installer script; it bypasses manifest integrity checks.

Fetching VirtualDesktopAccessor.dll via Invoke-WebRequest at install time skips Scoop’s hashed artifact model and weakens reproducibility/supply-chain guarantees.

Use manifest url+hash entries for DLL artifacts and select/copy the correct local file in installer.script instead of downloading during install.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@bucket/move-window-between-desktops.json` around lines 17 - 60, The installer
currently performs a runtime download using Invoke-WebRequest (references:
$dllUrl, $dllName, Invoke-WebRequest, Test-Path) which bypasses manifest
URL+hash verification; update the manifest to include separate url and hash
entries for each DLL build variant and remove the Invoke-WebRequest block from
installer.script, then modify installer.script to detect the Windows build
($build) and copy the appropriate pre-packaged DLL file (e.g., choose the
correct shipped artifact by name) into "$dir\\$dllName" instead of downloading,
retaining the post-install info writes (".windows-build-detected.txt") and
existing error handling around file existence checks.

Comment on lines +26 to +38
"if ($build -ge 26100) {",
" # Windows 11 24H2 or later",
" $dllUrl = 'https://github.com/Ciantic/VirtualDesktopAccessor/releases/download/2024-12-16-windows11/VirtualDesktopAccessor.dll'",
" Write-Host 'Windows 11 24H2+ detected' -ForegroundColor Green",
"} elseif ($build -ge 22631) {",
" # Windows 11 23H2",
" $dllUrl = 'https://github.com/Ciantic/VirtualDesktopAccessor/releases/download/2024-01-25-windows11/VirtualDesktopAccessor.dll'",
" Write-Host 'Windows 11 23H2 detected' -ForegroundColor Green",
"} elseif ($build -lt 22000) {",
" # Windows 10 (all versions)",
" $dllUrl = 'https://github.com/Ciantic/VirtualDesktopAccessor/releases/download/2019-windows10/VirtualDesktopAccessor.dll'",
" Write-Host 'Windows 10 detected' -ForegroundColor Green",
"}",
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

Handle missing Windows 11 build range (22000–22630) before download.

Line 34 only handles <22000 (Windows 10), so Windows 11 builds 22000..22630 leave $dllUrl unset and fail at Line 45.

Suggested fix
-            "} elseif ($build -ge 22631) {",
+            "} elseif ($build -ge 22631) {",
             "    # Windows 11 23H2",
             "    $dllUrl = 'https://github.com/Ciantic/VirtualDesktopAccessor/releases/download/2024-01-25-windows11/VirtualDesktopAccessor.dll'",
             "    Write-Host 'Windows 11 23H2 detected' -ForegroundColor Green",
-            "} elseif ($build -lt 22000) {",
+            "} elseif ($build -ge 22000) {",
+            "    # Windows 11 21H2/22H2",
+            "    $dllUrl = 'https://github.com/Ciantic/VirtualDesktopAccessor/releases/download/2024-01-25-windows11/VirtualDesktopAccessor.dll'",
+            "    Write-Host 'Windows 11 (pre-23H2) detected' -ForegroundColor Green",
+            "} else {",
             "    # Windows 10 (all versions)",
             "    $dllUrl = 'https://github.com/Ciantic/VirtualDesktopAccessor/releases/download/2019-windows10/VirtualDesktopAccessor.dll'",
             "    Write-Host 'Windows 10 detected' -ForegroundColor Green",
             "}",
+            "",
+            "if (-not $dllUrl) { throw \"Unsupported Windows build: $build\" }",

Also applies to: 40-45

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@bucket/move-window-between-desktops.json` around lines 26 - 38, The script
fails to set $dllUrl for Windows 11 builds in the 22000–22630 range causing
later download logic to break; update the build-detection conditional around
$build and $dllUrl to include an elseif branch that handles 22000 - 22630 (or
add a final else fallback) and assign the appropriate VirtualDesktopAccessor.dll
URL for that range so $dllUrl is always set before it's used in the download
logic.

Comment on lines +62 to +67
"bin": "move-window-between-desktops.ahk",
"shortcuts": [
[
"move-window-between-desktops.ahk",
"Move Window Between Desktops"
]
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🌐 Web query:

Does Scoop support publishing a .ahkfile directly in a manifestbinfield, or is a wrapper/explicitautohotkey invocation required for reliable execution?

💡 Result:

Scoop will let you list a .ahk in bin (the bin field can point at “executables or scripts” in general) [1], but Scoop’s native shim mechanism ultimately launches whatever is in the .shim file as a process target (path = ...) [2]. A plain .ahk file is not itself an executable target, so whether it runs depends on external file-association/ShellExecute behavior rather than Scoop—i.e., it’s not reliably portable.

For reliable execution, use an explicit interpreter invocation (wrapper), e.g. make the shim call AutoHotkey.exe and pass the .ahk as an argument (and ensure AutoHotkey is installed/declared as a dependency).

Sources: [1] [2]


Wrap the .ahk file with an explicit AutoHotkey.exe invocation for reliable Scoop shim execution.

Scoop's native shim mechanism requires an executable target, but a plain .ahk file is not executable—it relies on unreliable external file-association behavior. Replace the direct .ahk reference in bin with a wrapper script that explicitly invokes AutoHotkey.exe with the .ahk file as an argument.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@bucket/move-window-between-desktops.json` around lines 62 - 67, Replace the
non-executable ".ahk" target in the manifest's "bin" (currently
"move-window-between-desktops.ahk") with a wrapper executable script that
explicitly calls AutoHotkey.exe and passes the
"move-window-between-desktops.ahk" file as an argument; update the "bin" entry
to point to that wrapper name and adjust any "shortcuts" entries if needed so
Scoop's shim will invoke AutoHotkey.exe reliably instead of relying on file
associations.

fixed "issues"
added the hashes
@FAI-solutions
Copy link
Author

/verify

@github-actions
Copy link
Contributor

Your changes did not pass all checks.

Please address the issues in the manifest and comment starting with /verify to rerun the checks.

move-window-between-desktops

  • Lint
  • Description
  • License
  • Hashes
  • Checkver
  • Autoupdate

Check the full log for details.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

♻️ Duplicate comments (3)
bucket/move-window-between-desktops.json (3)

7-15: ⚠️ Potential issue | 🟠 Major

Don’t make README-SCOOP.txt part of the required release payload.

README-SCOOP.txt is included in both the current url/hash arrays and the autoupdate.url template, so every future tag must keep publishing it under the same name or manifest refresh breaks again. If it is only documentation, remove it from those artifact lists and keep the guidance in notes instead.

Also applies to: 61-66

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@bucket/move-window-between-desktops.json` around lines 7 - 15, Remove
"README-SCOOP.txt" from the manifest's required release artifacts: delete the
entry "README-SCOOP.txt" from the "url" array and remove its matching checksum
from the "hash" array so the arrays remain aligned; update the autoupdate.url
template to stop referencing "README-SCOOP.txt"; and instead add the README
content or a brief pointer into the manifest's "notes" field (or documentation)
so future releases no longer must include that file under the exact name. Ensure
the urls/hashes arrays maintain one-to-one correspondence after removal.

17-55: ⚠️ Potential issue | 🟠 Major

Declare VirtualDesktopAccessor.dll in the manifest instead of downloading it during install.

Scoop only integrity-checks the Codeberg assets declared at Lines 7-15. This extra Invoke-WebRequest pulls a second dependency outside the manifest, which weakens reproducibility and makes installs depend on a separate live network fetch. Ship the Windows 10/11 DLL variants via url/hash and select the correct local file here instead of downloading it in installer.script.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@bucket/move-window-between-desktops.json` around lines 17 - 55, The installer
is downloading VirtualDesktopAccessor.dll at runtime (see installer.script,
$dllUrl, Invoke-WebRequest, $dllName, $expectedHash) which bypasses the
manifest's declared assets; instead add the three DLL variants as formal
manifest assets (url + SHA256 hash) and remove the Invoke-WebRequest block from
installer.script so the installer uses the locally provided file (e.g.,
$dir\$dllName) chosen by the existing build-detection logic; update the manifest
entries so each DLL variant has its correct url and hash and ensure installer
references that local file name rather than fetching from the network.

24-35: ⚠️ Potential issue | 🟠 Major

Treat Windows 11 builds 22000..22630 as Windows 11.

The current else branch catches every build below 22631, so Windows 11 21H2/22H2 machines are identified as Windows 10 and get the Windows 10 DLL path. That leaves part of the advertised Windows 11 support on the wrong binary-selection path.

🛠️ Minimal fix
             "} elseif ($build -ge 22631) {",
             "    $dllUrl = 'https://github.com/Ciantic/VirtualDesktopAccessor/releases/download/2024-01-25-windows11/VirtualDesktopAccessor.dll'",
             "    $expectedHash = 'f78ff6334f6c0ef5175ec0819026cec31d421a564b9ed1ee1ac4b6ed98d4f999'",
             "    Write-Host 'Windows 11 23H2 detected' -ForegroundColor Green",
+            "} elseif ($build -ge 22000) {",
+            "    $dllUrl = 'https://github.com/Ciantic/VirtualDesktopAccessor/releases/download/2024-01-25-windows11/VirtualDesktopAccessor.dll'",
+            "    $expectedHash = 'f78ff6334f6c0ef5175ec0819026cec31d421a564b9ed1ee1ac4b6ed98d4f999'",
+            "    Write-Host 'Windows 11 21H2/22H2 detected' -ForegroundColor Green",
             "} else {",
             "    $dllUrl = 'https://github.com/Ciantic/VirtualDesktopAccessor/releases/download/2019-windows10/VirtualDesktopAccessor.dll'",
             "    $expectedHash = '145431bc2090281838de31824bc829dd35688b13488f4850f4bc5f25f5e599da'",
             "    Write-Host 'Windows 10 detected' -ForegroundColor Green",
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@bucket/move-window-between-desktops.json` around lines 24 - 35, The branch
logic incorrectly treats builds below 22631 as Windows 10; update the
conditional flow that checks $build to explicitly handle Windows 11 builds >=
22000 and < 22631 by adding an elseif ($build -ge 22000) block (before the final
else) that sets $dllUrl and $expectedHash for Windows 11 21H2/22H2 and emits a
Write-Host 'Windows 11 21H2/22H2 detected' message; keep the existing >=22631
branch and the >=26100 branch as-is and leave the final else to cover true
Windows 10 only, referencing the same variables $dllUrl, $expectedHash, and
$build in your change.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@bucket/move-window-between-desktops.json`:
- Around line 73-75: The setup notes currently mention the Startup-folder
fallback but omit the important limitation that it cannot move elevated windows;
update the "SETUP:" or adjacent "notes" text to explicitly call out that running
setup-autostart.ahk with admin rights installs a service/auto-start method able
to move elevated windows, whereas the non-admin Startup-folder fallback cannot
move elevated windows, and include a brief suggestion to run the admin installer
if elevated-window support is required (reference the "SETUP:" block and the
"Run setup-autostart.ahk" and "Startup folder fallback" strings to locate where
to add this note).

---

Duplicate comments:
In `@bucket/move-window-between-desktops.json`:
- Around line 7-15: Remove "README-SCOOP.txt" from the manifest's required
release artifacts: delete the entry "README-SCOOP.txt" from the "url" array and
remove its matching checksum from the "hash" array so the arrays remain aligned;
update the autoupdate.url template to stop referencing "README-SCOOP.txt"; and
instead add the README content or a brief pointer into the manifest's "notes"
field (or documentation) so future releases no longer must include that file
under the exact name. Ensure the urls/hashes arrays maintain one-to-one
correspondence after removal.
- Around line 17-55: The installer is downloading VirtualDesktopAccessor.dll at
runtime (see installer.script, $dllUrl, Invoke-WebRequest, $dllName,
$expectedHash) which bypasses the manifest's declared assets; instead add the
three DLL variants as formal manifest assets (url + SHA256 hash) and remove the
Invoke-WebRequest block from installer.script so the installer uses the locally
provided file (e.g., $dir\$dllName) chosen by the existing build-detection
logic; update the manifest entries so each DLL variant has its correct url and
hash and ensure installer references that local file name rather than fetching
from the network.
- Around line 24-35: The branch logic incorrectly treats builds below 22631 as
Windows 10; update the conditional flow that checks $build to explicitly handle
Windows 11 builds >= 22000 and < 22631 by adding an elseif ($build -ge 22000)
block (before the final else) that sets $dllUrl and $expectedHash for Windows 11
21H2/22H2 and emits a Write-Host 'Windows 11 21H2/22H2 detected' message; keep
the existing >=22631 branch and the >=26100 branch as-is and leave the final
else to cover true Windows 10 only, referencing the same variables $dllUrl,
$expectedHash, and $build in your change.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 50da801b-2f86-46da-86eb-3f453f02404d

📥 Commits

Reviewing files that changed from the base of the PR and between 26768a0 and 1dd2b46.

📒 Files selected for processing (1)
  • bucket/move-window-between-desktops.json

@FAI-solutions
Copy link
Author

/verify

@github-actions
Copy link
Contributor

Your changes did not pass all checks.

Please address the issues in the manifest and comment starting with /verify to rerun the checks.

move-window-between-desktops

  • Lint
  • Description
  • License
  • Hashes
  • Checkver
  • Autoupdate

Check the full log for details.

readme finally removed completely
@FAI-solutions
Copy link
Author

/verify

@github-actions
Copy link
Contributor

All changes look good.

Wait for review from human collaborators.

move-window-between-desktops

  • Lint
  • Description
  • License
  • Hashes
  • Checkver
  • Autoupdate

Check the full log for details.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

♻️ Duplicate comments (2)
bucket/move-window-between-desktops.json (2)

7-14: ⚠️ Potential issue | 🟠 Major

Avoid install-time DLL download; package DLL artifacts in manifest url/hash instead.

Downloading inside installer.script bypasses Scoop’s primary artifact-verification flow and reduces reproducibility. Prefer shipping both DLL variants via manifest url/hash, then choose/copy locally in the installer.

Also applies to: 39-45

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@bucket/move-window-between-desktops.json` around lines 7 - 14, The manifest
currently lists only the two AHK artifacts under "url" and "hash" while the
installer.script downloads DLLs at install-time; update the manifest to include
both DLL artifact URLs and their corresponding "hash" entries (i.e., add the DLL
variants alongside the existing AHK URLs/hashes), remove the runtime download
from installer.script, and instead modify installer.script to select or copy the
appropriate pre-packaged DLL file already present in the manifest's downloaded
artifacts (ensure installer uses the manifest filenames or known asset names
when choosing which DLL to install); the same change should be applied for the
other DLLs referenced around lines 39-45.

22-33: ⚠️ Potential issue | 🔴 Critical

Handle Windows 11 builds 22000–22630 explicitly instead of falling into Windows 10.

At Line 30, the else branch captures all builds <22631, which includes Windows 11 21H2/22H2. That likely selects the wrong DLL/hash for those systems.

Suggested fix
-            "} else {",
-            "    $dllUrl = 'https://github.com/Ciantic/VirtualDesktopAccessor/releases/download/2019-windows10/VirtualDesktopAccessor.dll'",
-            "    $expectedHash = '145431bc2090281838de31824bc829dd35688b13488f4850f4bc5f25f5e599da'",
-            "    Write-Host 'Windows 10 detected' -ForegroundColor Green",
+            "} elseif ($build -ge 22000) {",
+            "    $dllUrl = 'https://github.com/Ciantic/VirtualDesktopAccessor/releases/download/2024-01-25-windows11/VirtualDesktopAccessor.dll'",
+            "    $expectedHash = 'f78ff6334f6c0ef5175ec0819026cec31d421a564b9ed1ee1ac4b6ed98d4f999'",
+            "    Write-Host 'Windows 11 21H2/22H2 detected' -ForegroundColor Green",
+            "} else {",
+            "    $dllUrl = 'https://github.com/Ciantic/VirtualDesktopAccessor/releases/download/2019-windows10/VirtualDesktopAccessor.dll'",
+            "    $expectedHash = '145431bc2090281838de31824bc829dd35688b13488f4850f4bc5f25f5e599da'",
+            "    Write-Host 'Windows 10 detected' -ForegroundColor Green",
             "}",
For VirtualDesktopAccessor, which DLL/release should be used for Windows 11 builds 22000–22630 (21H2/22H2)?
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@bucket/move-window-between-desktops.json` around lines 22 - 33, The branch
that currently sets $dllUrl/$expectedHash treats all builds <22631 as Windows
10; add an explicit elseif for Windows 11 builds 22000–22630 (e.g. elseif
($build -ge 22000) { ... }) placed before the final else, and set $dllUrl and
$expectedHash inside that block to the VirtualDesktopAccessor release that
targets Windows 11 21H2/22H2 (use the release asset and checksum from the
project’s releases page), keeping the existing messages (Write-Host) consistent.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@bucket/move-window-between-desktops.json`:
- Around line 68-69: Update the user-facing strings that contain typos: in the
message starting with "  Without admin rights it will fall back to a Startup
folder shortcut and therefor" change "therefor" to "therefore", and in the
following string "  elevated windows like Task Manager can not be moved between
desktops" change "can not" to the single word "cannot"; locate these exact
strings in the JSON and replace the two misspelled words accordingly.

---

Duplicate comments:
In `@bucket/move-window-between-desktops.json`:
- Around line 7-14: The manifest currently lists only the two AHK artifacts
under "url" and "hash" while the installer.script downloads DLLs at
install-time; update the manifest to include both DLL artifact URLs and their
corresponding "hash" entries (i.e., add the DLL variants alongside the existing
AHK URLs/hashes), remove the runtime download from installer.script, and instead
modify installer.script to select or copy the appropriate pre-packaged DLL file
already present in the manifest's downloaded artifacts (ensure installer uses
the manifest filenames or known asset names when choosing which DLL to install);
the same change should be applied for the other DLLs referenced around lines
39-45.
- Around line 22-33: The branch that currently sets $dllUrl/$expectedHash treats
all builds <22631 as Windows 10; add an explicit elseif for Windows 11 builds
22000–22630 (e.g. elseif ($build -ge 22000) { ... }) placed before the final
else, and set $dllUrl and $expectedHash inside that block to the
VirtualDesktopAccessor release that targets Windows 11 21H2/22H2 (use the
release asset and checksum from the project’s releases page), keeping the
existing messages (Write-Host) consistent.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: e9441e91-e8d9-47f1-b5c7-50ff42628c0c

📥 Commits

Reviewing files that changed from the base of the PR and between d6abb27 and d6f1d5f.

📒 Files selected for processing (1)
  • bucket/move-window-between-desktops.json

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
@z-Fng z-Fng changed the title move-window-between-desktops: Add to bucket move-window-between-desktops: Add version 1.2 Mar 13, 2026
@z-Fng z-Fng added the not-meet-criteria This package doesn't fully meet the essential criteria to be accepted in Extras bucket. label Mar 13, 2026
@z-Fng
Copy link
Member

z-Fng commented Mar 13, 2026

Thanks for your contribution! However, it appears that your package looks quiet new and doesn't fully meet the essential criteria. Please feel free to reopen this PR once it fully meets the criteria, or consider creating your own bucket instead.

@z-Fng z-Fng closed this Mar 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

not-meet-criteria This package doesn't fully meet the essential criteria to be accepted in Extras bucket. review-needed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Request]: move-window-between-desktops

2 participants