#!/usr/bin/env python3

import sys
import subprocess
from gi.repository import Gtk, Gio
import gi
gi.require_version('Gtk', '4.0')


class MenuComandos(Gtk.Application):

    def __init__(self):
        app_id = "com.tuusuario.menucomandos"  # Reemplaza con un ID único
        super().__init__(application_id=app_id, flags=Gio.ApplicationFlags.FLAGS_NONE)
        self.window = None

    def do_activate(self):
        if not self.window:
            self.window = Gtk.ApplicationWindow(application=self)
            self.window.set_title("comandos")
            self.window.set_default_size(200, 100)

            # Crear una caja vertical
            vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=6)
            self.window.set_child(vbox)

            # Botón 1
            boton1 = Gtk.Button(label="Comando 1")
            boton1.connect("clicked", self.ejecutar_comando1)
            vbox.append(boton1)

            # Botón 2
            boton2 = Gtk.Button(label="Comando 2")
            boton2.connect("clicked", self.ejecutar_comando2)
            vbox.append(boton2)

            # Botón 3
            boton3 = Gtk.Button(label="Comando 3")
            boton3.connect("clicked", self.ejecutar_comando3)
            vbox.append(boton3)

        self.window.present()

    def do_startup(self):
        Gtk.Application.do_startup(self)

    def ejecutar_comando1(self, widget):
        subprocess.run(["comando1"])

    def ejecutar_comando2(self, widget):
        subprocess.run(["comando2"])

    def ejecutar_comando3(self, widget):
        subprocess.run(["comando3"])


def main():
    app = MenuComandos()
    return app.run(sys.argv)


if __name__ == "__main__":
    sys.exit(main())
