From 262d1a36497990d2ed3b97acd35822b70f319197 Mon Sep 17 00:00:00 2001 From: Luxferre Date: Wed, 21 Oct 2026 00:03:04 +0300 Subject: [PATCH] fix(x11): ensure .profile launches bananarchy-x11-session.sh from tinydm-run-session --- overlay/rootfs/etc/skel/.profile | 10 +++ overlay/rootfs/home/user/.profile | 10 +++ .../rootfs/usr/bin/bananarchy-x11-session.sh | 79 +++++++++++++++++++ 3 files changed, 99 insertions(+) create mode 100755 overlay/rootfs/usr/bin/bananarchy-x11-session.sh diff --git a/overlay/rootfs/etc/skel/.profile b/overlay/rootfs/etc/skel/.profile index 5ed8114..fe4e327 100644 --- a/overlay/rootfs/etc/skel/.profile +++ b/overlay/rootfs/etc/skel/.profile @@ -18,3 +18,13 @@ export GTK_USE_PORTAL=0 export GTK_IM_MODULE=fcitx export QT_IM_MODULE=fcitx export XMODIFIERS=@im=fcitx + +case "$0" in + *tinydm-run-session*) + if [ -x "$HOME/.local/bin/bananarchy-x11-session.sh" ]; then + exec dbus-run-session -- "$HOME/.local/bin/bananarchy-x11-session.sh" + elif [ -x /usr/bin/bananarchy-x11-session.sh ]; then + exec dbus-run-session -- /usr/bin/bananarchy-x11-session.sh + fi + ;; +esac diff --git a/overlay/rootfs/home/user/.profile b/overlay/rootfs/home/user/.profile index 5ed8114..fe4e327 100644 --- a/overlay/rootfs/home/user/.profile +++ b/overlay/rootfs/home/user/.profile @@ -18,3 +18,13 @@ export GTK_USE_PORTAL=0 export GTK_IM_MODULE=fcitx export QT_IM_MODULE=fcitx export XMODIFIERS=@im=fcitx + +case "$0" in + *tinydm-run-session*) + if [ -x "$HOME/.local/bin/bananarchy-x11-session.sh" ]; then + exec dbus-run-session -- "$HOME/.local/bin/bananarchy-x11-session.sh" + elif [ -x /usr/bin/bananarchy-x11-session.sh ]; then + exec dbus-run-session -- /usr/bin/bananarchy-x11-session.sh + fi + ;; +esac diff --git a/overlay/rootfs/usr/bin/bananarchy-x11-session.sh b/overlay/rootfs/usr/bin/bananarchy-x11-session.sh new file mode 100755 index 0000000..380057f --- /dev/null +++ b/overlay/rootfs/usr/bin/bananarchy-x11-session.sh @@ -0,0 +1,79 @@ +#!/bin/sh +export HOME="${HOME:-/home/user}" +export XDG_RUNTIME_DIR="${XDG_RUNTIME_DIR:-/run/user/10000}" +export XDG_DATA_HOME="${XDG_DATA_HOME:-$HOME/.local/share}" +export XDG_CACHE_HOME="${XDG_CACHE_HOME:-$HOME/.cache}" +export XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-$HOME/.config}" +export XDG_STATE_HOME="${XDG_STATE_HOME:-$HOME/.local/state}" +export XDG_DATA_DIRS="${XDG_DATA_DIRS:-/usr/local/share:/usr/share}" +export SXMO_CACHEDIR="${SXMO_CACHEDIR:-$XDG_CACHE_HOME/sxmo}" +export SXMO_BLOCKDIR="${SXMO_BLOCKDIR:-$XDG_DATA_HOME/sxmo/block}" +export SXMO_BLOCKFILE="${SXMO_BLOCKFILE:-$XDG_CONFIG_HOME/sxmo/block.tsv}" +export SXMO_CONTACTFILE="${SXMO_CONTACTFILE:-$XDG_CONFIG_HOME/sxmo/contacts.tsv}" +export SXMO_STATE="${SXMO_STATE:-$XDG_RUNTIME_DIR/sxmo.state}" +export SXMO_LOGDIR="${SXMO_LOGDIR:-$XDG_DATA_HOME/sxmo/modem}" +export SXMO_NOTIFDIR="${SXMO_NOTIFDIR:-$XDG_DATA_HOME/sxmo/notifications}" +export DISPLAY=:0 +export SXMO_WM=dwm +export SXMO_MENU=dmenu +export SXMO_TERMINAL=st +export EDITOR=nano +export VISUAL=nano +export PAGER="less -RXF" +export LESS="-RXF" +export SXMO_DISABLE_LEDS=1 +export SXMO_NO_VIRTUAL_KEYBOARD=1 +export NO_AT_BRIDGE=1 +export GTK_A11Y=none +export GTK_USE_PORTAL=0 +export GTK_IM_MODULE=fcitx +export QT_IM_MODULE=fcitx +export XMODIFIERS=@im=fcitx + +if [ -d /home/user/.local/x11 ]; then + export FCITX_ADDON_DIRS=/home/user/.local/x11:/usr/lib/fcitx5 + export LD_LIBRARY_PATH=/tmp/x11/usr/lib:/usr/lib:/lib + export PATH=/home/user/.config/sxmo/hooks:/home/user/.local/bin:/tmp/x11/usr/bin:/usr/share/sxmo/default_hooks:/usr/local/bin:/usr/bin:/bin:/sbin:/usr/sbin + rm -rf /tmp/x11 + ln -s /home/user/.local/x11 /tmp/x11 + cp -f /home/user/.local/x11/xorg-bananarchy.conf /tmp/xorg-bananarchy.conf 2>/dev/null || true +else + export FCITX_ADDON_DIRS=/usr/lib/fcitx5 + export PATH=/home/user/.config/sxmo/hooks:/home/user/.local/bin:/usr/share/sxmo/default_hooks:/usr/local/bin:/usr/bin:/bin:/sbin:/usr/sbin + cp -f /etc/X11/xorg.conf.d/10-bananarchy-msm8909.conf /tmp/xorg-bananarchy.conf 2>/dev/null || true +fi + +unset WAYLAND_DISPLAY +unset SWAYSOCK + +mkdir -p "$XDG_RUNTIME_DIR" +[ -n "${DBUS_SESSION_BUS_ADDRESS:-}" ] && printf "%s\n" "$DBUS_SESSION_BUS_ADDRESS" > "$XDG_RUNTIME_DIR/dbus.bus" +printf "unlock\n" > "$XDG_RUNTIME_DIR/sxmo.state" + +printf "14" > /tmp/sxmo_saved_brightness +printf "14" > /sys/class/backlight/backlight/brightness 2>/dev/null || true +printf "255" > /sys/class/leds/white:kbd_backlight/brightness 2>/dev/null || true + +XORG_BIN="Xorg" +[ -x /tmp/x11/usr/bin/Xorg ] && XORG_BIN="/tmp/x11/usr/bin/Xorg" +XORG_MODPATH="/usr/lib/xorg/modules/xlibre-25,/usr/lib/xorg/modules" +[ -d /tmp/x11/usr/lib/xorg/modules ] && XORG_MODPATH="/tmp/x11/usr/lib/xorg/modules/xlibre-25,/tmp/x11/usr/lib/xorg/modules" + +if ! pidof -s Xorg >/dev/null 2>&1; then + "$XORG_BIN" :0 -nocursor -nolisten tcp -config /tmp/xorg-bananarchy.conf -modulepath "$XORG_MODPATH" -logfile /tmp/Xorg.0.log >/dev/null 2>&1 /dev/null 2>&1; then + break + fi + sleep 0.05 + i=$((i + 1)) + done +fi + +xrdb -merge "$HOME/.Xresources" >/dev/null 2>&1 || true +feh --bg-fill /usr/share/wallpapers/bananarchy.png >/dev/null 2>&1 /dev/null 2>&1 || CONKY_DPY=:0 conky -c /home/user/.config/sxmo/conky.conf -d >/dev/null 2>&1 /dev/null 2>&1 || fcitx5 -d >/tmp/fcitx5.log 2>&1 /tmp/sxmo_hook_start.log 2>&1 /tmp/dwm.log 2>&1