From 76ee45ac778f1b1679ece2478cbde24a4b0cb62d Mon Sep 17 00:00:00 2001 From: Raul Benencia Date: Sun, 3 May 2026 09:17:31 -0700 Subject: fix rofi in wayland --- bin/rofi | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100755 bin/rofi (limited to 'bin/rofi') diff --git a/bin/rofi b/bin/rofi new file mode 100755 index 0000000..cfa5a8f --- /dev/null +++ b/bin/rofi @@ -0,0 +1,30 @@ +#!/bin/sh + +# GNOME on Wayland does not support the layer-shell protocol that rofi's +# native Wayland backend requires, so fall back to Xwayland there. + +self_path=$(readlink -f "$0" 2>/dev/null || printf '%s\n' "$0") +rofi_bin="" + +for candidate in /usr/bin/rofi /bin/rofi; do + candidate_path=$(readlink -f "$candidate" 2>/dev/null || printf '%s\n' "$candidate") + if [ -x "$candidate" ] && [ "$candidate_path" != "$self_path" ]; then + rofi_bin="$candidate" + break + fi +done + +if [ -z "$rofi_bin" ]; then + printf '%s\n' "rofi: unable to find the system rofi binary" >&2 + exit 127 +fi + +if [ "${XDG_SESSION_TYPE:-}" = "wayland" ] && [ -n "${WAYLAND_DISPLAY:-}" ]; then + case "${XDG_CURRENT_DESKTOP:-}:${DESKTOP_SESSION:-}" in + *GNOME*:*|*:gnome|GNOME:*|gnome:*) + set -- -x11 "$@" + ;; + esac +fi + +exec "$rofi_bin" "$@" -- cgit v1.2.3