Я бы сказал, что вы пытаетесь передать «этот» указатель как указатель типа «* this» здесь
g_signal_connect(showapp_option, "activate", G_CALLBACK(show_app), this);
на
g_signal_connect(showapp_option, "activate", G_CALLBACK(show_app), *this);
Вот хороший и простой сценарий Nautilus, который мне удалось написать благодаря Flimm, как показано в ответе выше:
#!/bin/sh
#Nautilus Script to determine encoding of selected file(s) and convert to utf8 if necessary
#
for filename in $@; do
CHARSET="$(file -bi "$filename"|awk -F "=" '{print $2}')"
if [ "$CHARSET" != utf-8 ]; then
iconv -f "$CHARSET" -t utf8 "$filename" -c -o "$filename.utf8" &&
mv -f "$filename.utf8" "$filename"
fi
done