Linux Lite 8.0 RC1 has been released - Click here


Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5

Lite Tweaks Development
#11

I just tested on a fresh install in a VB, still getting an overlay...weird huh?

[Image: 9GC9ZAO.png]

Download your free copy of Linux Lite today.

Jerry Bezencon
Linux Lite Creator

"Do not correct a fool, or he will hate you; correct a wise man and he will appreciate you."

[Image: X5qGkCg.png]

[Image: 0op1GNe.png] [Image: LgJ2mtP.png] [Image: vLZcFUE.png] [Image: lrUHro3.jpg]
Reply
#12

(02-26-2015, 10:53 AM)Jerry link Wrote:  I just tested on a fresh install in a VB, still getting an overlay...weird huh?
I will have to look into that. It shouldn't be there.
Weird stuff.
Reply
#13

Cool no worries. I'll package up the latest Lite Tweaks without the disk usage, we can tackle this later :) Cheers.

Download your free copy of Linux Lite today.

Jerry Bezencon
Linux Lite Creator

"Do not correct a fool, or he will hate you; correct a wise man and he will appreciate you."

[Image: X5qGkCg.png]

[Image: 0op1GNe.png] [Image: LgJ2mtP.png] [Image: vLZcFUE.png] [Image: lrUHro3.jpg]
Reply
#14

OK, have to go now. Cheers :)
Will see about df later.
Reply
#15

Overlay appeared only once so far.  ::)
Can you test next script? I will probably have to change the way script works if the overlay countinues. The progress bar should stay behind the dialog.
Added a question at the end wheher to continue using lite-tweaks or not.
Code:
#! /bin/bash
#--------------------------------------------------------------------------------------------------------
# Name: Lite Tweaks
# Version: 1.0-0210
# Description: A collection of tools to tweak your Linux Lite system.
# Authors: Misko_2083, John Jenkins, Jerry Bezencon
# Date: February 25th, 2015
# Website: https://www.linuxliteos.com
#--------------------------------------------------------------------------------------------------------

# Set functions for non-root execution
# The ones that need root go to the other file: lite-software-super
FIREFOX() {
    echo "#Removing the Firefox cache..."
              rm -rf $HOME/.cache/mozilla/
            if [ "${PIPESTATUS[0]}" -ne "0" ]; then
                        echo "#Error"
                    sleep 2
                                        zenity --error \
                                        --title="Error" --text="There was an error while\nRemoving the Firefox cache!"
                        fi
}

CHROME() {
    echo "#Removing the Google Chrome cache..."
            rm -rf $HOME/.cache/google-chrome/
            if [ "${PIPESTATUS[0]}" -ne "0" ]; then
                        echo "#Error"
                    sleep 2
                                        zenity --error \
                                        --title="Error" --text="There was an error while\nRemoving the Google Chrome cache!"
                        fi
}

CHROMIUM() {
    echo"#Removing the Chromium cache..."
            rm -rf $HOME/.cache/chromium/
            if [ "${PIPESTATUS[0]}" -ne "0" ]; then
                        echo "#Error"
                    sleep 2
                                        zenity --error \
                                        --title="Error" --text="There was an error while\nRemoving the Chromium cache!"
                        fi
}

THUMBNAILS() {
    echo "#Deleting Thumbnail Cache..."
    sleep 1
             rm -rf $HOME/.thumbnails/*
            if [ "${PIPESTATUS[0]}" -ne "0" ]; then
                        echo "#Error"
                    sleep 2
                                        zenity --error \
                                        --title="Error" --text="There was an error while\nDeleting Thumbnail Cache!"
                        fi
}

WHISKER() {
echo "#Cleaning Whisker Menu Recently Used items..."
sleep 1
sed -i 's/^recent=.*$/recent=/g' ~/.config/xfce4/panel/whiskermenu-1.rc

            if [ "${PIPESTATUS[0]}" -ne "0" ]; then
                        echo "#Error"
                    sleep 2
                                        zenity --error \
                                        --title="Error" --text="There was an error while\nCleaning Whisker Menu Recently Used items!"
                        fi
echo "#Restarting the panel..."
dbus-send --print-reply --dest=org.xfce.Panel /org/xfce/Panel org.xfce.Panel.Terminate boolean:true
sleep 2
}

TRASH() {
    echo "#Emptying the Trash bin..."
    sleep 1
              rm -rf $HOME/.local/share/Trash/files/*
            if [ "${PIPESTATUS[0]}" -ne "0" ]; then
                        echo "#Error"
                    sleep 2
                                        zenity --error \
                                        --title="Error" --text="There was an error while\nEmptying the Trash bin!"
                        fi
}

DU() {
DU_TEXT="Double click on any <b>Partition</b> to open in the file manager.
Click on any Column to sort the information."
DU_TITLE="Disk Usage"
TMP_DU=$(mktemp /tmp/diskusage.XXXXX)

df -h -T| tail -n+2 | while read fs type size used rest target; do
    if [[ $rest ]] ; then
        echo "$fs" "$type" "$size"B "$used"B "$rest"B "${target[@]}" |grep /dev/sd |
        awk '{print $1,"\n",$2,"\n",$3,"\n",$4,"\n",$5,"\n",$6}BEGIN{ s = 7; e = 35; }{for (i=s; i<=e; i++) printf("%s%s", $(i), i<e ? OFS : "\n"); }' #Workaround for disk labels that contain whitespaces(number of characters that can be divided by whitespace =e-s)
    fi
done | sed -e 's/[ \t]*$//' $1|zenity --list --width=600 --height=350 --title="${DU_TITLE}" --text="${DU_TEXT}" --column="Device" --column="Filesystem" --column="Size" --column="Used" --column="Free" --column="%Used" --column="Partition" --print-column="7"| cut -d '|' -f2| tee $TMP_DU

if [ -z "$(cat $TMP_DU)" ]; then
rm -f $TMP_DU
return
fi

thunar "$(cat $TMP_DU)"
rm -f $TMP_DU
}

# Set the dialogue window icon
ic="/usr/share/pixmaps/litetweaks.png"

ARRAYS() {
# Invoke arrays
ARRAYA=()       # Array for automatic cleaning tool
ARRAYB=()    # Array for cleaning tools that require root

# Populate arrays
echo $selection | grep "Package Cache" > /dev/null
if [ $? = 0 ];then
ARRAYB+=('APTGETCLEAN')
fi

echo $selection | grep "Autoremove Packages" > /dev/null
if [ $? = 0 ];then
ARRAYB+=('AUTOREMOVE')
fi

echo $selection | grep "Firefox" > /dev/null
if [ $? = 0 ];then
ARRAYA+=('FIREFOX')
fi

echo $selection | grep "Chrome" > /dev/null
if [ $? = 0 ];then
ARRAYA+=('CHROME')
fi

echo $selection | grep "Chromium" > /dev/null
if [ $? = 0 ];then
ARRAYA+=('CHROMIUM')
fi

echo $selection | grep "Display Disk Usage" > /dev/null
if [ $? = 0 ];then
ARRAYA+=('DU')
fi

echo $selection | grep "Thumbnail Cache" > /dev/null
if [ $? = 0 ];then
ARRAYA+=('THUMBNAILS')
fi

echo $selection | grep "Whisker Menu" > /dev/null
if [ $? = 0 ];then
ARRAYA+=('WHISKER')
fi

echo $selection | grep "Trash Bin" > /dev/null
if [ $? = 0 ];then
ARRAYA+=('TRASH')
fi

echo $selection | grep "Default Web Browser" > /dev/null
if [ $? = 0 ];then
ARRAYB+=('DBROWSER')
fi

echo $selection | grep "Locate Large Files" > /dev/null
if [ $? = 0 ];then
ARRAYB+=('FILESIZES')
fi

echo $selection | grep "Kernel Removal" > /dev/null
if [ $? = 0 ];then
ARRAYB+=('REMKERNELS')
fi

echo $selection | grep "Log Archives" > /dev/null
if [ $? = 0 ];then
ARRAYB+=('LOGARCHIVES')
fi

echo $selection | grep "Residual Configuration Files" > /dev/null
if [ $? = 0 ];then
ARRAYB+=('RESIDCONFIG')
fi

}

RUN() {
# Check if ARRAYA is empty
# If it is skip the execution
if [ ${#ARRAYA[@]} -ne 0 ]; then

    x=0
    for k in "${!ARRAYA[@]}"; do  x=$(( $x + 1 )); done  # Get the total number of selected items in array A

    TOTAL_LINES=$x

    printf '%s \n' "${ARRAYA[@]}"|
    while read  line
        do
            eval $line     # Execute functions one by one
            if [ $? = 1 ]; then
                zenity --error --title="Lite Tweaks" --text="There was an error while performing cleaning:\n ${line}"
                exit 1
            fi   
        let i++
         (( PERCENTAGE = 100 \* ${i} / ${TOTAL_LINES} ))
         echo "$PERCENTAGE"

        if [ "$PERCENTAGE" == "100" ]; then
            echo "#Done"
            sleep 2
        fi
   
    done| zenity --progress  --title="Lite Tweaks" --auto-kill --auto-close --width=300
fi

# Check if ARRAYB is empty
# If it is skip the execution
if [ ${#ARRAYB[@]} -ne 0 ]; then
    gksudo /usr/bin/lite-tweaks-super "${ARRAYB[@]}"      # Open the next file with superuser privileges and pass the array B
fi

#A question whether to continue using the app or not
if zenity --question --title="Lite Tweaks" --text="Process(s) complete.\nWould you like to continue using Lite-Tweaks?"; then
    return
else
    exit 0
fi
}

CHECK() {
# Check package cache exists
if [ "$(find /var/cache/apt/archives/ -maxdepth 1 -size +100k)" ];  then
    APTCACHESIZE=$(du -sh /var/cache/apt/archives/ | awk '{print $1}' | sed 's/$/B/')
    aptcache=(FALSE "Package Cache" "Clean" "Packages" "Safe" "You can currently remove $APTCACHESIZE worth of files from your package cache" )
else
    aptcache=(FALSE "Package Cache" "Clean" "Packages" "Safe" "You can currently remove 0kB worth of files from your package cache")
fi

# Check if archived /var/log files exist
if [ "$(find /var/log -type f \( -iname \*.gz -o -iname \*.0 -o -iname \*.1 \) -maxdepth 100 -size +1k)" ];  then
    LOGARCHIVESIZE=$(find /var/log -type f \( -iname \*.gz -o -iname \*.0 -o -iname \*.1 \) -exec du -csh '{}' + | tail -1 | awk '{print $1}' | sed 's/$/B/')
    logarchive=(FALSE "Log Archives" "Clean" "System" "Safe" "You can currently remove $LOGARCHIVESIZE worth of archived logs" )
else
    logarchive=(FALSE "Log Archives" "Clean" "System" "Safe" "You can currently remove 0kB worth of archived logs")
fi

# Check if firefox cache exists
if [  -d  "$HOME/.cache/mozilla/" ];then
    FFCACHESIZE=$(du -sh "$HOME/.cache/mozilla/"| awk '{print $1}'| sed 's/$/B/')
    firefox=("FALSE"  "Firefox" "Clean" "Internet" "Safe" "You can currently remove $FFCACHESIZE from your Firefox cache" )
else
        firefox=()
fi

# Check if the google-chrome cache exists
if [ -d  "$HOME/.cache/google-chrome/" ]; then
    GCCACHESIZE=$(du -sh $HOME/.cache/google-chrome/ | awk '{print $1}' | sed 's/$/B/')
    chrome=("FALSE" "Chrome" "Clean" "Internet" "Safe" "You can currently remove $GCCACHESIZE from your Chrome cache" )
    else
        chrome=()
fi

# Check if the chromium cache exists
if [  -d  "$HOME/.cache/chromium/" ]; then
    CHRCACHESIZE=$(du -sh $HOME/.cache/chromium/ | awk '{print $1}' | sed 's/$/B/')
    chromium=("FALSE" "Chromium" "Clean" "Internet" "Safe" "You can currently remove $CHRCACHESIZE from your Chromium cache" )
else
         chromium=() # Main zenity dialogue window
fi

# Check if there are any residual configuration files
if [ $(dpkg-query -f '${Package} ${Status}\n' -W | grep config-files$ | cut -d" " -f1)  ]; then
        RESCONFIGQTY=$(dpkg-query -f '${Package} ${Status}\n' -W | grep config-files$ | cut -d" " -f1 | sed 's/,/ /g'| wc -w)
    resconfig=(FALSE "Residual Config Files" "Clean" "Packages" "Safe" "You currently have $RESCONFIGQTY residual configuration files you can remove" )
else
        resconfig=( FALSE "Residual Config Files" "Clean" "Packages" "Safe" "There are no residual configuration files that can be removed" )
fi

# Check if any thumbnails exist
if [ $(du -sk $HOME/.thumbnails/ | awk '{print $1}')  -gt 100  ]; then
        THUMBCACHESIZE=$(du -sh $HOME/.thumbnails/ | awk '{print $1}' | sed 's/$/B/')
    thumbn=("FALSE" "Thumbnail Cache" "Clean" "Images" "Safe" "You can currently remove $THUMBCACHESIZE from your thumbnail cache" )
else
        thumbn=( "FALSE" "Thumbnail Cache" "Clean" "Images" "Safe" "You can currently remove 0kB from your thumbnail cache" )
fi

# Check if Whisker Menu has Recently Used items
if [ -z "$(cat $HOME/.config/xfce4/panel/whiskermenu-1.rc | grep "^recent=" | cut -d '=' -f2)" ]; then
    whisker_recent=(FALSE "Whisker Menu" "Clean" "Menu" "Safe" "Whisker Menu has no Recently Used items to clean" )
else
    whisker_test=$(cat $HOME/.config/xfce4/panel/whiskermenu-1.rc | grep "^recent=" | cut -d '=' -f2 | sed 's/,/ /g'| wc -w)
    whisker_recent=(FALSE "Whisker Menu" "Clean" "Menu" "Safe" "You can currently remove $whisker_test Recently Used items from your Whisker Menu" )
fi

# Check if the Trash is empty
if [  "$(ls -A $HOME/.local/share/Trash/files/)" ]; then
        TRASHCACHESIZE=$(du -sh $HOME/.local/share/Trash/ | awk '{print $1}' | sed 's/$/B/')
    trash=("FALSE" "Trash Bin" "Clean" "Home" "Safe" "You can currently remove $TRASHCACHESIZE from your Trash bin" )
else
        trash=()
fi
}

#Main loop
while (true); do

CHECK        # first run the checks

# Main zenity dialogue window
selection=$(zenity --window-icon="$ic" --list --checklist --width=880 --height=500 --column="Select" --column="Name" --column="Task" --column="Category" --column="Status" \
--column="Description" --text='Select the task you wish to perform, then click the Begin button. Sort Categories by clicking on the column.\n\nThere are 2 levels of <b>Status</b>:\n<span foreground="green">Safe</span> - Safe to perform, no harm can be done.\n<span foreground="red">Caution</span> - Proceed with caution, read the warning on the proceeding step.\n\nYou can select multiple tasks to perform (password required for some tasks).' --title="Lite Tweaks" --ok-label="Begin" --cancel-label="Quit" \
FALSE "Autoremove Packages" "Clean" "Packages" "Safe" "Remove packages installed for programs that are no longer present" \
"${chrome[@]}" \
"${chromium[@]}" \
FALSE "Default Web Browser" "Preferred" "Browser" "Safe" "Set your default web browser" \
FALSE "Display Disk Usage" "Information" "System" "safe" "Display overall disk usage information" \
"${firefox[@]}" \
FALSE "Kernel Removal" "Clean" "System" "Caution" "Remove kernels you no longer wish to boot from" \
FALSE "Locate Large Files" "Information" "System" "Caution" "Find files on your system within a size range" \
"${logarchive[@]}" \
"${aptcache[@]}" \
"${resconfig[@]}" \
"${thumbn[@]}" \
"${trash[@]}" \
"${whisker_recent[@]}" )

# If Quit is clicked then exit
if [ "${PIPESTATUS[0]}" -ne "0" ]; then
      exit 0
fi

# Check if anything is selected
echo $selection | grep '[a-zA-Z0-9]'
if [ "${PIPESTATUS[1]}" -ne "0" ]; then
    zenity --info --title='Lite Tweaks' --text='No option was selected.'
fi

ARRAYS   #Separate selected items into array A and aray B
RUN
done

exit 0
Anyway anyone can install baobab
Code:
sudo apt-get install baobab
Whisker menu -> System -> Disk Usage Analyser
Reply
#16

I still get the overlay, albeit behind the disk usage window. If this can get fixed in the future that would be great. I like the question at the end 'Would you like to continue using Lite-Tweaks?' Nice :)

Download your free copy of Linux Lite today.

Jerry Bezencon
Linux Lite Creator

"Do not correct a fool, or he will hate you; correct a wise man and he will appreciate you."

[Image: X5qGkCg.png]

[Image: 0op1GNe.png] [Image: LgJ2mtP.png] [Image: vLZcFUE.png] [Image: lrUHro3.jpg]
Reply
#17

Just had an idea since this is a common issue, would be nice to include this as 'Bootup Fix'

Code:
sudo sed -i "s/Ubuntu 14.04/Linux Lite 2.2/;s/black=0x2c001e/black=0x000000/;s/white=0xffffff/white=0xffffff/;s/brown=0xff4012/brown=0xffff00/;s/blue=0x988592/blue=0x000000/" /lib/plymouth/themes/ubuntu-text/ubuntu-text.plymouth && sudo update-initramfs -u

Download your free copy of Linux Lite today.

Jerry Bezencon
Linux Lite Creator

"Do not correct a fool, or he will hate you; correct a wise man and he will appreciate you."

[Image: X5qGkCg.png]

[Image: 0op1GNe.png] [Image: LgJ2mtP.png] [Image: vLZcFUE.png] [Image: lrUHro3.jpg]
Reply
#18

(02-26-2015, 11:35 PM)Jerry link Wrote:  I still get the overlay, albeit behind the disk usage window. If this can get fixed in the future that would be great. I like the question at the end 'Would you like to continue using Lite-Tweaks?' Nice :)
I'll see if there is something that can be done with this overlay.
Thank you, it's better to use the question than a useless OK dialog.
(02-27-2015, 05:23 AM)Jerry link Wrote:  Just had an idea since this is a common issue, would be nice to include this as 'Bootup Fix'

Code:
sudo sed -i "s/Ubuntu 14.04/Linux Lite 2.2/;s/black=0x2c001e/black=0x000000/;s/white=0xffffff/white=0xffffff/;s/brown=0xff4012/brown=0xffff00/;s/blue=0x988592/blue=0x000000/" /lib/plymouth/themes/ubuntu-text/ubuntu-text.plymouth && sudo update-initramfs -u
Hm, I could add this but will also have to add a check for LL release. That will prevent writing it to the wrong release.
Reply
#19

(02-27-2015, 07:38 AM)misko_2083 link Wrote:  Hm, I could add this but will also have to add a check for LL release. That will prevent writing it to the wrong release.

Yup, each LL release gets a static check file: /etc/llver

Download your free copy of Linux Lite today.

Jerry Bezencon
Linux Lite Creator

"Do not correct a fool, or he will hate you; correct a wise man and he will appreciate you."

[Image: X5qGkCg.png]

[Image: 0op1GNe.png] [Image: LgJ2mtP.png] [Image: vLZcFUE.png] [Image: lrUHro3.jpg]
Reply
#20

Thanks
awk '{print $3}' /etc/llver

I was thinking to use lsb_release -d
;D
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)