#!/bin/sh

##### Global var.


export SAFEUSERNAME="$(whoami)"
pushd ~
export SAFEHOME="$(pwd)"
popd

export BEESU_TEMP_FILE=$(mktemp --tmpdir="/tmp" "beesu-$SAFEUSERNAME.XXXXXXXXXX")
export BEESU_BASE_SCRIPT_FOLDER="$SAFEHOME/.gnome2/nautilus-scripts"

echo -ne "TEMP_FILE=$BEESU_TEMP_FILE\n" >&2
echo -ne "BASE_SCRIPT_FOLDER=$BEESU_BASE_SCRIPT_FOLDER\n" >&2

#####

beesu__install_script()
{
script_name="$2"
script_path="$BEESU_BASE_SCRIPT_FOLDER/beesu/$script_name"
echo -ne "$script_name ... " >&2
if (( $1 == 0 ))
then
    if [[ -a "$script_path" ]]
    then
        rm -f "$script_path"
    fi
    echo -ne "removed\n" >&2
    return
fi
if (( $1 == 1 ))
then
    if [[ ! -a "$script_path" ]]
    then
        cat "$BEESU_TEMP_FILE" | base64 -d > "$script_path"
    fi
    echo -ne "installed\n" >&2
    return
fi
if (( $1 == 2 ))
then
    if [[ -a "$script_path" ]]
    then
        echo "true"
        echo -ne "exists\n" >&2
    else
        echo "false"
        echo -ne "does not exist\n" >&2
    fi
    return
fi
}

# Hi!! If you want to read the encoded text, open a new terminal and maximize 
# its window.
# Now, type "base64 -d" and press enter. Paste (right click->paste) the encoded
# text you want to decode, press enter and ctrl+d. 
# You'll see the script's body!!!!!!!

beesu_edit_with_gedit()
{
if (( $1 != 2 ))
then
cat > "$BEESU_TEMP_FILE" << EOF
IyEvYmluL3NoCmlmIFtbIC1uICIkTkFVVElMVVNfU0NSSVBUX1NFTEVDVEVEX0ZJTEVfUEFUSFMi
IF1dCnRoZW4KICAgIHF1b3RlZD0kKGVjaG8gLWUgIiROQVVUSUxVU19TQ1JJUFRfU0VMRUNURURf
RklMRV9QQVRIUyIgfCAKICAgICAgICAgICAgIGF3ayAnQkVHSU4geyBGUyA9ICJcbiIgfSB7IHBy
aW50ZiAiXCIlc1wiICIsICQxIH0nIHwgc2VkIC1lIHMjXCJcIiMjKQogICAgYmVlc3UgLSBnZWRp
dCAiJHF1b3RlZCIKZmkK
EOF
fi
beesu__install_script "$1" "Edit with gEdit"
}


beesu_edit_with_ghex()
{
if (( $1 != 2 ))
then
cat > "$BEESU_TEMP_FILE" << EOF
IyEvYmluL3NoCmlmIFtbIC1uICIkTkFVVElMVVNfU0NSSVBUX1NFTEVDVEVEX0ZJTEVfUEFUSFMi
IF1dCnRoZW4KICAgIHF1b3RlZD0kKGVjaG8gLWUgIiROQVVUSUxVU19TQ1JJUFRfU0VMRUNURURf
RklMRV9QQVRIUyIgfCAKICAgICAgICAgICAgIGF3ayAnQkVHSU4geyBGUyA9ICJcbiIgfSB7IHBy
aW50ZiAiXCIlc1wiICIsICQxIH0nIHwgc2VkIC1lIHMjXCJcIiMjKQogICAgYmVlc3UgLSBnaGV4
MiAiJHF1b3RlZCIKZmkK
EOF
fi
beesu__install_script "$1" "Edit with gHex"
}

beesu_open_nautilus_here()
{
if (( $1 != 2 ))
then
cat > "$BEESU_TEMP_FILE" << EOF
IyEvYmluL3NoCmJhc2U9IiQoZWNobyAkTkFVVElMVVNfU0NSSVBUX0NVUlJFTlRfVVJJIHwgY3V0
IC1kJy8nIC1mMy0gfCBzZWQgJ3MvJTIwLyAvZycpIgppZiBbIC16ICIkTkFVVElMVVNfU0NSSVBU
X1NFTEVDVEVEX0ZJTEVfUEFUSFMiIF07IHRoZW4KICAgICBkaXI9IiRiYXNlIgplbHNlIAogICAg
IHdoaWxlIFsgISAteiAiJDEiIC1hICEgLWQgIiRiYXNlLyQxIiBdOyBkbyBzaGlmdDsgZG9uZQog
ICAgIGRpcj0iJGJhc2UvJDEiCmZpCmJlZXN1IC0gbmF1dGlsdXMgLS1icm93c2VyICIkZGlyIgo=
EOF
fi
beesu__install_script "$1" "Open Nautilus Here"
}

beesu_open_terminal_here()
{
if (( $1 != 2 ))
then
cat > "$BEESU_TEMP_FILE" << EOF
IyEvYmluL3NoCmJhc2U9IiQoZWNobyAkTkFVVElMVVNfU0NSSVBUX0NVUlJFTlRfVVJJIHwgY3V0
IC1kJy8nIC1mMy0gfCBzZWQgJ3MvJTIwLyAvZycpIgppZiBbIC16ICIkTkFVVElMVVNfU0NSSVBU
X1NFTEVDVEVEX0ZJTEVfUEFUSFMiIF07IHRoZW4KICAgICBkaXI9IiRiYXNlIgplbHNlIAogICAg
IHdoaWxlIFsgISAteiAiJDEiIC1hICEgLWQgIiRiYXNlLyQxIiBdOyBkbyBzaGlmdDsgZG9uZQog
ICAgIGRpcj0iJGJhc2UvJDEiCmZpCmJlZXN1IC0gZ25vbWUtdGVybWluYWwgLS13b3JraW5nLWRp
cmVjdG9yeT0iJGRpciIK
EOF
fi
beesu__install_script "$1" "Open Terminal Here"
}


beesu_execute_execute_application()
{
if (( $1 != 2 ))
then
cat > "$BEESU_TEMP_FILE" << EOF
IyEvYmluL3NoCmJhc2U9IiQoZWNobyAkTkFVVElMVVNfU0NSSVBUX0NVUlJFTlRfVVJJIHwgY3V0
IC1kJy8nIC1mMy0gfCBzZWQgJ3MvJTIwLyAvZycpIgppZiBbWyAtbiAiJE5BVVRJTFVTX1NDUklQ
VF9TRUxFQ1RFRF9GSUxFX1BBVEhTIiBdXQp0aGVuCiAgICBpZiAoKCAkKGVjaG8gLW5lICIkTkFV
VElMVVNfU0NSSVBUX1NFTEVDVEVEX0ZJTEVfUEFUSFMiIHwgd2MgLWwpID09IDEgKSkKICAgIHRo
ZW4KICAgICAgICBxdW90ZWQ9JChlY2hvIC1lICIkTkFVVElMVVNfU0NSSVBUX1NFTEVDVEVEX0ZJ
TEVfUEFUSFMiIHwgCiAgICAgICAgICAgICAgICAgaGVhZCAtbiAxIHwKICAgICAgICAgICAgICAg
ICBhd2sgJ0JFR0lOIHsgRlMgPSAiXG4iIH0geyBwcmludGYgIlwiJXNcIiIsICQxIH0nIHwgc2Vk
IC1lIHMjXCJcIiMjKQogICAgICAgIGlmIFtbICQoZWNobyAiJHF1b3RlZCIgfCB4YXJncyBoZWFk
IC1xIC1jIDQgfCB0ciAnQScgJ1gnIHwgdHIgJ1wxNzcnICdBJykgPT0gIkFFTEYiIF1dCiAgICAg
ICAgdGhlbgogICAgICAgICAgICBiZWVzdSAtICJjZCBcIiRiYXNlXCIgJiYgJHF1b3RlZCIKICAg
ICAgICBlbHNlCiAgICAgICAgICAgIHplbml0eSAtLWluZm8gLS10aXRsZT0iRXhlY3V0ZSBBcHBs
aWNhdGlvbiIgLS10ZXh0PSJJIHdvbid0IHJ1biBhIG5vbi1hcHBsaWNhdGlvbiB3aXRob3V0IGEg
dGVybWluYWwuIgogICAgICAgIGZpCiAgICBlbHNlCiAgICAgICAgemVuaXR5IC0taW5mbyAtLXRp
dGxlPSJFeGVjdXRlIEFwcGxpY2F0aW9uIiAtLXRleHQ9Ikkgd29uJ3QgcnVuIG1vcmUgdGhhbiBv
bmUgYXBwbGljYXRpb24gYXQgb25jZS4iCiAgICBmaQpmaQo=
EOF
fi
beesu__install_script "$1" "Execute/Execute Application"
}

beesu_execute_execute_script()
{
if (( $1 != 2 ))
then
cat > "$BEESU_TEMP_FILE" << EOF
IyEvYmluL3NoCmJhc2U9IiQoZWNobyAkTkFVVElMVVNfU0NSSVBUX0NVUlJFTlRfVVJJIHwgY3V0
IC1kJy8nIC1mMy0gfCBzZWQgJ3MvJTIwLyAvZycpIgppZiBbWyAtbiAiJE5BVVRJTFVTX1NDUklQ
VF9TRUxFQ1RFRF9GSUxFX1BBVEhTIiBdXQp0aGVuCiAgICBpZiAoKCAkKGVjaG8gLW5lICIkTkFV
VElMVVNfU0NSSVBUX1NFTEVDVEVEX0ZJTEVfUEFUSFMiIHwgd2MgLWwpID09IDEgKSkKICAgIHRo
ZW4KICAgICAgICBxdW90ZWQ9JChlY2hvIC1lICIkTkFVVElMVVNfU0NSSVBUX1NFTEVDVEVEX0ZJ
TEVfUEFUSFMiIHwgCiAgICAgICAgICAgICAgICAgaGVhZCAtbiAxIHwKICAgICAgICAgICAgICAg
ICBhd2sgJ0JFR0lOIHsgRlMgPSAiXG4iIH0geyBwcmludGYgIlwiJXNcIiIsICQxIH0nIHwgc2Vk
IC1lIHMjXCJcIiMjKQogICAgICAgIGJlZXN1IC0gZ25vbWUtdGVybWluYWwgLS13b3JraW5nLWRp
cmVjdG9yeT0iJGJhc2UiIC1lICIkcXVvdGVkIgogICAgZWxzZQogICAgICAgIHplbml0eSAtLWlu
Zm8gLS10aXRsZT0iRXhlY3V0ZSBTY3JpcHQiIC0tdGV4dD0iSSB3b24ndCBydW4gbW9yZSB0aGFu
IG9uZSBzY3JpcHQgYXQgb25jZS4iCiAgICBmaQpmaQo=
EOF
fi
beesu__install_script "$1" "Execute/Execute Script"
}

beesu_files_and_folders_change_file_access()
{
if (( $1 != 2 ))
then
cat > "$BEESU_TEMP_FILE" << EOF
IyEvYmluL3NoCnF1b3RlZD0kKGVjaG8gLWUgIiROQVVUSUxVU19TQ1JJUFRfU0VMRUNURURfRklM
RV9QQVRIUyIgfCAKICAgICAgICAgYXdrICdCRUdJTiB7IEZTID0gIlxuIiB9IHsgcHJpbnRmICJc
IiVzXCIgIiwgJDEgfScgfCBzZWQgLWUgcyNcIlwiIyMpCnF1b3Rlbj0kKGVjaG8gLWUgIiROQVVU
SUxVU19TQ1JJUFRfU0VMRUNURURfRklMRV9QQVRIUyIgfCAKICAgICAgICAgYXdrICdCRUdJTiB7
IEZTID0gIlxuIiB9IHsgcHJpbnRmICJcIiVzXCJcbiIsICQxIH0nIHwgc2VkIC1lIHMjXCJcIiMj
KQphdHRyaWI9JChlY2hvICIkcXVvdGVuIiB8IHhhcmdzIGxzIC1sIHwgYXdrICd7cHJpbnQgJDF9
JykKb3duZXJfcmVhZD0kKGVjaG8gIiRhdHRyaWIiIHwgY3V0IC1jMi0yIHwgc2VkICdzL3IvdHJ1
ZS9nJyB8IHNlZCAncy8tL2ZhbHNlL2cnKQpvd25lcl93cml0ZT0kKGVjaG8gIiRhdHRyaWIiIHwg
Y3V0IC1jMy0zIHwgc2VkICdzL3cvdHJ1ZS9nJyB8IHNlZCAncy8tL2ZhbHNlL2cnKQpvd25lcl9l
eGVjdXRlPSQoZWNobyAiJGF0dHJpYiIgfCBjdXQgLWM0LTQgfCBzZWQgJ3MveC90cnVlL2cnIHwg
c2VkICdzLy0vZmFsc2UvZycpCmdyb3VwX3JlYWQ9JChlY2hvICIkYXR0cmliIiB8IGN1dCAtYzUt
NSB8IHNlZCAncy9yL3RydWUvZycgfCBzZWQgJ3MvLS9mYWxzZS9nJykKZ3JvdXBfd3JpdGU9JChl
Y2hvICIkYXR0cmliIiB8IGN1dCAtYzYtNiB8IHNlZCAncy93L3RydWUvZycgfCBzZWQgJ3MvLS9m
YWxzZS9nJykKZ3JvdXBfZXhlY3V0ZT0kKGVjaG8gIiRhdHRyaWIiIHwgY3V0IC1jNy03IHwgc2Vk
ICdzL3gvdHJ1ZS9nJyB8IHNlZCAncy8tL2ZhbHNlL2cnKQpvdGhlcnNfcmVhZD0kKGVjaG8gIiRh
dHRyaWIiIHwgY3V0IC1jOC04IHwgc2VkICdzL3IvdHJ1ZS9nJyB8IHNlZCAncy8tL2ZhbHNlL2cn
KQpvdGhlcnNfd3JpdGU9JChlY2hvICIkYXR0cmliIiB8IGN1dCAtYzktOSB8IHNlZCAncy93L3Ry
dWUvZycgfCBzZWQgJ3MvLS9mYWxzZS9nJykKb3RoZXJzX2V4ZWN1dGU9JChlY2hvICIkYXR0cmli
IiB8IGN1dCAtYzEwLTEwIHwgc2VkICdzL3gvdHJ1ZS9nJyB8IHNlZCAncy8tL2ZhbHNlL2cnKQoK
aXRlbXM9JChlY2hvIC1lICIkcXVvdGVuIiB8IHdjIC1sKQooKCBoZWlnaHQgPSBpdGVtcyAqIDE4
ICsgMzYwICkpCnRleHQ9JChlY2hvIC1uZSAiQ2hhbmdlIHRoZSBtb2RlIGZvciAkaXRlbXMgZmls
ZXM6XG4kTkFVVElMVVNfU0NSSVBUX1NFTEVDVEVEX0ZJTEVfUEFUSFMiKQpsaXN0PSQoemVuaXR5
IC0tbGlzdCAtLWNoZWNrbGlzdCAtLW11bHRpcGxlIC0td2lkdGg9NTAwIC0taGVpZ2h0PSIkaGVp
Z2h0IiAtLXNlcGFyYXRvcj0ifCIgXAogICAgLS10aXRsZT0iQkVFU1U6IGNobW9kIiAtLXRleHQ9
IiR0ZXh0IiBcCiAgICAtLWNvbHVtbiAiU2V0IiAtLWNvbHVtbiAiQXR0cmliIiBcCiAgICAiJG93
bmVyX3JlYWQiICJPd25lcjogUmVhZCIgXAogICAgIiRvd25lcl93cml0ZSIgIk93bmVyOiBXcml0
ZSIgXAogICAgIiRvd25lcl9leGVjdXRlIiAiT3duZXI6IEV4ZWN1dGUiIFwKICAgICIkZ3JvdXBf
cmVhZCIgIkdyb3VwOiBSZWFkIiBcCiAgICAiJGdyb3VwX3dyaXRlIiAiR3JvdXA6IFdyaXRlIiBc
CiAgICAiJGdyb3VwX2V4ZWN1dGUiICJHcm91cDogRXhlY3V0ZSIgXAogICAgIiRvdGhlcnNfcmVh
ZCIgIk90aGVyczogUmVhZCIgXAogICAgIiRvdGhlcnNfd3JpdGUiICJPdGhlcnM6IFdyaXRlIiBc
CiAgICAiJG90aGVyc19leGVjdXRlIiAiT3RoZXJzOiBFeGVjdXRlIgopCgppZiBbWyAiJD8iICE9
ICIxIiBdXQp0aGVuCiAgICAoKG1vZHUgPSAwKSkKICAgICgobW9kZyA9IDApKQogICAgKChtb2Rv
ID0gMCkpCiAgICBsaXN0PSQoZWNobyAiJGxpc3QiIHwgc2VkICdzL3wvXG4vZycpCiAgICBsaXN0
X293bmVyPSQoZWNobyAiJGxpc3QiIHwgZ3JlcCAtaSAib3duZXIiKQogICAgbGlzdF9ncm91cD0k
KGVjaG8gIiRsaXN0IiB8IGdyZXAgLWkgImdyb3VwIikKICAgIGxpc3Rfb3RoZXJzPSQoZWNobyAi
JGxpc3QiIHwgZ3JlcCAtaSAib3RoZXJzIikKICAgIGlmICgoICQoZWNobyAiJGxpc3Rfb3duZXIi
IHwgZ3JlcCAtaWMgInJlYWQiKSAhPSAwICkpCiAgICB0aGVuCiAgICAgICAgKChtb2R1ICs9IDQp
KQogICAgZmkKICAgIGlmICgoICQoZWNobyAiJGxpc3Rfb3duZXIiIHwgZ3JlcCAtaWMgIndyaXRl
IikgIT0gMCApKQogICAgdGhlbgogICAgICAgICgobW9kdSArPSAyKSkKICAgIGZpCiAgICBpZiAo
KCAkKGVjaG8gIiRsaXN0X293bmVyIiB8IGdyZXAgLWljICJleGVjdXRlIikgIT0gMCApKQogICAg
dGhlbgogICAgICAgICgobW9kdSArPSAxKSkKICAgIGZpCiAgICBpZiAoKCAkKGVjaG8gIiRsaXN0
X2dyb3VwIiB8IGdyZXAgLWljICJyZWFkIikgIT0gMCApKQogICAgdGhlbgogICAgICAgICgobW9k
ZyArPSA0KSkKICAgIGZpCiAgICBpZiAoKCAkKGVjaG8gIiRsaXN0X2dyb3VwIiB8IGdyZXAgLWlj
ICJ3cml0ZSIpICE9IDAgKSkKICAgIHRoZW4KICAgICAgICAoKG1vZGcgKz0gMikpCiAgICBmaQog
ICAgaWYgKCggJChlY2hvICIkbGlzdF9ncm91cCIgfCBncmVwIC1pYyAiZXhlY3V0ZSIpICE9IDAg
KSkKICAgIHRoZW4KICAgICAgICAoKG1vZGcgKz0gMSkpCiAgICBmaQogICAgaWYgKCggJChlY2hv
ICIkbGlzdF9vdGhlcnMiIHwgZ3JlcCAtaWMgInJlYWQiKSAhPSAwICkpCiAgICB0aGVuCiAgICAg
ICAgKChtb2RvICs9IDQpKQogICAgZmkKICAgIGlmICgoICQoZWNobyAiJGxpc3Rfb3RoZXJzIiB8
IGdyZXAgLWljICJ3cml0ZSIpICE9IDAgKSkKICAgIHRoZW4KICAgICAgICAoKG1vZG8gKz0gMikp
CiAgICBmaQogICAgaWYgKCggJChlY2hvICIkbGlzdF9vdGhlcnMiIHwgZ3JlcCAtaWMgImV4ZWN1
dGUiKSAhPSAwICkpCiAgICB0aGVuCiAgICAgICAgKChtb2RvICs9IDEpKQogICAgZmkKICAgIG1v
ZD0iJG1vZHUkbW9kZyRtb2RvIgogICAgYmVlc3UgLSAiY2htb2QgJG1vZCAkcXVvdGVkIgpmaQo=
EOF
fi
beesu__install_script "$1" "Files and Folders/Change File Access"
}

beesu_files_and_folders_change_file_owner()
{
if (( $1 != 2 ))
then
cat > "$BEESU_TEMP_FILE" << EOF
IyEvYmluL3NoCnF1b3RlZD0kKGVjaG8gLWUgIiROQVVUSUxVU19TQ1JJUFRfU0VMRUNURURfRklM
RV9QQVRIUyIgfCAKICAgICAgICAgYXdrICdCRUdJTiB7IEZTID0gIlxuIiB9IHsgcHJpbnRmICJc
IiVzXCIgIiwgJDEgfScgfCBzZWQgLWUgcyNcIlwiIyMpCnF1b3Rlbj0kKGVjaG8gLWUgIiROQVVU
SUxVU19TQ1JJUFRfU0VMRUNURURfRklMRV9QQVRIUyIgfCAKICAgICAgICAgYXdrICdCRUdJTiB7
IEZTID0gIlxuIiB9IHsgcHJpbnRmICJcIiVzXCJcbiIsICQxIH0nIHwgc2VkIC1lIHMjXCJcIiMj
KQp1PSIkKGlkIC11bikiCmc9IiQoaWQgLWduKSIKaWYgKCggJChlY2hvICIkcXVvdGVuIiB8IHhh
cmdzIHN0YXQgfCBncmVwIC1pdiAiRmlsZToiIHwgZ3JlcCAtaSAiVWlkOiIgfCBncmVwIC12YyAi
JHUiKSA9PSAwICkpCnRoZW4KICAgIGVudHJ5PSJyb290OnJvb3QiCmVsc2UKICAgIGVudHJ5PSIk
dTokZyIKZmkKdGV4dD0kKGVjaG8gLW5lICJFbnRlciB0aGUgbmV3IG93bmVyIG5hbWUgYW5kIGdy
b3VwIGZvcjpcbiROQVVUSUxVU19TQ1JJUFRfU0VMRUNURURfRklMRV9QQVRIUyIpCm93bmVyPSQo
emVuaXR5IC0tZW50cnkgLS10aXRsZT0iQ2hhbmdlIEZpbGUgT3duZXIiIC0tdGV4dD0iJHRleHQi
IC0tZW50cnktdGV4dD0iJGVudHJ5IikKaWYgW1sgLW4gIiRvd25lciIgXV0KdGhlbgogICAgYmVl
c3UgLSBnbm9tZS10ZXJtaW5hbCAteCAiY2hvd24gLWMgXCIkb3duZXJcIiAkcXVvdGVkIgpmaQo=
EOF
fi
beesu__install_script "$1" "Files and Folders/Change File Owner"
}


beesu_files_and_folders_delete_selected_files()
{
if (( $1 != 2 ))
then
cat > "$BEESU_TEMP_FILE" << EOF
IyEvYmluL3NoCmlmIFtbIC1uICIkTkFVVElMVVNfU0NSSVBUX1NFTEVDVEVEX0ZJTEVfUEFUSFMi
IF1dCnRoZW4KICAgIGl0ZW1zPSQoZWNobyAtbiAiJE5BVVRJTFVTX1NDUklQVF9TRUxFQ1RFRF9G
SUxFX1BBVEhTIiB8IHdjIC1sKQogICAgdGV4dGI9JChlY2hvIC1uZSAiQXJlIHlvdSBzdXJlIHlv
dSB3YW50IHRvIGRlbGV0ZSB0aGUgZm9sbG93aW5nIikKICAgIGlmICgoIGl0ZW1zID09IDEgKSkK
ICAgIHRoZW4KICAgICAgICB0ZXh0ZT0kKGVjaG8gLW5lICJmaWxlOiIpCiAgICBlbHNlCiAgICAg
ICAgdGV4dGU9JChlY2hvIC1uZSAiJGl0ZW1zIGZpbGVzOiIpCiAgICBmaQogICAgemVuaXR5IC0t
cXVlc3Rpb24gLS10aXRsZT0iRGVsZXRlIHNlbGVjdGVkIGZpbGVzIiAtLXRleHQ9IiR0ZXh0YiAk
dGV4dGVcbiROQVVUSUxVU19TQ1JJUFRfU0VMRUNURURfRklMRV9QQVRIUyIKICAgIGlmIFtbICIk
PyIgPT0gIjAiIF1dCiAgICB0aGVuCiAgICAgICAgcXVvdGVkPSQoZWNobyAtZSAiJE5BVVRJTFVT
X1NDUklQVF9TRUxFQ1RFRF9GSUxFX1BBVEhTIiB8IAogICAgICAgICAgICAgICAgIGF3ayAnQkVH
SU4geyBGUyA9ICJcbiIgfSB7IHByaW50ZiAiXCIlc1wiICIsICQxIH0nIHwgc2VkIC1lIHMjXCJc
IiMjKQogICAgICAgIGJlZXN1IC0gZ25vbWUtdGVybWluYWwgLXggInJtIC0tcmVjdXJzaXZlIC1p
ICRxdW90ZWQiCiAgICBmaQpmaQo=
EOF
fi
beesu__install_script "$1" "Files and Folders/Delete Selected Files"
}


beesu_files_and_folders_new_file_here()
{
if (( $1 != 2 ))
then
cat > "$BEESU_TEMP_FILE" << EOF
IyEvYmluL3NoCmJhc2U9IiQoZWNobyAkTkFVVElMVVNfU0NSSVBUX0NVUlJFTlRfVVJJIHwgY3V0
IC1kJy8nIC1mMy0gfCBzZWQgJ3MvJTIwLyAvZycpIgppZiBbIC16ICIkTkFVVElMVVNfU0NSSVBU
X1NFTEVDVEVEX0ZJTEVfUEFUSFMiIF07IHRoZW4KICAgICBkaXI9IiRiYXNlIgplbHNlIAogICAg
IHdoaWxlIFsgISAteiAiJDEiIC1hICEgLWQgIiRiYXNlLyQxIiBdOyBkbyBzaGlmdDsgZG9uZQog
ICAgIGRpcj0iJGJhc2UvJDEiCmZpCmZpbGVuYW1lPSQoemVuaXR5IC0tZW50cnkgLS10aXRsZT0i
TmV3IGZpbGUiIC0tdGV4dD0iRW50ZXIgdGhlIG5ldyBmaWxlIG5hbWU6IikKaWYgW1sgLW4gIiRm
aWxlbmFtZSIgXV0KdGhlbgogICAgYmVlc3UgLSBnbm9tZS10ZXJtaW5hbCAtLXdvcmtpbmctZGly
ZWN0b3J5PSIkZGlyIiAteCAidG91Y2ggXCIkZmlsZW5hbWVcIiIKZmkK
EOF
fi
beesu__install_script "$1" "Files and Folders/New File Here"
}



beesu_files_and_folders_new_folder_here()
{
if (( $1 != 2 ))
then
cat > "$BEESU_TEMP_FILE" << EOF
IyEvYmluL3NoCmJhc2U9IiQoZWNobyAkTkFVVElMVVNfU0NSSVBUX0NVUlJFTlRfVVJJIHwgY3V0
IC1kJy8nIC1mMy0gfCBzZWQgJ3MvJTIwLyAvZycpIgppZiBbIC16ICIkTkFVVElMVVNfU0NSSVBU
X1NFTEVDVEVEX0ZJTEVfUEFUSFMiIF07IHRoZW4KICAgICBkaXI9IiRiYXNlIgplbHNlIAogICAg
IHdoaWxlIFsgISAteiAiJDEiIC1hICEgLWQgIiRiYXNlLyQxIiBdOyBkbyBzaGlmdDsgZG9uZQog
ICAgIGRpcj0iJGJhc2UvJDEiCmZpCmZpbGVuYW1lPSQoemVuaXR5IC0tZW50cnkgLS10aXRsZT0i
TmV3IGZvbGRlciIgLS10ZXh0PSJFbnRlciB0aGUgZm9sZGVyIG5hbWU6IikKaWYgW1sgLW4gIiRm
aWxlbmFtZSIgXV0KdGhlbgogICAgYmVlc3UgLSBnbm9tZS10ZXJtaW5hbCAtLXdvcmtpbmctZGly
ZWN0b3J5PSIkZGlyIiAteCAibWtkaXIgLXZwIFwiJGZpbGVuYW1lXCIiCmZpCg==
EOF
fi
beesu__install_script "$1" "Files and Folders/New Folder Here"
}

##### MAIN #####

if (( $(id -u) == 0 ))
then
    zenity --info --text="It's unusual to run this script as root!"
fi

if [[ -d "$BEESU_BASE_SCRIPT_FOLDER/beesu" ]]
then
    were_scripts_installed=1
else
    were_scripts_installed=0
fi

#####

beesu_open_terminal_here_name="Open Terminal Here"
beesu_open_nautilus_here_name="Open Nautilus Here"
beesu_edit_with_ghex_name="Edit with gHex"
beesu_edit_with_gedit_name="Edit with gEdit"
beesu_execute_execute_application_name="Execute/Execute Application"
beesu_execute_execute_script_name="Execute/Execute Script"
beesu_files_and_folders_change_file_access_name="Files and Folders/Change File Access"
beesu_files_and_folders_change_file_owner_name="Files and Folders/Change File Owner"
beesu_files_and_folders_delete_selected_files_name="Files and Folders/Delete Selected Files"
beesu_files_and_folders_new_file_here_name="Files and Folders/New File Here"
beesu_files_and_folders_new_folder_here_name="Files and Folders/New Folder Here"

beesu_utility_trash_folder="Run once utility: fix trash bin permissions"

#####
list_text="Select the nautilus scripts you want to install.\nIf you want to uninstall some, uncheck them."
list=$(zenity --list --checklist --multiple --width=530 --height=450 --separator="\n" \
    --title="BEESU: nautilus scripts manager" --text="$list_text" \
    --column "Install me" --column "Script name" \
    $(beesu_open_terminal_here 2) "$beesu_open_terminal_here_name" \
    $(beesu_open_nautilus_here 2) "$beesu_open_nautilus_here_name" \
    $(beesu_edit_with_gedit 2) "$beesu_edit_with_gedit_name" \
    $(beesu_edit_with_ghex 2) "$beesu_edit_with_ghex_name" \
    $(beesu_execute_execute_application 2) "$beesu_execute_execute_application_name" \
    $(beesu_execute_execute_script 2) "$beesu_execute_execute_script_name" \
    $(beesu_files_and_folders_change_file_access 2) "$beesu_files_and_folders_change_file_access_name" \
    $(beesu_files_and_folders_change_file_owner 2) "$beesu_files_and_folders_change_file_owner_name" \
    $(beesu_files_and_folders_new_file_here 2) "$beesu_files_and_folders_new_file_here_name" \
    $(beesu_files_and_folders_new_folder_here 2) "$beesu_files_and_folders_new_folder_here_name" \
    $(beesu_files_and_folders_delete_selected_files 2) "$beesu_files_and_folders_delete_selected_files_name" \
    "FALSE" "$beesu_utility_trash_folder"
)

if [[ "$?" == "1" ]]
then
    exit
fi

#####

mkdir -vp "$BEESU_BASE_SCRIPT_FOLDER/beesu"
mkdir -vp "$BEESU_BASE_SCRIPT_FOLDER/beesu/Execute"
mkdir -vp "$BEESU_BASE_SCRIPT_FOLDER/beesu/Files and Folders"

#####

((scripts = 0))

if (( $(echo "$list" | grep -c "$beesu_open_terminal_here_name") != 0 ))
then
    ((scripts++))
    beesu_open_terminal_here 1
else
    beesu_open_terminal_here 0
fi

if (( $(echo "$list" | grep -c "$beesu_open_nautilus_here_name") != 0 ))
then
    ((scripts++))
    beesu_open_nautilus_here 1
else
    beesu_open_nautilus_here 0
fi

if (( $(echo "$list" | grep -c "$beesu_edit_with_ghex_name") != 0 ))
then
    ((scripts++))
    beesu_edit_with_ghex 1
else
    beesu_edit_with_ghex 0
fi

if (( $(echo "$list" | grep -c "$beesu_edit_with_gedit_name") != 0 ))
then
    ((scripts++))
    beesu_edit_with_gedit 1
else
    beesu_edit_with_gedit 0
fi

if (( $(echo "$list" | grep -c "$beesu_execute_execute_application_name") != 0 ))
then
    ((scripts++))
    beesu_execute_execute_application 1
else
    beesu_execute_execute_application 0
fi

if (( $(echo "$list" | grep -c "$beesu_execute_execute_script_name") != 0 ))
then
    ((scripts++))
    beesu_execute_execute_script 1
else
    beesu_execute_execute_script 0
fi

if (( $(echo "$list" | grep -c "$beesu_files_and_folders_change_file_access_name") != 0 ))
then
    ((scripts++))
    beesu_files_and_folders_change_file_access 1
else
    beesu_files_and_folders_change_file_access 0
fi

if (( $(echo "$list" | grep -c "$beesu_files_and_folders_change_file_owner_name") != 0 ))
then
    ((scripts++))
    beesu_files_and_folders_change_file_owner 1
else
    beesu_files_and_folders_change_file_owner 0
fi

if (( $(echo "$list" | grep -c "$beesu_files_and_folders_delete_selected_files_name") != 0 ))
then
    ((scripts++))
    beesu_files_and_folders_delete_selected_files 1
else
    beesu_files_and_folders_delete_selected_files 0
fi

if (( $(echo "$list" | grep -c "$beesu_files_and_folders_new_file_here_name") != 0 ))
then
    ((scripts++))
    beesu_files_and_folders_new_file_here 1
else
    beesu_files_and_folders_new_file_here 0
fi

if (( $(echo "$list" | grep -c "$beesu_files_and_folders_new_folder_here_name") != 0 ))
then
    ((scripts++))
    beesu_files_and_folders_new_folder_here 1
else
    beesu_files_and_folders_new_folder_here 0
fi


(( folders_fixed = -1 ))
if (( $(echo "$list" | grep -c "$beesu_utility_trash_folder") != 0 ))
then
    (( folders_fixed = 0 ))
    echo -ne "$beesu_utility_trash_folder ... \n" >&2
    pathtb="$SAFEHOME/.local/share/Trash"
    if [[ -d "$pathtb" ]]
    then
        (( folders_fixed++ ))
        echo -ne "$pathtb ...\n" >&2
        beesu chown -vR "$SAFEUSERNAME":"$SAFEUSERNAME" "$pathtb" 1>&2
        beesu chmod -vR u+rw "$pathtb/" 1>&2
    fi
    pathtb="$SAFEHOME/.Trash"
    if [[ -d "$pathtb" ]]
    then
        (( folders_fixed++ ))
        echo -ne "$pathtb ...\n" >&2
        beesu chown -vR "$SAFEUSERNAME":"$SAFEUSERNAME" "$pathtb" 1>&2
        beesu chmod -vR u+rw "$pathtb/" 1>&2
    fi
    echo -ne "done.\n" >&2
fi

#####

chmod -R 775 "$BEESU_BASE_SCRIPT_FOLDER/beesu"

#####

rmdir --ignore-fail-on-non-empty "$BEESU_BASE_SCRIPT_FOLDER/beesu/Execute"
rmdir --ignore-fail-on-non-empty "$BEESU_BASE_SCRIPT_FOLDER/beesu/Files and Folders"
rmdir --ignore-fail-on-non-empty "$BEESU_BASE_SCRIPT_FOLDER/beesu"

#####

rm -f "$BEESU_TEMP_FILE"

#####

echo -ne "$scripts scripts are now installed\n" >&2

if (( folders_fixed != -1 ))
then
    folders_fixed_msg="\n\n$SAFEUSERNAME's access permissions fixed on $folders_fixed folder(s)."
else
    folders_fixed_msg=""
fi
if [[ -d "$BEESU_BASE_SCRIPT_FOLDER/beesu" ]]
then
    info="\n\nThe following $scripts scripts have been installed:\n$list$folders_fixed_msg"
    if (( were_scripts_installed == 1 ))
    then
        zenity --info --text="Beesu's nautilus scripts have been updated.$info"
    else
        zenity --info --text="Beesu's nautilus scripts have been installed.$info"
    fi
    #gnome-open "$BEESU_BASE_SCRIPT_FOLDER/beesu"
else
    zenity --info --text="Beesu's nautilus scripts have been removed.$folders_fixed_msg"
fi


