Skip to content

Add Mac shortcut mapping for Guacamole desktop - #4

Merged
markcallen merged 1 commit into
mainfrom
mac-shortcuts
Aug 26, 2026
Merged

Add Mac shortcut mapping for Guacamole desktop#4
markcallen merged 1 commit into
mainfrom
mac-shortcuts

Conversation

@markcallen

Copy link
Copy Markdown
Contributor

Summary

  • add HATCH_MAC_SHORTCUTS, defaulting to 1, to enable Mac-style shortcut mapping in the remote desktop
  • install xbindkeys and xdotool and start a per-session mapping from remote Mod4 shortcuts to Linux Ctrl shortcuts
  • document the setting in the README, install guide, env example, compose config, and PRD

Validation

  • sh -n config/startwm.sh
  • sh -n scripts/entrypoint.sh
  • git diff --check
  • docker build -t hatch:mac-shortcuts-test .
  • docker run --rm hatch:mac-shortcuts-test ... confirmed HATCH_MAC_SHORTCUTS=1, xbindkeys, and xdotool are present

Notes

  • Full Guacamole E2E was not rerun because it rebuilds the image and pulls Playwright/npm dependencies again; the Docker build and runtime smoke check covered the changed package/startup path.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

This PR adds an opt-out Mac-style shortcut bridge for the Guacamole-hosted desktop so common “Cmd/Super + key” shortcuts behave like Linux “Ctrl + key” shortcuts inside Chromium.

Changes:

  • Introduces HATCH_MAC_SHORTCUTS (default 1) and propagates it through startup/env examples and Docker Compose.
  • Installs xbindkeys + xdotool and starts a per-session keybinding bridge in the XRDP window manager startup.
  • Documents the new setting across README/INSTALL and updates the PRD requirement statement.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated no comments.

Show a summary per file
File Description
scripts/entrypoint.sh Exports HATCH_MAC_SHORTCUTS so it’s available to supervised services/sessions.
config/startwm.sh Adds per-session xbindkeys config to map Mod4/Super shortcuts to Ctrl shortcuts via xdotool.
Dockerfile Sets default HATCH_MAC_SHORTCUTS=1 and installs xbindkeys/xdotool.
docker-compose.yml Adds HATCH_MAC_SHORTCUTS with default 1 to compose environment.
.env.example Documents and exposes HATCH_MAC_SHORTCUTS in the example env file.
README.md Documents HATCH_MAC_SHORTCUTS behavior and includes it in the env block.
INSTALL.md Documents HATCH_MAC_SHORTCUTS behavior and includes it in the env block.
PRD.md Adds shortcut-bridge behavior as a stated product requirement with opt-out.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@markcallen
markcallen merged commit 817152a into main Aug 26, 2026
2 checks passed
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.

2 participants