mirror of
https://github.com/Snigdha-OS/snigdhaos-cinnamon-config.git
synced 2025-09-20 16:34:56 +02:00
🚀 feat(init): add script
This commit is contained in:
57
etc/skel/.xinitrc
Normal file
57
etc/skel/.xinitrc
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
# ~/.xinitrc
|
||||||
|
#
|
||||||
|
# Executed by startx (run your window manager from here)
|
||||||
|
|
||||||
|
# File paths for resources and keymaps
|
||||||
|
userresources="$HOME/.Xresources"
|
||||||
|
usermodmap="$HOME/.Xmodmap"
|
||||||
|
sysresources="/etc/X11/xinit/.Xresources"
|
||||||
|
sysmodmap="/etc/X11/xinit/.Xmodmap"
|
||||||
|
|
||||||
|
# Default session (fallback to cinnamon)
|
||||||
|
SESSION="${1:-cinnamon}"
|
||||||
|
|
||||||
|
# Merge system defaults and keymaps if they exist
|
||||||
|
[ -f "$sysresources" ] && xrdb -merge "$sysresources"
|
||||||
|
[ -f "$sysmodmap" ] && xmodmap "$sysmodmap"
|
||||||
|
[ -f "$userresources" ] && xrdb -merge "$userresources"
|
||||||
|
[ -f "$usermodmap" ] && xmodmap "$usermodmap"
|
||||||
|
|
||||||
|
# Execute scripts in xinitrc.d directory
|
||||||
|
if [ -d /etc/X11/xinit/xinitrc.d ]; then
|
||||||
|
for script in /etc/X11/xinit/xinitrc.d/?*.sh; do
|
||||||
|
[ -x "$script" ] && . "$script"
|
||||||
|
done
|
||||||
|
unset script
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Function to determine the session to launch
|
||||||
|
get_session() {
|
||||||
|
local dbus_args=(--sh-syntax --exit-with-session)
|
||||||
|
case "$SESSION" in
|
||||||
|
awesome) dbus_args+=(awesome) ;;
|
||||||
|
bspwm) dbus_args+=(bspwm-session) ;;
|
||||||
|
budgie) dbus_args+=(budgie-desktop) ;;
|
||||||
|
cinnamon) dbus_args+=(cinnamon-session) ;;
|
||||||
|
deepin) dbus_args+=(startdde) ;;
|
||||||
|
enlightenment) dbus_args+=(enlightenment_start) ;;
|
||||||
|
fluxbox) dbus_args+=(startfluxbox) ;;
|
||||||
|
gnome) dbus_args+=(gnome-session) ;;
|
||||||
|
i3|i3wm) dbus_args+=(i3 --shmlog-size 0) ;;
|
||||||
|
jwm) dbus_args+=(jwm) ;;
|
||||||
|
kde) dbus_args+=(startkde) ;;
|
||||||
|
lxde) dbus_args+=(startlxde) ;;
|
||||||
|
lxqt) dbus_args+=(lxqt-session) ;;
|
||||||
|
mate) dbus_args+=(mate-session) ;;
|
||||||
|
xfce) dbus_args+=(xfce4-session) ;;
|
||||||
|
openbox) dbus_args+=(openbox-session) ;;
|
||||||
|
*) dbus_args+=("$SESSION") ;; # Default to user-specified session
|
||||||
|
esac
|
||||||
|
|
||||||
|
echo "dbus-launch ${dbus_args[*]}"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Start the session
|
||||||
|
exec "$(get_session)"
|
Reference in New Issue
Block a user