#!/usr/bin/env python3
import os
import gi
gi.require_version('Gtk', '3.0')
gi.require_version('AyatanaAppIndicator3', '0.1')
gi.require_version('Notify', '0.7')
from gi.repository import Gtk, AyatanaAppIndicator3

APPINDICATOR_ID = 'PMRP'

    
def quit(source):
    Gtk.main_quit()

def script1(widget):
    os.popen("pkill -f /usr/share/pmrp/notify/PMRP & pkill -SIGKILL mpv")

def script2(widget):
    os.popen("/usr/share/pmrp/notify/stream_menu.py")

def script3(widget):
    os.popen("/usr/share/pmrp/menu/record")

def script4(widget):
    os.popen("/usr/share/pmrp/notify/pmrp")

def script5(widget):
    os.popen("pkill -f /usr/share/pmrp/notify/PMRP & /usr/share/pmrp/menu/kill")

def build_menu():
    menu = Gtk.Menu()

    # Add tooltips to each menu item
    item_menu = Gtk.MenuItem(label="📻️ Menu")
    item_menu.connect('activate', script1)
    item_menu.set_tooltip_text("Open Main Menu")
    menu.append(item_menu)

    item_playing = Gtk.MenuItem(label="🎶️ Playing")
    item_playing.connect('activate', script2)
    item_playing.set_tooltip_text("Current Artist, Song")
    menu.append(item_playing)

    item_record = Gtk.MenuItem(label="🔴️ Record")
    item_record.connect('activate', script3)
    item_record.set_tooltip_text("Record a Stream")
    menu.append(item_record)

    item_about = Gtk.MenuItem(label="❓️ About")
    item_about.connect('activate', script4)
    item_about.set_tooltip_text("About PMRP")
    menu.append(item_about)

    item_quit = Gtk.MenuItem(label="❌️ Quit")
    item_quit.connect('activate', script5)
    menu.append(item_quit)    

    menu.show_all()
    return menu

# Create the indicator using libayatana-appindicator
indicator = AyatanaAppIndicator3.Indicator.new(APPINDICATOR_ID, "/usr/share/icons/hicolor/48x48/apps/pmrp.png", AyatanaAppIndicator3.IndicatorCategory.APPLICATION_STATUS)
indicator.set_status(AyatanaAppIndicator3.IndicatorStatus.ACTIVE)
indicator.set_menu(build_menu())

Gtk.main()

