Ask for Wayland directly in the Hermes launcher
Chromium falls back to XWayland often enough to matter, and the result is a blurry window on every scaled display -- the same reason the ChatGPT and Grok Bot launchers set this. Skipped when the caller has already named a platform.
This commit is contained in:
1 parent
a57f63914f
commit
d2247aa363
2 files changed
+19
-5
No files matched your search
@@ -64,7 +64,7 @@ source=("${pkgname}-${pkgver}.tar.gz::${url}/archive/refs/tags/v${pkgver}.tar.gz
|
|||||||
'hermes-desktop.desktop'
|
'hermes-desktop.desktop'
|
||||||
'hermes-desktop.png')
|
'hermes-desktop.png')
|
||||||
sha256sums=('1e3d39d3638ec15fa9d31af262568a953e9272090deb1c50c44cd401175f5b80'
|
sha256sums=('1e3d39d3638ec15fa9d31af262568a953e9272090deb1c50c44cd401175f5b80'
|
||||||
'716978c836ad46aa4ad173366d3a5d322c174fadf2f8095e6ce81301e1cad048'
|
'f6d06594c2a60a01c369992e44b20afcaf92d8f454a822dc6fccad67d4b6c58b'
|
||||||
'a71e5b3599515b97ea694d51771edede69107a221f301f91c088a5d81de7a8c0'
|
'a71e5b3599515b97ea694d51771edede69107a221f301f91c088a5d81de7a8c0'
|
||||||
'd60d164e24fdcf6532133b8ea43c77a201e4b9e9dbc396187b58d51d8590ef52')
|
'd60d164e24fdcf6532133b8ea43c77a201e4b9e9dbc396187b58d51d8590ef52')
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
# The desktop app is only a shell: it runs `hermes serve` against a Hermes CLI
|
# The desktop app is only a shell: it runs `hermes serve` against a Hermes CLI
|
||||||
# it does not ship. Finding none, it clones its own copy with the upstream
|
# it does not ship. Finding none, it clones its own copy with the upstream
|
||||||
# install script -- an unpinned checkout in ~/.hermes that no package manages.
|
# install script -- an unpinned checkout in ~/.hermes that no package manages.
|
||||||
#
|
#
|
||||||
# So make sure the CLI is there first. Omarchy installs it with its own script;
|
# command -v rather than omarchy-cmd-present: no other launcher in this repo
|
||||||
# elsewhere, say so rather than letting the app quietly bootstrap a second
|
# makes a package depend on omarchy, and this has to behave on a plain Arch box.
|
||||||
# Hermes behind the user's back.
|
|
||||||
if ! command -v hermes >/dev/null 2>&1; then
|
if ! command -v hermes >/dev/null 2>&1; then
|
||||||
if command -v omarchy-install-hermes-cli >/dev/null 2>&1; then
|
if command -v omarchy-install-hermes-cli >/dev/null 2>&1; then
|
||||||
omarchy-install-hermes-cli --now
|
omarchy-install-hermes-cli --now
|
||||||
@@ -16,4 +16,18 @@ if ! command -v hermes >/dev/null 2>&1; then
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
exec /opt/hermes-desktop/Hermes "$@"
|
# Chromium's own Ozone detection falls back to XWayland often enough to matter,
|
||||||
|
# and the result is a blurry window on every scaled display. Ask for Wayland
|
||||||
|
# directly, unless the user has already picked a platform themselves.
|
||||||
|
platform_flags=()
|
||||||
|
if [[ -n "${WAYLAND_DISPLAY:-}" || ${XDG_SESSION_TYPE:-} == wayland ]]; then
|
||||||
|
platform_flags=(--ozone-platform=wayland)
|
||||||
|
|
||||||
|
for flag in "$@"; do
|
||||||
|
case "$flag" in
|
||||||
|
--ozone-platform=* | --ozone-platform-hint=*) platform_flags=() ;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
exec /opt/hermes-desktop/Hermes "${platform_flags[@]}" "$@"
|
||||||
Reference in new issue
Block a user