#!/usr/bin/python3 from tkinter import * from tkinter import ttk from tkinter import messagebox import subprocess import time # --- radio_menu.py (20230103) --- root = Tk() root.title('moOde audio Simul Radio') root.configure(background='#333333') # Background color style = ttk.Style() style.theme_use('default') #('clam', 'alt', 'default', 'classic') style.configure('TButton', background='#D9D9D9') # Button color # Frame as Widget Container frame1 = ttk.Frame( root, padding=5) frame1.grid() # icon dir dir = "~/.icons/radio/" # simulradio def simulradio(): subprocess.run("~/bin/simul.py &", shell=True) icon405 = PhotoImage(file=dir+'simulradio.png') button405 = ttk.Button(frame1,image=icon405,command=simulradio) button405.grid(row=1,column=1) # simul mms radio def simul_mms(): subprocess.run("~/bin/simul_mms.py &", shell=True) icon406 = PhotoImage(file=dir+'simulmms.png') button406 = ttk.Button(frame1,image=icon406,command=simul_mms) button406.grid(row=1,column=2) # radiko def radiko(): subprocess.run("~/bin/radiko-streamlink.py &", shell=True) icon8 = PhotoImage(file=dir+'radiko.png') button8 = ttk.Button(frame1,image=icon8,command=radiko) button8.grid(row=1,column=3) # CD_Drive def cd_drive(): subprocess.run("~/bin/simul_cd.py &", shell=True) icon333 = PhotoImage(file=dir+'cd_player.png') button333 = ttk.Button(frame1,image=icon333,command=cd_drive) button333.grid(row=1,column=4) # simul vol def simul_vol(): subprocess.run("~/bin/simul_vol.py &", shell=True) icon11 = PhotoImage(file=dir+'vol.png') button11 = ttk.Button(frame1,image=icon11,command=simul_vol) button11.grid(row=1,column=5) # vol_kill def vol_kill(): f = open('/tmp/moode_id','w') f.write(' \n') f.close() f = open('/tmp/test_id','w') f.write('1\n') f.close() subprocess.run("~/bin/killall.sh &", shell=True) icon9 = PhotoImage(file=dir+'vol-kill.png') button9 = ttk.Button(frame1,image=icon9,command=vol_kill) button9.grid(row=1,column=6) # ncmpcpp def ncmpcpp(): subprocess.run("xterm -e ncmpcpp 2>/dev/null &", shell=True) icon402 = PhotoImage(file=dir+'ncmpcpp.png') button402 = ttk.Button(frame1,image=icon402,command=ncmpcpp) button402.grid(row=2,column=1) # pavucontrol def pavucontrol(): subprocess.run("pavucontrol 2>/dev/null &", shell=True) icon403 = PhotoImage(file=dir+'pavucontrol.png') button403 = ttk.Button(frame1,image=icon403,command=pavucontrol) button403.grid(row=2,column=2) # htop def htop(): subprocess.run("xterm -e htop &", shell=True) icon551 = PhotoImage(file=dir+'htop.png') button551 = ttk.Button(frame1,image=icon551,command=htop) button551.grid(row=2,column=3) # xterm def xterm(): subprocess.run("cd ~/bin && xterm &", shell=True) icon103 = PhotoImage(file=dir+'terminal.png') button103 = ttk.Button(frame1,image=icon103,command=xterm) button103.grid(row=2,column=4) # nature def nature(): wm = ("ps ax | grep dwm | grep -v grep | awk '{print($NF)}'") wm = (subprocess.Popen(wm, stdout=subprocess.PIPE, shell=True).communicate()[0]).decode('utf-8') wm = wm.strip() if wm == "/usr/local/bin/dwm": messagebox.showinfo('radio_menu', 'Wm = DWM Bye!') return proc = ("ps ax | grep devilspie2 | grep -v grep") proc = (subprocess.Popen(proc, stdout=subprocess.PIPE, shell=True).communicate()[0]).decode('utf-8') if not proc: subprocess.run("devilspie2 &", shell=True) else: subprocess.run("killall devilspie2 && sleep 0.5 && devilspie2 &", shell=True) icon1001 = PhotoImage(file=dir+'nature.png') button1001 = ttk.Button(frame1,image=icon1001,command=nature) button1001.grid(row=2,column=5) # exit def exit(): root.quit() icon115 = PhotoImage(file=dir+'exit.png') button115 = ttk.Button(frame1,image=icon115,command=exit) button115.grid(row=2,column=6) root.mainloop()