From 598054aee5fcef9be2b226b2365c7181e0742947 Mon Sep 17 00:00:00 2001 From: Eshan Roy Date: Sat, 14 Dec 2024 01:50:14 +0530 Subject: [PATCH] =?UTF-8?q?=E2=9A=A1=EF=B8=8F=20perf(=5Fimp):=20improvemen?= =?UTF-8?q?ts=20has=20been=20made?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- etc/skel/.xinitrc | 71 +++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 59 insertions(+), 12 deletions(-) diff --git a/etc/skel/.xinitrc b/etc/skel/.xinitrc index c693457..6eaaa1f 100644 --- a/etc/skel/.xinitrc +++ b/etc/skel/.xinitrc @@ -2,21 +2,68 @@ # # ~/.xinitrc # -# Executed by startx (run your window manager from here) -userresources=$HOME/.Xresources -usermodmap=$HOME/.Xmodmap -sysresources=/etc/X11/xinit/.Xresources -sysmodmap=/etc/X11/xinit/.Xmodmap +# Executed by startx. Configures resources and launches the window manager or desktop environment. -# Xinitrc.d -if [ -d /etc/X11/xinit/xinitrc.d ] ; then - for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do - [ -x "$f" ] && . "$f" - done - unset f +# Author : Eshan Roy +# Author URL : https://eshanized.github.io/ + +# Load user-specific X resources +userresources="$HOME/.Xresources" +if [ -f "$userresources" ]; then + xrdb -merge "$userresources" + echo "Loaded user X resources from $userresources." +else + echo "User X resources file not found: $userresources." fi -# Start GNOME session +# Load user-specific keyboard or pointer mappings +usermodmap="$HOME/.Xmodmap" +if [ -f "$usermodmap" ]; then + xmodmap "$usermodmap" + echo "Loaded user key/mouse mappings from $usermodmap." +else + echo "User key/mouse mappings file not found: $usermodmap." +fi + +# Load system-wide X resources +sysresources="/etc/X11/xinit/.Xresources" +if [ -f "$sysresources" ]; then + xrdb -merge "$sysresources" + echo "Loaded system X resources from $sysresources." +else + echo "System X resources file not found: $sysresources." +fi + +# Load system-wide keyboard or pointer mappings +sysmodmap="/etc/X11/xinit/.Xmodmap" +if [ -f "$sysmodmap" ]; then + xmodmap "$sysmodmap" + echo "Loaded system key/mouse mappings from $sysmodmap." +else + echo "System key/mouse mappings file not found: $sysmodmap." +fi + +# Source scripts from /etc/X11/xinit/xinitrc.d, if the directory exists +if [ -d /etc/X11/xinit/xinitrc.d ]; then + echo "Sourcing scripts in /etc/X11/xinit/xinitrc.d..." + for f in /etc/X11/xinit/xinitrc.d/?*.sh; do + if [ -x "$f" ]; then + . "$f" + echo "Executed: $f" + else + echo "Skipped: $f (not executable)" + fi + done + unset f +else + echo "Directory /etc/X11/xinit/xinitrc.d not found." +fi + +# Export session type as X11 for compatibility export XDG_SESSION_TYPE=x11 export GDK_BACKEND=x11 +echo "Environment set: XDG_SESSION_TYPE=x11, GDK_BACKEND=x11." + +# Start the GNOME session +echo "Starting GNOME session..." exec gnome-session