From f7fbad6ee6e7826bf025c3a366b5bc166980b936 Mon Sep 17 00:00:00 2001 From: Eshan Roy Date: Wed, 20 Nov 2024 01:14:01 +0530 Subject: [PATCH] =?UTF-8?q?=E2=9A=A1=EF=B8=8F=20perf(=5Fblank):=20more=20e?= =?UTF-8?q?fficient?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- usr/local/bin/snigdhaos-displaymanager-check | 33 ++++++++++++++++---- 1 file changed, 27 insertions(+), 6 deletions(-) diff --git a/usr/local/bin/snigdhaos-displaymanager-check b/usr/local/bin/snigdhaos-displaymanager-check index 5dfa3b8..3e03f54 100755 --- a/usr/local/bin/snigdhaos-displaymanager-check +++ b/usr/local/bin/snigdhaos-displaymanager-check @@ -1,21 +1,42 @@ #!/bin/bash -# set -e - # Author : Eshan Roy # Author URL : https://eshanized.github.io/ +# Function to log messages +log_message() { + echo "[INFO] $1" +} +# Function to log error messages +log_error() { + echo "[ERROR] $1" >&2 +} + +# Main Execution echo -echo "Start Execution..." +log_message "Start Execution..." echo +# Loop through possible display managers for package in gdm sddm; do if pacman -Qq $package > /dev/null; then - ln -sf /usr/lib/systemd/system/$package.service /etc/systemd/display-manager.service + # Check if the symlink already exists + if [ -L /etc/systemd/display-manager.service ]; then + log_message "Symlink /etc/systemd/display-manager.service already exists. Skipping creation." + else + log_message "Setting $package as the default display manager." + if ln -sf /usr/lib/systemd/system/$package.service /etc/systemd/display-manager.service; then + log_message "$package service symlink created successfully." + else + log_error "Failed to create symlink for $package." + exit 1 + fi + fi + # Break after the first valid package is found and processed + break fi done +log_message "End Execution!" echo -echo "End Execution!" -echo \ No newline at end of file