TheRepoClub-DotFiles/localbin/.local/bin/autostart

219 lines
5.1 KiB
Plaintext
Raw Normal View History

2021-01-09 12:38:56 -05:00
#!/usr/bin/env bash
#-*-coding:utf-8 -*-
#Auto updated?
2022-01-20 15:38:50 -05:00
# Yes
2022-10-14 13:59:48 -04:00
#File:
2022-01-20 15:38:50 -05:00
# autostart
2022-10-14 13:59:48 -04:00
#Author:
2022-01-21 08:38:27 -05:00
# The-Repo-Club [wayne6324@gmail.com]
2022-10-14 13:59:48 -04:00
#Github:
2022-01-20 15:38:50 -05:00
# https://github.com/The-Repo-Club/
#
#Created:
# Mon 22 November 2021, 03:15:54 PM [GMT+1]
2022-10-14 13:59:48 -04:00
#Modified:
2022-10-28 11:36:45 -04:00
# Fri 28 October 2022, 04:11:25 PM [GMT+1]
2022-01-20 15:38:50 -05:00
#
#Description:
2022-01-20 15:38:50 -05:00
# <Todo>
#
#Dependencies:
# <None>
#
2021-01-09 12:38:56 -05:00
2022-01-21 08:38:27 -05:00
if command -v /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 &>/dev/null; then
2022-10-25 01:44:12 -04:00
if ! pgrep -f "/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1" >/dev/null; then
/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 &
else
echo "polkit-gnome already Running"
fi
2021-01-09 12:38:56 -05:00
fi
2022-10-28 03:39:50 -04:00
if [[ $DESKTOP_SESSION == "i3" ]]; then
2022-10-27 07:30:41 -04:00
if command -v i3-autolayout &>/dev/null; then
if ! pgrep -f "i3-autolayout" >/dev/null; then
2022-10-25 01:44:12 -04:00
(
sleep 2s
2022-10-27 07:30:41 -04:00
i3-autolayout autolayout
2022-10-25 01:44:12 -04:00
) &
else
2022-10-27 07:30:41 -04:00
echo "i3-autolayout already Running"
2022-10-25 01:44:12 -04:00
fi
2022-10-14 13:59:48 -04:00
fi
2021-01-09 12:38:56 -05:00
2022-10-25 01:44:12 -04:00
if command -v xroot &>/dev/null; then
if ! pgrep -f "xroot" >/dev/null; then
if command -v xmenu_desktop &>/dev/null; then
if ! pgrep -f "xmenu_desktop" >/dev/null; then
(
sleep 2s
xroot -r xmenu_desktop
) &
else
echo "xroot already Running"
fi
fi
2022-10-14 13:59:48 -04:00
else
2022-10-25 01:44:12 -04:00
echo "xroot already Running"
2022-10-14 13:59:48 -04:00
fi
fi
2021-01-09 12:38:56 -05:00
fi
2022-01-21 08:38:27 -05:00
if command -v clipmenu-daemon &>/dev/null; then
2022-10-25 01:44:12 -04:00
if ! pgrep -f "clipmenu-daemon" >/dev/null; then
(
sleep 2s
clipmenu-daemon
) &
else
echo "clipmenu-daemon already Running"
fi
2022-01-20 11:18:33 -05:00
fi
2022-01-21 08:38:27 -05:00
if ! command -v picom &>/dev/null; then
2022-10-25 01:44:12 -04:00
echo "picom could not be found"
2021-01-09 12:38:56 -05:00
else
2022-10-25 01:44:12 -04:00
if ! pgrep -x "picom" >/dev/null; then
picom -CGb --experimental-backend --config "$HOME"/.config/picom/picom.conf &
else
echo "picom already Running"
fi
2021-01-09 12:38:56 -05:00
fi
################
## Tray Icons ##
################
2022-01-21 08:38:27 -05:00
if ! command -v ckb-next &>/dev/null; then
2022-10-25 01:44:12 -04:00
echo "ckb-next could not be found"
2021-01-09 12:38:56 -05:00
else
2022-10-25 01:44:12 -04:00
if ! pgrep -x "ckb-next" >/dev/null; then
(
sleep 2s
ckb-next --background
) &
else
echo "ckb-next already Running"
fi
2021-01-09 12:38:56 -05:00
fi
2022-01-21 08:38:27 -05:00
if command -v nm-applet &>/dev/null; then
2022-10-25 01:44:12 -04:00
if ! pgrep -x "nm-applet" >/dev/null; then
(
sleep 2s
nm-applet
) &
else
echo "nm-applet already Running"
fi
2021-01-09 12:38:56 -05:00
fi
2022-01-21 08:38:27 -05:00
if command -v blueman-applet &>/dev/null; then
2022-10-25 01:44:12 -04:00
if ! pgrep -x "blueman-applet" >/dev/null; then
(
sleep 2s
blueman-applet
) &
else
echo "blueman-applet already Running"
fi
2021-01-09 12:38:56 -05:00
fi
2022-01-21 08:38:27 -05:00
if command -v touchpad-indicator &>/dev/null; then
2022-10-25 01:44:12 -04:00
if ! pgrep -f "touchpad-indicator" >/dev/null; then
(
sleep 2s
touchpad-indicator
) &
else
echo "touchpad-indicator already Running"
fi
2021-01-09 12:38:56 -05:00
fi
2022-10-16 13:54:14 -04:00
if command -v cbatticon &>/dev/null; then
if ! pgrep -x "cbatticon" >/dev/null; then
2022-10-25 01:44:12 -04:00
(
sleep 2s
cbatticon
) &
2022-10-16 13:54:14 -04:00
else
echo "cbatticon already Running"
fi
fi
2022-10-25 01:44:12 -04:00
if command -v volumeicon &>/dev/null; then
if ! pgrep -x "volumeicon" >/dev/null; then
(
sleep 5s
volumeicon
) &
else
echo "volumeicon already Running"
fi
fi
if command -v numlockx &>/dev/null; then
numlockx on &
fi
####################
## Fix Background ##
####################
if ! command -v feh &>/dev/null; then
2022-10-25 01:44:12 -04:00
echo "feh could not be found"
else
2022-10-25 01:44:12 -04:00
if ! test -f "$HOME/.fehbg"; then
echo "$HOME/.fehbg could not be found"
else
sh "$HOME/.fehbg"
(
sleep 2s
sh "$HOME/.fehbg"
) &
fi
fi
2021-01-09 12:38:56 -05:00
###############
## Auto Lock ##
###############
2022-01-21 08:38:27 -05:00
if command -v xidlehook &>/dev/null; then
2022-10-25 01:44:12 -04:00
# shellcheck disable=SC2155
export PRIMARY_DISPLAY="$(xrandr | awk '/ primary/{print $1}')"
if ! pgrep -x "xidlehook" >/dev/null; then
(
sleep 2s
xidlehook \
--not-when-fullscreen \
--not-when-audio \
--timer 300 \
"xrandr --output $PRIMARY_DISPLAY --brightness .1" \
"xrandr --output $PRIMARY_DISPLAY --brightness 1" \
--timer 30 \
"xrandr --output $PRIMARY_DISPLAY --brightness 1; multimonitorlock -l -- --time-str=%I:%M:%S %p" \
"" \
--timer 3600 \
"systemctl suspend" \
""
) &
else
echo "xidlehook already Running"
fi
2021-01-09 12:38:56 -05:00
fi
################
## Other Junk ##
################
2022-01-21 08:38:27 -05:00
systemctl --user import-environment DISPLAY XAUTHORITY
if command -v dbus-update-activation-environment >/dev/null 2>&1; then
2022-10-25 01:44:12 -04:00
dbus-update-activation-environment DISPLAY XAUTHORITY
2022-01-21 08:38:27 -05:00
fi
2022-01-19 04:11:28 -05:00
# see https://wiki.archlinux.org/title/GNOME/Keyring#xinitrc
2022-01-21 08:38:27 -05:00
eval "$(/usr/bin/gnome-keyring-daemon --start)"
2022-01-19 04:11:28 -05:00
export SSH_AUTH_SOCK
# see https://github.com/NixOS/nixpkgs/issues/14966#issuecomment-520083836
2022-01-21 08:38:27 -05:00
mkdir -p "$HOME"/.local/share/keyrings