From 51693d32c6c2318151efd39c376cd5bd9682355a Mon Sep 17 00:00:00 2001 From: bill-auger Date: Sun, 12 May 2019 04:26:29 -0400 Subject: fix IRC launcher bugs --- skel/.purple/blist.xml | 4 +++- skel/parabola-irc.sh | 51 +++++++++++++++++++++----------------------------- 2 files changed, 24 insertions(+), 31 deletions(-) diff --git a/skel/.purple/blist.xml b/skel/.purple/blist.xml index 4c9114e..2e9a21c 100644 --- a/skel/.purple/blist.xml +++ b/skel/.purple/blist.xml @@ -13,6 +13,8 @@ - + + freenode-connect + diff --git a/skel/parabola-irc.sh b/skel/parabola-irc.sh index 3f87fa7..690f8b9 100644 --- a/skel/parabola-irc.sh +++ b/skel/parabola-irc.sh @@ -1,43 +1,34 @@ #!/bin/bash readonly DEFAULT_NICK='parabola-user' # ASSERT: as defined in ~/.purple/accounts.xml and ~/.purple/blist.xml -readonly NETWORK='@irc.freenode.net' -readonly DEFAULT_ACCOUNT="${DEFAULT_NICK}${NETWORK}" -readonly CURRENT_NICK=$(grep '.*' ~/.purple/accounts.xml | sed "s|.*\(.*\)${NETWORK}.*|\1|") -readonly KEEP_NICK_MSG="Your Parabola IRC nick-name is currently '${CURRENT_NICK}'.\n\n \ -Would you like to keep this nick-name, or choose another?\n\n \ -Note that choosing another will delete any changes you have may have made to pidgin." +readonly NETWORK='irc.freenode.net' +readonly DEFAULT_ACCOUNT="${DEFAULT_NICK}@${NETWORK}" +readonly CURRENT_NICK=$(grep '.*' ~/.purple/accounts.xml | sed "s|.*\(.*\)@${NETWORK}.*|\1|") +readonly KEEP_NICK_MSG="Your Parabola IRC nick-name is currently '${CURRENT_NICK}'.\n\n\ +Would you like to keep this nick-name, or choose another?" -# gxmessage -title "Parabola IRC Login" \ -# -buttons "Choose a different nick-name:0,Keep this nickname:1" \ -# -default "Choose a different nick-name" \ -# -geometry 620x460 \ -# -center -wrap -ontop -sticky \ -# "$KEEP_NICK_MSG" -# if which gxmessage > /dev/null +# if which gxmessage > /dev/null # FIXME: issue #2208 if which zenity > /dev/null -then if (diff ~/.purple/accounts.default.xml ~/.purple/accounts.xml > /dev/null && \ - diff ~/.purple/blist.default.xml ~/.purple/blist.xml > /dev/null ) || \ - zenity --question --width=480 \ - --title="Parabola IRC Login" \ - --text="${KEEP_NICK_MSG}" \ - --ok-label="Choose a different nick-name" \ +then if [[ "${CURRENT_NICK}" == "${DEFAULT_NICK}" ]] || \ + zenity --question --width=480 \ + --title="Parabola IRC Login" \ + --text="${KEEP_NICK_MSG}" \ + --ok-label="Choose a different nick-name" \ --cancel-label="Keep this nick-name" - then cp ~/.purple/accounts.default.xml ~/.purple/accounts.xml - cp ~/.purple/blist.default.xml ~/.purple/blist.xml - - nick=$(zenity --entry --width=320 \ + then nick=$(zenity --entry --width=320 \ --title="Parabola IRC Login" \ --text="Choose a nick-name:" \ - --entry-text=${DEFAULT_NICK} ) - nick=${nick// /} ; [ "$nick" ] || nick=${DEFAULT_NICK} ; - - sed -i "s|${DEFAULT_ACCOUNT}|${nick}${NETWORK}|" ~/.purple/accounts.xml - sed -i "s|${DEFAULT_ACCOUNT}|${nick}${NETWORK}|" ~/.purple/blist.xml - else sed -i 's|^Exec=.*|Exec=pidgin|' ~/Desktop/parabola-irc.desktop - rm $0 + --entry-text=${CURRENT_NICK} ) + nick=$([[ "${nick// /}" ]] && echo ${nick// /} || echo ${DEFAULT_NICK}) + else nick=${CURRENT_NICK} + sed -i 's|^Exec=.*|Exec=pidgin|' ~/Desktop/parabola-irc.desktop + rm ~/parabola-irc.sh fi + + cd ~/.purple/ + sed "s|${DEFAULT_ACCOUNT}|${nick}@${NETWORK}|" ./accounts.default.xml > ./accounts.xml + sed "s|${DEFAULT_ACCOUNT}|${nick}@${NETWORK}|" ./blist.default.xml > ./blist.xml fi pidgin -- cgit v1.2.2