thedivergentai/gd-agentic-skills

godot-platform-desktop

Expert blueprint for desktop platforms (Windows/Linux/macOS) covering keyboard/mouse controls, settings menus, window management (fullscreen, resolution), keybind remapping, and Steam integration.

First seen Feb 10, 2026

Installation

$ npx skills add thedivergentai/gd-agentic-skills --skill godot-platform-desktop

Summary

  • Expert blueprint for desktop platforms (Windows/Linux/macOS) covering keyboard/mouse controls, settings menus, window management (fullscreen, resolution), keybind remapping, and Steam integration.
  • Use when targeting PC platforms or implementing desktop-specific features.
  • Keywords desktop, Windows, Linux, macOS, settings, keybinds, ConfigFile, DisplayServer, Steam, fullscreen.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from thedivergentai/gd-agentic-skills · top by installs.

npx skills add thedivergentai/gd-agentic-skills

Browse all from thedivergentai/gd-agentic-skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 678
License LICENSE
Default branch main
Open issues 0
Status Active

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 11,403 B
  • docs SUMMARY.md 408 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 278 installs

SKILL.md

Platform: Desktop

Settings flexibility, window management, and kb/mouse precision define desktop gaming.

NEVER Do (Expert Desktop Rules)

Window & Display

  • NEVER hardcode resolution or fullscreen modes — Always provide a settings menu with resolution + mode toggle.
  • NEVER ignore DPI scale factors — Use DisplayServer.screengetscale() / usable rects.
  • NEVER skip a borderless window option — Offer WINDOWMODEFULLSCREEN (borderless) for multi-monitor focus.

Input & Persistence

  • NEVER use keycode for movement rebinds — Use physical_keycode for AZERTY/Dvorak.
  • NEVER save settings or user data to res:// — Always user://.
  • NEVER skip NOTIFICATIONWMCLOSEREQUEST — Flush ConfigFile before gettree().quit().

Performance & Integration

  • NEVER run utility tools at max framerate — Enable OS.lowprocessorusage_mode for static tools.
  • NEVER call proprietary SDKs (Steam/Epic) directly — Wrap with Engine.has_singleton() guards.
  • NEVER block the main thread with massive I/O — Offload to WorkerThreadPool.

Available Scripts

MANDATORY: Read the appropriate script before implementing the corresponding pattern. Do not paste inline settings/rebind/Steam tutorials — the scripts are the golden path.

[desktopwindowmanager.gd](scripts/desktopwindowmanager.gd)

Expert DPI-aware multi-monitor window positioning using DisplayServer.

[desktopsettingspersistent.gd](scripts/desktopsettingspersistent.gd)

Production settings persistence using ConfigFile for persistent INI data.

[physicalinputrebinder.gd](scripts/physicalinputrebinder.gd)

Expert positional rebind system using physical_keycode for AZERTY/Dvorak.

[platformsdkwrapper.gd](scripts/platformsdkwrapper.gd)

Safe PC SDK singleton wrapper (Steamworks/Epic) with crash guards.

[nativedialoghelper.gd](scripts/nativedialoghelper.gd)

Expert native OS file dialogs and system alerts logic.

[secondarywindowspawner.gd](scripts/secondarywindowspawner.gd)

True multi-window management for secondary Viewports/Windows.

[gracefulshutdownhandler.gd](scripts/gracefulshutdownhandler.gd)

Safe close-request interceptor for data flushing and exit guards.

[lowprocessorecomode.gd](scripts/lowprocessorecomode.gd)

Eco mode optimization for desktop tools and launchers.

[desktopperformancemonitor.gd](scripts/desktopperformancemonitor.gd)

OS-level hardware detection for dynamic graphics presets.

[nativeshellexecutor.gd](scripts/nativeshellexecutor.gd)

Expert native shell command execution and output capture.


Desktop Golden Path (MANDATORY scripts)

  1. Resolution / stretch — use the mini-tree below, then MANDATORY [desktopwindowmanager.gd](scripts/desktopwindowmanager.gd).
  2. Window / DPIMANDATORY [desktopwindowmanager.gd](scripts/desktopwindowmanager.gd): multi-monitor position, scale, mode restore.
  3. ConfigFile settingsMANDATORY [desktopsettingspersistent.gd](scripts/desktopsettingspersistent.gd): graphics/audio/window under user://.
  4. Physical rebindsMANDATORY [physicalinputrebinder.gd](scripts/physicalinputrebinder.gd): physical_keycode only.
  5. Close flushMANDATORY [gracefulshutdownhandler.gd](scripts/gracefulshutdownhandler.gd): NOTIFICATIONWMCLOSE_REQUEST → save → quit.
  6. Store SDKMANDATORY [platformsdkwrapper.gd](scripts/platformsdkwrapper.gd) before any store call: if Engine.hassingleton("Steam") → Steam API; elif Engine.hassingleton("EOS") → Epic; else no-op stub. Gate features with export feature tags (steam / epic).

Resolution / stretch mini-tree

Player need Window mode Script hook
Fullscreen game, alt-tab friendly WINDOWMODEFULLSCREEN (borderless) [desktopwindowmanager.gd](scripts/desktopwindowmanager.gd)
Exclusive fullscreen (lowest latency) WINDOWMODEEXCLUSIVE_FULLSCREEN Same — persist choice in ConfigFile
Windowed / multi-monitor drag WINDOWMODEWINDOWED + usable rect / DPI scale Same + [desktopsettingspersistent.gd](scripts/desktopsettingspersistent.gd)

CI smoke: headless --path . --quit-after 1 with settings round-trip write/read under user:// before merge (pairs with godot-export-builds).

Expert Callouts (keep short — not full tutorials)

1. Alt-Tab stuck-input guard

On NOTIFICATIONAPPLICATIONFOCUSOUT, pause and Input.actionrelease held movement actions so OS-swallowed key-ups do not strand velocity.

2. Desktop launcher note

Lightweight launcher projects may OS.createprocess the main pack after writing user://settings.cfg; pair with [lowprocessorecomode.gd](scripts/lowprocessoreco_mode.gd) while idle in menus.

Deep dives (on demand)

  • Settings menu, rebind, Steam, alt-tab guard, launcher → [desktop-expert-patterns.md](references/desktop-expert-patterns.md)

Reference

Progressive disclosure: open Official Documentation links only when researching a specific API;
load Related Skills when routing work to a peer domain — do not preload the whole lattice.

Official Documentation

  • DisplayServer — Window modes, screenget_scale / usable rects, and native file-dialog features behind multi-monitor and HiDPI desktop settings.
  • Multiple resolutions — Stretch modes, aspect, and content scale so resolution dropdowns stay sharp across 1080p–4K displays.
  • Handling quit requestsNOTIFICATIONWMCLOSEREQUEST / setautoacceptquit(false) so Alt+F4 and window-close flush ConfigFile before exit.
  • ConfigFile — INI-style persistence for graphics, audio, and window state under user://.
  • File paths in Godot projects — Why settings and saves must use user:// (exported res:// is read-only).
  • InputEventKeyphysicalkeycode vs keycode so WASD rebinds survive AZERTY/Dvorak layouts.
  • InputMap — Runtime actioneraseevents / actionadd_event for desktop rebind UIs.
  • Using InputEvent — Focus-loss stuck-key pitfalls (NOTIFICATIONAPPLICATIONFOCUS_OUT) when Alt-Tabbing on PC.
  • Window — Secondary/tool windows and mode/size/position restore for true multi-window desktop apps.
  • OSlowprocessorusagemode, create_process / execute, and alert for launchers and native shell hooks.
  • Creating applications — Desktop-style app chrome, dialogs, and quit UX beyond game-only loops.
  • Enginehassingleton / get_singleton guards so Steam/Epic GDExtensions never crash standalone builds.

Related Skills

Prerequisites

  • godot-project-foundations — Display stretch, feature tags (windows/linux/macos), and project defaults every desktop settings menu depends on.
  • godot-input-handling — InputEvent buffering and action design before wiring physical_keycode rebind UIs.
  • godot-ui-containers — Settings screens, dropdowns, and remapper rows that stay layout-correct across resolutions.

Complements

Downstream / consumers

  • godot-export-builds — Windows/Linux/macOS export presets, icons, and store packaging once desktop settings and SDK wrappers are stable.
  • godot-platform-mobile — Sibling platform skill for dual-target projects that must not assume desktop quit/window APIs on phones.
  • godot-platform-web — Browser constraints (no multi-window / limited shell) when shipping the same settings stack to HTML5.

Master

  • godot-master — Library router and mirrored module entry for discovering this platform skill beside sibling domains.