Skip to content

Point XCompose at a home-local table for sandboxed apps - #9282

Open
fresh3nough wants to merge 1 commit into
omacom:quattrofrom
fresh3nough:fix/issue-9241-xcompose-home-include
Open

Point XCompose at a home-local table for sandboxed apps#9282
fresh3nough wants to merge 1 commit into
omacom:quattrofrom
fresh3nough:fix/issue-9241-xcompose-home-include

Conversation

@fresh3nough

Copy link
Copy Markdown

Summary

Fixes #9241.

install/user/xcompose.sh wrote include "/usr/share/omarchy/default/xcompose" into ~/.XCompose. Steam's pressure-vessel (and other sandboxes that bind $HOME but not host /usr) cannot open that path. xkbcommon does not degrade on a failed include — it aborts the entire compose table — so every sequence dies inside the container (emoji, identity macros, locale defaults), with journal spam on every game process.

Omarchy 3 used a %H-relative include. This restores a container-safe shape without depending on the retired ~/.local/share/omarchy checkout symlink.

Change

  • Seed ~/.XCompose.omarchy from $OMARCHY_PATH/default/xcompose and include "%H/.XCompose.omarchy" from install, upgrade-to-quattro, and omarchy-restart-xcompose (so package updates refresh the home copy).
  • Migration 1788138200.sh rewrites existing absolute /usr/share/omarchy/... and Omarchy 3 %H/.local/share/omarchy/... includes.
  • Adjust migration 1788102906.sh so its legacy rewrite targets the home-local include instead of an absolute packaged path.

Test plan

  • Reproduced on GCP VM + Arch container: absolute missing include → xkbcli compile-compose fails
  • After fix: %H/.XCompose.omarchy under $HOME compiles and emits sequences
  • Migration rewrites absolute include and preserves user sequences
  • ./test/shell.d/xcompose-home-include-test.sh passes
./test/shell.d/xcompose-home-include-test.sh

Absolute includes into /usr/share/omarchy fail inside Steam pressure-vessel
and other sandboxes that bind $HOME without host /usr. xkbcommon aborts the
whole compose file on a missing include, so every sequence dies. Seed
~/.XCompose.omarchy and include it with %H; migrate existing absolute and
Omarchy 3 checkout includes the same way.

Fixes omacom#9241

Signed-off-by: fresh3nough <anonwurcod@proton.me>
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.

install/user/xcompose.sh writes an absolute /usr/share/omarchy include, breaking every compose sequence inside Steam's container

1 participant