Update-notifier in the repositiory uses gtkdialog for its Configuration dialog.
It has 3 checkboxes and two comboboxes and the states of all of them have to be passed to the script.
You might want to take a look at it.

I still recommend using a real programming language to make a GUI.
Perl is often called "Shell scripting on steroids" and rightfully so because Perl is
very similar to shell scripting.
Some similarities:
#!/bin/bash
variable='Hello'
echo $variable
newvar=`echo $variable | grep -o 'H'`
echo $variable
echo $newvar#!/usr/bin/perl
$variable='Hello';
#unlike shell scripts, in perl backticks are always used when you want to execute a command line command
`echo $variable`;
$newvar=`echo $variable | grep -o 'H'`;
#print functions the same as the command line echo, but without the auto \n (so somewhat similar to printf, but perl has its own printf which is more akin to it)
print "$variable\n";
print "$newvar\n";
Gtk has bindings for perl, so you can use Gtk in perl.

The PCC and utilities are written in perl.
All you really need to do is study the syntax differences in if, while,else,for,for in code blocks. (foreach is perl equivalent of for in)
And even then, the change is always trivial. (one less pair of parenthesis, () instead of [])