Roscado en pitón gtk

Así que estoy ocupado escribiendo una aplicación que necesita verificar las actualizaciones de un sitio web después de un tiempo determinado, estoy usando python con Gtk +3

archivo main.py

class Gui:
    ...
    def on_update_click():
        update()

app=Gui()
Gtk.main()

archivo update.py

def update():
    #check site for updates
    time.sleep(21600) #check again in 6hrs

Sospecho que tendré que usar enhebrado. mi pensamiento es:

Gtk.main () ejecuta el hilo principal.

cuando el usuario hace clic en el botón de actualización, update () se ejecuta en segundo plano. #hilo 2

¿Mi pensamiento es correcto o me he perdido algo?

EDITAR: Ok,
función on_update_click:

            Thread(target=update).start(). 

K, la computadora no se congela más: D

entonces, lo que sucede ahora es que solo cuando cierro Gtk.main (), solo se inicia el subproceso de actualización. Es bueno que se siga actualizando cuando la interfaz de usuario está cerrada, pero también me gustaría que se inicie cuando la interfaz de usuario está activa.

Respuestas a la pregunta(3)

Su respuesta a la pregunta