summaryrefslogtreecommitdiff
path: root/skel/.config/autostart/autostart.sh
diff options
context:
space:
mode:
Diffstat (limited to 'skel/.config/autostart/autostart.sh')
-rwxr-xr-xskel/.config/autostart/autostart.sh59
1 files changed, 51 insertions, 8 deletions
diff --git a/skel/.config/autostart/autostart.sh b/skel/.config/autostart/autostart.sh
index 3ac5a24..91be332 100755
--- a/skel/.config/autostart/autostart.sh
+++ b/skel/.config/autostart/autostart.sh
@@ -1,13 +1,56 @@
#!/bin/bash
+readonly NEWS_DIR=/usr/share/parabola-laf/news
+readonly NEWS_STAMP=~/.local/share/parabola-laf/last_news
+readonly CLEANUP_MSG="These old news files are no longer needed. It is safe to delete them."
+readonly ROOT_WIN_ID=$(xprop -notype -root | awk '$1=="_NET_SUPPORTING_WM_CHECK:"{print $5}')
+readonly WM_NAME=$( xprop -notype -id $ROOT_WIN_ID | awk '$1=="_NET_WM_NAME"{print $3}')
-for notice in ~/welcome.txt ~/news.txt
-do [ -f $notice ] && gxmessage -title "_EDITION_TITLE_" \
- -file $notice \
- -buttons "OK:1,Don't show this again:0" \
- -default "OK" \
- -geometry 620x460 \
- -center -wrap -ontop -sticky && rm $notice &
+
+DisplayNotice()
+{
+ gxmessage -title "_EDITION_TITLE_" \
+ -file $notice \
+ -buttons "OK:1,Don't show this again:0" \
+ -default "OK" \
+ -geometry 620x460 \
+ -center -wrap -ontop -sticky
+}
+
+Cleanup()
+{
+ return # TODO:
+
+ current_news="news-$(pacman -Si parabola-laf | awk '$1=="Version"{print $3}').txt"
+ declare -a read_notices=( $(grep -v $current_news $NEWS_STAMP) )
+ (( ${#read_notices[*]} > 10 )) || return
+
+ gxmessage -title "Delete read news items ?" \
+ -buttons "Keep them:1,Delete them:0" \
+ -default "Keep them" \
+ -geometry 620x460 \
+ -center -wrap -ontop -sticky \
+ "$CLEANUP_MSG$(printf "\n\t%s" "${read_notices[*]}")" && \
+ echo $current_news > $NEWS_STAMP && \
+ chroot $NEWS_DIR "pkexec rm ${read_notices[*]}"
+}
+
+
+# display unread news items
+mkdir -p $(dirname $NEWS_STAMP) ; touch $NEWS_STAMP ;
+cd $NEWS_DIR
+for notice in news-* # e.g. news-${pkgver}-${pkgrel}
+do [ -f $notice ] && notice_exists=1 || notice_exists=0
+ [ -z "$(grep $notice $NEWS_STAMP)" ] && is_unread=1 || is_unread=0
+ [ -z "$(echo $(cat $notice))" ] && is_blank=1 || is_blank=0
+
+ (( $notice_exists && $is_unread )) || continue
+
+ ( (( $is_blank )) || DisplayNotice ) && echo "$notice" >> $NEWS_STAMP && Cleanup &
done
-~/.config/autostart/autostart-lxde.sh &
+# WM-specific startup tasks
+case "$WM_NAME" in
+ '"LXDE"') which octopi-notifier && sleep 10 && octopi-notifier & ;;
+ '"MATE"') ;;
+esac