From 2a65cd3622e5423e0e00628264e214124d450b87 Mon Sep 17 00:00:00 2001 From: nippy Date: Thu, 13 Aug 2026 19:04:33 +0200 Subject: fix cosmic --- raveos-cosmic-theme/PKGBUILD | 2 +- raveos-cosmic-theme/raveos-cosmic-apply.sh | 48 +++++++++++++++--------- raveos-cosmic-theme/raveos-cosmic-first-login.sh | 26 ++++++++++--- 3 files changed, 53 insertions(+), 23 deletions(-) (limited to 'raveos-cosmic-theme') diff --git a/raveos-cosmic-theme/PKGBUILD b/raveos-cosmic-theme/PKGBUILD index ba0f58f..ae0b357 100644 --- a/raveos-cosmic-theme/PKGBUILD +++ b/raveos-cosmic-theme/PKGBUILD @@ -15,7 +15,7 @@ pkgname=raveos-cosmic-theme pkgver=0.0.0 -pkgrel=14 +pkgrel=15 pkgdesc="RaveOS Cosmic theme payload and installer" arch=('any') url="https://raveos.local" diff --git a/raveos-cosmic-theme/raveos-cosmic-apply.sh b/raveos-cosmic-theme/raveos-cosmic-apply.sh index b34bc1b..13853dd 100644 --- a/raveos-cosmic-theme/raveos-cosmic-apply.sh +++ b/raveos-cosmic-theme/raveos-cosmic-apply.sh @@ -22,10 +22,6 @@ if [[ ${EUID} -ne 0 ]]; then exit 1 fi -# --------------------------------------------------------------------------- -# SEGÉDFÜGGVÉNY -# --------------------------------------------------------------------------- - ensure_bashrc_hook() { local bashrc_path="$1" local hook_line='[[ -f /etc/profile.d/raveos-fastfetch.sh ]] && source /etc/profile.d/raveos-fastfetch.sh' @@ -35,9 +31,35 @@ ensure_bashrc_hook() { fi } -# --------------------------------------------------------------------------- -# RENDSZERSZINTŰ TELEPÍTÉS -# --------------------------------------------------------------------------- +# A Calamares (systemd-localed) altal beallitott billentyuzet-kiosztast atirja +# a cosmic-comp xkb_config-jaba, hogy a COSMIC mar az elso bejelentkezeskor a +# valasztott kiosztast hasznalja (nem az angol alapallapotot). +write_cosmic_xkb() { + local home="$1" + local kb_layout="hu" + local kb_variant="" + local xorg_kb="/etc/X11/xorg.conf.d/00-keyboard.conf" + if [[ -f "${xorg_kb}" ]]; then + kb_layout="$(awk '/XkbLayout/ {print $3}' "${xorg_kb}" 2>/dev/null | tr -d '"' | head -1)" + kb_layout="${kb_layout%%,*}" + kb_variant="$(awk '/XkbVariant/ {print $3}' "${xorg_kb}" 2>/dev/null | tr -d '"' | head -1)" + kb_variant="${kb_variant%%,*}" + fi + [[ -n "$kb_layout" ]] || kb_layout="hu" + + mkdir -p "${home}/.config/cosmic/com.system76.CosmicComp/v1" + cat > "${home}/.config/cosmic/com.system76.CosmicComp/v1/xkb_config" <= 1000 bejelentkező user home-ja -# --------------------------------------------------------------------------- +write_cosmic_xkb /etc/skel while IFS=: read -r user _ uid gid _ home shell; do [[ "$uid" -ge 1000 ]] || continue @@ -102,6 +115,7 @@ while IFS=: read -r user _ uid gid _ home shell; do install -Dm644 "${PAYLOAD}/fastfetch/${f}" "${home}/.config/fastfetch/${f}" done ensure_bashrc_hook "${home}/.bashrc" + write_cosmic_xkb "${home}" chown -R "${uid}:${gid}" "$home" done < /etc/passwd diff --git a/raveos-cosmic-theme/raveos-cosmic-first-login.sh b/raveos-cosmic-theme/raveos-cosmic-first-login.sh index 24f2cb2..7ad8982 100644 --- a/raveos-cosmic-theme/raveos-cosmic-first-login.sh +++ b/raveos-cosmic-theme/raveos-cosmic-first-login.sh @@ -41,16 +41,32 @@ EOF echo "true" > "${HOME}/.config/cosmic/com.system76.CosmicBackground/v1/same-on-all" fi -# Billentyuzet-kiosztas: a Calamares altal beallitott layout atvetele +# Billentyuzet-kiosztas: a Calamares (systemd-localed) altal beallitott +# layout/variant atvetele az X11 konfigbol; ez az, amit a cosmic-comp is olvas. kb_layout="hu" -if [[ -f /etc/default/keyboard ]]; then +kb_variant="" +xorg_kb="/etc/X11/xorg.conf.d/00-keyboard.conf" +if [[ -f "${xorg_kb}" ]]; then + kb_tmp="$(awk '/XkbLayout/ {print $3}' "${xorg_kb}" 2>/dev/null | tr -d '"' | head -1)" + [[ -n "$kb_tmp" ]] && kb_layout="${kb_tmp%%,*}" + kb_tmp="$(awk '/XkbVariant/ {print $3}' "${xorg_kb}" 2>/dev/null | tr -d '"' | head -1)" + [[ -n "$kb_tmp" ]] && kb_variant="${kb_tmp%%,*}" +elif [[ -f /etc/default/keyboard ]]; then kb_tmp="$(awk -F'"' '/^XKBLAYOUT=/{print $2; exit}' /etc/default/keyboard 2>/dev/null)" [[ -n "$kb_tmp" ]] && kb_layout="${kb_tmp%%,*}" + kb_tmp="$(awk -F'"' '/^XKBVARIANT=/{print $2; exit}' /etc/default/keyboard 2>/dev/null)" + [[ -n "$kb_tmp" ]] && kb_variant="${kb_tmp%%,*}" fi -mkdir -p "${HOME}/.config/cosmic/com.system76.CosmicSettings/v1" -cat > "${HOME}/.config/cosmic/com.system76.CosmicSettings/v1/keyboard" < "${HOME}/.config/cosmic/com.system76.CosmicComp/v1/xkb_config" <