init script
This commit is contained in:
parent
951ef339ff
commit
248b7e644d
4 changed files with 101 additions and 104 deletions
14
X11/init.d/init.sh
Normal file
14
X11/init.d/init.sh
Normal file
|
@ -0,0 +1,14 @@
|
|||
STATUS_BLOCKS="tray vol mic net bat kbd time date" dwmstatus &
|
||||
dbus-update-activation-environment --systemd --all
|
||||
systemctl --user import-environment DISPLAY
|
||||
xset r rate 300 70
|
||||
setxkbmap en
|
||||
#clipmenud &
|
||||
#dunst
|
||||
#picom --experimental-backends --animation-for-open-window=zoom &
|
||||
#emacs --daemon &
|
||||
#xrandr --output DVI-D-0 --right-of HDMI-0
|
||||
xsetroot -solid '#1e2326'
|
||||
|
||||
clear
|
||||
sleep 0.2
|
60
X11/xinitrc
60
X11/xinitrc
|
@ -1,5 +1,12 @@
|
|||
#!/bin/sh
|
||||
# $ printf '#!/bin/sh\n\n[ -f ~/.config/X11/xinitrc ] && . ~/.config/X11/xinitrc || . /etc/X11/Xsession\n' | sudo tee /etc/X11/xinit/xinitrc
|
||||
# `/etc/X11/xinit/xinitrc`:
|
||||
#
|
||||
# #!/bin/sh
|
||||
# if [ -f ~/.config/X11/xinitrc ] ; then
|
||||
# . ~/.config/X11/xinitrc
|
||||
# else
|
||||
# . /etc/X11/Xsession
|
||||
# fi
|
||||
|
||||
userresources=$XDG_CONFIG_HOME/X11/Xresources
|
||||
ERRFILE=$XDG_CACHE_HOME/X11/xsession-errors
|
||||
|
@ -7,34 +14,35 @@ usermodmap=$XDG_CONFIG_HOME/X11/Xmodmap
|
|||
sysresources=/etc/X11/xinit/.Xresources
|
||||
sysmodmap=/etc/X11/xinit/.Xmodmap
|
||||
|
||||
# merge in defaults and keymaps
|
||||
[ -f $sysresources ] && xrdb -merge $sysresources
|
||||
[ -f $sysmodmap ] && xmodmap $sysmodmap
|
||||
[ -f "$userresources" ] && xrdb -merge "$userresources"
|
||||
[ -f "$usermodmap" ] && xmodmap "$usermodmap"
|
||||
if [ -f $sysresources ] ; then
|
||||
xrdb -merge $sysresources
|
||||
fi
|
||||
|
||||
[ -d /etc/X11/xinit/xinitrc.d ] &&
|
||||
for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do [ -x "$f" ] && . "$f" ; done &&
|
||||
if [ -f $sysmodmap ] ; then
|
||||
xmodmap $sysmodmap
|
||||
fi
|
||||
|
||||
if [ -f "$userresources" ] ; then
|
||||
xrdb -merge "$userresources"
|
||||
fi
|
||||
|
||||
if [ -f "$usermodmap" ] ; then
|
||||
xmodmap "$usermodmap"
|
||||
fi
|
||||
|
||||
if [ -d /etc/X11/xinit/xinitrc.d ] ; then
|
||||
for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
|
||||
[ -x "$f" ] && . "$f"
|
||||
done
|
||||
unset f
|
||||
fi
|
||||
|
||||
# Added xinitrc config
|
||||
dbus-update-activation-environment --systemd --all &
|
||||
systemctl --user import-environment DISPLAY &
|
||||
xset r rate 300 70 &
|
||||
setxkbmap en &
|
||||
STATUS_BLOCKS="tray vol mic net bat kbd time date" dwmstatus &
|
||||
clipmenud &
|
||||
dunst &
|
||||
picom --experimental-backends --animation-for-open-window=zoom &
|
||||
emacs --daemon &
|
||||
dropbox &
|
||||
clear &
|
||||
|
||||
# Multiple displays, add this into xinitrc.displays:
|
||||
# xrandr --output DVI-D-0 --right-of HDMI-0
|
||||
[ -f "$HOME/.config/X11/xinitrc.displays" ] && . /home/tavo/.config/X11/xinitrc.displays
|
||||
xsetroot -solid '#1e2326' &
|
||||
sleep 0.2
|
||||
if test -d ~/.config/X11/init.d/; then
|
||||
for config in ~/.config/X11/init.d/*.sh; do
|
||||
test -r "$config" && . "$config"
|
||||
done
|
||||
unset config
|
||||
fi
|
||||
|
||||
while true; do
|
||||
dwm >/dev/null 2>&1
|
||||
|
|
|
@ -4,8 +4,6 @@
|
|||
# a fetch in pure POSIX shell
|
||||
#
|
||||
|
||||
[ "$1" = "min" ] && mode="min"
|
||||
|
||||
# supress errors
|
||||
exec 2>/dev/null
|
||||
set --
|
||||
|
@ -27,7 +25,6 @@ for os in /etc/os-release /usr/lib/os-release; do
|
|||
# some POSIX shells exit when trying to source a file that doesn't exist
|
||||
[ -f $os ] && . $os && break
|
||||
done
|
||||
[ -e "/data/data/com.termux" ] && ID="android $(getprop ro.build.version.release)"
|
||||
|
||||
if [ -e /proc/$$/comm ]; then
|
||||
## Terminal
|
||||
|
@ -63,20 +60,20 @@ if [ -e /proc/$$/comm ]; then
|
|||
read -r c < "$i"
|
||||
case $c in
|
||||
*bar*|*rc) ;;
|
||||
dwm|awesome|xmonad*|qtile|sway|i3|[bfo]*box|*wm) wm=${c%%-*}; break;;
|
||||
awesome|xmonad*|qtile|sway|i3|[bfo]*box|*wm*) wm=${c%%-*}; break;;
|
||||
esac
|
||||
done
|
||||
|
||||
## Memory
|
||||
# loop over lines in /proc/meminfo until it reaches MemTotal,
|
||||
# then convert the amount (second word) from KB to MB
|
||||
while read -r line; [ "$mode" != "min" ]; do
|
||||
while read -r line; do
|
||||
eq "$line" 'MemTotal*' && set -- $line && break
|
||||
done < /proc/meminfo
|
||||
[ "$mode" != "min" ] && mem="$(( $2 / 1000 ))MB"
|
||||
mem="$(( $2 / 1000 ))MB"
|
||||
|
||||
## Processor
|
||||
while read -r line; [ "$mode" != "min" ] ; do
|
||||
while read -r line; do
|
||||
case $line in
|
||||
vendor_id*) vendor="${line##*: } ";;
|
||||
model\ name*) cpu=${line##*: }; break;;
|
||||
|
@ -92,14 +89,13 @@ if [ -e /proc/$$/comm ]; then
|
|||
|
||||
## Kernel
|
||||
read -r _ _ version _ < /proc/version
|
||||
[ -z "$version" ] && version=$(uname -r)
|
||||
kernel=${version%%-*}
|
||||
eq "$version" '*Microsoft*' && ID="fake $ID"
|
||||
|
||||
## Motherboard // laptop
|
||||
[ "$mode" != "min" ] && read -r model < /sys/devices/virtual/dmi/id/product_name
|
||||
read -r model < /sys/devices/virtual/dmi/id/product_name
|
||||
# invalid model handling
|
||||
[ "$mode" != "min" ] && case $model in
|
||||
case $model in
|
||||
# alternate file with slightly different info
|
||||
# on my laptop it has the device model (instead of 'hp notebook')
|
||||
# on my desktop it has the extended motherboard model
|
||||
|
@ -118,20 +114,6 @@ if [ -e /proc/$$/comm ]; then
|
|||
[ $# -gt 1 ] && pkgs=$# && break
|
||||
done
|
||||
|
||||
[ -d "/var/db/kiss" ] && pkgs="$pkgs (kiss)"
|
||||
[ -d "/var/lib/pacman" ] && pkgs="$pkgs (pacman)"
|
||||
[ -d "/var/lib/dpkg" ] && pkgs="$pkgs (dpkg)"
|
||||
[ -d "/var/db/xbps" ] && pkgs="$pkgs (xbps)"
|
||||
[ -d "/var/db/pkg" ] && pkgs="$pkgs (emerge)"
|
||||
|
||||
set --
|
||||
# Universal formats
|
||||
for i in '/var/lib/flatpak/exports/bin/* /var/lib/flatpak/runtime/*' ; do
|
||||
set -- $i
|
||||
[ $# -gt 2 ] && flatpak=$# && break
|
||||
done
|
||||
[ "$flatpak" ] && pkgs="$pkgs $flatpak (flatpak)"
|
||||
|
||||
read -r host < /proc/sys/kernel/hostname
|
||||
elif [ -f /var/run/dmesg.boot ]; then
|
||||
# Both OpenBSD and FreeBSD use this file, however they're formatted differently
|
||||
|
@ -226,11 +208,13 @@ elif v=/System/Library/CoreServices/SystemVersion.plist; [ -f "$v" ]; then
|
|||
done < "$v"
|
||||
fi
|
||||
|
||||
eq "$0" '*fetish' && printf 'Step on me daddy\n' && exit
|
||||
|
||||
# help i dont know if it's a capital consistently
|
||||
eq "$wm" '*[Gg][Nn][Oo][Mm][Ee]*' && wm='foot DE'
|
||||
|
||||
## GTK
|
||||
while read -r line; [ "$mode" != "min" ]; do
|
||||
while read -r line; do
|
||||
eq "$line" 'gtk-theme*' && gtk=${line##*=} && break
|
||||
done < "${XDG_CONFIG_HOME:=$HOME/.config}/gtk-3.0/settings.ini"
|
||||
|
||||
|
@ -247,55 +231,36 @@ cpu=${cpu%% with*}
|
|||
cpu=${cpu% *-Core*}
|
||||
|
||||
col() {
|
||||
char="●"
|
||||
printf ' \033[91m%s \033[92m%s \033[93m%s \033[94m%s \033[95m%s \033[96m%s
|
||||
\033[0m' "$char" "$char" "$char" "$char" "$char" "$char"
|
||||
printf ' '
|
||||
for i in 1 2 3 4 5 6; do
|
||||
printf '\033[9%sm%s' "$i" "${colourblocks:-▅▅}"
|
||||
done
|
||||
printf '\033[0m\n'
|
||||
}
|
||||
|
||||
full() {
|
||||
printf '
|
||||
\033[1mDIST\033[0m %s
|
||||
\033[1mKERN\033[0m %s
|
||||
\033[1mPKGS\033[0m %s
|
||||
\033[1mTERM\033[0m %s
|
||||
\033[1mSHLL\033[0m %s
|
||||
\033[1mWDMG\033[0m %s
|
||||
\033[1mTHME\033[0m %s
|
||||
\033[1mHOST\033[0m %s
|
||||
\033[1mPCSR\033[0m %s
|
||||
\033[1mMMRY\033[0m %s
|
||||
\033[1mUPTM\033[0m %s
|
||||
' "$ID" \
|
||||
"$kernel" \
|
||||
"$pkgs" \
|
||||
"$term" \
|
||||
"${SHELL##*/}" \
|
||||
"${wm##*/}" \
|
||||
"${gtk# }" \
|
||||
"$model" \
|
||||
"$vendor$cpu" \
|
||||
"$mem" \
|
||||
"$up"
|
||||
col
|
||||
print() {
|
||||
[ "$2" ] && printf '\033[9%sm%6s\033[0m%b%s\n' \
|
||||
"${accent:-4}" "$1" "${separator:- ~ }" "$2"
|
||||
}
|
||||
|
||||
min() {
|
||||
printf '
|
||||
\033[1mDIST\033[0m %s
|
||||
\033[1mKERN\033[0m %s
|
||||
\033[1mPKGS\033[0m %s
|
||||
\033[1mTERM\033[0m %s
|
||||
\033[1mSHLL\033[0m %s
|
||||
\033[1mWDMG\033[0m %s
|
||||
\033[1mUPTM\033[0m %s
|
||||
' "$ID" \
|
||||
"$kernel" \
|
||||
"$pkgs" \
|
||||
"$term" \
|
||||
"${SHELL##*/}" \
|
||||
"${wm##*/}" \
|
||||
"$up"
|
||||
col
|
||||
}
|
||||
# default value
|
||||
: "${info:=n user os sh wm up gtk cpu mem host kern pkgs term col n}"
|
||||
|
||||
[ "$mode" = "min" ] && min || full
|
||||
for i in $info; do
|
||||
case $i in
|
||||
n) echo;;
|
||||
os) print os "$ID";;
|
||||
sh) print sh "${SHELL##*/}";;
|
||||
wm) print wm "${wm##*/}";;
|
||||
up) print up "$up";;
|
||||
gtk) print gtk "${gtk# }";;
|
||||
cpu) print cpu "$vendor$cpu";;
|
||||
mem) print mem "$mem";;
|
||||
host) print host "$model";;
|
||||
kern) print kern "$kernel";;
|
||||
pkgs) print pkgs "$pkgs";;
|
||||
term) print term "$term";;
|
||||
user) printf '%7s@%s\n' "$USER" "$host";;
|
||||
col) col;;
|
||||
esac
|
||||
done
|
|
@ -3,15 +3,25 @@
|
|||
|
||||
option=$(printf "Shutdown\nRestart\nLog out" | ~/.config/scripts/menu/menu "Power:")
|
||||
|
||||
slogout() {
|
||||
killall xinit
|
||||
swaymsg exit
|
||||
_logout() {
|
||||
if ps -a | grep -q 'tty1.*xinit' ; then
|
||||
pkill xinit
|
||||
return 0
|
||||
fi
|
||||
}
|
||||
|
||||
_shutdown() {
|
||||
shutdown now
|
||||
}
|
||||
|
||||
_reboot() {
|
||||
shutdown -r 0
|
||||
}
|
||||
|
||||
case "$option" in
|
||||
"Shutdown") systemctl poweroff ;;
|
||||
"Restart") systemctl reboot ;;
|
||||
"Log out") pkill xinit;;
|
||||
"Shutdown") _shutdown ;;
|
||||
"Restart") _reboot ;;
|
||||
"Log out") _logout ;;
|
||||
*) exit 1 ;;
|
||||
esac
|
||||
|
||||
|
|
Loading…
Reference in a new issue