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