fix(dwm-titus): Multiple fixes (#1032)

* Update dwmtitus-setup.sh

* Update dwmtitus-setup.sh

* Update dwmtitus-setup.sh

* Update dwmtitus-setup.sh

* Update dwmtitus-setup.sh

* Update dwmtitus-setup.sh

* Update dwmtitus-setup.sh

* Update dwmtitus-setup.sh

* Update dwmtitus-setup.sh

* Update dwmtitus-setup.sh

* Update core/tabs/applications-setup/dwmtitus-setup.sh

Co-authored-by: Adam Perkowski <adas1per@protonmail.com>

* Update dwmtitus-setup.sh

* Update dwmtitus-setup.sh

* Update dwmtitus-setup.sh

* Update dwmtitus-setup.sh

* Update dwmtitus-setup.sh

* add apk

* Update dwmtitus-setup.sh

---------

Co-authored-by: Adam Perkowski <adas1per@protonmail.com>
This commit is contained in:
Jaredy899 2025-02-28 16:20:20 -05:00 committed by GitHub
parent 0fc8f07750
commit 24eb977fd4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,20 +1,27 @@
#!/bin/sh -e #!/bin/sh
. ../common-script.sh . ../common-script.sh
. ../common-service-script.sh
setupDWM() { setupDWM() {
printf "%b\n" "${YELLOW}Installing DWM-Titus...${RC}" printf "%b\n" "${YELLOW}Installing DWM-Titus...${RC}"
case "$PACKAGER" in # Install pre-Requisites case "$PACKAGER" in # Install pre-Requisites
pacman) pacman)
"$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm base-devel libx11 libxinerama libxft imlib2 libxcb git unzip flameshot lxappearance feh mate-polkit meson libev uthash libconfig "$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm base-devel libx11 libxinerama libxft imlib2 git unzip flameshot lxappearance feh mate-polkit
;;
apk)
"$ESCALATION_TOOL" "$PACKAGER" add build-base libxinerama-dev libxft-dev imlib2-dev font-dejavu dbus-x11 git unzip flameshot feh polkit
;; ;;
apt-get|nala) apt-get|nala)
"$ESCALATION_TOOL" "$PACKAGER" install -y build-essential libx11-dev libxinerama-dev libxft-dev libimlib2-dev libx11-xcb-dev libfontconfig1 libx11-6 libxft2 libxinerama1 libxcb-res0-dev git unzip flameshot lxappearance feh mate-polkit "$ESCALATION_TOOL" "$PACKAGER" install -y build-essential libx11-dev libxinerama-dev libxft-dev libimlib2-dev libx11-xcb-dev libfontconfig1 libx11-6 libxft2 libxinerama1 libxcb-res0-dev git unzip flameshot lxappearance feh mate-polkit
;; ;;
dnf) dnf)
"$ESCALATION_TOOL" "$PACKAGER" groupinstall -y "Development Tools" "$ESCALATION_TOOL" "$PACKAGER" install -y "@development-tools" || "$ESCALATION_TOOL" "$PACKAGER" group install -y "Development Tools"
"$ESCALATION_TOOL" "$PACKAGER" install -y libX11-devel libXinerama-devel libXft-devel imlib2-devel libxcb-devel unzip flameshot lxappearance feh mate-polkit # no need to include git here as it should be already installed via "Development Tools" "$ESCALATION_TOOL" "$PACKAGER" install -y libX11-devel libXinerama-devel libXft-devel imlib2-devel libxcb-devel unzip flameshot lxappearance feh mate-polkit # no need to include git here as it should be already installed via "Development Tools"
;; ;;
zypper)
"$ESCALATION_TOOL" "$PACKAGER" install -y make libX11-devel libXinerama-devel libXft-devel imlib2-devel gcc
;;
*) *)
printf "%b\n" "${RED}Unsupported package manager: ""$PACKAGER""${RC}" printf "%b\n" "${RED}Unsupported package manager: ""$PACKAGER""${RC}"
exit 1 exit 1
@ -22,6 +29,34 @@ setupDWM() {
esac esac
} }
setupPicomDependencies() {
printf "%b\n" "${YELLOW}Installing Picom dependencies if not already installed${RC}"
case "$PACKAGER" in
pacman)
"$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm libxcb meson libev uthash libconfig
;;
apk)
"$ESCALATION_TOOL" "$PACKAGER" add libxcb-dev meson libev-dev uthash-dev libconfig-dev pixman-dev xcb-util-image-dev xcb-util-renderutil-dev pcre2-dev libepoxy-dev dbus-dev xcb-util-dev
;;
apt-get|nala)
"$ESCALATION_TOOL" "$PACKAGER" install -y libxcb1-dev libxcb-res0-dev libconfig-dev libdbus-1-dev libegl-dev libev-dev libgl-dev libepoxy-dev libpcre2-dev libpixman-1-dev libx11-xcb-dev libxcb1-dev libxcb-composite0-dev libxcb-damage0-dev libxcb-dpms0-dev libxcb-glx0-dev libxcb-image0-dev libxcb-present-dev libxcb-randr0-dev libxcb-render0-dev libxcb-render-util0-dev libxcb-shape0-dev libxcb-util-dev libxcb-xfixes0-dev libxext-dev meson ninja-build uthash-dev
;;
dnf)
"$ESCALATION_TOOL" "$PACKAGER" install -y libxcb-devel dbus-devel gcc git libconfig-devel libdrm-devel libev-devel libX11-devel libX11-xcb libXext-devel libxcb-devel libGL-devel libEGL-devel libepoxy-devel meson pcre2-devel pixman-devel uthash-devel xcb-util-image-devel xcb-util-renderutil-devel xorg-x11-proto-devel xcb-util-devel
;;
zypper)
"$ESCALATION_TOOL" "$PACKAGER" install -y libxcb-devel libxcb-devel dbus-1-devel gcc git libconfig-devel libdrm-devel libev-devel libX11-devel libX11-xcb1 libXext-devel libxcb-devel Mesa-libGL-devel Mesa-libEGL-devel libepoxy-devel meson pcre2-devel uthash-devel xcb-util-image-devel libpixman-1-0-devel xcb-util-renderutil-devel xcb-util-devel
;;
*)
printf "%b\n" "${RED}Unsupported package manager: $PACKAGER${RC}"
exit 1
;;
esac
printf "%b\n" "${GREEN}Picom dependencies installed successfully${RC}"
}
makeDWM() { makeDWM() {
cd "$HOME" && git clone https://github.com/ChrisTitusTech/dwm-titus.git # CD to Home directory to install dwm-titus cd "$HOME" && git clone https://github.com/ChrisTitusTech/dwm-titus.git # CD to Home directory to install dwm-titus
# This path can be changed (e.g. to linux-toolbox directory) # This path can be changed (e.g. to linux-toolbox directory)
@ -35,8 +70,7 @@ install_nerd_font() {
FONT_URL="https://github.com/ryanoasis/nerd-fonts/releases/latest/download/Meslo.zip" FONT_URL="https://github.com/ryanoasis/nerd-fonts/releases/latest/download/Meslo.zip"
FONT_INSTALLED=$(fc-list | grep -i "Meslo") FONT_INSTALLED=$(fc-list | grep -i "Meslo")
# Replace -n test with standard test if [ -n "$FONT_INSTALLED" ]; then
if [ ! -z "$FONT_INSTALLED" ]; then
printf "%b\n" "${GREEN}Meslo Nerd-fonts are already installed.${RC}" printf "%b\n" "${GREEN}Meslo Nerd-fonts are already installed.${RC}"
return 0 return 0
fi fi
@ -185,12 +219,18 @@ setupDisplayManager() {
pacman) pacman)
"$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm xorg-xinit xorg-server "$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm xorg-xinit xorg-server
;; ;;
apk)
"$ESCALATION_TOOL" setup-xorg-base
;;
apt-get|nala) apt-get|nala)
"$ESCALATION_TOOL" "$PACKAGER" install -y xorg xinit "$ESCALATION_TOOL" "$PACKAGER" install -y xorg xinit
;; ;;
dnf) dnf)
"$ESCALATION_TOOL" "$PACKAGER" install -y xorg-x11-xinit xorg-x11-server-Xorg "$ESCALATION_TOOL" "$PACKAGER" install -y xorg-x11-xinit xorg-x11-server-Xorg
;; ;;
zypper)
"$ESCALATION_TOOL" "$PACKAGER" install -y xinit xorg-x11-server
;;
*) *)
printf "%b\n" "${RED}Unsupported package manager: $PACKAGER${RC}" printf "%b\n" "${RED}Unsupported package manager: $PACKAGER${RC}"
exit 1 exit 1
@ -200,14 +240,13 @@ setupDisplayManager() {
printf "%b\n" "${YELLOW}Setting up Display Manager${RC}" printf "%b\n" "${YELLOW}Setting up Display Manager${RC}"
currentdm="none" currentdm="none"
for dm in gdm sddm lightdm; do for dm in gdm sddm lightdm; do
if systemctl is-active --quiet "$dm.service"; then if command -v "$dm" >/dev/null 2>&1 || isServiceActive "$dm"; then
currentdm="$dm" currentdm="$dm"
break break
fi fi
done done
printf "%b\n" "${GREEN}Current display manager: $currentdm${RC}" printf "%b\n" "${GREEN}Current display manager: $currentdm${RC}"
if [ "$currentdm" = "none" ]; then if [ "$currentdm" = "none" ]; then
while : ; do
printf "%b\n" "${YELLOW}--------------------------${RC}" printf "%b\n" "${YELLOW}--------------------------${RC}"
printf "%b\n" "${YELLOW}Pick your Display Manager ${RC}" printf "%b\n" "${YELLOW}Pick your Display Manager ${RC}"
printf "%b\n" "${YELLOW}1. SDDM ${RC}" printf "%b\n" "${YELLOW}1. SDDM ${RC}"
@ -219,15 +258,12 @@ setupDisplayManager() {
case "$choice" in case "$choice" in
1) 1)
DM="sddm" DM="sddm"
break
;; ;;
2) 2)
DM="lightdm" DM="lightdm"
break
;; ;;
3) 3)
DM="gdm" DM="gdm"
break
;; ;;
4) 4)
printf "%b\n" "${GREEN}No display manager will be installed${RC}" printf "%b\n" "${GREEN}No display manager will be installed${RC}"
@ -235,9 +271,9 @@ setupDisplayManager() {
;; ;;
*) *)
printf "%b\n" "${RED}Invalid selection! Please choose 1, 2, 3, or 4.${RC}" printf "%b\n" "${RED}Invalid selection! Please choose 1, 2, 3, or 4.${RC}"
return 1
;; ;;
esac esac
done
case "$PACKAGER" in case "$PACKAGER" in
pacman) pacman)
"$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm "$DM" "$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm "$DM"
@ -245,29 +281,41 @@ setupDisplayManager() {
"$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm lightdm-gtk-greeter "$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm lightdm-gtk-greeter
fi fi
;; ;;
apk)
"$ESCALATION_TOOL" "$PACKAGER" add "$DM"
if [ "$DM" = "lightdm" ]; then
"$ESCALATION_TOOL" "$PACKAGER" add lightdm-gtk-greeter
fi
;;
apt-get|nala) apt-get|nala)
"$ESCALATION_TOOL" "$PACKAGER" install -y "$DM" "$ESCALATION_TOOL" "$PACKAGER" install -y "$DM"
;; ;;
dnf) dnf)
"$ESCALATION_TOOL" "$PACKAGER" install -y "$DM" "$ESCALATION_TOOL" "$PACKAGER" install -y "$DM"
;; ;;
zypper)
"$ESCALATION_TOOL" "$PACKAGER" install -y "$DM"
;;
*) *)
printf "%b\n" "${RED}Unsupported package manager: $PACKAGER${RC}" printf "%b\n" "${RED}Unsupported package manager: $PACKAGER${RC}"
exit 1 exit 1
;; ;;
esac esac
printf "%b\n" "${GREEN}$DM installed successfully${RC}" printf "%b\n" "${GREEN}$DM installed successfully${RC}"
systemctl enable "$DM" enableService "$DM"
fi fi
} }
install_slstatus() { install_slstatus() {
printf "Do you want to install slstatus? (y/N): " # using printf instead of 'echo' to avoid newline, -n flag for 'echo' is not supported in POSIX printf "Do you want to install slstatus? (y/N): "
read -r response # -r flag to prevent backslashes from being interpreted read -r response
if [ "$response" = "y" ] || [ "$response" = "Y" ]; then if [ "$response" = "y" ] || [ "$response" = "Y" ]; then
printf "%b\n" "${YELLOW}Installing slstatus${RC}" printf "%b\n" "${YELLOW}Installing slstatus${RC}"
cd "$HOME/dwm-titus/slstatus" || { printf "%b\n" "${RED}Failed to change directory to slstatus${RC}"; return 1; } cd "$HOME/dwm-titus/slstatus" || {
printf "%b\n" "${RED}Failed to change directory to slstatus${RC}"
return 1
}
if "$ESCALATION_TOOL" make clean install; then if "$ESCALATION_TOOL" make clean install; then
printf "%b\n" "${GREEN}slstatus installed successfully${RC}" printf "%b\n" "${GREEN}slstatus installed successfully${RC}"
else else
@ -284,6 +332,7 @@ checkEnv
checkEscalationTool checkEscalationTool
setupDisplayManager setupDisplayManager
setupDWM setupDWM
setupPicomDependencies
makeDWM makeDWM
install_slstatus install_slstatus
install_nerd_font install_nerd_font